You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by ar...@apache.org on 2022/06/01 15:25:19 UTC

[tvm-rfcs] branch main updated: [RFC] UMA Universal Modular Accelerator Interface (#60)

This is an automated email from the ASF dual-hosted git repository.

areusch pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/tvm-rfcs.git


The following commit(s) were added to refs/heads/main by this push:
     new 6990e13  [RFC] UMA Universal Modular Accelerator Interface (#60)
6990e13 is described below

commit 6990e1363c96945b6c9d19dc2d331306d2be2a17
Author: Michael J. Klaiber <gi...@michael-klaiber.de>
AuthorDate: Wed Jun 1 17:25:14 2022 +0200

    [RFC] UMA Universal Modular Accelerator Interface (#60)
    
    * moving uma rfc from dicuss forum here
    
    * uma rfc update
    
    * Update 00xx_UMA_Unified_Modular_Accelerator_Interface.md
    
    Update code snippets
    
    * Update 00xx_UMA_Unified_Modular_Accelerator_Interface.md
    
    * UMA: Update reference level and guide level
    
    * uma:added  _register_config reference and example
    
    * uma: minor update
    
    * uma-rfc: update to questions/comments added
    
    * Update 00xx_UMA_Unified_Modular_Accelerator_Interface.md
    
    * Add descriptions for all API functions
    * Clarify backend registration and add target hook explanation
    * Remove schedules from API and corresponding descriptions
    
    * uma_pipeline image update
    
    * uma_pipeline image update
    
    * Update target registration and add pass phases
    
    * Target registration with support for attribute options
    * Pass phases as enums
    
    * Fix code snippets
    
    * [UMA] update
    
    * [UMA] update
    
    * [UMA] RFC PR added
    
    * Move backend usage to guide-level explanation
    
    Co-authored-by: PaulPalomeroBernardo <pa...@uni-tuebingen.de>
    Co-authored-by: Christoph Gerum <ch...@uni-tuebingen.de>
---
 ...60_UMA_Unified_Modular_Accelerator_Interface.md |  390 ++++++
 rfcs/assets/0060/uma_pipeline.png                  |  Bin 0 -> 114792 bytes
 rfcs/assets/0060/uma_pipeline.svg                  | 1418 ++++++++++++++++++++
 rfcs/assets/0060/uma_toplevel.png                  |  Bin 0 -> 105226 bytes
 rfcs/assets/0060/uma_toplevel.svg                  |  875 ++++++++++++
 5 files changed, 2683 insertions(+)

diff --git a/rfcs/0060_UMA_Unified_Modular_Accelerator_Interface.md b/rfcs/0060_UMA_Unified_Modular_Accelerator_Interface.md
new file mode 100644
index 0000000..6b402a5
--- /dev/null
+++ b/rfcs/0060_UMA_Unified_Modular_Accelerator_Interface.md
@@ -0,0 +1,390 @@
+# UMA: Universal Modular Accelerator Interface
+
+    Feature Name: Universal Modular Accelerator Interface (UMA)
+    Start Date: 2022 February
+	Authors: 
+	  Paul Palomero Bernardo @paulpb, Christoph Gerum @cgerum - University of Tübingen
+      Michael J. Klaiber @mjklaiber, Ingo Feldner - Bosch Research
+      Philipp van Kempen @philippvk, Rafael Stahl @r.stahl, Daniel Müller-Gritschneder - Technical University of Munich
+	  Johannes Partzsch - TU Dresden
+	  Andrew Stevens - Infineon Technologies
+    RFC PR: https://github.com/apache/tvm-rfcs/pull/60
+    GitHub Tracking Issue: https://github.com/apache/tvm/issues/11260
+
+## Summary
+
+<img src="https://live.staticflickr.com/98/234261205_63fa6a3412_b.jpg" align="left" width="200px"/>
+
+
+The goal of **UMA (Universal Modular Accelerator Interface)** is to create a unified infrastructure for easily integrating external accelerators into TVM. 
+UMA provides file structures, Python interface classes and an API for accelerator integration. These interfaces and API are accessible from Python and are part of the components *UMA Partitioner*, *UMA Lower* and *UMA Codgen*. 
+The features and proposals of *Target registered compiler flow customization* [TVM-RFC0011] and [TVM-RFC0010] are considered, with the difference that UMA tries to provide a more general interface for integrating new accelerators and one specific implementation of the hooks described in [TVM-RFC0011]. 
+
+
+
+<br clear="left"/>
+
+<sub><sup> Image Source:  https://www.flickr.com/photos/luvi/234261205 under CC BY-NC-ND 2.0</sup></sub>
+
+
+
+##  Goal and Motivation
+
+A number of accelerators have already been integrated into TVM, e.g. VTA, ARM EthosU. 
+These are similar in both the structure of their build flow and the operations that they can offload.
+Nonetheless, due to incremental independent development, the TVM interfaces and processing steps used are quite different with little commonality.  A consistent, unified, infrastructure would simplify accelerator integration making it accessible to smaller, hardware-focused, development teams.
+
+The **goal** of UMA is to establish two API layers with a different target groups of users:
+
+**Porcelain Layer**: UMA
+  - Straight-forward, *Python-only* and stable API wrapper of plumbing layer
+  - Easy and clearly-defined template for integration of accelerators
+  - Short learning period for hardware/software engineers new to TVM
+
+**Plumbing Layer**: 
+  - Collage-like API [COLLAGE-RFC](https://github.com/mbs-octoml/mbs-tvm-rfcs/blob/mbs-rfcs-collage/rfcs/xxxx-collage.md) + other TVM APIs
+  - Powerful API to core-compiler + other TVM features
+  - Target audience is experienced TVM users/developers
+  - C++ and Python APIs
+
+
+## Focus
+
+UMA's primary objective is to enable straight-forward TVM integration of loosely-coupled processor/microcontroller controlled accelerators.  That is, accelerators capable of executing complete tensor operations or operation-graphs without host processor intervention.
+Secondary objectives are:
+
+* Support for closely-coupled accelerators (those offload parts of  CPU computation for significant elements of tensor operations)
+* Compatibility with both run-time or ahead-of-time compilation
+* Support for heterogeneous execution utilizing accelerators optimized for specific operations or data types
+
+Accelerator support or optimization functions **outside** the scope of UMA are:
+
+* Parallel execution on multi-accelerator architectures (to be handled by executor/run-time and customized layer splitting)
+* Real-time execution (to be handled by executor/run-time)
+* High-level support for parameter conversion like quantization or sparsity exploitation (to be realized via model pre-processing or in accelerator backends)
+
+## Guide-level explanation 
+
+
+### Flow description 
+
+
+
+The figure below describes the UMA interface from a top level. An *Accelerator Partitioner* which is a specialization of the *UMA Partitioner* takes the Relay graph and matches for supported and unsupported operators. Unsupported operators are processed with the default TVM flow. Supported operator are processed with **UMA Pipeline**.
+In the following the tasks and the functionality of each block in the figure below is described:
+
+![](assets/0060/uma_toplevel.png)
+
+UMA Partitioner: 
+* Register relay passes
+* Register patterns - supported sub-graph operations
+* Order: pre-partitioning passes, Graph partitioning, post-partitioning passes
+* API level:
+    * UMA Partitioner creates a wrapper API to TVM core-compiler APIs
+
+The figure below described the *UMA Pipeline*. The blocks are described below:
+
+![](assets/0060/uma_pipeline.png)
+
+UMA Pipelining:
+* Consists of UMALower and UMACodgen, which implement the target hook Relay-to-TIR and TIR-to-Runtime (proposed in [TVM-RFC0010])
+* UMALower
+  * Input: Partitioned composite functions
+  * Custom primitives can be registered
+  * Lowering from Relay to S-TIR, using TOPI or custom primitives 
+  * Interface for registering accelerator-specific passes
+  * Execution of UMA passes on S-TIR and NS-TIR
+  * Output:  NS-TIR(including tir.extern calls)
+* UMACodegen
+  * Input: NS-TIR(including tir.extern calls)
+  * Defaults to standard TVM codegen
+  * Intend is to provide a Python interface to insert/emit target code
+  * Output: Target .c files
+
+The intention is to use TensorIR with MetaScheduler for optimization and Relax (a possible succesor of Relay [video link](https://www.youtube.com/watch?v=xVbkjJDMexo)) in later versions.
+
+
+Abbreviations:
+S-TIR: Schedulable TIR
+NS-TIR: Non-Schedulable TIR
+
+### Adding a New Custom Accelerator
+
+A custom accelerator is added by inheriting the `UMABackend`. New elements (e.g., passes) are added using a registration machanism. Below example shows a backend that makes use of all available registration functions.
+```python
+"""UMA backend for the UltraTrail accelerator"""
+
+class UltraTrailBackend(UMABackend):
+    def __init__(self):
+        super(UltraTrailBackend, self).__init__()
+	
+	# Target configuration
+        self._register_target_attr("dimension", default=8)
+
+        # Relay to Relay function registration
+        self._register_pattern("conv1d_relu", conv1d_relu_pattern())
+
+        self._register_relay_pass(PassPhase.POST_PARTITIONING, ConfigGenerator())
+        self._register_relay_pass(PassPhase.POST_PARTITIONING, BufferScopeAnnotator())
+
+        # Relay to TIR function registration
+        self._register_operator_strategy("nn.conv1d", custom_conv1d_strategy)
+
+        self._register_tir_pass(PassPhase.TIR_PHASE_0, CodegenGenerateExternCalls())
+
+        # TIR to runtime function registration
+        self._register_codegen(format="c", includes=gen_includes, replace_call_extern=None)
+
+    @property
+    def target_name(self):
+        return "ultra_trail"
+```
+
+### Using a Custom Backend
+
+A new custom backend is created by implementing the `UMABackend` as shown in the [previous section](#adding-a-new-custom-accelerator). To use the backend it simply needs to be registered using `backend.register()`. Once a `UMABackend` is registered, it hooks into the usual `relay.build` process to create the code for the target accelerator.
+```
+# Load model
+mod, params = relay.frontend.from_pytorch(scripted_model, [("input_data", input_shape)])
+
+# Register a UMA backend
+ut_backend = UltraTrailBackend()
+ut_backend.register()
+mod = ut_backend.partition(mod)
+
+# Relay build (AOT C target)
+TARGET = tvm.target.Target("c")
+RUNTIME = tvm.relay.backend.Runtime("crt")
+EXECUTOR = tvm.relay.backend.Executor("aot", {"unpacked-api": True})
+
+with tvm.transform.PassContext(
+    opt_level=3, config={"tir.disable_vectorize": True}, disabled_pass=["AlterOpLayout"]
+):
+    module = relay.build(mod, target=TARGET, runtime=RUNTIME, executor=EXECUTOR, params=params)
+```
+
+## Reference-level explanation 
+
+### File and class structure and Snippets as example for integration
+
+UMA provides a fully python-based API. The API is structured as shown below. The base class `UMABackend` functions as the core API. It uses the API points described in the [flow description](#flow-description) to register elements for the different stages. 
+```
+.
+├── backend.py
+├── api
+│   ├── codegen.py
+│   ├── lower.py
+│   ├── partitioner.py
+│   └── utils.py
+├── accelerator_A
+│   ├── backend.py
+│   ├── codegen.py
+│   ├── passes.py
+│   ├── patterns.py
+│   └── strategies.py
+└── accelerator_B
+    └── ...
+```
+
+### Pass Phases
+
+UMA allows users to register passes in different stages of the compilation pipeline called pass phases. They are motivated by the existing [TIR pass phases](https://tvm.apache.org/docs/how_to/extend_tvm/low_level_custom_pass.html?highlight=phase#glue-to-lowering) and provide new users with some orientation as to where they should put their custom passes in the entire compilation process. To be more expressive, pass phases are named enums of type `PassPhase`, e.g., `PassPhase.PRE_PARTITIO [...]
+
+Passes are divided into relay and TIR passes and can be registered as such (`_register_relay_pass`, `_register_tir_pass`). Each pass gets registered for a specific pass phase and the order of registration defines the order of exection within the same phase.
+
+Future versions of UMA could also provide a finer interface for where to register a pass by providing the passes dependencies, e.g., `_register_relay_pass(MyPass, before=PassA, after=(PassB, PassC))`. However, this would first require pass dependencies to be implemented in the TVM core since UMA only tries to wrap around existing TVM APIs. 
+
+### UMA Target Hooks
+
+UMA uses target hooks (RFC [#0010](https://github.com/apache/tvm-rfcs/blob/main/rfcs/0010-target-registered-compiler-flow-customisation.md)) to perform the lowering of the partitioned, accelerator specific functions from relay to TIR and TIR to runtime. To register the hooks from the python side, a global function `RegisterTarget` is registered on the C++ side and used during backend registration. To allow customization of the target, it is possible to pass target-specific attribute opti [...]
+
+```cpp   
+TVM_REGISTER_GLOBAL("relay.backend.contrib.uma.RegisterTarget")
+    .set_body_typed([](String target_name, Map<String, ObjectRef> attr_options){
+        auto target_kind = ::tvm::TargetKindRegEntry::RegisterOrGet(target_name)
+        .set_name()
+        .set_device_type(kDLCPU)
+        .add_attr_option<Array<String>>("keys")
+        .add_attr_option<String>("tag")
+        .add_attr_option<String>("device")
+        .add_attr_option<String>("model")
+        .add_attr_option<Array<String>>("libs")
+        .add_attr_option<Target>("host")
+        .add_attr_option<Integer>("from_device")
+        .set_attr<FTVMRelayToTIR>("RelayToTIR", relay::contrib::uma::RelayToTIR(target_name))
+        .set_attr<FTVMTIRToRuntime>("TIRToRuntime", relay::contrib::uma::TIRToRuntime);
+
+        for (auto &attr_option : attr_options) {
+          try {
+            target_kind.add_attr_option<String>(attr_option.first, Downcast<String>(attr_option.second));
+            continue;
+          } catch (...) {}
+          try {
+            target_kind.add_attr_option<Bool>(attr_option.first, Downcast<Bool>(attr_option.second));
+            continue;
+          } catch (...) {}
+          try {
+            target_kind.add_attr_option<Integer>(attr_option.first, Downcast<Integer>(attr_option.second));
+            continue;
+          } catch (...) {
+            LOG(FATAL) << "Attribute option of type " << attr_option.second->GetTypeKey() 
+                       << " can not be added. Only String, Integer, or Bool are supported.";
+          }
+        }
+    });
+```
+
+Future versions of UMA could support further customization of the target. One option that has been discussed is the possibility to also allow registration of target preprocessors (e.g., `.add_attrs_preprocessor(Preprocessor)`). A motivation for it in described in this [RFC](https://github.com/apache/tvm-rfcs/blob/1901b7361891fc7235b3bb8e80c89130cfe2c91d/rfcs/0070-target-preprocessing.md).
+
+### UMABackend References
+
+UMA should function as an easy to use API, that also helps new users gain orientation in the codebase. To this end, all API functions are typed and documented with examples of their use and required input.
+
+#### `_register_target_attr`
+```python
+_register_target_attr(self, name: str, default: Optional[Union[str, int, bool]] = "") -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|name|The name of the target attribute.|
+|default|A default value for the attribute. If none is provided, the attribute will be treated as a string.|
+
+Example usage:
+```python
+self._register_target_attr("attrA", default=0)
+self._register_target_attr("attrB", default=False)
+```
+
+#### `_register_relay_pass`
+```python
+_register_relay_pass(self, phase: PassPhase, relay_pass: tvm.transform.Pass) -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|phase|The phase at which the pass is registered.|
+|relay_pass|The relay pass to be registered.|
+
+Example usage:
+```python
+self._register_relay_pass(PassPhase.RELAY_PASS_PHASE, MyPassA)
+
+# Where a relay pass can look like this:
+@tvm.ir.transform.module_pass(opt_level=0)
+class MyPassA:
+    def transform_module(self, mod, ctx):
+        # My pass functionality...
+        return mod
+```
+
+#### `_register_pattern`
+```python
+_register_pattern(self, name: str, pattern: tvm.relay.dataflow_pattern.DFPattern,) -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|name|The name of the pattern.|
+|pattern|The dataflow pattern.|
+
+Example usage:
+```python
+self._register_pattern("conv1d", conv1d_pattern)
+
+# Where a dataflow pattern can look like this:
+conv1d_pattern = is_op("nn.conv1d")(wildcard(), wildcard())
+optional_bias = lambda x: is_op("nn.bias_add")(x, wildcard())
+optional_relu = lambda x: is_op("nn.relu")(x)
+conv1d_pattern = conv1d_pattern.optional(optional_bias).optional(optional_relu)
+```
+
+#### `_register_operator_strategy`
+```python
+_register_operator_strategy(self, op: str, strategy: Callable[[tvm.ir.Attrs, tvm.ir.Array, tvm.ir.TensorType, tvm.target.Target], tvm.relay.op.op.OpStrategy], plevel: Optional[int] = 11) -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|op|The name of the operator for which this strategy will be registered.|
+|strategy|The strategy function.|
+|plevel|The priority level of the strategy. Higher plevel equals higher priorization. The TVM default for topi strategies is 10 so by default new UMA strategies are always used.|
+
+Example usage:
+```python
+self._register_operator_strategy("nn.conv1d", custom_conv1d_strategy)
+
+# Where a strategy function can look like this:
+@relay.op.strategy.override_native_generic_func("custom_conv1d_strategy")
+def custom_conv1d_strategy(attrs, inputs, out_type, target):
+    strategy = _op.OpStrategy()
+    strategy.add_implementation(
+        wrap_compute_conv1d(custom_conv1d_compute),
+        wrap_topi_schedule(custom_conv1d_schedule),
+        name="custom_conv1d.generic",
+    return strategy
+```
+
+#### `_register_tir_pass`
+```python
+_register_tir_pass(self, phase: PassPhase, tir_pass: tvm.tir.transform.PrimFuncPass) -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|phase|The phase at which the pass is registered.|
+|tir_pass|The relay pass to be registered.|
+
+Example usage:
+```python
+self._register_tir_pass(PassPhase.TIR_PASS_PHASE, MyPassA)
+
+# Where a TIR pass can look like this:
+@tvm.tir.transform.prim_func_pass(opt_level=0)
+class MyPassA:
+    def transform_function(self, func, mod, ctx):
+        # My pass functionality...
+        return func
+```
+
+#### `_register_codegen`
+```python
+_register_codegen(self, fmt: str = "c", **kwargs) -> None
+```
+
+|Parameter|Description|
+|---------|-----------|
+|fmt|The codegen format. For now, only C-codegen is supported by UMA.|
+|**kwargs|Keyword arguments for the chosen codegen.|
+
+Example usage:
+```python
+self._register_codegen(fmt="c", includes=gen_includes, replace_call_extern=gen_replace_call_extern)
+
+# The C-codegen provides two hooks which allows the user to insert code through the python API.
+#     - `includes` hooks into the include stream and allows insertion of custom includes.
+#     - `replace_call_extern` hooks into the expression visitor and allows the user to insert custom code for a given extern call.
+# 
+# The code generation functions can look like this:
+
+def gen_includes() -> str:
+    includes = "#include <my_custom_header.h>\n"
+    return includes
+
+def gen_replace_call_extern(args: tvm.ir.container.Array) -> str:
+    return "my_custom_api_function({}, {}, {})".format(*args)
+```
+
+#### Configuration
+
+The `UMABackend` can be further configured through parameters during initialization. However, the amount of configurability should be kept to a minimum, since UMA tries to streamline and simplify the compilation pipeline.
+```python
+class UltraTrailBackend(UMABackend):
+    def __init__(self):
+        super(UltraTrailBackend, self).__init__(merge_compiler_regions=False)
+```
+
+Below is a list of currently planned configuration parameters for the initial version of UMA proposed in this RFC.
+|Parameter|Type|Description|
+|---------|----|-----------|
+|merge_compiler_regions|bool (default: True)|Enables/disables the `MergeCompilerRegions` pass during partitioning.|
diff --git a/rfcs/assets/0060/uma_pipeline.png b/rfcs/assets/0060/uma_pipeline.png
new file mode 100644
index 0000000..6581287
Binary files /dev/null and b/rfcs/assets/0060/uma_pipeline.png differ
diff --git a/rfcs/assets/0060/uma_pipeline.svg b/rfcs/assets/0060/uma_pipeline.svg
new file mode 100644
index 0000000..60da36d
--- /dev/null
+++ b/rfcs/assets/0060/uma_pipeline.svg
@@ -0,0 +1,1418 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   width="302.31488mm"
+   height="125.0298mm"
+   viewBox="0 0 302.31488 125.0298"
+   version="1.1"
+   id="svg1551"
+   inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+   sodipodi:docname="uma_pipeline.svg"
+   inkscape:export-filename="C:\Users\kml2rng\Downloads\tvm-rfcs\rfcs\uma_pipeline.png"
+   inkscape:export-xdpi="120"
+   inkscape:export-ydpi="120"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:dc="http://purl.org/dc/elements/1.1/">
+  <metadata
+     id="metadata285">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     id="namedview1553"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:document-units="mm"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="0.74118967"
+     inkscape:cx="491.77696"
+     inkscape:cy="116.70427"
+     inkscape:window-width="1920"
+     inkscape:window-height="1017"
+     inkscape:window-x="-8"
+     inkscape:window-y="-8"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" />
+  <defs
+     id="defs1548">
+    <marker
+       style="overflow:visible;"
+       id="Arrow2Mend"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Mend"
+       inkscape:isstock="true">
+      <path
+         transform="scale(0.6) rotate(180) translate(0,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="stroke:context-stroke;fill-rule:evenodd;fill:context-stroke;stroke-width:0.62500000;stroke-linejoin:round;"
+         id="path1657" />
+    </marker>
+    <marker
+       style="overflow:visible;"
+       id="Arrow2Lend"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="scale(1.1) rotate(180) translate(1,0)"
+         d="M 8.7185878,4.0337352 L -2.2072895,0.016013256 L 8.7185884,-4.0017078 C 6.9730900,-1.6296469 6.9831476,1.6157441 8.7185878,4.0337352 z "
+         style="stroke:context-stroke;fill-rule:evenodd;fill:context-stroke;stroke-width:0.62500000;stroke-linejoin:round;"
+         id="path1651" />
+    </marker>
+    <marker
+       style="overflow:visible"
+       id="Arrow1Lstart"
+       refX="0.0"
+       refY="0.0"
+       orient="auto"
+       inkscape:stockid="Arrow1Lstart"
+       inkscape:isstock="true">
+      <path
+         transform="scale(0.8) translate(12.5,0)"
+         style="fill-rule:evenodd;fill:context-stroke;stroke:context-stroke;stroke-width:1.0pt"
+         d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+         id="path1630" />
+    </marker>
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipEmfPath1">
+      <path
+         d="M 0.47970927,0.47970927 H 1110.0472 V 439.41369 H 0.47970927 Z"
+         id="path1612" />
+    </clipPath>
+    <pattern
+       id="EMFhbasepattern"
+       patternUnits="userSpaceOnUse"
+       width="6"
+       height="6"
+       x="0"
+       y="0" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipEmfPath1-9">
+      <path
+         d="M 0.47970927,0.47970927 H 1084.3028 V 476.99091 H 0.47970927 Z"
+         id="path2416" />
+    </clipPath>
+    <pattern
+       id="EMFhbasepattern-6"
+       patternUnits="userSpaceOnUse"
+       width="6"
+       height="6"
+       x="0"
+       y="0" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipEmfPath1-2">
+      <path
+         d="M 0.47970927,0 H 1143.1472 V 475.23198 H 0.47970927 Z"
+         id="path63477" />
+    </clipPath>
+    <pattern
+       id="EMFhbasepattern-4"
+       patternUnits="userSpaceOnUse"
+       width="6"
+       height="6"
+       x="0"
+       y="0" />
+    <marker
+       style="overflow:visible"
+       id="Arrow2Lend-8"
+       refX="0"
+       refY="0"
+       orient="auto"
+       inkscape:stockid="Arrow2Lend"
+       inkscape:isstock="true">
+      <path
+         transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
+         d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
+         style="fill:context-stroke;fill-rule:evenodd;stroke:context-stroke;stroke-width:0.625;stroke-linejoin:round"
+         id="path1651-9" />
+    </marker>
+  </defs>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-50.660822,225.14038)">
+    <rect
+       id="rect3990"
+       width="302.35458"
+       height="124.58293"
+       x="51.017792"
+       y="-225.05049"
+       style="stroke-width:0.26458332;fill:#ffffff"
+       inkscape:export-xdpi="96"
+       inkscape:export-ydpi="96" />
+    <path
+       style="fill:#ffc000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 270.00505,-190.99278 v 39.38846 h 51.65768 v -39.38846 z"
+       id="path63483" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 270.00505,-151.60432 h 51.65768 v -39.38846 h -51.65768 z"
+       id="path63485" />
+    <path
+       style="fill:#ffc000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 89.901206,-190.86586 v 39.26154 H 267.38197 v -39.26154 z"
+       id="path63487" />
+    <path
+       style="fill:none;stroke:#000000;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 89.901206,-151.60432 H 267.38197 v -39.26154 H 89.901206 Z"
+       id="path63489" />
+    <path
+       style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 50.766591,-203.98124 v 47.00384 h 37.823078 v -47.00384 z"
+       id="path63491" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       clip-path="url(#clipEmfPath1-2)"
+       d="M 0.87946699,80.351302 H 143.83283 V 258.00363 H 0.87946699 Z"
+       id="path63493"
+       transform="matrix(0.26458333,0,0,0.26458333,50.533899,-225.24086)" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="60.016418"
+       y="-198.60493"
+       id="text63499"><tspan
+         sodipodi:role="line"
+         x="60.016418"
+         y="-198.60493"
+         id="tspan63497"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63495">Supported</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="60.270264"
+       y="-193.528"
+       id="text63505"><tspan
+         sodipodi:role="line"
+         x="60.270264"
+         y="-193.528"
+         id="tspan63503"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63501">Operators</tspan></tspan></text>
+    <path
+       style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 53.601207,-190.23124 v 18.82692 h 29.869229 v -18.82692 z"
+       id="path63507" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 53.601207,-190.23124 h 29.869229 v 18.82692 H 53.601207 Z"
+       id="path63509" />
+    <path
+       style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 54.616591,-189.04663 v 18.82692 h 29.911538 v -18.82692 z"
+       id="path63511" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 54.616591,-189.04663 h 29.911538 v 18.82692 H 54.616591 Z"
+       id="path63513" />
+    <path
+       style="fill:#fff2cc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 133.98582,-187.81971 v 18.82693 h 24.87692 v -18.82693 z"
+       id="path63515" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 133.98582,-187.81971 h 24.87692 v 18.82693 h -24.87692 z"
+       id="path63517" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="140.88324"
+       y="-176.81241"
+       id="text63523"><tspan
+         sodipodi:role="line"
+         x="140.88324"
+         y="-176.81241"
+         id="tspan63521"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63519">S</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="143.67554"
+       y="-176.81241"
+       id="text63529"><tspan
+         sodipodi:role="line"
+         x="143.67554"
+         y="-176.81241"
+         id="tspan63527"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63525">-</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="145.114"
+       y="-176.81241"
+       id="text63535"><tspan
+         sodipodi:role="line"
+         x="145.114"
+         y="-176.81241"
+         id="tspan63533"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63531">TIR</tspan></tspan></text>
+    <g
+       id="g1513"
+       transform="translate(-17.991672)">
+      <path
+         style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+         d="m 200.78966,-187.86201 h 25.74423 l 4.125,9.41346 -4.125,9.41346 h -25.74423 l 4.125,-9.41346 z"
+         id="path63539" />
+      <path
+         style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+         d="m 200.78966,-187.86201 h 25.74423 l 4.125,9.41346 -4.125,9.41346 h -25.74423 l 4.125,-9.41346 z"
+         id="path63541" />
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="208.99596"
+         y="-181.51137"
+         id="text63547"><tspan
+           sodipodi:role="line"
+           x="208.99596"
+           y="-181.51137"
+           id="tspan63545"
+           style="stroke-width:0.264583"><tspan
+             dx="0"
+             dy="0"
+             style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+             id="tspan63543">Execute</tspan></tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="211.61903"
+         y="-177.06906"
+         id="text63553"><tspan
+           sodipodi:role="line"
+           x="211.61903"
+           y="-177.06906"
+           id="tspan63551"
+           style="stroke-width:0.264583"><tspan
+             dx="0"
+             dy="0"
+             style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+             id="tspan63549">UMA </tspan></tspan></text>
+      <text
+         xml:space="preserve"
+         style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+         x="209.63057"
+         y="-172.62675"
+         id="text63559"><tspan
+           sodipodi:role="line"
+           x="209.63057"
+           y="-172.62675"
+           id="tspan63557"
+           style="stroke-width:0.264583"><tspan
+             dx="0"
+             dy="0"
+             style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+             id="tspan63555">Passes</tspan></tspan></text>
+    </g>
+    <path
+       style="fill:#fff2cc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 239.41659,-187.81971 v 18.82693 h 24.83461 v -18.82693 z"
+       id="path63561" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 239.41659,-187.81971 h 24.83461 v 18.82693 h -24.83461 z"
+       id="path63563" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="244.77019"
+       y="-181.88933"
+       id="text63569"><tspan
+         sodipodi:role="line"
+         x="244.77019"
+         y="-181.88933"
+         id="tspan63567"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63565">NS</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="250.60864"
+       y="-181.88933"
+       id="text63575"><tspan
+         sodipodi:role="line"
+         x="250.60864"
+         y="-181.88933"
+         id="tspan63573"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63571">-</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="252.0471"
+       y="-181.88933"
+       id="text63581"><tspan
+         sodipodi:role="line"
+         x="252.0471"
+         y="-181.88933"
+         id="tspan63579"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63577">TIR</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="248.07019"
+       y="-176.81241"
+       id="text63587"><tspan
+         sodipodi:role="line"
+         x="248.07019"
+         y="-176.81241"
+         id="tspan63585"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63583">incl. </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="242.18942"
+       y="-171.73549"
+       id="text63593"><tspan
+         sodipodi:role="line"
+         x="242.18942"
+         y="-171.73549"
+         id="tspan63591"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63589">tir.extern</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="258.64709"
+       y="-171.73549"
+       id="text63599"><tspan
+         sodipodi:role="line"
+         x="258.64709"
+         y="-171.73549"
+         id="tspan63597"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63595">()</tspan></tspan></text>
+    <path
+       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 274.61659,-187.81971 h 29.00192 l 4.125,9.41347 -4.125,9.41346 h -29.00192 l 4.125,-9.41346 z"
+       id="path63601" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       d="m 274.61659,-187.81971 h 29.00192 l 4.125,9.41347 -4.125,9.41346 h -29.00192 l 4.125,-9.41346 z"
+       id="path63603" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="283.56232"
+       y="-181.88933"
+       id="text63609"><tspan
+         sodipodi:role="line"
+         x="283.56232"
+         y="-181.88933"
+         id="tspan63607"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63605">Execute</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="286.52386"
+       y="-176.81241"
+       id="text63615"><tspan
+         sodipodi:role="line"
+         x="286.52386"
+         y="-176.81241"
+         id="tspan63613"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63611">UMA </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="282.63156"
+       y="-171.73549"
+       id="text63621"><tspan
+         sodipodi:role="line"
+         x="282.63156"
+         y="-171.73549"
+         id="tspan63619"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63617">Codegen</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 307.75409,-178.59663 17.14518,0.12692 v 0.44424 l -17.15576,-0.13751 z m 16.79614,-0.70865 2.10482,1.07884 -2.11537,1.03654 z"
+       id="path63623" />
+    <path
+       style="fill:#ffe6cc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 326.65505,-186.29663 v 16.07692 h 26.18845 v -16.07692 z"
+       id="path63625" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       clip-path="url(#clipEmfPath1-2)"
+       d="m 1043.6075,147.19079 h 98.98 v 60.76318 h -98.98 z"
+       id="path63627"
+       transform="matrix(0.26458333,0,0,0.26458333,50.533899,-225.24086)" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="337.32791"
+       y="-179.66667"
+       id="text63633"><tspan
+         sodipodi:role="line"
+         x="337.32791"
+         y="-179.66667"
+         id="tspan63631"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63629">.c</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="334.11252"
+       y="-172.05128"
+       id="text63639"><tspan
+         sodipodi:role="line"
+         x="334.11252"
+         y="-172.05128"
+         id="tspan63637"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63635">files</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 264.2512,-178.59663 h 12.73462 v 0.43365 H 264.2512 Z m 12.38558,-0.84615 2.11538,1.05769 -2.11538,1.05769 z"
+       id="path63643" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="160.40572"
+       y="-142.69321"
+       id="text63649"><tspan
+         sodipodi:role="line"
+         x="160.40572"
+         y="-142.69321"
+         id="tspan63647"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63645">Register</tspan></tspan></text>
+    <path
+       style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 55.674284,-187.81971 v 18.82693 h 29.911538 v -18.82693 z"
+       id="path63651" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 55.674284,-187.81971 h 29.911538 v 18.82693 H 55.674284 Z"
+       id="path63653" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="60.538822"
+       y="-179.35088"
+       id="text63659"><tspan
+         sodipodi:role="line"
+         x="60.538822"
+         y="-179.35088"
+         id="tspan63657"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63655">Composite </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="62.569588"
+       y="-174.27396"
+       id="text63665"><tspan
+         sodipodi:role="line"
+         x="62.569588"
+         y="-174.27396"
+         id="tspan63663"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63661">Function</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 127.00505,-178.60456 h 5.22764 v 0.44158 h -5.22764 z m 4.87332,-0.83822 2.11538,1.05769 -2.11538,1.05769 z"
+       id="path63667" />
+    <path
+       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 91.678129,-187.81971 h 31.201921 l 4.125,9.41347 -4.125,9.41346 H 91.678129 l 4.125002,-9.41346 z"
+       id="path63669" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       d="m 91.678129,-187.81971 h 31.201921 l 4.125,9.41347 -4.125,9.41346 H 91.678129 l 4.125002,-9.41346 z"
+       id="path63671" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="101.70953"
+       y="-181.88933"
+       id="text63677"><tspan
+         sodipodi:role="line"
+         x="101.70953"
+         y="-181.88933"
+         id="tspan63675"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63673">Execute</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="104.67107"
+       y="-176.81241"
+       id="text63683"><tspan
+         sodipodi:role="line"
+         x="104.67107"
+         y="-176.81241"
+         id="tspan63681"
+         style="stroke-width:0.264583"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63679">TVM </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="103.57108"
+       y="-171.73549"
+       id="text63689"><tspan
+         sodipodi:role="line"
+         x="103.57108"
+         y="-171.73549"
+         id="tspan63687"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan63685">Lower</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 85.585822,-178.60456 h 8.453607 v 0.44158 h -8.453607 z m 8.101923,-0.83822 2.115386,1.05769 -2.115386,1.05769 z"
+       id="path63691" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 282.91947,-187.9149 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22692 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22692 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.23751 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.23749 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22693 v -0.70865 h -0.17981 v 0.70865 z m 0,-1. [...]
+       id="path63693" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 266.78966,-201.61201 h 0.70866 v 0.1798 h -0.70866 z m 1.2375,0 h 0.70866 v 0.1798 h -0.70866 z m 1.2375,0 h 0.69808 v 0.1798 h -0.69808 z m 1.22693,0 h 0.70865 v 0.1798 h -0.70865 z m 1.2375,0 h 0.70865 v 0.1798 h -0.70865 z m 1.2375,0 h 0.69807 v 0.1798 h -0.69807 z m 1.22692,0 h 0.70866 v 0.1798 h -0.70866 z m 1.2375,0 h 0.70865 v 0.1798 h -0.70865 z m 1.2375,0 h 0.69808 v 0.1798 h -0.69808 z m 1.22692,0 h 0.70866 v 0.1798 h -0.70866 z m 1.2375,0 h 0.70866 v 0.1798 h -0.70 [...]
+       id="path63695" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 266.88486,-201.51682 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22692 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22693 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.69807 h -0.17981 v 0.69807 z m 0,-1.22692 v -0.4125 h -0.17981 v 0.4125 z"
+       id="path63697" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 299.84255,-201.51682 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22692 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.70866 h -0.17981 v 0.70866 z m 0,-1.2375 v -0.69808 h -0.17981 v 0.69808 z m 0,-1.22693 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.70865 h -0.17981 v 0.70865 z m 0,-1.2375 v -0.69807 h -0.17981 v 0.69807 z m 0,-1.22692 v -0.4125 h -0.17981 v 0.4125 z"
+       id="path63699" />
+    <path
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 243.8589,-225.00817 v 12.31154 h 35.53846 v -12.31154 z"
+       id="path63701" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       clip-path="url(#clipEmfPath1-2)"
+       d="M 730.67717,0.87946699 H 864.99576 V 47.411266 H 730.67717 Z"
+       id="path63703"
+       transform="matrix(0.26458333,0,0,0.26458333,50.533899,-225.24086)" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="248.97173"
+       y="-219.79803"
+       id="text63709"><tspan
+         sodipodi:role="line"
+         x="248.97173"
+         y="-219.79803"
+         id="tspan63707"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63705">Accelerator </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="271.4794"
+       y="-219.79803"
+       id="text63715"><tspan
+         sodipodi:role="line"
+         x="271.4794"
+         y="-219.79803"
+         id="tspan63713"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63711">A</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="253.07558"
+       y="-214.7211"
+       id="text63721"><tspan
+         sodipodi:role="line"
+         x="253.07558"
+         y="-214.7211"
+         id="tspan63719"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63717">Codegen</tspan></tspan></text>
+    <path
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 287.3512,-225.00817 v 12.31154 h 35.49615 v -12.31154 z"
+       id="path63723" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       clip-path="url(#clipEmfPath1-2)"
+       d="M 895.05754,0.87946699 H 1029.2162 V 47.411266 H 895.05754 Z"
+       id="path63725"
+       transform="matrix(0.26458333,0,0,0.26458333,50.533899,-225.24086)" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="292.45441"
+       y="-219.79807"
+       id="text63731"><tspan
+         sodipodi:role="line"
+         x="292.45441"
+         y="-219.79807"
+         id="tspan63729"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63727">Accelerator </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="314.9621"
+       y="-219.79807"
+       id="text63737"><tspan
+         sodipodi:role="line"
+         x="314.9621"
+         y="-219.79807"
+         id="tspan63735"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63733">B </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="296.55823"
+       y="-214.72115"
+       id="text63743"><tspan
+         sodipodi:role="line"
+         x="296.55823"
+         y="-214.72115"
+         id="tspan63741"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63739">Codegen</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 183.79255,-136.72788 v -13.1101 h -0.43894 v 13.1101 z m 0.83558,-12.76106 -1.0577,-2.11538 -1.05769,2.11538 z"
+       id="path63769" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="148.91777"
+       y="-162.86371"
+       id="text63775"><tspan
+         sodipodi:role="line"
+         x="148.91777"
+         y="-162.86371"
+         id="tspan63773"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63771">UMA</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="157.16777"
+       y="-162.86371"
+       id="text63781"><tspan
+         sodipodi:role="line"
+         x="157.16777"
+         y="-162.86371"
+         id="tspan63779"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63777">-</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="158.39468"
+       y="-162.86371"
+       id="text63787"><tspan
+         sodipodi:role="line"
+         x="158.39468"
+         y="-162.86371"
+         id="tspan63785"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63783">Implementation of Relay</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="198.37546"
+       y="-162.86371"
+       id="text63793"><tspan
+         sodipodi:role="line"
+         x="198.37546"
+         y="-162.86371"
+         id="tspan63791"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63789">-</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="199.60237"
+       y="-162.86371"
+       id="text63799"><tspan
+         sodipodi:role="line"
+         x="199.60237"
+         y="-162.86371"
+         id="tspan63797"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63795">to</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="202.77545"
+       y="-162.86371"
+       id="text63805"><tspan
+         sodipodi:role="line"
+         x="202.77545"
+         y="-162.86371"
+         id="tspan63803"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63801">-</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="204.00238"
+       y="-162.86371"
+       id="text63811"><tspan
+         sodipodi:role="line"
+         x="204.00238"
+         y="-162.86371"
+         id="tspan63809"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63807">TIR  [RFC</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="220.58699"
+       y="-162.86371"
+       id="text63817"><tspan
+         sodipodi:role="line"
+         x="220.58699"
+         y="-162.86371"
+         id="tspan63815"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63813">-</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="221.81392"
+       y="-162.86371"
+       id="text63823"><tspan
+         sodipodi:role="line"
+         x="221.81392"
+         y="-162.86371"
+         id="tspan63821"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63819">10]</tspan></tspan></text>
+    <path
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 88.928129,-221.15817 v 11.12693 h 15.146151 v -11.12693 z"
+       id="path63825" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 88.928129,-221.15817 h 15.146151 v 11.12693 H 88.928129 Z"
+       id="path63827" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="91.578384"
+       y="-214.00343"
+       id="text63833"><tspan
+         sodipodi:role="line"
+         x="91.578384"
+         y="-214.00343"
+         id="tspan63831"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63829">TOPI</tspan></tspan></text>
+    <path
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 106.4012,-221.20048 v 11.12693 h 23.43846 v -11.12693 z"
+       id="path63835" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 106.4012,-221.20048 h 23.43846 v 11.12693 H 106.4012 Z"
+       id="path63837" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="110.86037"
+       y="-216.5737"
+       id="text63843"><tspan
+         sodipodi:role="line"
+         x="110.86037"
+         y="-216.5737"
+         id="tspan63841"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63839">Custom</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="108.99883"
+       y="-211.49678"
+       id="text63849"><tspan
+         sodipodi:role="line"
+         x="108.99883"
+         y="-211.49678"
+         id="tspan63847"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63845">Primitives</tspan></tspan></text>
+    <path
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 165.03966,-136.66971 v 18.82693 h 30.29231 v -18.82693 z"
+       id="path63851" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 165.03966,-136.66971 h 30.29231 v 18.82693 h -30.29231 z"
+       id="path63853" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="169.51019"
+       y="-130.75974"
+       id="text63859"><tspan
+         sodipodi:role="line"
+         x="169.51019"
+         y="-130.75974"
+         id="tspan63857"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63855">Accelerator </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="178.77557"
+       y="-125.68281"
+       id="text63865"><tspan
+         sodipodi:role="line"
+         x="178.77557"
+         y="-125.68281"
+         id="tspan63863"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63861">A</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="170.31404"
+       y="-120.60589"
+       id="text63871"><tspan
+         sodipodi:role="line"
+         x="170.31404"
+         y="-120.60589"
+         id="tspan63869"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63867">Schedules</tspan></tspan></text>
+    <path
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 172.06274,-119.06971 v 18.82692 h 30.33462 v -18.82692 z"
+       id="path63873" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 172.06274,-119.06971 h 30.33462 v 18.82692 h -30.33462 z"
+       id="path63875" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="176.54108"
+       y="-113.1256"
+       id="text63881"><tspan
+         sodipodi:role="line"
+         x="176.54108"
+         y="-113.1256"
+         id="tspan63879"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63877">Accelerator </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="185.80646"
+       y="-108.04867"
+       id="text63887"><tspan
+         sodipodi:role="line"
+         x="185.80646"
+         y="-108.04867"
+         id="tspan63885"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63883">B</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="177.34491"
+       y="-102.97174"
+       id="text63893"><tspan
+         sodipodi:role="line"
+         x="177.34491"
+         y="-102.97174"
+         id="tspan63891"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63889">Schedules</tspan></tspan></text>
+    <path
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 209.71659,-136.71201 v 18.82692 h 30.33461 v -18.82692 z"
+       id="path63895" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 209.71659,-136.71201 h 30.33461 v 18.82692 h -30.33461 z"
+       id="path63897" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="214.21466"
+       y="-130.80823"
+       id="text63903"><tspan
+         sodipodi:role="line"
+         x="214.21466"
+         y="-130.80823"
+         id="tspan63901"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63899">Accelerator </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="223.48004"
+       y="-125.73131"
+       id="text63909"><tspan
+         sodipodi:role="line"
+         x="223.48004"
+         y="-125.73131"
+         id="tspan63907"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63905">A</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="217.93773"
+       y="-120.65439"
+       id="text63915"><tspan
+         sodipodi:role="line"
+         x="217.93773"
+         y="-120.65439"
+         id="tspan63913"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63911">Passes</tspan></tspan></text>
+    <path
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 213.52428,-119.78894 v 18.82692 h 30.33462 v -18.82692 z"
+       id="path63917" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 213.52428,-119.78894 h 30.33462 v 18.82692 h -30.33462 z"
+       id="path63919" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="218.01405"
+       y="-113.85035"
+       id="text63925"><tspan
+         sodipodi:role="line"
+         x="218.01405"
+         y="-113.85035"
+         id="tspan63923"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63921">Accelerator </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="227.27943"
+       y="-108.77342"
+       id="text63931"><tspan
+         sodipodi:role="line"
+         x="227.27943"
+         y="-108.77342"
+         id="tspan63929"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63927">B</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="221.73714"
+       y="-103.6965"
+       id="text63937"><tspan
+         sodipodi:role="line"
+         x="221.73714"
+         y="-103.6965"
+         id="tspan63935"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63933">Passes</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 224.69351,-136.74374 -0.19038,-13.60193 h 0.44423 l 0.1798,13.60193 z m -1.02596,-13.23173 1.02596,-2.13654 1.08942,2.1048 z"
+       id="path63939" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="200.36456"
+       y="-144.22972"
+       id="text63945"><tspan
+         sodipodi:role="line"
+         x="200.36456"
+         y="-144.22972"
+         id="tspan63943"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63941">Register</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="272.25024"
+       y="-161.70691"
+       id="text63951"><tspan
+         sodipodi:role="line"
+         x="272.25024"
+         y="-161.70691"
+         id="tspan63949"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63947">UMA</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="280.50024"
+       y="-161.70691"
+       id="text63957"><tspan
+         sodipodi:role="line"
+         x="280.50024"
+         y="-161.70691"
+         id="tspan63955"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63953">-</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="281.72717"
+       y="-161.70691"
+       id="text63963"><tspan
+         sodipodi:role="line"
+         x="281.72717"
+         y="-161.70691"
+         id="tspan63961"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63959">Impl</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="288.83484"
+       y="-161.70691"
+       id="text63969"><tspan
+         sodipodi:role="line"
+         x="288.83484"
+         y="-161.70691"
+         id="tspan63967"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63965">. of TIR</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="300.80792"
+       y="-161.70691"
+       id="text63975"><tspan
+         sodipodi:role="line"
+         x="300.80792"
+         y="-161.70691"
+         id="tspan63973"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63971">-</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="302.03485"
+       y="-161.70691"
+       id="text63981"><tspan
+         sodipodi:role="line"
+         x="302.03485"
+         y="-161.70691"
+         id="tspan63979"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63977">to</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="305.20792"
+       y="-161.70691"
+       id="text63987"><tspan
+         sodipodi:role="line"
+         x="305.20792"
+         y="-161.70691"
+         id="tspan63985"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63983">-</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="306.43484"
+       y="-161.70691"
+       id="text63993"><tspan
+         sodipodi:role="line"
+         x="306.43484"
+         y="-161.70691"
+         id="tspan63991"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.7207px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63989">Runtime</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="176.35831"
+       y="-154.63794"
+       id="text63999"><tspan
+         sodipodi:role="line"
+         x="176.35831"
+         y="-154.63794"
+         id="tspan63997"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan63995">UMALower</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="277.80807"
+       y="-154.79854"
+       id="text64005"><tspan
+         sodipodi:role="line"
+         x="277.80807"
+         y="-154.79854"
+         id="tspan64003"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan64001">UMACodegen</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 96.723323,-210.03124 v 20.56682 h -0.441587 v -20.56682 z m 0.835575,20.21514 -1.05769,2.11538 -1.057693,-2.11538 z"
+       id="path64007" />
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 118.34255,-210.07355 v 20.59855 h -0.44159 v -20.59855 z m 0.83558,20.24687 -1.0577,2.11539 -1.05769,-2.11539 z"
+       id="path64009" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="119.85206"
+       y="-198.16464"
+       id="text64015"><tspan
+         sodipodi:role="line"
+         x="119.85206"
+         y="-198.16464"
+         id="tspan64013"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan64011">Register</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="97.086075"
+       y="-198.16464"
+       id="text64021"><tspan
+         sodipodi:role="line"
+         x="97.086075"
+         y="-198.16464"
+         id="tspan64019"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:5.6224px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan64017">Use</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;stroke:#007bc0;stroke-width:0.396875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
+       d="m 158.87109,-178.16121 27.29829,-0.2875"
+       id="path1628" />
+    <path
+       style="fill:#ffffff;fill-opacity:1;stroke:#007bc0;stroke-width:0.396875;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow2Mend)"
+       d="m 212.68479,-178.44476 26.44417,-0.28971"
+       id="path1628-3" />
+  </g>
+</svg>
diff --git a/rfcs/assets/0060/uma_toplevel.png b/rfcs/assets/0060/uma_toplevel.png
new file mode 100644
index 0000000..d447299
Binary files /dev/null and b/rfcs/assets/0060/uma_toplevel.png differ
diff --git a/rfcs/assets/0060/uma_toplevel.svg b/rfcs/assets/0060/uma_toplevel.svg
new file mode 100644
index 0000000..d2f94ff
--- /dev/null
+++ b/rfcs/assets/0060/uma_toplevel.svg
@@ -0,0 +1,875 @@
+<?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="293.54663mm"
+   height="119.06223mm"
+   viewBox="0 0 293.54663 119.06223"
+   version="1.1"
+   id="svg5"
+   inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
+   sodipodi:docname="uma_toplevel.svg"
+   inkscape:export-filename="uma_toplevel.png"
+   inkscape:export-xdpi="120"
+   inkscape:export-ydpi="120">
+  <metadata
+     id="metadata197">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <sodipodi:namedview
+     id="namedview7"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageshadow="2"
+     inkscape:pageopacity="0.0"
+     inkscape:pagecheckerboard="0"
+     inkscape:document-units="mm"
+     showgrid="false"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:zoom="1.0482005"
+     inkscape:cx="419.09385"
+     inkscape:cy="167.16933"
+     inkscape:window-width="1904"
+     inkscape:window-height="892"
+     inkscape:window-x="0"
+     inkscape:window-y="31"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="layer1" />
+  <defs
+     id="defs2">
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipEmfPath1">
+      <path
+         d="M 0.47970927,0.47970927 H 1110.0472 V 439.41369 H 0.47970927 Z"
+         id="path824" />
+    </clipPath>
+    <pattern
+       id="EMFhbasepattern"
+       patternUnits="userSpaceOnUse"
+       width="6"
+       height="6"
+       x="0"
+       y="0" />
+    <clipPath
+       clipPathUnits="userSpaceOnUse"
+       id="clipEmfPath1-8">
+      <path
+         d="M 0.47970927,0.47970927 H 1110.0472 V 462.59964 H 0.47970927 Z"
+         id="path62393" />
+    </clipPath>
+    <pattern
+       id="EMFhbasepattern-0"
+       patternUnits="userSpaceOnUse"
+       width="6"
+       height="6"
+       x="0"
+       y="0" />
+  </defs>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(-18.446163,-164.19725)">
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="118.42534"
+       y="121.10603"
+       id="text1084"><tspan
+         sodipodi:role="line"
+         x="0"
+         y="0"
+         id="tspan1082"
+         style="stroke-width:0.264583"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan1080" /></tspan></text>
+    <rect
+       style="fill:#ffffff;stroke-width:0.26458332"
+       id="rect205"
+       width="294.57031"
+       height="119.3931"
+       x="17.94133"
+       y="164.11879"
+       inkscape:export-xdpi="120"
+       inkscape:export-ydpi="120" />
+    <path
+       style="fill:#ffe6cc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 181.09808,250.77995 v 26.27307 H 305.525 v -26.27307 z"
+       id="path62399" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="M 181.09808,250.77995 H 305.525 v 26.27307 H 181.09808 Z"
+       id="path62401" />
+    <path
+       style="fill:#dae8fc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 18.551932,192.31072 v 18.82692 h 24.876923 v -18.82692 z"
+       id="path62403" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       clip-path="url(#clipEmfPath1-8)"
+       d="M 0.87946699,106.73531 H 94.902483 v 71.15688 H 0.87946699 Z"
+       id="path62405"
+       transform="matrix(0.26458333,0,0,0.26458333,18.31924,164.07033)" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="21.721485"
+       y="200.77989"
+       id="text62411"><tspan
+         sodipodi:role="line"
+         x="21.721485"
+         y="200.77989"
+         id="tspan62409"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan62407">ML Model</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="22.186869"
+       y="205.85681"
+       id="text62417"><tspan
+         sodipodi:role="line"
+         x="22.186869"
+         y="205.85681"
+         id="tspan62415"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan62413">Onnx</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="32.2561"
+       y="205.85681"
+       id="text62423"><tspan
+         sodipodi:role="line"
+         x="32.2561"
+         y="205.85681"
+         id="tspan62421"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan62419">, TF</tspan></tspan></text>
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       d="M 48.082701,192.35302 H 74.55674 l 3.860578,9.41346 -3.860578,9.41347 H 48.082701 l 3.860578,-9.41347 z"
+       id="path62425" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="58.812145"
+       y="200.82275"
+       id="text62431"><tspan
+         sodipodi:role="line"
+         x="58.812145"
+         y="200.82275"
+         id="tspan62429"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62427">TVM </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="54.877529"
+       y="205.89967"
+       id="text62437"><tspan
+         sodipodi:role="line"
+         x="54.877529"
+         y="205.89967"
+         id="tspan62435"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62433">Frontend</tspan></tspan></text>
+    <path
+       style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 81.971164,192.35302 v 18.82693 h 30.334616 v -18.82693 z"
+       id="path62439" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 81.971164,192.35302 h 30.334616 v 18.82693 H 81.971164 Z"
+       id="path62441" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="85.725502"
+       y="200.82275"
+       id="text62447"><tspan
+         sodipodi:role="line"
+         x="85.725502"
+         y="200.82275"
+         id="tspan62445"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62443">Relay/Relax </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="91.267807"
+       y="205.89967"
+       id="text62453"><tspan
+         sodipodi:role="line"
+         x="91.267807"
+         y="205.89967"
+         id="tspan62451"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62449">Graph</tspan></tspan></text>
+    <path
+       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 115.81732,192.31072 h 30.81057 l 5.44712,9.41346 -5.44712,9.41346 h -30.81057 l 5.44711,-9.41346 z"
+       id="path62455" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       d="m 115.81732,192.31072 h 30.81057 l 5.44712,9.41346 -5.44712,9.41346 h -30.81057 l 5.44711,-9.41346 z"
+       id="path62457" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="133.18175"
+       y="197.52748"
+       id="text62463"><tspan
+         sodipodi:role="line"
+         x="133.18175"
+         y="197.52748"
+         id="tspan62461"
+         style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.264583">TVM </tspan><tspan
+         sodipodi:role="line"
+         x="133.18175"
+         y="202.81914"
+         style="text-align:center;text-anchor:middle;stroke-width:0.264583"
+         id="tspan9203"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.264583"
+           dy="0"
+           dx="0"
+           id="tspan11751">Graph </tspan></tspan><tspan
+         sodipodi:role="line"
+         x="133.76982"
+         y="208.11081"
+         style="text-align:center;text-anchor:middle;stroke-width:0.264583"
+         id="tspan12973"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.264583"
+           id="tspan12975">Partitioning </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="124.5541"
+       y="203.31834"
+       id="text62469"><tspan
+         sodipodi:role="line"
+         x="0"
+         y="0"
+         id="tspan62467"
+         style="stroke-width:0.264583"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62465" /></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="132.7618"
+       y="208.39526"
+       id="text62475"><tspan
+         sodipodi:role="line"
+         x="0"
+         y="0"
+         id="tspan62473"
+         style="stroke-width:0.264583"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62471" /></tspan></text>
+    <path
+       style="fill:#d5e8d4;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 155.75577,169.33764 v 64.77307 h 35.32693 v -64.77307 z"
+       id="path62477" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 155.75577,169.33764 h 35.32693 v 64.77307 h -35.32693 z"
+       id="path62479" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 158.92885,205.93379 h 29.02308 v 18.15 h -29.02308 z"
+       id="path62481" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="163.76509"
+       y="214.05873"
+       id="text62487"><tspan
+         sodipodi:role="line"
+         x="163.76509"
+         y="214.05873"
+         id="tspan62485"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62483">Supported</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="164.01894"
+       y="219.13565"
+       id="text62493"><tspan
+         sodipodi:role="line"
+         x="164.01894"
+         y="219.13565"
+         id="tspan62491"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62489">Operators</tspan></tspan></text>
+    <path
+       style="fill:#e1d5e7;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.26458299"
+       d="m 198.90962,172.79629 c 0,-4.68557 3.80769,-8.49327 8.49327,-8.49327 h 33.9625 c 4.68558,0 8.48269,3.8077 8.48269,8.49327 v 59.47404 c 0,4.68558 -3.79711,8.48269 -8.48269,8.48269 h -33.9625 c -4.68558,0 -8.49327,-3.79711 -8.49327,-8.48269 z"
+       id="path62495"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.999394px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       clip-path="url(#clipEmfPath1-8)"
+       d="m 682.54634,32.980012 c 0,-17.709267 14.39127,-32.10054501 32.10054,-32.10054501 h 128.36221 c 17.70926,0 32.06056,14.39127801 32.06056,32.10054501 V 257.76378 c 0,17.70927 -14.3513,32.06057 -32.06056,32.06057 H 714.64688 c -17.70927,0 -32.10054,-14.3513 -32.10054,-32.06057 z"
+       id="path62497"
+       transform="matrix(0.26458333,0,0,0.26458333,18.31924,164.07033)" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.88607001px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+       x="207.93828"
+       y="171.6328"
+       id="text62503"><tspan
+         sodipodi:role="line"
+         x="207.93828"
+         y="171.6328"
+         id="tspan62501"
+         style="stroke-width:0.26458299"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.88607001px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.26458299"
+           id="tspan62499">Relay/ Relax.build()</tspan></tspan></text>
+    <path
+       style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 204.24039,175.93764 h 30.86346 l 9.41347,9.41346 -9.41347,9.41346 h -30.86346 l 9.41346,-9.41346 z"
+       id="path62517" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       d="m 204.24039,175.93764 h 30.86346 l 9.41347,9.41346 -9.41347,9.41346 h -30.86346 l 9.41346,-9.41346 z"
+       id="path62519" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="219.929"
+       y="184.40004"
+       id="text62525"><tspan
+         sodipodi:role="line"
+         x="219.929"
+         y="184.40004"
+         id="tspan62523"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62521">TVM </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="217.68669"
+       y="189.47696"
+       id="text62531"><tspan
+         sodipodi:role="line"
+         x="217.68669"
+         y="189.47696"
+         id="tspan62529"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62527">Default</tspan></tspan></text>
+    <path
+       style="fill:#fed403;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 204.24039,206.65302 h 30.86346 l 9.41347,9.41347 -9.41347,9.41346 h -30.86346 l 9.41346,-9.41346 z"
+       id="path62533" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:8;stroke-dasharray:none;stroke-opacity:1"
+       d="m 204.24039,206.65302 h 30.86346 l 9.41347,9.41347 -9.41347,9.41346 h -30.86346 l 9.41346,-9.41346 z"
+       id="path62535" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:700;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="219.59053"
+       y="215.09785"
+       id="text62541"><tspan
+         sodipodi:role="line"
+         x="219.59053"
+         y="215.09785"
+         id="tspan62539"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:700;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62537">UMA</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="216.84053"
+       y="220.17477"
+       id="text62547"><tspan
+         sodipodi:role="line"
+         x="216.84053"
+         y="220.17477"
+         id="tspan62545"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62543">Pipeline</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 43.4315,201.65807 6.790384,0.0344 v 0.17716 l -6.793029,-0.0344 z m 6.443991,-0.93606 2.110095,1.06827 -2.120673,1.04712 z"
+       id="path62549" />
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 78.417318,201.70038 h 1.766345 v 0.17716 h -1.766345 z m 1.414663,-0.97043 2.115384,1.05769 -2.115384,1.05769 z"
+       id="path62551" />
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 112.31107,201.87754 7.20817,-0.0317 v -0.17981 l -7.21346,0.037 z m 6.86442,0.93606 2.1101,-1.06827 -2.12068,-1.04711 z"
+       id="path62553" />
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 152.07501,201.66071 h 1.925 v 0.17452 h -1.925 z m 1.57596,-0.97307 2.11538,1.05769 -2.11538,1.05769 z"
+       id="path62555" />
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 191.0827,185.28764 h 20.83654 v 0.17981 H 191.0827 Z m 20.4875,-0.97308 2.11538,1.05769 -2.11538,1.0577 z"
+       id="path62557" />
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 191.09328,215.70687 20.82596,0.23269 v 0.17981 l -20.83654,-0.23269 z m 20.4875,-0.74038 2.1048,1.08942 -2.12596,1.02596 z"
+       id="path62559" />
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 244.51732,215.96072 h 15.04038 v 0.1798 h -15.04038 z m 14.68076,-0.97308 2.11539,1.05769 -2.11539,1.05769 z"
+       id="path62561" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 261.31347,208.00687 h 26.14615 v 16.07692 h -26.14615 z"
+       id="path62563" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="271.95032"
+       y="214.63245"
+       id="text62569"><tspan
+         sodipodi:role="line"
+         x="271.95032"
+         y="214.63245"
+         id="tspan62567"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62565">.c </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="268.73492"
+       y="222.24783"
+       id="text62575"><tspan
+         sodipodi:role="line"
+         x="268.73492"
+         y="222.24783"
+         id="tspan62573"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62571">files</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0105769px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 244.51732,185.28764 h 15.04038 v 0.17981 h -15.04038 z m 14.68076,-0.97308 2.11539,1.05769 -2.11539,1.0577 z"
+       id="path62577" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 261.31347,177.33379 h 26.14615 v 16.03462 h -26.14615 z"
+       id="path62579" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.3499999px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+       x="266.95801"
+       y="183.93465"
+       id="text62585"><tspan
+         sodipodi:role="line"
+         x="266.95801"
+         y="183.93465"
+         id="tspan62583"
+         style="stroke-width:0.26458299"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.3499999px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.26458299"
+           id="tspan62581">.c / .ll</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="268.73492"
+       y="191.55002"
+       id="text62597"><tspan
+         sodipodi:role="line"
+         x="268.73492"
+         y="191.55002"
+         id="tspan62595"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:6.35px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62593">files</tspan></tspan></text>
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 252.25962,255.89918 h 44.21155 v 10.83077 h -44.21155 z"
+       id="path62599" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="268.39557"
+       y="260.34909"
+       id="text62605"><tspan
+         sodipodi:role="line"
+         x="268.39557"
+         y="260.34909"
+         id="tspan62603"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62601">HW or</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="260.61096"
+       y="265.42599"
+       id="text62611"><tspan
+         sodipodi:role="line"
+         x="260.61096"
+         y="265.42599"
+         id="tspan62609"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62607">HW </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="268.86096"
+       y="265.42599"
+       id="text62617"><tspan
+         sodipodi:role="line"
+         x="268.86096"
+         y="265.42599"
+         id="tspan62615"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62613">-</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="270.29941"
+       y="265.42599"
+       id="text62623"><tspan
+         sodipodi:role="line"
+         x="270.29941"
+         y="265.42599"
+         id="tspan62621"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62619">Simulator</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 181.10337,263.99052 h -7.74759 v -28.11346 h 0.17451 v 28.02885 l -0.0899,-0.0899 h 7.66298 z m -8.72067,-27.76442 1.05769,-2.11539 1.05769,2.11539 z"
+       id="path62625" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 193.53654,255.89918 h 43.83077 v 10.83077 h -43.83077 z"
+       id="path62627" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="200.63858"
+       y="262.88754"
+       id="text62633"><tspan
+         sodipodi:role="line"
+         x="200.63858"
+         y="262.88754"
+         id="tspan62631"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62629">Meta Scheduler</tspan></tspan></text>
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 158.92885,179.44918 h 29.02308 v 18.10769 h -29.02308 z"
+       id="path62635" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;line-height:125%;font-family:'Bosch Office Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+       x="173.61946"
+       y="186.52211"
+       id="text62641"><tspan
+         sodipodi:role="line"
+         x="173.61946"
+         y="186.52211"
+         id="tspan62639"
+         style="text-align:center;text-anchor:middle;stroke-width:0.26458299"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.26458299"
+           id="tspan62637">Unsupported</tspan></tspan><tspan
+         sodipodi:role="line"
+         x="173.61946"
+         y="191.81377"
+         style="text-align:center;text-anchor:middle;stroke-width:0.26458299"
+         id="tspan199">Operators</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.88607px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="157.02672"
+       y="175.72591"
+       id="text62659"><tspan
+         sodipodi:role="line"
+         x="157.02672"
+         y="175.72591"
+         id="tspan62657"
+         style="stroke-width:0.264583;font-size:3.52777778px"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.52777778px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62655">Relay/Relax Graph</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.88607px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="234.20096"
+       y="272.85437"
+       id="text62665"><tspan
+         sodipodi:role="line"
+         x="234.20096"
+         y="272.85437"
+         id="tspan62663"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:3.88607px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.264583"
+           id="tspan62661">Optimization</tspan></tspan></text>
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.0399758px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       clip-path="url(#clipEmfPath1-8)"
+       d="m 967.49364,226.82253 v 50.80921 h 142.07386 l -0.3198,-0.31981 v 100.09934 l 0.3198,-0.35979 h -17.3095 v 0.67959 h 17.6693 V 276.95215 H 967.81345 l 0.35978,0.35978 v -50.4894 z m 126.08356,146.59116 -7.9951,3.99758 7.9951,3.99757 z"
+       id="path62667"
+       transform="matrix(0.26458333,0,0,0.26458333,18.31924,164.07033)" />
+    <path
+       style="fill:#fed403;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 117.21347,222.17995 v 14.97692 h 28.55769 v -14.97692 z"
+       id="path62669" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 117.21347,222.17995 h 28.55769 v 14.97692 h -28.55769 z"
+       id="path62671" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:700;font-size:4.23332977px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+       x="125.54424"
+       y="228.25558"
+       id="text62677"><tspan
+         sodipodi:role="line"
+         x="125.54424"
+         y="228.25558"
+         id="tspan62675"
+         style="stroke-width:0.26458299"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:700;font-size:4.23332977px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.26458299"
+           id="tspan62673">UMA</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;line-height:125%;font-family:'Bosch Office Sans';text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+       x="121.12505"
+       y="233.51099"
+       id="text62683"><tspan
+         sodipodi:role="line"
+         x="121.12505"
+         y="233.51099"
+         id="tspan62681"
+         style="stroke-width:0.26458299"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;font-family:'Bosch Office Sans';fill:#000000;stroke-width:0.26458299"
+           id="tspan62679">Partitioner</tspan></tspan></text>
+    <path
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 88.82501,255.43379 v 13.91923 h 33.93077 v -13.91923 z"
+       id="path62685" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 88.82501,255.43379 h 33.93077 v 13.91923 H 88.82501 Z"
+       id="path62687" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="92.532028"
+       y="261.45746"
+       id="text62693"><tspan
+         sodipodi:role="line"
+         x="92.532028"
+         y="261.45746"
+         id="tspan62691"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan62689">Accelerator  </tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="116.22433"
+       y="261.45746"
+       id="text62699"><tspan
+         sodipodi:role="line"
+         x="116.22433"
+         y="261.45746"
+         id="tspan62697"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan62695">A</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="96.128181"
+       y="266.53436"
+       id="text62705"><tspan
+         sodipodi:role="line"
+         x="96.128181"
+         y="266.53436"
+         id="tspan62703"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan62701">Partitioner</tspan></tspan></text>
+    <path
+       style="fill:#d9d9d9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.264583"
+       d="m 130.83655,255.43379 v 14.04616 h 32.11153 v -14.04616 z"
+       id="path62707" />
+    <path
+       style="fill:none;stroke:#3f136c;stroke-width:0.264423px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 130.83655,255.43379 h 32.11153 v 14.04616 h -32.11153 z"
+       id="path62709" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+       x="133.63939"
+       y="261.50671"
+       id="text62715"
+       inkscape:export-xdpi="96"
+       inkscape:export-ydpi="96"><tspan
+         sodipodi:role="line"
+         x="133.63939"
+         y="261.50671"
+         id="tspan62713"
+         style="stroke-width:0.26458299"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23332977px;font-family:Arial;fill:#000000;stroke-width:0.26458299"
+           id="tspan62711">Accelerator  B</tspan></tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;line-height:125%;font-family:Arial;text-align:start;letter-spacing:0px;word-spacing:0px;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+       x="137.27786"
+       y="266.58365"
+       id="text62721"><tspan
+         sodipodi:role="line"
+         x="137.27786"
+         y="266.58365"
+         id="tspan62719"
+         style="stroke-width:0.264583"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.23333px;font-family:Arial;fill:#000000;stroke-width:0.264583"
+           id="tspan62717">Partitioner</tspan></tspan></text>
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 131.34953,237.49533 v 0.70866 h -0.17452 v -0.70866 z m 0,1.2375 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23221 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23221 v 0.70866 h -0.17452 v -0.70866 z m 0,1.23751 v 0.70336 h -0.17452 v -0.70336 z m 0,1.2322 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23222 v 0.70865 h -0.17452 v -0.70865 z m 0,1.2375 v 0.70336 h -0.17452 v -0.70336 z"
+       id="path62723" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 114.75962,247.44293 h 0.70866 v -0.17452 h -0.70866 z m 1.23751,0 h 0.70336 v -0.17452 h -0.70336 z m 1.23221,0 h 0.70336 v -0.17452 h -0.70336 z m 1.23221,0 h 0.70865 v -0.17452 h -0.70865 z m 1.2375,0 h 0.70336 v -0.17452 h -0.70336 z m 1.23221,0 h 0.70336 v -0.17452 h -0.70336 z m 1.23221,0 h 0.70866 v -0.17452 h -0.70866 z m 1.2375,0 h 0.70337 v -0.17452 h -0.70337 z m 1.23221,0 h 0.70337 v -0.17452 h -0.70337 z m 1.23221,0 h 0.70866 v -0.17452 h -0.70866 z m 1.23751,0 h  [...]
+       id="path62725" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 114.84953,247.35302 v 0.70866 h -0.17452 v -0.70866 z m 0,1.2375 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23221 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23222 v 0.70865 h -0.17452 v -0.70865 z m 0,1.2375 v 0.70336 h -0.17452 v -0.70336 z m 0,1.23221 v 0.70336 h -0.17452 v -0.70336 z m 0,1.23221 v 0.70865 h -0.17452 v -0.70865 z"
+       id="path62727" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 148.7803,247.35302 v 0.70866 h -0.17452 v -0.70866 z m 0,1.2375 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23221 v 0.70337 h -0.17452 v -0.70337 z m 0,1.23222 v 0.70865 h -0.17452 v -0.70865 z m 0,1.2375 v 0.70336 h -0.17452 v -0.70336 z m 0,1.23221 v 0.70336 h -0.17452 v -0.70336 z m 0,1.23221 v 0.70865 h -0.17452 v -0.70865 z"
+       id="path62729" />
+    <path
+       style="fill:#007bc0;fill-opacity:1;fill-rule:nonzero;stroke:#007bc0;stroke-width:0.00528846px;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       d="m 131.39712,222.16408 -0.22211,-9.2601 0.17452,-0.005 0.22211,9.26009 z m -1.18461,-8.88461 1.00481,-2.14183 1.11057,2.09423 z"
+       id="path62731" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.94439983px;line-height:125%;font-family:'Bosch Office Sans';text-align:center;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
+       x="127.17078"
+       y="275.10947"
+       id="text62737"><tspan
+         sodipodi:role="line"
+         x="127.17078"
+         y="275.10947"
+         id="tspan62735"
+         style="text-align:center;text-anchor:middle;stroke-width:0.26458299"><tspan
+           dx="0"
+           dy="0"
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.94439983px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.26458299"
+           id="tspan62733">Register pattern e.g. hard rules</tspan></tspan><tspan
+         sodipodi:role="line"
+         x="127.95663"
+         y="281.28998"
+         style="text-align:center;text-anchor:middle;stroke-width:0.26458299"
+         id="tspan201"><tspan
+           style="font-style:normal;font-variant:normal;font-weight:400;font-size:4.94439983px;font-family:'Bosch Office Sans';text-align:center;text-anchor:middle;fill:#000000;stroke-width:0.26458299"
+           id="tspan203">and relay passes </tspan></tspan></text>
+  </g>
+</svg>