# Django stuff:
*.log
-# Sphinx documentation
-docs/_build/
-
# PyBuilder
target/
+++ /dev/null
-barectf.1.xml
+++ /dev/null
-# The MIT License (MIT)
-#
-# Copyright (c) 2016 Philippe Proulx <pproulx@efficios.com>
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-# THE SOFTWARE.
-
-# source
-SRC = barectf
-
-# config
-ASCIIDOC_CONF = asciidoc.conf
-XSL_FILES = \
- manpage.xsl \
- manpage-callouts.xsl \
- manpage-bold-literal.xsl \
- manpage-links.xsl
-XSL_SRC_FILES = $(addprefix xsl/,$(XSL_FILES))
-
-# tools
-ASCIIDOC ?= asciidoc
-XMLTO ?= xmlto
-ADOC = $(ASCIIDOC) -f $(ASCIIDOC_CONF) -d manpage \
- -a barectf_version=$(shell cd ../../barectf; python3 -c 'import __init__; print(__init__.__version__)')
-ADOC_DOCBOOK = $(ADOC) -b docbook
-XTO = $(XMLTO) -m $(firstword $(XSL_SRC_FILES)) man
-
-# recipes
-.PHONY: all
-
-all: $(SRC).1
-
-$(SRC).1.xml: $(SRC).1.txt $(ASCIIDOC_CONF)
- $(ADOC_DOCBOOK) -o $@ $<
-
-$(SRC).1: $(SRC).1.xml $(XSL_SRC_FILES)
- $(XTO) $<
-
-.PHONY: clean
-
-clean:
- rm -f $(SRC).1 $(SRC).1.xml
+++ /dev/null
-[macros]
-(?su)[\\]?(?P<name>option):(?P<opt>-?-?[a-zA-Z0-9-]*)=
-(?su)[\\]?(?P<name>nloption):(?P<opt>-?-?[a-zA-Z0-9-]*)=
-:not:=not
-
-ifdef::doctype-manpage[]
-ifdef::backend-docbook[]
-[option-inlinemacro]
-<literal>{opt}</literal>
-
-[nloption-inlinemacro]
-<literal>{opt}</literal>
-
-[not-inlinemacro]
-NOT
-
-[header]
-template::[header-declarations]
-<refentry>
- <refmeta>
- <refentrytitle>{mantitle}</refentrytitle>
- <manvolnum>{manvolnum}</manvolnum>
- <refmiscinfo class="source">barectf</refmiscinfo>
- <refmiscinfo class="version">{barectf_version}</refmiscinfo>
- <refmiscinfo class="manual">barectf manual</refmiscinfo>
- </refmeta>
- <refnamediv>
- <refname>{manname}</refname>
- <refpurpose>{manpurpose}</refpurpose>
- </refnamediv>
-endif::backend-docbook[]
-endif::doctype-manpage[]
+++ /dev/null
-'\" t
-.\" Title: barectf
-.\" Author: [see the "AUTHORS" section]
-.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
-.\" Date: 05/14/2020
-.\" Manual: barectf manual
-.\" Source: barectf 2.3.1
-.\" Language: English
-.\"
-.TH "BARECTF" "1" "05/14/2020" "barectf 2\&.3\&.1" "barectf manual"
-.\" -----------------------------------------------------------------
-.\" * Define some portability stuff
-.\" -----------------------------------------------------------------
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.\" http://bugs.debian.org/507673
-.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
-.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-.ie \n(.g .ds Aq \(aq
-.el .ds Aq '
-.\" -----------------------------------------------------------------
-.\" * set default formatting
-.\" -----------------------------------------------------------------
-.\" disable hyphenation
-.nh
-.\" disable justification (adjust text to left margin only)
-.ad l
-.\" -----------------------------------------------------------------
-.\" * MAIN CONTENT STARTS HERE *
-.\" -----------------------------------------------------------------
-.SH "NAME"
-barectf \- Generate C99 code that can write native CTF packets
-.SH "SYNOPSIS"
-.sp
-.nf
-\fBbarectf\fR [\fB--prefix\fR=\fIPREFIX\fR] [\fB--dump-config\fR]
- [\fB--code-dir\fR=\fIPATH\fR] [\fB--headers-dir\fR=\fIPATH\fR] [\fB--metadata-dir\fR=\fIPATH\fR]
- [\fB-I\fR \fIPATH\fR]\&... [\fB--ignore-include-not-found\fR] \fICONFIG\fR
-.fi
-.SH "DESCRIPTION"
-.sp
-The \fBbarectf\fR command generates C99 code, that itself can write Common Trace Format <http://diamon.org/ctf> packets natively, out of a YAML configuration input file \fICONFIG\fR\&. The full documentation of barectf is available on the project\(cqs website <http://barectf.org>\&.
-.sp
-A prefix is used to scope the generated file names, as well as the generated function names, macro names, structure names, and so on\&. By default, this prefix is \fBbarectf_\fR\&. It can be overridden by the configuration file, and ultimately by the \fB--prefix\fR option\&.
-.sp
-By default, all generated C and CTF metadata files are written to the current working directory\&. The \fB--code-dir\fR, \fB--headers-dir\fR, and \fB--metadata-dir\fR options are used to control where the generated files should go\&.
-.sp
-You can add directories to be searched into for inclusion files, before the default search directories, by using the \fB-I\fR option one or more times\&.
-.sp
-By default, if an inclusion file is not found while processing the configuration file \fICONFIG\fR, an error is emitted\&. You can instruct \fBbarectf\fR to continue silently instead by providing the \fB--ignore-include-not-found\fR option\&.
-.sp
-To view the effective YAML configuration file used for generating the C and CTF metadata files, after having processed all inclusion files, use the \fB--dump-config\fR option\&.
-.SH "OPTIONS"
-.PP
-\fB-c\fR \fIPATH\fR, \fB--code-dir\fR=\fIPATH\fR
-.RS 4
-Write C source files to directory
-\fIPATH\fR
-instead of the current working directory\&.
-.RE
-.PP
-\fB--dump-config\fR
-.RS 4
-Dump the effective YAML configuration file, after all inclusions are processed, to the standard output\&.
-.RE
-.PP
-\fB-H\fR \fIPATH\fR, \fB--headers-dir\fR=\fIPATH\fR
-.RS 4
-Write C header files to directory
-\fIPATH\fR
-instead of the current working directory\&.
-.RE
-.PP
-\fB--ignore-include-not-found\fR
-.RS 4
-Do not consider as an error inclusion files that are not found: continue silently\&.
-.RE
-.PP
-\fB-I\fR \fIPATH\fR, \fB--include-dir\fR=\fIPATH\fR
-.RS 4
-Prepend
-\fIPATH\fR
-to the list of directories to search into for include files\&. The default list of directories is the current working directory, followed by the directory containing the provided, "standard" inclusion files\&.
-.RE
-.PP
-\fB-m\fR \fIPATH\fR, \fB--metadata-dir\fR=\fIPATH\fR
-.RS 4
-Write CTF metadata file to directory
-\fIPATH\fR
-instead of the current working directory\&.
-.RE
-.PP
-\fB-p\fR \fIPREFIX\fR, \fB--prefix\fR=\fIPREFIX\fR
-.RS 4
-Override the configuration file\(cqs prefix with
-\fIPREFIX\fR\&. This prefix is used in file names, function names, macro names, structure names, and the rest\&. When not specified in the configuration file, the default prefix is
-\fBbarectf_\fR\&.
-.RE
-.PP
-\fB-h\fR, \fB--help\fR
-.RS 4
-Show command help\&.
-.RE
-.PP
-\fB--version\fR
-.RS 4
-Show the command\(cqs version\&.
-.RE
-.SH "EXIT STATUS"
-.PP
-\fB0\fR
-.RS 4
-Success
-.RE
-.PP
-\fBNot 0\fR
-.RS 4
-Error
-.RE
-.SH "BUGS"
-.sp
-Please report any bug or usability issue as a GitHub issue <https://github.com/efficios/barectf/issues>\&.
-.SH "RESOURCES"
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-Project\(cqs website <http://barectf.org>
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-Continuous integration <http://ci.lttng.org/job/barectf>
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-Mailing list <http://lists.lttng.org>
-for support and development:
-\fBlttng-dev@lists.lttng.org\fR
-(prefix the subject message with
-\fB[barectf]\fR)
-.RE
-.sp
-.RS 4
-.ie n \{\
-\h'-04'\(bu\h'+03'\c
-.\}
-.el \{\
-.sp -1
-.IP \(bu 2.3
-.\}
-IRC channel <irc://irc.oftc.net/lttng>:
-\fB#lttng\fR
-on
-\fBirc.oftc.net\fR
-(\fBeepp\fR
-is barectf\(cqs author and maintainer)
-.RE
-.SH "COPYRIGHT"
-.sp
-Copyright (c) 2014\-2016 Philippe Proulx <mailto:pproulx@efficios.com>\&.
-.sp
-barectf is distributed under the MIT License <https://github.com/efficios/barectf/blob/master/LICENSE>\&.
-.SH "AUTHORS"
-.sp
-barectf was originally written by and is maintained by, as of this version, Philippe Proulx <mailto:pproulx@efficios.com>\&. Other, nice people have since contributed to the project\&.
-.sp
-barectf is supported by EfficiOS <http://www.efficios.com/>\&.
+++ /dev/null
-barectf(1)
-==========
-
-
-NAME
-----
-barectf - Generate C99 code that can write native CTF packets
-
-
-SYNOPSIS
---------
-[verse]
-*barectf* [option:--prefix='PREFIX'] [option:--dump-config]
- [option:--code-dir='PATH'] [option:--headers-dir='PATH'] [option:--metadata-dir='PATH']
- [option:-I 'PATH']... [option:--ignore-include-not-found] 'CONFIG'
-
-
-DESCRIPTION
------------
-The `barectf` command generates C99 code, that itself can write
-http://diamon.org/ctf[Common Trace Format] packets natively, out of a
-YAML configuration input file 'CONFIG'. The full documentation of
-barectf is available on the http://barectf.org[project's website].
-
-A prefix is used to scope the generated file names, as well as the
-generated function names, macro names, structure names, and so on.
-By default, this prefix is `barectf_`. It can be overridden by the
-configuration file, and ultimately by the option:--prefix option.
-
-By default, all generated C and CTF metadata files are written to the
-current working directory. The option:--code-dir, option:--headers-dir,
-and option:--metadata-dir options are used to control where the
-generated files should go.
-
-You can add directories to be searched into for inclusion files, before
-the default search directories, by using the option:-I option one or
-more times.
-
-By default, if an inclusion file is not found while processing the
-configuration file 'CONFIG', an error is emitted. You can instruct
-`barectf` to continue silently instead by providing the
-option:--ignore-include-not-found option.
-
-To view the effective YAML configuration file used for generating the
-C and CTF metadata files, after having processed all inclusion files,
-use the option:--dump-config option.
-
-
-OPTIONS
--------
-option:-c 'PATH', option:--code-dir='PATH'::
- Write C source files to directory 'PATH' instead of the current
- working directory.
-
-option:--dump-config::
- Dump the effective YAML configuration file, after all inclusions are
- processed, to the standard output.
-
-option:-H 'PATH', option:--headers-dir='PATH'::
- Write C header files to directory 'PATH' instead of the current
- working directory.
-
-option:--ignore-include-not-found::
- Do not consider as an error inclusion files that are not found:
- continue silently.
-
-option:-I 'PATH', option:--include-dir='PATH'::
- Prepend 'PATH' to the list of directories to search into for include
- files. The default list of directories is the current working
- directory, followed by the directory containing the provided,
- "standard" inclusion files.
-
-option:-m 'PATH', option:--metadata-dir='PATH'::
- Write CTF metadata file to directory 'PATH' instead of the current
- working directory.
-
-option:-p 'PREFIX', option:--prefix='PREFIX'::
- Override the configuration file's prefix with 'PREFIX'. This prefix
- is used in file names, function names, macro names, structure names,
- and the rest. When not specified in the configuration file, the
- default prefix is `barectf_`.
-
-option:-h, option:--help::
- Show command help.
-
-option:--version::
- Show the command's version.
-
-
-EXIT STATUS
------------
-*0*::
- Success
-
-*Not 0*::
- Error
-
-
-BUGS
-----
-Please report any bug or usability issue as a
-https://github.com/efficios/barectf/issues[GitHub issue].
-
-
-RESOURCES
----------
-* http://barectf.org[Project's website]
-* http://ci.lttng.org/job/barectf[Continuous integration]
-* http://lists.lttng.org[Mailing list] for support and
- development: `lttng-dev@lists.lttng.org` (prefix the subject message
- with `[barectf]`)
-* irc://irc.oftc.net/lttng[IRC channel]: `#lttng` on `irc.oftc.net`
- (`eepp` is barectf's author and maintainer)
-
-
-COPYRIGHT
----------
-Copyright (c) 2014-2016 mailto:pproulx@efficios.com[Philippe Proulx].
-
-barectf is distributed under the
-https://github.com/efficios/barectf/blob/master/LICENSE[MIT License].
-
-
-AUTHORS
--------
-barectf was originally written by and is maintained by, as of this
-version, mailto:pproulx@efficios.com[Philippe Proulx]. Other, nice
-people have since contributed to the project.
-
-barectf is supported by http://www.efficios.com/[EfficiOS].
+++ /dev/null
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
- <xsl:template match="literal">
- <xsl:text>\fB</xsl:text>
- <xsl:value-of select="." />
- <xsl:text>\fR</xsl:text>
- </xsl:template>
-</xsl:stylesheet>
+++ /dev/null
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
- <xsl:template match="co">
- <xsl:value-of select="concat('\','fB(',substring-after(@id,'-'),')','\','fR')"/>
- </xsl:template>
- <xsl:template match="calloutlist">
- <xsl:value-of select="."/>
- <xsl:text>sp </xsl:text>
- <xsl:apply-templates/>
- <xsl:text> </xsl:text>
- </xsl:template>
- <xsl:template match="callout">
- <xsl:value-of select="concat('\','fB',substring-after(@arearefs,'-'),'. ','\','fR')"/>
- <xsl:apply-templates/>
- <xsl:value-of select="."/>
- <xsl:text>br </xsl:text>
- </xsl:template>
-</xsl:stylesheet>
+++ /dev/null
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
- <xsl:template match="ulink">
- <xsl:apply-templates/><xsl:text> <</xsl:text><xsl:value-of select="@url"/><xsl:text>></xsl:text>
- </xsl:template>
- <xsl:template match="link">
- <xsl:text>\fI</xsl:text><xsl:apply-templates/><xsl:text>\fR</xsl:text>
- </xsl:template>
-</xsl:stylesheet>
+++ /dev/null
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
- <xsl:import href="manpage-callouts.xsl" />
- <xsl:import href="manpage-bold-literal.xsl" />
- <xsl:import href="manpage-links.xsl" />
-
- <!-- disable end notes -->
- <xsl:param name="man.endnotes.are.numbered">0</xsl:param>
-</xsl:stylesheet>
--- /dev/null
+name: barectf
+title: barectf
+version: '3.0'
+asciidoc:
+ attributes:
+ req-abbr: '<abbr title="Required?">Req?</abbr>'
+nav:
+ - modules/ROOT/nav.adoc
--- /dev/null
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 645.33 122.88"><defs><style>.cls-1{fill:none;stroke:#5f0f40;stroke-linecap:square;stroke-linejoin:round;stroke-width:5px;}.cls-2{fill:#5f0f40;}.cls-3{fill:#9b1c22;}</style></defs><title>barectf-logo</title><line class="cls-1" x1="10.29" y1="43.95" x2="3.54" y2="37.19"/><line class="cls-1" x1="21.56" y1="32.69" x2="14.8" y2="25.93"/><line class="cls-1" x1="32.69" y1="21.56" x2="25.93" y2="14.8"/><line class="cls-1" x1="43.95" y1="10.29" x2="37.19" y2="3.54"/><path class="cls-1" d="M161,265.83l-43.2-43.2a8,8,0,0,0-11.39,0L63.07,266a8,8,0,0,0,0,11.39l43.33,43.33a8,8,0,0,0,11.39,0L161,277.49A8.32,8.32,0,0,0,161,265.83Z" transform="translate(-50.52 -210.22)"/><line class="cls-1" x1="112.59" y1="78.93" x2="119.34" y2="85.69"/><line class="cls-1" x1="101.32" y1="90.19" x2="108.08" y2="96.95"/><line class="cls-1" x1="90.19" y1="101.32" x2="96.95" y2="108.08"/><line class="cls-1" x1="78.93" y1="112.59" x2="85.69" y2="119.34"/><rect class="cls-1" x="60.89" y="252.74" width="6.75" height="9.74" transform="translate(-213.86 -89.32) rotate(-45)"/><rect class="cls-1" x="72.15" y="241.48" width="6.75" height="9.74" transform="translate(-202.6 -84.66) rotate(-45)"/><rect class="cls-1" x="83.28" y="230.35" width="6.75" height="9.74" transform="translate(-191.47 -80.05) rotate(-45)"/><rect class="cls-1" x="93.05" y="315.99" width="9.74" height="6.75" transform="translate(-247.67 -47.44) rotate(-45)"/><line class="cls-1" x1="43.95" y1="112.59" x2="37.19" y2="119.34"/><rect class="cls-1" x="81.78" y="304.72" width="9.74" height="6.75" transform="translate(-243 -58.7) rotate(-45)"/><line class="cls-1" x1="32.69" y1="101.32" x2="25.93" y2="108.08"/><rect class="cls-1" x="70.65" y="293.59" width="9.74" height="6.75" transform="translate(-238.39 -69.83) rotate(-45)"/><line class="cls-1" x1="21.56" y1="90.19" x2="14.8" y2="96.95"/><rect class="cls-1" x="59.39" y="282.33" width="9.74" height="6.75" transform="translate(-233.72 -81.1) rotate(-45)"/><line class="cls-1" x1="10.29" y1="78.93" x2="3.54" y2="85.69"/><line class="cls-1" x1="78.93" y1="10.29" x2="85.69" y2="3.54"/><line class="cls-1" x1="90.19" y1="21.56" x2="96.95" y2="14.8"/><line class="cls-1" x1="101.32" y1="32.69" x2="108.08" y2="25.93"/><line class="cls-1" x1="112.59" y1="43.95" x2="119.34" y2="37.19"/><circle class="cls-2" cx="34.41" cy="61.44" r="8.71"/><rect class="cls-1" x="156.29" y="280.83" width="6.75" height="9.74" transform="translate(-205.78 -13.64) rotate(-45)"/><rect class="cls-1" x="145.03" y="292.09" width="6.75" height="9.74" transform="translate(-217.04 -18.3) rotate(-45)"/><rect class="cls-1" x="133.9" y="303.22" width="6.75" height="9.74" transform="translate(-228.17 -22.91) rotate(-45)"/><rect class="cls-1" x="122.64" y="314.49" width="6.75" height="9.74" transform="translate(-239.44 -27.58) rotate(-45)"/><rect class="cls-1" x="121.14" y="220.58" width="9.74" height="6.75" transform="translate(-171.98 -55.52) rotate(-45)"/><rect class="cls-1" x="132.4" y="231.85" width="9.74" height="6.75" transform="translate(-176.64 -44.26) rotate(-45)"/><rect class="cls-1" x="143.53" y="242.98" width="9.74" height="6.75" transform="translate(-181.25 -33.13) rotate(-45)"/><rect class="cls-1" x="154.79" y="254.24" width="9.74" height="6.75" transform="translate(-185.92 -21.87) rotate(-45)"/><rect class="cls-1" x="94.55" y="219.08" width="6.75" height="9.74" transform="translate(-180.21 -75.38) rotate(-45)"/><path class="cls-2" d="M225.43,323.58a24.38,24.38,0,0,1-7.14-3.84,29.48,29.48,0,0,1-5.72-6l-3.92,9.88h-7.22V219.34h12.86v1.1a4.13,4.13,0,0,0-1.17,2.05,20.29,20.29,0,0,0-.24,3.78v36.84a27.87,27.87,0,0,1,4.08-5.18,27.55,27.55,0,0,1,5.18-4.08,23.52,23.52,0,0,1,12.08-3.45,30.8,30.8,0,0,1,12,2.26,24.62,24.62,0,0,1,9.33,6.84,31.85,31.85,0,0,1,6,11.44,54.41,54.41,0,0,1,2.12,16,50.29,50.29,0,0,1-2.51,16.64,34.35,34.35,0,0,1-6.83,11.9,28.22,28.22,0,0,1-9.64,7.08,27.11,27.11,0,0,1-11,2.34A25.62,25.62,0,0,1,225.43,323.58Zm14.2-10.1A16.69,16.69,0,0,0,246,308.9a22.73,22.73,0,0,0,4.47-8.45,43.48,43.48,0,0,0,1.65-12.87,46.73,46.73,0,0,0-1.41-12.17,24.91,24.91,0,0,0-4-8.61,15.89,15.89,0,0,0-6.2-5,18.79,18.79,0,0,0-7.84-1.63,16.23,16.23,0,0,0-10.28,3.49,22.68,22.68,0,0,0-7,9.77,39,39,0,0,0-2.51,14.5,51.2,51.2,0,0,0,1.1,11,26.19,26.19,0,0,0,3.37,8.53,15.61,15.61,0,0,0,6,5.51,19.24,19.24,0,0,0,9,1.94A19.74,19.74,0,0,0,239.63,313.48Z" transform="translate(-50.52 -210.22)"/><path class="cls-2" d="M298.94,324.92q-12.24,0-18.82-5.55a17.67,17.67,0,0,1-6.59-14.15,19.55,19.55,0,0,1,2.82-10.4,24.63,24.63,0,0,1,7.77-7.81,39.12,39.12,0,0,1,11.53-4.93,55.33,55.33,0,0,1,14-1.72c1.77,0,3.58,0,5.41.08s3.76.16,5.8.32,4.16.39,6.36.7l.31,8.63q-2.82-.46-5.72-.71T316,289c-1.88-.1-3.71-.16-5.49-.16a53.34,53.34,0,0,0-10.35.94,29,29,0,0,0-8.16,2.81,14.25,14.25,0,0,0-5.34,4.83,13.17,13.17,0,0,0-1.88,7.18,11.85,11.85,0,0,0,1.18,5.54,9.27,9.27,0,0,0,3.21,3.58,14.44,14.44,0,0,0,4.79,2,27,27,0,0,0,6,.63,28.67,28.67,0,0,0,10.9-2,21.93,21.93,0,0,0,8.16-5.68,24.37,24.37,0,0,0,5.1-9.18A41.2,41.2,0,0,0,325.92,287q0-10.57-2.51-16.49a15.87,15.87,0,0,0-7.45-8.4q-4.93-2.49-12.63-2.49a27.7,27.7,0,0,0-10.19,2,26.38,26.38,0,0,0-9.1,6l-5.49-7.22a32.78,32.78,0,0,1,11.61-7.53,38.92,38.92,0,0,1,14-2.51A45.05,45.05,0,0,1,317,252.13a24,24,0,0,1,10,5.72,26.19,26.19,0,0,1,6.43,10.75,53.61,53.61,0,0,1,2.28,16.94v38.12H323.41V312.21a21.39,21.39,0,0,1-4.94,6.43,22.07,22.07,0,0,1-6.2,3.84,30.89,30.89,0,0,1-6.74,1.89A42.74,42.74,0,0,1,298.94,324.92Z" transform="translate(-50.52 -210.22)"/><path class="cls-2" d="M355.89,252h11.76l-.47,21-1.41-2.35a25.17,25.17,0,0,1,3.29-8.63,24.34,24.34,0,0,1,12.87-10.28,25.36,25.36,0,0,1,8.15-1.33,27.44,27.44,0,0,1,10.44,2,25,25,0,0,1,8.55,5.88L404,267l-.62,1.41-1.1-.63a9.24,9.24,0,0,0-.94-2.35,10.59,10.59,0,0,0-2.67-2.67,16.76,16.76,0,0,0-4.63-2.11,18.86,18.86,0,0,0-4.78-.55,22,22,0,0,0-7.84,1.48,20.54,20.54,0,0,0-7.14,4.61,21.84,21.84,0,0,0-5.1,8,31.91,31.91,0,0,0-1.88,11.55v37.93H355.89Z" transform="translate(-50.52 -210.22)"/><path class="cls-2" d="M450.18,324.92a40.27,40.27,0,0,1-14.27-2.42,30.38,30.38,0,0,1-11.06-7.09,31.34,31.34,0,0,1-7.14-11.62,51.1,51.1,0,0,1,.08-31.88,34.3,34.3,0,0,1,7.06-11.77,30,30,0,0,1,10.51-7.24,33,33,0,0,1,12.78-2.5,32,32,0,0,1,11.45,2,24.91,24.91,0,0,1,9.26,6.17,29.63,29.63,0,0,1,6.2,10.55,45.52,45.52,0,0,1,2.27,15.16c0,.83,0,1.69-.08,2.57s-.13,1.75-.23,2.58H426a36,36,0,0,0,2.36,11.86,23.27,23.27,0,0,0,5.33,8.22,21.21,21.21,0,0,0,7.61,4.73,27,27,0,0,0,9.18,1.55,27.59,27.59,0,0,0,7.06-.87,22.46,22.46,0,0,0,6.19-2.66,23.65,23.65,0,0,0,5.26-4.47l6.27,6.11a30.22,30.22,0,0,1-6.82,6.12,28.14,28.14,0,0,1-8.4,3.69A39.53,39.53,0,0,1,450.18,324.92Zm-23.69-44.24h39.38a28.36,28.36,0,0,0-1.33-9,20.82,20.82,0,0,0-3.77-6.85,15.82,15.82,0,0,0-5.8-4.36,18.72,18.72,0,0,0-7.61-1.48,20.47,20.47,0,0,0-7.14,1.25,17.76,17.76,0,0,0-6.2,4,23.68,23.68,0,0,0-4.78,6.77A32.57,32.57,0,0,0,426.49,280.68Z" transform="translate(-50.52 -210.22)"/><path class="cls-3" d="M510.75,322.1a33.89,33.89,0,0,1-11.37-7.81,35.55,35.55,0,0,1-7.45-11.79,40.44,40.44,0,0,1-2.67-14.92,40,40,0,0,1,2.67-14.76,35.69,35.69,0,0,1,7.45-11.8,34.18,34.18,0,0,1,11.37-7.81A36.06,36.06,0,0,1,525,250.4a34.47,34.47,0,0,1,15.76,3.53,30.26,30.26,0,0,1,11.37,9.81l-7,6.9-1.1,1.1-.79-.79a5.14,5.14,0,0,0-.55-2.35,13,13,0,0,0-2.43-3,20,20,0,0,0-7.37-4.39,29.82,29.82,0,0,0-9.1-1.26,20.58,20.58,0,0,0-8.63,1.87,22.63,22.63,0,0,0-7.29,5.38,25.89,25.89,0,0,0-5.1,8.5,31.08,31.08,0,0,0-1.88,11.08A31.71,31.71,0,0,0,502.75,298a27.64,27.64,0,0,0,5.18,8.81,23,23,0,0,0,7.92,5.85,23.64,23.64,0,0,0,10,2.11,23.18,23.18,0,0,0,6.9-1,24.55,24.55,0,0,0,6.28-3,28,28,0,0,0,5.49-4.79l6.59,7.69a35.87,35.87,0,0,1-11.85,8.47,34.94,34.94,0,0,1-14,2.83A36.27,36.27,0,0,1,510.75,322.1Z" transform="translate(-50.52 -210.22)"/><path class="cls-3" d="M564.24,252h51.61v9.26H564.24Zm24.63,70.59a15.57,15.57,0,0,1-6.74-7.31,37.27,37.27,0,0,1-3.06-12.49,145.75,145.75,0,0,1-.39-17.92l1.88-51.22,11.76-1.42,1.57-.15.16,1.1a15.16,15.16,0,0,0-1.33,2.2,12.34,12.34,0,0,0-.87,3.77l-1.41,17.76.47,2.83-1.1,25.93q-.46,11.94.63,18.47t3.92,9a11.15,11.15,0,0,0,7.53,2.43,20,20,0,0,0,9.18-2,66.69,66.69,0,0,0,8.39-5.17l3.45,8.94a39.6,39.6,0,0,1-11,5.8,36.76,36.76,0,0,1-11.76,1.89A23.81,23.81,0,0,1,588.87,322.56Z" transform="translate(-50.52 -210.22)"/><path class="cls-3" d="M647.07,260.91H631.54V252h15.53v-6q0-9.57,3.37-15.69a21,21,0,0,1,9.34-9,30.84,30.84,0,0,1,13.65-2.9,32.73,32.73,0,0,1,12.62,2.43,23.8,23.8,0,0,1,9.81,7.45l-6,8.32-.94,1.25-1-.63a11.09,11.09,0,0,0-.62-2.51,11,11,0,0,0-2.2-3.13,16.49,16.49,0,0,0-5-3.14,18.51,18.51,0,0,0-6.43-.94,18,18,0,0,0-8.16,1.8,12.69,12.69,0,0,0-5.65,5.81q-2,4-2,10.9v6h23.53v8.94H657.9v62.75H647.07Z" transform="translate(-50.52 -210.22)"/></svg>
\ No newline at end of file
--- /dev/null
+* xref:whats-new.adoc[What's new in barectf{nbsp}3?]
+* xref:install.adoc[]
+* xref:getting-started.adoc[]
+* xref:how-barectf-works:index.adoc[]
+** xref:how-barectf-works:ctf-primer.adoc[]
+* xref:yaml:index.adoc[]
+** xref:yaml:yaml-primer.adoc[]
+** xref:yaml:cfg-obj.adoc[Configuration object]
+*** xref:yaml:common-values.adoc[Common values]
+*** xref:yaml:trace-obj.adoc[Trace object]
+*** xref:yaml:trace-type-obj.adoc[Trace type object]
+*** xref:yaml:clk-type-obj.adoc[Clock type object]
+*** xref:yaml:dst-obj.adoc[Data stream type object]
+*** xref:yaml:ert-obj.adoc[Event record type object]
+*** xref:yaml:ft-obj.adoc[Field type object]
+**** xref:yaml:int-ft-obj.adoc[Integer]
+**** xref:yaml:enum-ft-obj.adoc[Enumeration]
+**** xref:yaml:real-ft-obj.adoc[Real]
+**** xref:yaml:str-ft-obj.adoc[String]
+**** xref:yaml:struct-ft-obj.adoc[Structure]
+**** xref:yaml:static-array-ft-obj.adoc[Static array]
+**** xref:yaml:dyn-array-ft-obj.adoc[Dynamic array]
+** xref:yaml:include.adoc[]
+* xref:cli:index.adoc[]
+** xref:cli:usage.adoc[]
+* xref:tracing-funcs:index.adoc[]
+* xref:build:index.adoc[]
+* xref:platform:index.adoc[]
+** xref:platform:api.adoc[]
+** xref:platform:example.adoc[]
+* xref:get-help.adoc[]
--- /dev/null
+= Get help
+
+To get help with barectf:
+
+* Write to the
+ https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev[lttng-dev]
+ mailing list with the `+[barectf]+` subject prefix.
+
+* Query `eepp` on the OFTC or Freenode IRC networks.
+
+* https://github.com/efficios/barectf/issues/new[Create a GitHub issue].
+
+For commercial support and feature requests, please
+https://www.efficios.com/contact/[contact EfficiOS].
+
+Other links:
+
+* https://ci.lttng.org/view/barectf/[Continuous integration]
+* https://lttng.org/blog/[LTTng blog], which contains posts about
+ barectf
--- /dev/null
+= Getting started
+
+This introductory guide makes you create a very simple barectf YAML
+configuration, generate a tracer out of it, and then use it.
+
+You need Linux for this user guide.
+
+The steps are:
+
+. <<yaml,Write the YAML configuration file>>.
+. <<cli,Generate the files with the `barectf` CLI tool>>.
+. <<app,Write the application source file>>.
+. <<build,Download the Linux FS platform source files and
+ build the application>>.
+. <<trace,Execute the application>> to produce
+ xref:how-barectf-works:ctf-primer.adoc#ds[CTF data streams].
+. <<read,Read the resulting CTF trace>>.
+
+IMPORTANT: Make sure that barectf xref:install.adoc[is installed] before
+you follow this guide.
+
+[[yaml]]
+== Write the YAML configuration file
+
+. Create an empty directory and `cd` into it, for example:
++
+[.cl]
+[verse]
+[.prompt]##$## cd $(mktemp --directory)
+
+. Write the following xref:yaml:index.adoc[YAML configuration file]:
++
+[[config.yaml]]
+.`config.yaml`
+[source,yaml]
+----
+# Needed YAML tag for the configuration object
+--- !<tag:barectf.org,2020/3/config>
+
+# Configuration's trace
+trace:
+ # Type of the trace
+ type:
+ # Add standard field type aliases
+ $include:
+ - stdint.yaml
+ - stdmisc.yaml
+
+ # Native byte order is little-endian
+ native-byte-order: little-endian
+
+ # One clock type
+ clock-types:
+ # The Linux FS platform requires a clock type named `default`
+ # which has a 1-GHz frequency and the `uint64_t` C type.
+ default:
+ frequency: 1000000000
+ $c-type: uint64_t
+
+ # One data stream type
+ data-stream-types:
+ # Stream type named `default`
+ default:
+ # Default data stream type
+ $is-default: true
+
+ # Default clock type: `default`
+ $default-clock-type-name: default
+
+ # Two event record types
+ event-record-types:
+ # Event record type named `one_integer`
+ one_integer:
+ payload-field-type:
+ class: structure
+ members:
+ # One payload member: a 32-bit signed integer field type
+ # (`int32_t` C type)
+ - the_integer: int32
+
+ # Event record type named `one_string`
+ one_string:
+ payload-field-type:
+ class: structure
+ members:
+ # One payload member: a string field type
+ # (`const char *` C type)
+ - the_string: string
+----
++
+barectf will <<cli,generate>> two
+xref:tracing-funcs:index.adoc[tracing functions] named
+`+barectf_trace_one_integer()+` and `+barectf_trace_one_string()+` from
+this configuration.
+
+[[cli]]
+== Generate the files with the `barectf` CLI tool
+
+. Create a directory which will contain the CTF trace:
++
+--
+[.cl]
+[verse]
+[.prompt]##$## mkdir trace
+--
++
+A CTF trace always contains a file named `metadata` and one or more data
+stream files. barectf always generates the `metadata` file while the
+user application writes the data stream files through the generated
+tracer.
+
+. Generate the CTF metadata stream and C{nbsp}source files with the
+ xref:cli:index.adoc[`barectf` CLI tool]:
++
+[.cl]
+[verse]
+--
+[.prompt]##$## barectf generate --metadata-dir=trace config.yaml
+--
++
+`barectf generate` creates:
++
+[%autowidth.stretch, cols="d,a"]
+|===
+|File name |Description
+
+|`trace/metadata`
+|The CTF metadata stream file.
+
+It's in the `trace` directory because we used the
+xref:cli:usage.adoc#generate-metadata-dir-option[`+--metadata-dir+`]
+option.
+
+|`barectf.h`
+|The generated tracer's public C{nbsp}header file.
+
+|`barectf-bitfield.h`
+|Internal macros for the generated tracer (included by `barectf.c`).
+
+|`barectf.c`
+|The generated tracer's C{nbsp}source code.
+|===
+
+[[app]]
+== Write the application source file
+
+Write a simple application which uses the generated tracer:
+
+.`app.c`
+[source,c]
+----
+/* Include the Linux FS platform header */
+#include "barectf-platform-linux-fs.h"
+
+/* Include the barectf public header */
+#include "barectf.h"
+
+int main(const int argc, const char * const argv[])
+{
+ /* Platform context */
+ struct barectf_platform_linux_fs_ctx *platform_ctx;
+
+ /* barectf context */
+ struct barectf_default_ctx *ctx;
+
+ int i;
+
+ /*
+ * Obtain a platform context.
+ *
+ * The platform is configured to write 512-byte packets to a data
+ * stream file within the `trace` directory.
+ */
+ platform_ctx = barectf_platform_linux_fs_init(512, "trace/stream",
+ 0, 0, 0);
+
+ /* Obtain the barectf context from the platform context */
+ ctx = barectf_platform_linux_fs_get_barectf_ctx(platform_ctx);
+
+ /*
+ * Write a `one_integer` event record which contains the number of
+ * command arguments.
+ */
+ barectf_trace_one_integer(ctx, argc);
+
+ /* For each command argument */
+ for (i = 0; i < argc; ++i) {
+ /*
+ * Write a `one_integer` event record which contains the
+ * argument's index.
+ */
+ barectf_trace_one_integer(ctx, i);
+
+ /*
+ * Write a `one_string` event record which contains the
+ * argument.
+ */
+ barectf_trace_one_string(ctx, argv[i]);
+ }
+
+ /* Finalize (free) the platform context */
+ barectf_platform_linux_fs_fini(platform_ctx);
+
+ return 0;
+}
+----
+
+This application calls the `+barectf_trace_one_integer()+` and
+`+barectf_trace_one_string()+` functions which correspond to the
+`one_integer` and `one_string` event record types in
+<<config.yaml,`config.yaml`>>.
+
+[[build]]
+== Download platform source files and build the application
+
+To build the final application, you need the Linux FS platform source
+files.
+
+The Linux FS platform only exists to demonstrate barectf; a barectf user
+almost always xref:platform:index.adoc[writes its own platform] because
+of the bare-metal/embedded nature of the target systems.
+
+. Download the Linux FS platform source files:
++
+[.cl]
+[verse]
+[.prompt]##$## wget https://raw.githubusercontent.com/efficios/barectf/stable-{page-component-version}/platforms/linux-fs/barectf-platform-linux-fs.h
+[.prompt]##$## wget https://raw.githubusercontent.com/efficios/barectf/stable-{page-component-version}/platforms/linux-fs/barectf-platform-linux-fs.c
+
+. Build the application:
++
+[.cl]
+[verse]
+[.prompt]##$## gcc -o app app.c barectf.c barectf-platform-linux-fs.c
+
+[[trace]]
+== Execute the application
+
+Run the <<build,built>> application, passing a few command-line
+arguments:
+
+[.cl]
+[verse]
+[.prompt]##$## ./app lorem ipsum nulla dolore consequat
+
+This writes the xref:how-barectf-works:ctf-primer.adoc#ds[CTF data
+stream] file `trace/stream`.
+
+The `trace` directory is now a complete
+xref:how-barectf-works:ctf-primer.adoc#trace[CTF trace].
+
+[[read]]
+== Read the CTF trace
+
+Use https://babeltrace.org/[Babeltrace{nbsp}2] to read the resulting
+CTF trace:
+
+[.cl]
+[verse]
+[.prompt]##$## babeltrace2 trace
+
+----
+[15:52:24.202028327] (+?.?????????) one_integer: { the_integer = 6 }
+[15:52:24.202029477] (+0.000001150) one_integer: { the_integer = 0 }
+[15:52:24.202029988] (+0.000000511) one_string: { the_string = "./app" }
+[15:52:24.202033362] (+0.000003374) one_integer: { the_integer = 1 }
+[15:52:24.202033716] (+0.000000354) one_string: { the_string = "lorem" }
+[15:52:24.202034147] (+0.000000431) one_integer: { the_integer = 2 }
+[15:52:24.202034465] (+0.000000318) one_string: { the_string = "ipsum" }
+[15:52:24.202034812] (+0.000000347) one_integer: { the_integer = 3 }
+[15:52:24.202035147] (+0.000000335) one_string: { the_string = "nulla" }
+[15:52:24.202035527] (+0.000000380) one_integer: { the_integer = 4 }
+[15:52:24.202035848] (+0.000000321) one_string: { the_string = "dolore" }
+[15:52:24.202036175] (+0.000000327) one_integer: { the_integer = 5 }
+[15:52:24.202036553] (+0.000000378) one_string: { the_string = "consequat" }
+----
+
+You can also open the trace with
+https://www.eclipse.org/tracecompass/[Trace{nbsp}Compass]:
+
+.Trace Compass 5.3.0's event list view
+image::getting-started-trace-compass.png[]
--- /dev/null
+= Welcome!
+:ansi-c: ANSI{nbsp}C
+
+[.welcome-logo]
+image::barectf-logo.svg[]
+
+Welcome to the _**barectf**_{nbsp}{page-component-version}
+documentation!
+
+== What's barectf?
+
+barectf (from _bare_ metal and _CTF_) is a generator of
+https://en.wikipedia.org/wiki/Tracing_(software)[tracer] which produces
+xref:how-barectf-works:ctf-primer.adoc#ds[CTF data streams].
+
+CTF is a binary trace format designed to be very fast to write without
+compromising great flexibility.
+
+barectf reads a configuration and produces:
+
+* A CTF xref:how-barectf-works:ctf-primer.adoc#trace[metadata stream]
+ file.
+
+* {ansi-c} source code files which, once compiled, constitute a tracer
+ which writes CTF data streams.
++
+The generated C{nbsp}source code has no other dependencies than a few
+C{nbsp}standard library headers.
+
+Your C/{cpp} program can include the generated `barectf.h` header and
+call its xref:tracing-funcs:index.adoc[`+barectf_trace_*()+` functions]
+from source locations of your choice to write
+xref:how-barectf-works:ctf-primer.adoc#er[event records] to
+xref:how-barectf-works:ctf-primer.adoc#pkt[CTF packets]. You can then
+read and analyze the CTF traces with tools such as
+https://babeltrace.org/[Babeltrace{nbsp}2] and
+https://www.eclipse.org/tracecompass/[Trace{nbsp}Compass].
+
+xref:getting-started.adoc[Get started] now with a simple barectf
+configuration.
+
+Read xref:how-barectf-works:index.adoc[] to understand the mechanics and
+terminology of barectf.
+
+== Do I need barectf?
+
+You may need barectf if you need to add CTF tracing capabilities to your
+bare metal or embedded application/system.
+
+Because barectf generates portable {ansi-c} code, you can compile it and
+use it for virtually any system.
+
+If you need to add CTF instrumentation to Linux applications or to the
+Linux kernel, have a look at https://lttng.org/[LTTng] which offers a
+comprehensive tracing solution for Linux.
+
+== Components of barectf
+
+The barectf project contains:
+
+* A Python{nbsp}3 package, named `barectf`, which offers an API to
+ programatically create a barectf configuration and generate files out
+ of it.
++
+The documentation of the `barectf` Python{nbsp}3 package isn't available
+yet.
+
+* A xref:cli:index.adoc[command-line interface] (CLI), named `barectf`,
+ which can process a xref:yaml:index.adoc[barectf YAML configuration
+ file] to generate files out of it.
+
+* Installed xref:yaml:include.adoc#std[standard partial YAML files]
+ which you can include in your barectf YAML configuration.
+
+== What's in this documentation?
+
+This documentation shows:
+
+* xref:install.adoc[How to install barectf].
+
+* xref:how-barectf-works:index.adoc[How barectf works].
+
+* xref:yaml:index.adoc[How to write a barectf YAML configuration].
+
+* xref:cli:index.adoc[How to generate files from a YAML configuration
+ file] with the `barectf` CLI tool.
+
+* xref:build:index.adoc[How to use and build your application with
+ a generated tracer].
+
+* xref:platform:index.adoc[How to write a barectf platform].
+
+== It's "`barectf`"!
+
+The name of the project is "`**barectf**`"; not "`BareCTF`", nor
+"`__bareCTF__`", nor "`__Barectf__`".
+
+== License
+
+The barectf project, including this documentation, is licensed under the
+https://github.com/efficios/barectf/blob/stable-{page-component-version}/LICENSE[MIT license].
--- /dev/null
+= Install barectf
+
+== Requirements
+
+barectf{nbsp}{page-component-version} requires
+http://python.org/[Python]{nbsp}3.6 and pip for Python{nbsp}3.
+
+You can install barectf on Linux, macOS, or Windows.
+
+== Install barectf
+
+There are two ways to install barectf with pip:
+
+* To install barectf on your system:
++
+[.cl]
+[verse]
+[.prompt]##### pip3 install barectf
+
+* To install barectf for the current user:
++
+[.cl]
+[verse]
+--
+[.prompt]##$## pip3 install --user barectf
+--
++
+See `+pip3 install --help+` to learn more about the `+--user+`
+option.
+
+NOTE: The commands above install the latest version of barectf,
+while you're currently reading the documentation of
+barectf{nbsp}{page-component-version}.
+
+== Upgrade barectf
+
+To upgrade your system barectf:
+
+[.cl]
+[verse]
+[.prompt]##### pip3 install --upgrade barectf
+
+To upgrade your user barectf:
+
+[.cl]
+[verse]
+[.prompt]##$## pip3 install --user --upgrade barectf
--- /dev/null
+= What's new in barectf{nbsp}3?
+
+barectf{nbsp}3 is a major update of the project.
+
+The main, user-visible changes are:
+
+* Support for user-defined
+ xref:yaml:static-array-ft-obj.adoc[static] and
+ xref:yaml:dyn-array-ft-obj.adoc[dynamic array field types].
+
+* Reworked `barectf` Python API to match the recent CTF terminology and
+ model (like https://babeltrace.org/[Babeltrace{nbsp}2] and the
+ upcoming CTF{nbsp}2).
+
+* Reworked xref:yaml:index.adoc[YAML configuration] format to match the
+ new Python API.
++
+barectf{nbsp}3 can still read and use barectf{nbsp}2 YAML
+configurations.
++
+The main changes are:
++
+** Updated terminology for property names and values.
+** The xref:yaml:cfg-obj.adoc[configuration object] mapping (the YAML
+ document) must be tagged with `tag:barectf.org,2020/3/config`.
+** The configuration object contains a xref:yaml:trace-obj.adoc[trace
+ object] which contains a xref:yaml:trace-type-obj.adoc[trace type
+ object].
++
+A trace can have an environment while a trace type can have a UUID.
+
+** You can specify two
+ xref:yaml:cfg-obj.adoc#prefix-obj[prefixes] instead of a
+ single one: a file name prefix and an identifier prefix.
++
+With barectf{nbsp}2, the single prefix `my_app_` becomes the file name
+prefix `my_app` and the identifier prefix `my_app_`.
+
+** You don't need to specify special CTF structure field type members,
+ like `magic`, `stream_id`, and `timestamp`.
++
+Instead, you specify
+xref:yaml:trace-type-obj.adoc#features-obj[trace type] and
+xref:yaml:dst-obj.adoc#features-obj[data stream type
+features]. You can still control the exact field type of a feature.
+
+** A data stream type can have zero or one
+ xref:yaml:dst-obj.adoc#def-clk-type-name-prop[default clock type].
++
+When a data stream type has a default clock type, its timestamp integer
+field types (packet beginning, packet end, and event record)
+automatically refer to this specific clock type, effectively removing
+the integer field type's `property-mappings` property.
+
+** The only way to make a data stream type the default one is with its
+ xref:yaml:dst-obj.adoc#is-def-prop[`$is-default`
+ boolean property].
+
+** You cannot specify custom
+ xref:how-barectf-works:ctf-primer.adoc#pkt[packet] header and
+ xref:how-barectf-works:ctf-primer.adoc#er[event record]
+ header field type members anymore.
++
+The header field types only exist for the trace format itself.
++
+Instead,
+xref:yaml:dst-obj.adoc#pkt-ctx-ft-extra-members-prop[append user-defined
+members to the packet context field type]
+and use the
+xref:yaml:dst-obj.adoc#er-common-ctx-ft-prop[event record common context
+field type].
+
+** xref:yaml:trace-type-obj.adoc#ft-aliases-prop[Field type aliases]
+ do not need to be defined in any specific order.
+** An xref:yaml:int-ft-obj.adoc[integer field type] _is_ a bit array
+ field type.
++
+A bit array field type has size and alignment properties. It doesn't
+have a byte order property: as of barectf{nbsp}3.0, the generated tracer
+always uses the native byte order.
+
+** An integer field type doesn't have a `signed` property: unsigned
+ and signed integer field types are two different classes.
+** An xref:yaml:enum-ft-obj.adoc[enumeration field type] _is_ an integer
+ field type.
+** The xref:yaml:enum-ft-obj.adoc#mappings-prop[mappings] of an
+ enumeration field type are a YAML mapping of labels to sequences of
+ integer ranges.
+** A xref:yaml:real-ft-obj.adoc[real field type] _is_ a bit array field
+ type.
+** The xref:yaml:struct-ft-obj.adoc#members-prop[members] of a structure
+ field type are a sequence instead of a mapping (YAML mappings are
+ _not_ ordered).
++
+This sequence is considered to be an _ordered mapping_, similar to
+YAML's https://yaml.org/type/omap.html[`+!!omap+`] type.
+
+* Updated xref:yaml:include.adoc#std[standard partial YAML files] for
+ the new YAML configuration format.
+
+* The xref:cli:usage.adoc[`barectf` CLI tool] now has a Git-like user
+ interface with a few commands.
++
+The `barectf` CLI tool remains backward compatible with barectf{nbsp}2's
+CLI: the default command is
+xref:cli:usage.adoc#generate-command[`generate`].
+
+* The generated C{nbsp}code is ``const``-correct.
--- /dev/null
+NOTE: This page assumes that the configured
+xref:yaml:cfg-obj.adoc#prefix-prop[identifier prefix] is the default
+`barectf`.
--- /dev/null
+= Generate files from a YAML configuration file
+
+barectf ships with the `barectf` command-line interface (CLI) tool.
+
+The `barectf` CLI tool has a command interface, like
+https://git-scm.com/[Git].
+
+This page focuses on the `barectf generate` command. See
+xref:usage.adoc[] for the complete CLI tool's documentation.
+
+== Generate files from a YAML configuration
+
+Use the xref:usage.adoc#generate-command[`barectf generate` command] to
+generate files from a barectf xref:yaml:index.adoc[YAML configuration
+file]:
+
+[.cl]
+[verse]
+[.prompt]##$## barectf generate my-config.yaml
+
+On success, this command writes the following files to the current
+working directory:
+
+[%autowidth.stretch, cols="d,a"]
+|===
+|File name |Description
+
+|[[metadata-file]]`metadata`
+|The CTF metadata stream file.
+
+You'll need to place this file in a directory with the
+xref:how-barectf-works:ctf-primer.adoc#ds[data stream] files which your
+application will write through the generated tracer.
+
+See xref:how-barectf-works:index.adoc[] to learn more.
+
+|`barectf.h`
+|The generated tracer's public C{nbsp}header file.
+
+This header contains the prototypes of the packet opening, packet
+closing, and xref:tracing-funcs:index.adoc[tracing functions].
+
+barectf generates one packet opening/closing function per configured
+xref:yaml:dst-obj.adoc[data stream type] and one tracing function per
+configured xref:yaml:ert-obj.adoc[event record type].
+
+Your application and xref:platform:index.adoc[platforms] need to
+include this file.
+
+|`barectf-bitfield.h`
+|Internal macros for the generated tracer (included by `barectf.c`).
+
+|[[barectf.c-file]]`barectf.c`
+|The generated tracer's C{nbsp}source code.
+|===
+
+Those file names assume that `my-config.yaml` uses the default
+xref:yaml:cfg-obj.adoc#prefix-prop[prefixes].
+
+=== Use dedicated output directories
+
+Because the <<metadata-file,`metadata` file>> which barectf generates is
+part of an eventual
+xref:how-barectf-works:ctf-primer.adoc#trace[CTF trace], you'll probably
+want to make barectf write it to its own directory.
+
+Use the `barectf generate` command's
+xref:usage.adoc#generate-metadata-dir-option[`+--metadata-dir+` option]
+to specify the `metadata` file's output directory:
+
+[.cl]
+[verse]
+[.prompt]##$## barectf generate my-config.yaml --metadata-dir=my-trace
+
+`barectf generate` also offers the
+xref:usage.adoc#generate-code-dir-option[`+--code-dir+`] and
+xref:usage.adoc#generate-headers-dir-option[`+--headers-dir+`] options
+to select the output directories of the generated
+<<barectf.c-file,tracer source file>> and headers.
+
+=== Control inclusions
+
+A barectf xref:yaml:index.adoc[YAML configuration file] can
+xref:yaml:include.adoc[include partial YAML files].
+
+Set the most significant inclusion search directories with the `barectf
+generate` command's
+xref:usage.adoc#generate-include-dir-option[`+--include-dir+`] option.
+You can use the option more than once:
+
+[.cl]
+[verse]
+[.prompt]##$## barectf generate my-config.yaml \
+ --include-dir=/path/to/project/barectf \
+ --include-dir=/path/to/base/barectf
+
+By default, if `barectf generate` can't find an inclusion file, it
+prints an error and xref:usage.adoc#exit-status[exits] with a non-zero
+status.
+
+However, it's possible that some YAML file **_A_** includes a file
+**_B_** which barectf can't find, but **_A_** doesn't need anything from
+**_B_**.
+
+Force `barectf generate` to continue silently instead with its
+xref:usage.adoc#generate-ignore-include-not-found-option[`+--ignore-include-not-found+`]
+option:
+
+[.cl]
+[verse]
+[.prompt]##$## barectf generate my-config.yaml --ignore-include-not-found \
+ --include-dir=/path/to/project/barectf \
+ --include-dir=/path/to/base/barectf \
--- /dev/null
+= `barectf` CLI tool usage
+
+barectf ships with the `barectf` command-line interface (CLI) tool.
+
+== General synopses
+
+Run a `barectf` command:
+
+[.cl]
+[verse]
+*barectf* _COMMAND_ _COMMAND-ARGUMENTS_
+
+Print the version of `barectf`:
+
+[.cl]
+[verse]
+*barectf* pass:[[]xref:#version-option[--version]pass:[\]]
+
+Print brief general help:
+
+[.cl]
+[verse]
+*barectf* pass:[[]xref:#help-option[--help]pass:[\]]
+
+== General description
+
+The `barectf` tool has a Git-like user interface with the following
+available commands:
+
+<<generate-command,`generate`>>::
+ Generate the C source and CTF metadata stream files of a tracer
+ from a xref:yaml:index.adoc[YAML configuration file].
+
+<<show-effective-configuration-command,`show-effective-configuration`>>::
+ Print the _effective_ YAML configuration file for a given YAML
+ configuration file and inclusion directories.
+
+<<show-configuration-version-command,`show-configuration-version`>>::
+ Print the major version (2 or 3) of a YAML configuration file.
+
+== General options
+
+[[help-option]]`-h`::
+`--help`::
+ Print brief general help and exit.
+
+[[version-option]]`-V`::
+`--version`::
+ Print the version of `barectf` and exit.
+
+[[generate-command]]
+== `generate` command
+
+=== Synopses
+
+Generate files from configuration file:
+
+[.cl]
+[verse]
+*barectf generate* pass:[[]xref:#generate-prefix-option[--prefix]=__PREFIX__] pass:[[]xref:#generate-metadata-dir-option[--metadata-dir]=__MDIR__]
+ pass:[[]xref:#generate-headers-dir-option[--headers-dir]=__HDIR__] pass:[[]xref:#generate-code-dir-option[--code-dir]=__CDIR__]
+ pass:[[]xref:#generate-include-dir-option[--include-dir]=__IDIR__]...
+ pass:[[]xref:#generate-ignore-include-not-found-option[--ignore-include-not-found]pass:[\]] _CONFIG-PATH_
+
+Print command's brief help:
+
+[.cl]
+[verse]
+*barectf generate* xref:#generate-help-option[--help]
+
+=== Command name aliases
+
+* `gen`
+
+=== Description
+
+The `barectf generate` command reads the xref:yaml:index.adoc[YAML
+configuration file] `__CONFIG-PATH__` to produce:
+
+[%autowidth.stretch, cols="d,a"]
+|===
+|File name |Description
+
+|`__MDIR__/metadata`
+|The CTF metadata stream file.
+
+|`__HDIR__/__FPREFIX__.h`
+|The generated tracer's public C{nbsp}header file.
+
+|`__HDIR__/__FPREFIX__-bitfield.h`
+|Internal macros for the generated tracer (included by `__FPREFIX__.c`).
+
+|`__CDIR__/__FPREFIX__.c`
+|The generated tracer's C{nbsp}source code.
+|===
+
+See xref:lel[Build the generated C{nbsp}source code] to learn how to
+build the C{nbsp}source which the `generate` command produces.
+
+In the list above, `__FPREFIX__` is:
+
+Without the <<generate-prefix-option,`--prefix`>> option::
+ If the `__CONFIG-PATH__` file has a file name xref:yaml:cfg-obj.adoc#prefix-prop[prefix option]:::
+ The `__CONFIG-PATH__` file's file name prefix option.
+ Otherwise:::
+ `barectf`
+
+With the <<generate-prefix-option,`--prefix`>> option::
+ `__PREFIX__`, without trailing underscores.
++
+For example, if `__PREFIX__` is `my_tracer_`, then `__FPREFIX__` is
+`my_tracer`.
+
+By default, `__MDIR__`, `__HDIR__`, and `__CDIR__` are the current
+working directory. Use the
+<<generate-metadata-dir-option,`--metadata-dir`>>,
+<<generate-headers-dir-option,`--headers-dir`>>, and
+<<generate-code-dir-option,`--code-dir`>> to specify other output
+directories.
+
+Therefore, by default, the `generate` command writes the `metadata`,
+`barectf.h`, `barectf-bitfield.h`, and `barectf.c` files to the current
+working directory.
+
+If you use the <<prefix-option,`--prefix`>> option, then all the
+public C{nbsp}identifiers in `__FPREFIX__.h` and `__FPREFIX__.c` begin
+with `__PREFIX__`. Otherwise, they begin with:
+
+If the `__CONFIG-PATH__` file has an identifier prefix option::
+ The `__CONFIG-PATH__` file's identifier prefix option.
+
+Otherwise::
+ `barectf_`
+
+Add directories to be searched into for inclusion files before the
+default inclusion directories with the repeatable
+<<generate-include-dir-option,`--include-dir`>> option.
+
+By default, if `barectf` can't find an inclusion file while processing
+the `__CONFIG-PATH__` file, the command prints an error and
+<<exit-status,exits>> with a non-zero status. Force
+`barectf generate` to continue silently instead with its
+<<generate-ignore-include-not-found-option,`--ignore-include-not-found`>>
+option.
+
+=== Options
+
+[[generate-code-dir-option]]`-c __CDIR__`::
+`--code-dir=__CDIR__`::
+ Write the C{nbsp}source file to the directory `__CDIR__` instead of
+ the current working directory.
+
+[[generate-headers-dir-option]]`-H __HDIR__`::
+`--headers-dir=__HDIR__`::
+ Write C{nbsp}header files to the directory `__HDIR__` instead of
+ the current working directory.
+
+[[generate-help-option]]`-h`::
+`--help`::
+ Print the `generate` command's brief help and exit.
+
+[[generate-ignore-include-not-found-option]]`--ignore-include-not-found`::
+ Continue to process the `__CONFIG-PATH__` file when inclusion
+ files are not found.
+
+[[generate-include-dir-option]]`-I __IDIR__`::
+`--include-dir=__IDIR__`::
+ Add `__IDIR__` to the list of directories to be searched into for
+ inclusion files before the default inclusion directories.
++
+The default inclusion directories are:
++
+. The current working directory.
+. The directory containing the standard inclusion files
+ (like `stdint.yaml`).
+
+[[generate-metadata-dir-option]]`-m __MDIR__`::
+`--metadata-dir=__MDIR__`::
+ Write the CTF metadata stream file to the directory `__MDIR__`
+ instead of the current working directory.
+
+[[generate-prefix-option]]`-p __PREFIX__`::
+`--prefix=__PREFIX__`::
+ Override the default or `__CONFIG-PATH__` file's file and
+ identifier prefixes with:
++
+File name prefix:::
+ `__PREFIX__`, without trailing underscores.
+Identifier prefix:::
+ `__PREFIX__`
+
++
+--
+The default file name prefix is `barectf`.
+
+The default identifier prefix is `barectf_`.
+--
+
+[[show-effective-configuration-command]]
+== `show-effective-configuration` command
+
+=== Synopses
+
+Show effective configuration:
+
+[.cl]
+[verse]
+*barectf show-effective-configuration* pass:[[]xref:#show-effective-configuration-include-dir-option[--include-dir]=__IDIR__]...
+ pass:[[]xref:#show-effective-configuration-ignore-include-not-found-option[--ignore-include-not-found]pass:[\]] _CONFIG-PATH_
+
+Print command's brief help:
+
+[.cl]
+[verse]
+*barectf show-effective-configuration* xref:#show-effective-configuration-help-option[`--help`]
+
+=== Command name aliases
+
+* `show-effective-config`
+* `show-effective-cfg`
+
+=== Description
+
+The `barectf show-effective-configuration` command reads the
+xref:yaml:index.adoc[YAML configuration file] `__CONFIG-PATH__` and
+prints an equivalent, _effective_ YAML configuration.
+
+See the xref:yaml:index.adoc#stages[processing stages] of a YAML
+configuration file to learn what an effective configuration is.
+
+Moreover, the `show-effective-configuration` command validates the
+`__CONFIG-PATH__` file. In other words, if the command
+<<exit-status,exits>> with status{nbsp}0, the
+<<generate-command,`generate` command>> using the same options and
+`__CONFIG-PATH__` file would also succeed.
+
+Add directories to be searched into for inclusion files before the
+default inclusion directories with the repeatable
+<<show-effective-configuration-include-dir-option,`--include-dir`>> option.
+
+By default, if `barectf` can't find an inclusion file while processing
+the `__CONFIG-PATH__` file, the command prints an error and
+<<exit-status,exits>> with a non-zero status. Force
+`barectf show-effective-configuration` to continue silently instead
+with its
+<<show-effective-configuration-ignore-include-not-found-option,`--ignore-include-not-found`>>
+option.
+
+=== Options
+
+[[show-effective-configuration-help-option]]`-h`::
+`--help`::
+ Print the `show-effective-configuration` command's
+ brief help and exit.
+
+[[show-effective-configuration-ignore-include-not-found-option]]`--ignore-include-not-found`::
+ Continue to process the `__CONFIG-PATH__` file when inclusion
+ files are not found.
+
+[[show-effective-configuration-include-dir-option]]`-I __IDIR__`::
+`--include-dir=__IDIR__`::
+ Add `__IDIR__` to the list of directories to be searched into for
+ inclusion files before the default inclusion directories.
++
+The default inclusion directories are:
++
+. The current working directory.
+. The directory containing the standard inclusion files
+ (like `stdint.yaml`).
+
+[[show-configuration-version-command]]
+== `show-configuration-version` command
+
+=== Synopses
+
+Show configuration file's version:
+
+[.cl]
+[verse]
+*barectf show-configuration-version* _CONFIG-PATH_
+
+Print command's brief help:
+
+[.cl]
+[verse]
+*barectf show-configuration-version* xref:#show-configuration-version-help-option[`--help`]
+
+=== Command name aliases
+
+* `show-config-version`
+* `show-cfg-version`
+
+=== Description
+
+The `barectf show-configuration-version` command reads the
+xref:yaml:index.adoc[YAML configuration file] `__CONFIG-PATH__` and
+prints its version, which is either 2 or 3.
+
+The `show-configuration-version` does _not_ validate the
+`__CONFIG-PATH__` file.
+
+=== Options
+
+[[show-configuration-version-help-option]]`-h`::
+`--help`::
+ Print the `show-configuration-version` command's brief help
+ and exit.
+
+[[exit-status]]
+== Exit status
+
+0::
+ Success
+
+Not 0::
+ Error
--- /dev/null
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1574.33 2336.82"><defs><style>.cls-1{fill:#f2f2f3;}.cls-2,.cls-20,.cls-26,.cls-28,.cls-29{fill:none;}.cls-2,.cls-26,.cls-29{stroke:#231f20;}.cls-2,.cls-26,.cls-28,.cls-29,.cls-36,.cls-37,.cls-7{stroke-miterlimit:10;}.cls-2,.cls-28,.cls-36{stroke-width:3px;}.cls-2{stroke-dasharray:12.06 12.06;}.cls-3{fill:#ffe9cc;}.cls-4{fill:#ffe2bd;}.cls-5{fill:#f8a794;}.cls-6{fill:#f47859;}.cls-7{fill:#d1edf3;stroke:#89cbd3;stroke-width:1.81px;}.cls-8{opacity:0.8;}.cls-9{fill:#c93f63;}.cls-10{opacity:0.85;}.cls-11{fill:#231f20;}.cls-12{fill:#d2e8c7;}.cls-13{fill:#c4e2b6;}.cls-14{fill:#92bc7a;}.cls-15{fill:#7fad66;}.cls-16{fill:#c8d7e8;}.cls-17{fill:#b0d0e8;}.cls-18{fill:#7cb0df;}.cls-19{fill:#2a80c3;}.cls-20{stroke:#5f0f40;stroke-linecap:square;stroke-linejoin:round;stroke-width:8.08px;}.cls-21{fill:#5f0f40;}.cls-22{fill:#85afdd;}.cls-23{fill:#235377;}.cls-24{fill:#fff;}.cls-25,.cls-29{opacity:0.75;}.cls-26,.cls-29{stroke-width:5px;}.cls-27{opacity:0.9;}.cls-28{stroke:#f47859;}.cls-30{fill:#b1d3f0;}.cls-31{fill:#91bae1;}.cls-32{fill:#edf0f1;}.cls-33{fill:#965ba5;}.cls-34{fill:#364a5e;}.cls-35{opacity:0.7;}.cls-36{fill:#f4f4f5;stroke:#7d7d7d;}.cls-37{fill:#de3a6c;stroke:#bb315f;stroke-width:2.58px;}.cls-38{opacity:0.95;}</style></defs><title>howitworks</title><rect class="cls-1" x="999.65" y="1863.17" width="573.19" height="429.18" rx="29.85"/><rect class="cls-2" x="999.65" y="1863.17" width="573.19" height="429.18" rx="29.85"/><g id="surface1"><path class="cls-3" d="M878.53,642.37a5.81,5.81,0,0,0-5.79-5.79H783v28.95a5.79,5.79,0,0,1-5.79,5.79H745.38V798.68a5.8,5.8,0,0,0,5.79,5.78H872.74a5.8,5.8,0,0,0,5.79-5.78Z" transform="translate(-341.21 -94.59)"/><path class="cls-4" d="M783,804.46h89.73a5.78,5.78,0,0,0,5.79-5.78V715A145,145,0,0,1,783,804.46Z" transform="translate(-341.21 -94.59)"/><path class="cls-5" d="M783,665.53V636.58l-37.63,34.74h31.84A5.79,5.79,0,0,0,783,665.53Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M826.43,714.73H765.65a2.89,2.89,0,1,1,0-5.78h60.78a2.89,2.89,0,1,1,0,5.78Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M839,732.1H765.65a2.9,2.9,0,1,1,0-5.79H839a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M800.87,749.47H765.65a2.9,2.9,0,1,1,0-5.79h35.22a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M843.8,697.37h-55a2.9,2.9,0,0,1,0-5.79h55a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M777.22,697.37H765.65a2.9,2.9,0,1,1,0-5.79h11.57a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/></g><path class="cls-7" d="M894.15,654H806.91a4.61,4.61,0,0,0-4.59,4.59v41.33a4.61,4.61,0,0,0,4.59,4.59h87.24a4.6,4.6,0,0,0,4.59-4.59V658.54A4.6,4.6,0,0,0,894.15,654Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M821.12,766.84H765.65a2.9,2.9,0,1,1,0-5.79h55.47a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M791.7,784.2H765.65a2.9,2.9,0,1,1,0-5.79H791.7a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M833.43,749.47H812.68a2.9,2.9,0,0,1,0-5.79h20.75a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><g class="cls-8"><path class="cls-9" d="M859.79,690.69a15.21,15.21,0,0,1-6.29,1.09c-7.74,0-12.45-4.85-12.45-12.27,0-8,5.57-12.88,13-12.88a14,14,0,0,1,5.93,1.09l-1,3.54a11.92,11.92,0,0,0-4.77-.94c-5,0-8.54,3.11-8.54,9,0,5.35,3.15,8.79,8.5,8.79a12.33,12.33,0,0,0,4.85-.91Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M758.8,840.22a10.48,10.48,0,0,1-.54,3.49,7.33,7.33,0,0,1-1.53,2.61,6.5,6.5,0,0,1-2.42,1.64,8.49,8.49,0,0,1-3.2.57,15.47,15.47,0,0,1-2.84-.26,14.55,14.55,0,0,1-2.88-.85V826.27h2.72v6.08l-.12,2.9a7,7,0,0,1,2.5-2.22,6.39,6.39,0,0,1,2.87-.65,4.84,4.84,0,0,1,2.36.56,4.78,4.78,0,0,1,1.7,1.59,7.45,7.45,0,0,1,1,2.46A14.56,14.56,0,0,1,758.8,840.22Zm-2.78.13a13.23,13.23,0,0,0-.18-2.27,5.78,5.78,0,0,0-.57-1.76,3.14,3.14,0,0,0-1-1.15,2.51,2.51,0,0,0-1.46-.42,3.48,3.48,0,0,0-1,.17,4.3,4.3,0,0,0-1.1.54,8.63,8.63,0,0,0-1.21,1,15.57,15.57,0,0,0-1.35,1.57v7.61a10.2,10.2,0,0,0,1.63.49,7.35,7.35,0,0,0,1.57.18,5.3,5.3,0,0,0,1.79-.3,3.52,3.52,0,0,0,1.5-1,4.79,4.79,0,0,0,1-1.84A9,9,0,0,0,756,840.35Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M773.06,848.35l-.06-2.11a8.61,8.61,0,0,1-2.6,1.83,7.07,7.07,0,0,1-2.77.56,6.79,6.79,0,0,1-2.3-.35,4.27,4.27,0,0,1-1.57-.94,3.73,3.73,0,0,1-.91-1.42,5.28,5.28,0,0,1-.29-1.76,4.4,4.4,0,0,1,1.76-3.7,8.52,8.52,0,0,1,5.2-1.33h3.25v-1.38a2.91,2.91,0,0,0-.89-2.22,3.85,3.85,0,0,0-2.72-.84,11.51,11.51,0,0,0-2.62.3,18.87,18.87,0,0,0-2.66.84v-2.45c.34-.13.72-.25,1.15-.37s.86-.23,1.33-.32,1-.17,1.47-.23,1-.08,1.55-.08a9.66,9.66,0,0,1,2.56.31,5.37,5.37,0,0,1,1.93.95,4.31,4.31,0,0,1,1.21,1.61,5.73,5.73,0,0,1,.42,2.28v10.82Zm-.29-7.14h-3.46a6.48,6.48,0,0,0-1.75.2,3.2,3.2,0,0,0-1.2.58,2.32,2.32,0,0,0-.69.9,2.76,2.76,0,0,0-.23,1.18,2.72,2.72,0,0,0,.14.86,1.89,1.89,0,0,0,.45.74,2.15,2.15,0,0,0,.82.5,3.34,3.34,0,0,0,1.21.19,5.12,5.12,0,0,0,2.15-.57,10.59,10.59,0,0,0,2.56-1.8Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M781.22,832.66h2.49l.07,2.89a10.07,10.07,0,0,1,2.75-2.42,5.56,5.56,0,0,1,2.72-.75A4.43,4.43,0,0,1,793,834a7,7,0,0,1,1.16,4.68h-2.75a5.17,5.17,0,0,0-.6-3,2.17,2.17,0,0,0-1.9-.93,3.33,3.33,0,0,0-1.1.2,4.6,4.6,0,0,0-1.14.62,10.67,10.67,0,0,0-1.24,1.1,19.55,19.55,0,0,0-1.41,1.63v10.08h-2.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M811.42,839.67c0,.39,0,.71,0,1s0,.51,0,.74h-11a4.86,4.86,0,0,0,1.34,3.69,5.38,5.38,0,0,0,3.87,1.29c.46,0,.92,0,1.38-.05s.9-.09,1.33-.15.83-.13,1.22-.21.76-.17,1.09-.26v2.23a18.79,18.79,0,0,1-2.51.51,21,21,0,0,1-2.9.2,9.66,9.66,0,0,1-3.46-.55,5.84,5.84,0,0,1-2.39-1.59A6.42,6.42,0,0,1,798,844a12,12,0,0,1-.45-3.42,10.1,10.1,0,0,1,.48-3.13,7.87,7.87,0,0,1,1.39-2.59,6.72,6.72,0,0,1,2.24-1.78,6.84,6.84,0,0,1,3-.65,7.7,7.7,0,0,1,2.9.51,5.9,5.9,0,0,1,2.14,1.46,6.41,6.41,0,0,1,1.31,2.3A9.54,9.54,0,0,1,811.42,839.67Zm-2.82-.39a5.87,5.87,0,0,0-.21-1.91,3.84,3.84,0,0,0-.77-1.49,3.59,3.59,0,0,0-1.31-1,4.43,4.43,0,0,0-1.81-.35,3.76,3.76,0,0,0-1.62.34,3.88,3.88,0,0,0-1.27,1,5.21,5.21,0,0,0-.86,1.5,6.89,6.89,0,0,0-.4,1.92Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M828,847.77a12,12,0,0,1-2.18.6,13.5,13.5,0,0,1-2.31.2,7.76,7.76,0,0,1-5.73-2,8,8,0,0,1-2-5.89,9.55,9.55,0,0,1,.57-3.38,7.56,7.56,0,0,1,1.63-2.59,7.15,7.15,0,0,1,2.5-1.66,8.52,8.52,0,0,1,3.2-.59,14.69,14.69,0,0,1,2.28.17,9.91,9.91,0,0,1,2,.56v2.6a8.76,8.76,0,0,0-2.08-.78,9.69,9.69,0,0,0-2.17-.24,5.07,5.07,0,0,0-2,.4,4.79,4.79,0,0,0-1.63,1.15,5.4,5.4,0,0,0-1.11,1.83,6.9,6.9,0,0,0-.41,2.44,5.86,5.86,0,0,0,1.38,4.25,5.09,5.09,0,0,0,3.84,1.42A9.58,9.58,0,0,0,826,846a9.39,9.39,0,0,0,2-.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M846,848.13a13,13,0,0,1-1.9.33,19,19,0,0,1-2,.11,6.34,6.34,0,0,1-4.41-1.34,5.31,5.31,0,0,1-1.45-4.1v-8.19h-4.39v-2.28h4.39v-4.31l2.72-.71v5h7v2.28h-7v8a3.27,3.27,0,0,0,.89,2.52,3.76,3.76,0,0,0,2.65.84,12.3,12.3,0,0,0,1.64-.12,14.91,14.91,0,0,0,1.86-.37Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M864.88,828.8a18.38,18.38,0,0,0-3.69-.45q-3.68,0-3.67,3.84v2.75h6.87v2.27h-6.87v11.14h-2.77V837.21h-5v-2.27h5v-2.59q0-6.27,6.53-6.27a19.45,19.45,0,0,1,3.6.38Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M874.72,843.42a2.63,2.63,0,0,1,1.84.77,2.66,2.66,0,0,1,.55.84,2.48,2.48,0,0,1,.2,1,2.42,2.42,0,0,1-.2,1,2.57,2.57,0,0,1-.55.82,2.61,2.61,0,0,1-.83.55,2.5,2.5,0,0,1-1,.21,2.44,2.44,0,0,1-1-.21,2.61,2.61,0,0,1-.83-.55,2.75,2.75,0,0,1-.55-.82,2.42,2.42,0,0,1-.2-1,2.48,2.48,0,0,1,.2-1,2.84,2.84,0,0,1,.55-.84,2.48,2.48,0,0,1,.83-.56A2.44,2.44,0,0,1,874.72,843.42Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M898.33,847.77a12,12,0,0,1-2.18.6,13.3,13.3,0,0,1-2.3.2,7.76,7.76,0,0,1-5.73-2,8,8,0,0,1-2-5.89,9.33,9.33,0,0,1,.58-3.38,7.54,7.54,0,0,1,1.62-2.59,7.25,7.25,0,0,1,2.5-1.66,8.53,8.53,0,0,1,3.21-.59,14.88,14.88,0,0,1,2.28.17,9.82,9.82,0,0,1,2,.56v2.6a8.86,8.86,0,0,0-2.07-.78,9.78,9.78,0,0,0-2.18-.24,5.07,5.07,0,0,0-2,.4,4.89,4.89,0,0,0-1.63,1.15,5.4,5.4,0,0,0-1.11,1.83,6.9,6.9,0,0,0-.4,2.44,5.86,5.86,0,0,0,1.38,4.25,5.09,5.09,0,0,0,3.83,1.42,9.51,9.51,0,0,0,2.15-.25,9.39,9.39,0,0,0,2-.75Z" transform="translate(-341.21 -94.59)"/></g><g id="surface1-2" data-name="surface1"><path class="cls-12" d="M1145.5,997.41a5.81,5.81,0,0,0-5.79-5.79H1050v28.94a5.79,5.79,0,0,1-5.79,5.79h-31.84v127.36a5.81,5.81,0,0,0,5.79,5.79h121.57a5.81,5.81,0,0,0,5.79-5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-13" d="M1050,1159.5h89.73a5.79,5.79,0,0,0,5.79-5.79V1070A145.07,145.07,0,0,1,1050,1159.5Z" transform="translate(-341.21 -94.59)"/><path class="cls-14" d="M1050,1020.56V991.62l-37.63,34.73h31.84A5.79,5.79,0,0,0,1050,1020.56Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1093.39,1069.77h-60.78a2.9,2.9,0,0,1,0-5.79h60.78a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1106,1087.14h-73.35a2.9,2.9,0,0,1,0-5.79H1106a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1067.84,1104.5h-35.23a2.9,2.9,0,0,1,0-5.79h35.23a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1110.76,1052.4h-55a2.9,2.9,0,1,1,0-5.79h55a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1044.19,1052.4h-11.58a2.9,2.9,0,0,1,0-5.79h11.58a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/></g><path class="cls-7" d="M1161.12,1009h-87.25a4.61,4.61,0,0,0-4.59,4.6v41.32a4.6,4.6,0,0,0,4.59,4.59h87.25a4.6,4.6,0,0,0,4.59-4.59v-41.32A4.61,4.61,0,0,0,1161.12,1009Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1088.08,1121.87h-55.47a2.9,2.9,0,0,1,0-5.79h55.47a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1058.66,1139.24h-26.05a2.9,2.9,0,0,1,0-5.79h26.05a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1100.4,1104.5h-20.75a2.9,2.9,0,1,1,0-5.79h20.75a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><g class="cls-8"><path class="cls-9" d="M1126.76,1045.73a15.51,15.51,0,0,1-6.3,1.08c-7.74,0-12.45-4.85-12.45-12.26,0-8,5.58-12.89,13-12.89a14.06,14.06,0,0,1,5.94,1.09l-1,3.55a11.81,11.81,0,0,0-4.78-.94c-5,0-8.54,3.11-8.54,9,0,5.35,3.15,8.79,8.51,8.79a12.47,12.47,0,0,0,4.84-.9Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M1017,1195.26a10.39,10.39,0,0,1-.59,3.65,7.19,7.19,0,0,1-1.62,2.6,6.63,6.63,0,0,1-2.43,1.54,8.68,8.68,0,0,1-3.05.52,14.72,14.72,0,0,1-1.49-.08,10.2,10.2,0,0,1-1.51-.27v6.57h-2.72v-22.1H1006l.17,2.63a7,7,0,0,1,2.5-2.26,6.54,6.54,0,0,1,2.88-.65,4.87,4.87,0,0,1,2.36.56,5,5,0,0,1,1.7,1.59,7.5,7.5,0,0,1,1,2.47A13.9,13.9,0,0,1,1017,1195.26Zm-2.79.12a14.47,14.47,0,0,0-.17-2.27,6.27,6.27,0,0,0-.58-1.76,3.13,3.13,0,0,0-1-1.15,2.47,2.47,0,0,0-1.45-.41,3.57,3.57,0,0,0-1.05.16,4.18,4.18,0,0,0-1.1.55,7.85,7.85,0,0,0-1.2,1,16.77,16.77,0,0,0-1.35,1.57v7.61a8.07,8.07,0,0,0,1.58.49,7.59,7.59,0,0,0,1.62.18,4.23,4.23,0,0,0,3.45-1.49A6.82,6.82,0,0,0,1014.18,1195.38Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1026.5,1183.54h-4.64v-2.24h7.39v19.81h4.67v2.27h-12.58v-2.27h5.16Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1048.83,1203.38l-.07-2.11a8.61,8.61,0,0,1-2.6,1.83,7.07,7.07,0,0,1-2.77.56,6.8,6.8,0,0,1-2.3-.34,4.37,4.37,0,0,1-1.57-1,3.77,3.77,0,0,1-.91-1.41,5.3,5.3,0,0,1-.28-1.77,4.37,4.37,0,0,1,1.75-3.69,8.54,8.54,0,0,1,5.2-1.34h3.25v-1.37a2.93,2.93,0,0,0-.89-2.23,3.85,3.85,0,0,0-2.72-.84,11.51,11.51,0,0,0-2.62.3,18.87,18.87,0,0,0-2.66.84v-2.45c.34-.12.72-.25,1.15-.37s.86-.22,1.33-.32,1-.17,1.47-.22a13.3,13.3,0,0,1,1.55-.09,10,10,0,0,1,2.56.31,5.22,5.22,0,0,1,1.93,1,4.06,4.06,0,0,1,1.21,1.61,5.66,5.66,0,0,1,.42,2.28v10.81Zm-.3-7.14h-3.45a6.8,6.8,0,0,0-1.75.2,3.41,3.41,0,0,0-1.21.58,2.32,2.32,0,0,0-.69.9,3,3,0,0,0-.23,1.18,2.83,2.83,0,0,0,.14.87,2,2,0,0,0,.45.73,2.3,2.3,0,0,0,.82.51,3.59,3.59,0,0,0,1.22.19,5.11,5.11,0,0,0,2.14-.57,10.65,10.65,0,0,0,2.56-1.81Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1069,1203.16a13,13,0,0,1-1.9.34c-.66.06-1.33.1-2,.1a6.34,6.34,0,0,1-4.41-1.34,5.29,5.29,0,0,1-1.45-4.1V1190h-4.39v-2.28h4.39v-4.31l2.71-.7v5h7V1190h-7v8a3.29,3.29,0,0,0,.9,2.53,3.79,3.79,0,0,0,2.65.83,12.3,12.3,0,0,0,1.64-.12,14.82,14.82,0,0,0,1.86-.36Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1087.86,1183.83a18.38,18.38,0,0,0-3.69-.45q-3.68,0-3.67,3.84V1190h6.87v2.27h-6.87v11.14h-2.77v-11.14h-5V1190h5v-2.59q0-6.27,6.53-6.27a19.45,19.45,0,0,1,3.6.38Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1105.18,1195.41a10.47,10.47,0,0,1-.51,3.35,7.28,7.28,0,0,1-1.49,2.61,6.55,6.55,0,0,1-2.35,1.69,7.91,7.91,0,0,1-3.16.6,8.17,8.17,0,0,1-3-.52,6,6,0,0,1-2.27-1.54,6.88,6.88,0,0,1-1.42-2.52,11,11,0,0,1-.49-3.45,10.4,10.4,0,0,1,.51-3.34,7.52,7.52,0,0,1,1.49-2.59,6.63,6.63,0,0,1,2.36-1.69,7.83,7.83,0,0,1,3.15-.6,8.48,8.48,0,0,1,3,.52,6,6,0,0,1,2.26,1.54,6.71,6.71,0,0,1,1.42,2.5A11,11,0,0,1,1105.18,1195.41Zm-2.78.13a8.77,8.77,0,0,0-.32-2.54,5.18,5.18,0,0,0-.91-1.82,3.89,3.89,0,0,0-1.45-1.09,4.79,4.79,0,0,0-1.89-.37,4.25,4.25,0,0,0-2.09.48,4.14,4.14,0,0,0-1.42,1.27,5.5,5.5,0,0,0-.81,1.86,9.89,9.89,0,0,0,.06,4.75,5.1,5.1,0,0,0,.91,1.82,3.86,3.86,0,0,0,1.44,1.1,4.82,4.82,0,0,0,1.91.36,4.23,4.23,0,0,0,2.08-.47,4.06,4.06,0,0,0,1.42-1.28,5.57,5.57,0,0,0,.82-1.85A9.38,9.38,0,0,0,1102.4,1195.54Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1109.76,1187.69h2.49l.08,2.89a10,10,0,0,1,2.74-2.42,5.56,5.56,0,0,1,2.72-.75,4.46,4.46,0,0,1,3.7,1.58,7,7,0,0,1,1.16,4.69h-2.75a5.18,5.18,0,0,0-.6-3,2.18,2.18,0,0,0-1.9-.92,3.31,3.31,0,0,0-1.1.19,4.35,4.35,0,0,0-1.14.63,9.72,9.72,0,0,0-1.24,1.1,21,21,0,0,0-1.41,1.62v10.08h-2.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1137.9,1203.38v-11.27c0-.48,0-.89-.05-1.2a2.8,2.8,0,0,0-.17-.74.73.73,0,0,0-.75-.49,1,1,0,0,0-.57.18,2.63,2.63,0,0,0-.57.61,10.51,10.51,0,0,0-.68,1.12c-.24.46-.53,1-.86,1.71v10.08h-2.49v-11c0-.57,0-1,0-1.39a4,4,0,0,0-.17-.83.77.77,0,0,0-.31-.4.79.79,0,0,0-.45-.11,1,1,0,0,0-.53.15,2.52,2.52,0,0,0-.56.57,9,9,0,0,0-.68,1.11c-.25.46-.54,1.06-.89,1.79v10.08h-2.5v-15.69h2.08l.13,3a15,15,0,0,1,.78-1.52,5.46,5.46,0,0,1,.79-1,2.75,2.75,0,0,1,.87-.56,2.8,2.8,0,0,1,1-.18,2.32,2.32,0,0,1,1.93.83,4.15,4.15,0,0,1,.65,2.56c.25-.54.5-1,.74-1.44a5.08,5.08,0,0,1,.77-1.07,3.12,3.12,0,0,1,.91-.65,2.82,2.82,0,0,1,1.16-.23q3,0,3,4.55v11.42Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1150.48,1198.46a2.55,2.55,0,0,1,2.39,1.6,2.52,2.52,0,0,1,.21,1,2.39,2.39,0,0,1-.21,1,2.46,2.46,0,0,1-.55.82,2.57,2.57,0,0,1-1.84.76,2.6,2.6,0,0,1-1-.2,2.68,2.68,0,0,1-1.38-1.38,2.55,2.55,0,0,1-.2-1,2.61,2.61,0,0,1,.76-1.86,2.49,2.49,0,0,1,.82-.56A2.6,2.6,0,0,1,1150.48,1198.46Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1174.09,1202.8a11.73,11.73,0,0,1-2.18.6,13.3,13.3,0,0,1-2.3.2,7.72,7.72,0,0,1-5.73-2,8,8,0,0,1-2-5.89,9.27,9.27,0,0,1,.58-3.37,7.61,7.61,0,0,1,1.63-2.6,7.2,7.2,0,0,1,2.5-1.66,8.44,8.44,0,0,1,3.2-.59,13.69,13.69,0,0,1,2.28.18,9.24,9.24,0,0,1,2,.56v2.59a8.82,8.82,0,0,0-2.07-.77,9.78,9.78,0,0,0-2.18-.24,5.07,5.07,0,0,0-2,.39,4.89,4.89,0,0,0-1.63,1.15,5.4,5.4,0,0,0-1.11,1.83,6.9,6.9,0,0,0-.4,2.44,5.88,5.88,0,0,0,1.38,4.26,5.12,5.12,0,0,0,3.83,1.41,9,9,0,0,0,2.15-.25,9.2,9.2,0,0,0,2-.75Z" transform="translate(-341.21 -94.59)"/></g><g id="surface1-3" data-name="surface1"><path class="cls-16" d="M519.43,150.76a5.81,5.81,0,0,0-5.79-5.79H423.91v28.94a5.79,5.79,0,0,1-5.79,5.79H386.28V307.06a5.81,5.81,0,0,0,5.79,5.79H513.64a5.81,5.81,0,0,0,5.79-5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-17" d="M423.91,312.85h89.73a5.79,5.79,0,0,0,5.79-5.79V223.38A145.05,145.05,0,0,1,423.91,312.85Z" transform="translate(-341.21 -94.59)"/><path class="cls-18" d="M423.91,173.91V145L386.28,179.7h31.84A5.79,5.79,0,0,0,423.91,173.91Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M467.33,223.12H406.54a2.9,2.9,0,0,1,0-5.79h60.79a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M479.89,240.49H406.54a2.9,2.9,0,0,1,0-5.79h73.35a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M441.77,257.85H406.54a2.9,2.9,0,0,1,0-5.79h35.23a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M484.7,205.75h-55a2.9,2.9,0,0,1,0-5.79h55a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M418.12,205.75H406.54a2.9,2.9,0,0,1,0-5.79h11.58a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/></g><path class="cls-7" d="M535.05,162.33H447.81a4.6,4.6,0,0,0-4.59,4.6v41.32a4.6,4.6,0,0,0,4.59,4.59h87.24a4.6,4.6,0,0,0,4.59-4.59V166.93A4.61,4.61,0,0,0,535.05,162.33Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M462,275.22H406.54a2.9,2.9,0,0,1,0-5.79H462a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M432.59,292.59h-26a2.9,2.9,0,0,1,0-5.79h26a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M474.33,257.85H453.58a2.9,2.9,0,0,1,0-5.79h20.75a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><g class="cls-8"><path class="cls-9" d="M459.72,198.37v-9l-6.82-12.57h4.48l2.59,5.53c.74,1.6,1.28,2.82,1.86,4.29h.06c.55-1.38,1.16-2.72,1.89-4.29l2.59-5.53h4.45l-7.17,12.48v9.08Z" transform="translate(-341.21 -94.59)"/><path class="cls-9" d="M474.76,192.26l-1.86,6.11h-4.06l6.91-21.56h5l7,21.56h-4.22l-1.95-6.11Zm6.17-3L479.24,184c-.42-1.31-.77-2.78-1.09-4h-.06c-.32,1.25-.64,2.75-1,4l-1.66,5.32Z" transform="translate(-341.21 -94.59)"/><path class="cls-9" d="M508.9,189.57c-.13-2.78-.29-6.14-.25-9h-.1c-.71,2.62-1.6,5.53-2.56,8.25l-3.14,9.35h-3l-2.88-9.22c-.83-2.75-1.6-5.7-2.17-8.38h-.07c-.09,2.81-.22,6.24-.38,9.18l-.48,8.67h-3.68l1.44-21.56h5.18l2.82,8.67c.77,2.52,1.44,5.08,2,7.48h.1c.58-2.33,1.31-5,2.14-7.51l3-8.64h5.12l1.25,21.56h-3.84Z" transform="translate(-341.21 -94.59)"/><path class="cls-9" d="M517.16,176.81h3.93v18.27H530v3.29h-12.8Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M353.49,355.15V343.89a10,10,0,0,0-.05-1.2,2.88,2.88,0,0,0-.17-.75.8.8,0,0,0-.3-.38.87.87,0,0,0-.44-.11.94.94,0,0,0-.58.19,2.44,2.44,0,0,0-.57.61,8.8,8.8,0,0,0-.68,1.12c-.24.46-.53,1-.86,1.71v10.07h-2.49v-11c0-.58,0-1-.05-1.39a3.83,3.83,0,0,0-.17-.83.76.76,0,0,0-.31-.41.88.88,0,0,0-.45-.11.92.92,0,0,0-.53.16,2.25,2.25,0,0,0-.56.56,9,9,0,0,0-.68,1.11c-.25.47-.54,1.07-.89,1.8v10.07h-2.5V339.47h2.08l.13,3a14.78,14.78,0,0,1,.78-1.51,4.86,4.86,0,0,1,.79-1,2.58,2.58,0,0,1,.87-.56,2.8,2.8,0,0,1,1-.18,2.32,2.32,0,0,1,1.93.82,4.19,4.19,0,0,1,.65,2.57c.25-.54.5-1,.74-1.45a5.27,5.27,0,0,1,.77-1.06,3,3,0,0,1,.91-.66,2.82,2.82,0,0,1,1.16-.22q3,0,2.95,4.54v11.42Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M373.85,339.47l-5.34,14a27.46,27.46,0,0,1-1.71,3.69,11.14,11.14,0,0,1-1.93,2.54,7,7,0,0,1-2.3,1.46,7.93,7.93,0,0,1-2.79.46H359l-.72-.05v-2.47l.75.09a7.88,7.88,0,0,0,.86,0,4.24,4.24,0,0,0,1.4-.22,3.85,3.85,0,0,0,1.23-.71,6.77,6.77,0,0,0,1.11-1.27,14.27,14.27,0,0,0,1-1.9l-6.27-15.68h3.1l4,10.37.8,2.44.91-2.5,3.67-10.31Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M388.46,347.92h-9.34v-2.56h9.34Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M407.28,354.58a12,12,0,0,1-2.18.6,13.5,13.5,0,0,1-2.31.19,7.75,7.75,0,0,1-5.73-2,8,8,0,0,1-2-5.89,9.55,9.55,0,0,1,.57-3.38,7.56,7.56,0,0,1,1.63-2.59,7.32,7.32,0,0,1,2.5-1.67,8.51,8.51,0,0,1,3.2-.58,14.79,14.79,0,0,1,2.28.17,9.91,9.91,0,0,1,2,.56v2.6a8.76,8.76,0,0,0-2.08-.78,9.69,9.69,0,0,0-2.17-.24,4.9,4.9,0,0,0-2,.4,4.79,4.79,0,0,0-1.63,1.15,5.4,5.4,0,0,0-1.11,1.83,6.62,6.62,0,0,0-.41,2.43,5.87,5.87,0,0,0,1.38,4.26,5.13,5.13,0,0,0,3.84,1.42,9.58,9.58,0,0,0,2.15-.25,9.39,9.39,0,0,0,2-.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M426.34,347.19a10.28,10.28,0,0,1-.52,3.35,7.59,7.59,0,0,1-1.48,2.61,6.78,6.78,0,0,1-2.36,1.68,7.75,7.75,0,0,1-3.16.61,8.21,8.21,0,0,1-3-.53,6,6,0,0,1-2.27-1.54,6.75,6.75,0,0,1-1.42-2.51,11,11,0,0,1-.49-3.46,10.34,10.34,0,0,1,.51-3.33,7.43,7.43,0,0,1,1.49-2.59,6.51,6.51,0,0,1,2.36-1.69,7.87,7.87,0,0,1,3.15-.6,8.23,8.23,0,0,1,3,.52,6,6,0,0,1,2.26,1.53,6.77,6.77,0,0,1,1.43,2.51A11.24,11.24,0,0,1,426.34,347.19Zm-2.78.12a9.18,9.18,0,0,0-.32-2.54,5.14,5.14,0,0,0-.92-1.81,3.75,3.75,0,0,0-1.44-1.09,4.67,4.67,0,0,0-1.9-.37,4.27,4.27,0,0,0-2.09.48,4,4,0,0,0-1.42,1.27,5.45,5.45,0,0,0-.81,1.85,9.36,9.36,0,0,0-.26,2.21,9.25,9.25,0,0,0,.32,2.55,5.18,5.18,0,0,0,.91,1.82,3.83,3.83,0,0,0,1.44,1.09,4.65,4.65,0,0,0,1.91.37,4.21,4.21,0,0,0,2.08-.48,4.07,4.07,0,0,0,1.43-1.27,5.45,5.45,0,0,0,.81-1.85A9.53,9.53,0,0,0,423.56,347.31Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M430.28,339.47h2.42l.11,2.53a11.36,11.36,0,0,1,1.32-1.35,7.53,7.53,0,0,1,1.26-.87,4.67,4.67,0,0,1,1.26-.46,6.45,6.45,0,0,1,1.33-.13,4.57,4.57,0,0,1,3.66,1.43,6.38,6.38,0,0,1,1.24,4.3v10.23h-2.71v-10a4.42,4.42,0,0,0-.69-2.73,2.43,2.43,0,0,0-2.05-.88,3.28,3.28,0,0,0-1,.15,3.9,3.9,0,0,0-1,.51,8.6,8.6,0,0,0-1.11,1,18.5,18.5,0,0,0-1.36,1.56v10.4h-2.71Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M461.79,335.61a18.47,18.47,0,0,0-3.69-.46c-2.45,0-3.67,1.29-3.67,3.85v2.75h6.88V344h-6.88v11.14h-2.76V344h-5.05v-2.26h5.05v-2.6q0-6.25,6.53-6.26a19.28,19.28,0,0,1,3.59.37Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M470.81,341.72h-4.64v-2.25h7.39v13.42h4.67v2.26H465.65v-2.26h5.16Zm.95-8.83a2.08,2.08,0,0,1,1.52.62,2.21,2.21,0,0,1,.46.68,2.16,2.16,0,0,1-2.82,2.82,2,2,0,0,1-.68-.46,2.14,2.14,0,0,1-.46-.69,2.26,2.26,0,0,1,0-1.67,2.21,2.21,0,0,1,.46-.68,2,2,0,0,1,.68-.46A2.13,2.13,0,0,1,471.76,332.89Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M494.35,341.69A4.07,4.07,0,0,1,495,343a5,5,0,0,1,.25,1.57,5.45,5.45,0,0,1-.45,2.23,5,5,0,0,1-1.26,1.72,5.88,5.88,0,0,1-1.94,1.12,7.41,7.41,0,0,1-2.5.4,7.74,7.74,0,0,1-1.84-.21,4.64,4.64,0,0,1-1.36-.53c-.2.3-.36.57-.5.83a1.93,1.93,0,0,0-.2.88,1.16,1.16,0,0,0,.57,1,2.78,2.78,0,0,0,1.51.42l4.12.16a9.24,9.24,0,0,1,2.17.3,5.3,5.3,0,0,1,1.7.76,3.75,3.75,0,0,1,1.11,1.24,3.56,3.56,0,0,1,.4,1.7,4.46,4.46,0,0,1-1.86,3.63,7.38,7.38,0,0,1-2.39,1.14,12.55,12.55,0,0,1-3.46.42,14.35,14.35,0,0,1-3.24-.31,7,7,0,0,1-2.19-.84,3.26,3.26,0,0,1-1.64-2.92,3.69,3.69,0,0,1,.53-2A5.94,5.94,0,0,1,484.2,354a2.74,2.74,0,0,1-.71-.47,2.74,2.74,0,0,1-.76-1.33,3.13,3.13,0,0,1-.1-.73,3.68,3.68,0,0,1,.48-1.86,10.3,10.3,0,0,1,1.13-1.6,7.9,7.9,0,0,1-.52-.7,4.73,4.73,0,0,1-.39-.74,4.53,4.53,0,0,1-.25-.86,5.59,5.59,0,0,1-.09-1.06,5.37,5.37,0,0,1,.45-2.22,5,5,0,0,1,1.25-1.73,5.78,5.78,0,0,1,1.94-1.12,7.62,7.62,0,0,1,2.5-.39,7.87,7.87,0,0,1,1.11.07,6.31,6.31,0,0,1,.94.21h5.69v2.22Zm-9.43,15.73a1.69,1.69,0,0,0,1.15,1.62,8.2,8.2,0,0,0,3.22.51,8.48,8.48,0,0,0,2.18-.24,4.36,4.36,0,0,0,1.42-.62,2.28,2.28,0,0,0,.78-.87,2.44,2.44,0,0,0,.23-1,1.53,1.53,0,0,0-.78-1.41,5.6,5.6,0,0,0-2.39-.53l-4.1-.14a7.43,7.43,0,0,0-.85.67,2.83,2.83,0,0,0-.52.67,2.69,2.69,0,0,0-.27.67A3.08,3.08,0,0,0,484.92,357.42Zm.82-12.83A3.85,3.85,0,0,0,486,346a3,3,0,0,0,.71,1.06,3.21,3.21,0,0,0,1.07.68,3.7,3.7,0,0,0,1.36.24,3.64,3.64,0,0,0,1.45-.27,3,3,0,0,0,1.06-.74,3.34,3.34,0,0,0,.66-1.08,3.66,3.66,0,0,0,.23-1.27,3.75,3.75,0,0,0-.25-1.37,3,3,0,0,0-1.78-1.74,3.56,3.56,0,0,0-1.37-.25,3.62,3.62,0,0,0-1.44.28,3.17,3.17,0,0,0-1.06.75,3,3,0,0,0-.66,1.07A3.56,3.56,0,0,0,485.74,344.59Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M506.82,350.23a2.63,2.63,0,0,1,1.84.77,2.73,2.73,0,0,1,.55.83,2.53,2.53,0,0,1,.21,1,2.42,2.42,0,0,1-.21,1,2.69,2.69,0,0,1-.55.82,2.61,2.61,0,0,1-.83.55,2.47,2.47,0,0,1-1,.21,2.44,2.44,0,0,1-1-.21,2.46,2.46,0,0,1-.82-.55,2.72,2.72,0,0,1-.56-.82,2.59,2.59,0,0,1-.2-1,2.7,2.7,0,0,1,.2-1A2.76,2.76,0,0,1,505,351a2.35,2.35,0,0,1,.82-.56A2.44,2.44,0,0,1,506.82,350.23Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M532.2,339.47l-5.35,14a27.46,27.46,0,0,1-1.71,3.69,11.14,11.14,0,0,1-1.93,2.54,7,7,0,0,1-2.29,1.46,8,8,0,0,1-2.8.46h-.74l-.71-.05v-2.47l.75.09a7.76,7.76,0,0,0,.86,0,4.18,4.18,0,0,0,1.39-.22,3.75,3.75,0,0,0,1.23-.71,6.77,6.77,0,0,0,1.11-1.27,13.21,13.21,0,0,0,1-1.9l-6.26-15.68h3.09l4,10.37.79,2.44.91-2.5,3.67-10.31Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M545.92,355.15l-.07-2.1a8.39,8.39,0,0,1-2.6,1.82,6.9,6.9,0,0,1-2.77.57,6.79,6.79,0,0,1-2.3-.35,4.35,4.35,0,0,1-1.57-.94,3.73,3.73,0,0,1-.91-1.42,5.28,5.28,0,0,1-.28-1.76,4.38,4.38,0,0,1,1.75-3.7,8.54,8.54,0,0,1,5.2-1.33h3.25v-1.38a2.93,2.93,0,0,0-.89-2.23,3.9,3.9,0,0,0-2.72-.83,11.51,11.51,0,0,0-2.62.3,17.65,17.65,0,0,0-2.66.84v-2.45c.34-.13.72-.25,1.15-.37s.86-.23,1.33-.32,1-.17,1.47-.23,1-.08,1.55-.08a9.6,9.6,0,0,1,2.56.31,5.37,5.37,0,0,1,1.93.95,4.21,4.21,0,0,1,1.21,1.61,5.73,5.73,0,0,1,.42,2.28v10.81Zm-.3-7.14h-3.45a6.35,6.35,0,0,0-1.75.21,3.33,3.33,0,0,0-1.21.58,2.36,2.36,0,0,0-.69.89,3,3,0,0,0-.23,1.18,2.74,2.74,0,0,0,.14.87A1.93,1.93,0,0,0,539.7,353a3.36,3.36,0,0,0,1.22.19,5.11,5.11,0,0,0,2.14-.57,10.59,10.59,0,0,0,2.56-1.8Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M564.62,355.15V343.89a9.72,9.72,0,0,0-.06-1.2,2.53,2.53,0,0,0-.17-.75.85.85,0,0,0-.29-.38.88.88,0,0,0-.45-.11,1,1,0,0,0-.58.19,2.44,2.44,0,0,0-.57.61,8.89,8.89,0,0,0-.67,1.12c-.25.46-.53,1-.87,1.71v10.07h-2.48v-11a12.75,12.75,0,0,0-.06-1.39,2.92,2.92,0,0,0-.17-.83.8.8,0,0,0-.3-.41,1,1,0,0,0-.46-.11,1,1,0,0,0-.53.16,2.24,2.24,0,0,0-.55.56,7.94,7.94,0,0,0-.68,1.11c-.25.47-.55,1.07-.89,1.8v10.07h-2.5V339.47h2.08l.12,3a12.93,12.93,0,0,1,.79-1.51,4.55,4.55,0,0,1,.79-1,2.58,2.58,0,0,1,.87-.56,2.73,2.73,0,0,1,1-.18,2.31,2.31,0,0,1,1.92.82,4.12,4.12,0,0,1,.66,2.57c.25-.54.49-1,.73-1.45a5.29,5.29,0,0,1,.78-1.06,2.86,2.86,0,0,1,.91-.66,2.79,2.79,0,0,1,1.16-.22c2,0,3,1.51,3,4.54v11.42Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M576.37,335.31h-4.64v-2.23h7.39v19.81h4.67v2.26H571.21v-2.26h5.16Z" transform="translate(-341.21 -94.59)"/></g><g id="surface1-4" data-name="surface1"><path class="cls-16" d="M1416.3,643.37a5.81,5.81,0,0,0-5.79-5.79h-89.73v28.95a5.79,5.79,0,0,1-5.79,5.79h-31.84V799.68a5.8,5.8,0,0,0,5.79,5.78h121.57a5.8,5.8,0,0,0,5.79-5.78Z" transform="translate(-341.21 -94.59)"/><path class="cls-17" d="M1320.78,805.46h89.73a5.78,5.78,0,0,0,5.79-5.78V716A145,145,0,0,1,1320.78,805.46Z" transform="translate(-341.21 -94.59)"/><path class="cls-18" d="M1320.78,666.53V637.58l-37.63,34.74H1315A5.79,5.79,0,0,0,1320.78,666.53Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M1364.2,715.74h-60.79a2.9,2.9,0,0,1,0-5.79h60.79a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M1376.76,733.1h-73.35a2.9,2.9,0,0,1,0-5.79h73.35a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M1338.64,750.47h-35.23a2.9,2.9,0,0,1,0-5.79h35.23a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M1381.56,698.37h-55a2.9,2.9,0,1,1,0-5.79h55a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M1315,698.37h-11.58a2.9,2.9,0,0,1,0-5.79H1315a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/></g><path class="cls-7" d="M1431.92,655h-87.24a4.6,4.6,0,0,0-4.59,4.59v41.33a4.6,4.6,0,0,0,4.59,4.59h87.24a4.61,4.61,0,0,0,4.59-4.59V659.54A4.61,4.61,0,0,0,1431.92,655Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M1358.88,767.84h-55.47a2.9,2.9,0,0,1,0-5.79h55.47a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M1329.46,785.2h-26a2.9,2.9,0,0,1,0-5.79h26a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-19" d="M1371.2,750.47h-20.75a2.9,2.9,0,1,1,0-5.79h20.75a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><g class="cls-8"><path class="cls-9" d="M1397.56,691.69a15.27,15.27,0,0,1-6.3,1.09c-7.74,0-12.44-4.85-12.44-12.27,0-8,5.57-12.88,13-12.88a14.06,14.06,0,0,1,5.94,1.09l-1,3.54a12,12,0,0,0-4.78-.94c-5,0-8.53,3.11-8.53,9,0,5.35,3.14,8.79,8.5,8.79a12.33,12.33,0,0,0,4.85-.91Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M1303.14,849.35V838.08a10,10,0,0,0-.05-1.2,2.8,2.8,0,0,0-.17-.74.83.83,0,0,0-.3-.39.88.88,0,0,0-.45-.11,1,1,0,0,0-.57.19,2.63,2.63,0,0,0-.57.61,8.8,8.8,0,0,0-.68,1.12c-.24.46-.53,1-.86,1.71v10.08H1297v-11c0-.57,0-1,0-1.39a3.83,3.83,0,0,0-.17-.83.8.8,0,0,0-.31-.41.88.88,0,0,0-.45-.11,1,1,0,0,0-.53.16,2.25,2.25,0,0,0-.56.56,9,9,0,0,0-.68,1.11c-.25.47-.54,1.07-.89,1.8v10.08h-2.5V833.66h2.08l.13,3a15.91,15.91,0,0,1,.78-1.51,5.14,5.14,0,0,1,.79-1,2.75,2.75,0,0,1,.87-.56,2.8,2.8,0,0,1,1-.18,2.3,2.3,0,0,1,1.93.83,4.13,4.13,0,0,1,.65,2.56c.25-.54.5-1,.74-1.45a5.27,5.27,0,0,1,.77-1.06,3.15,3.15,0,0,1,.91-.66,2.82,2.82,0,0,1,1.16-.22q3,0,3,4.54v11.43Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1323.5,833.66l-5.34,14a26.89,26.89,0,0,1-1.71,3.69,10.92,10.92,0,0,1-1.93,2.54,6.84,6.84,0,0,1-2.3,1.46,7.94,7.94,0,0,1-2.8.47l-.73,0-.72-.05v-2.46l.75.08a7.88,7.88,0,0,0,.86,0,4.24,4.24,0,0,0,1.4-.22,3.67,3.67,0,0,0,1.23-.71,6.77,6.77,0,0,0,1.11-1.27,13.5,13.5,0,0,0,1-1.89l-6.27-15.69h3.09l4,10.37.8,2.44.91-2.5,3.67-10.31Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1338.11,842.11h-9.34v-2.56h9.34Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1354.82,849.35l-.07-2.11a8.61,8.61,0,0,1-2.6,1.83,7.07,7.07,0,0,1-2.77.56,6.79,6.79,0,0,1-2.3-.35,4.22,4.22,0,0,1-1.57-.94,3.73,3.73,0,0,1-.91-1.42,5.24,5.24,0,0,1-.28-1.76,4.39,4.39,0,0,1,1.75-3.7,8.54,8.54,0,0,1,5.2-1.33h3.25v-1.38a2.91,2.91,0,0,0-.89-2.22,3.85,3.85,0,0,0-2.72-.84,11.51,11.51,0,0,0-2.62.3,18.87,18.87,0,0,0-2.66.84v-2.45c.34-.13.72-.25,1.15-.37s.86-.23,1.33-.32,1-.17,1.47-.23,1-.08,1.55-.08a9.6,9.6,0,0,1,2.56.31,5.37,5.37,0,0,1,1.93.95,4.21,4.21,0,0,1,1.21,1.61,5.73,5.73,0,0,1,.42,2.28v10.82Zm-.3-7.14h-3.45a6.38,6.38,0,0,0-1.75.2,3.41,3.41,0,0,0-1.21.58,2.32,2.32,0,0,0-.69.9,3,3,0,0,0-.23,1.18,2.72,2.72,0,0,0,.14.86,2,2,0,0,0,.45.74,2.15,2.15,0,0,0,.82.5,3.36,3.36,0,0,0,1.22.19,5.11,5.11,0,0,0,2.14-.57,10.59,10.59,0,0,0,2.56-1.8Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1375.74,841.22a10.4,10.4,0,0,1-.59,3.66,7.15,7.15,0,0,1-1.62,2.59,6.65,6.65,0,0,1-2.43,1.55,8.92,8.92,0,0,1-3,.51,14.72,14.72,0,0,1-1.49-.07,11.69,11.69,0,0,1-1.51-.27v6.56h-2.72V833.66h2.42l.17,2.62a7.09,7.09,0,0,1,2.5-2.25,6.4,6.4,0,0,1,2.88-.65,4.63,4.63,0,0,1,4.06,2.15,7.41,7.41,0,0,1,1,2.47A13.81,13.81,0,0,1,1375.74,841.22Zm-2.78.13a13.23,13.23,0,0,0-.18-2.27,5.87,5.87,0,0,0-.57-1.76,3.14,3.14,0,0,0-1-1.15,2.51,2.51,0,0,0-1.46-.42,3.48,3.48,0,0,0-1,.17,4.35,4.35,0,0,0-1.11.54,8.6,8.6,0,0,0-1.2,1,15.57,15.57,0,0,0-1.35,1.57v7.61a9.07,9.07,0,0,0,1.58.49,7.59,7.59,0,0,0,1.62.18,4.3,4.3,0,0,0,3.46-1.49A6.89,6.89,0,0,0,1373,841.35Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1393.33,841.22a10.41,10.41,0,0,1-.58,3.66,7.28,7.28,0,0,1-1.62,2.59,6.69,6.69,0,0,1-2.44,1.55,8.87,8.87,0,0,1-3,.51,14.86,14.86,0,0,1-1.49-.07,12,12,0,0,1-1.51-.27v6.56h-2.72V833.66h2.43l.17,2.62A6.93,6.93,0,0,1,1385,834a6.33,6.33,0,0,1,2.87-.65,4.82,4.82,0,0,1,2.36.56,4.89,4.89,0,0,1,1.71,1.59,7.63,7.63,0,0,1,1,2.47A13.84,13.84,0,0,1,1393.33,841.22Zm-2.78.13a13.23,13.23,0,0,0-.18-2.27,5.87,5.87,0,0,0-.57-1.76,3.05,3.05,0,0,0-1-1.15,2.5,2.5,0,0,0-1.45-.42,3.49,3.49,0,0,0-1,.17,4.46,4.46,0,0,0-1.1.54,8.6,8.6,0,0,0-1.2,1,14.37,14.37,0,0,0-1.36,1.57v7.61a9.07,9.07,0,0,0,1.58.49,7.68,7.68,0,0,0,1.63.18,4.26,4.26,0,0,0,3.45-1.49A6.89,6.89,0,0,0,1390.55,841.35Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1403.69,844.42a2.63,2.63,0,0,1,1.84.77,2.66,2.66,0,0,1,.55.84,2.48,2.48,0,0,1,.2,1,2.42,2.42,0,0,1-.2,1,2.57,2.57,0,0,1-.55.82,2.61,2.61,0,0,1-.83.55,2.56,2.56,0,0,1-2,0,2.69,2.69,0,0,1-.82-.55,2.57,2.57,0,0,1-.55-.82,2.42,2.42,0,0,1-.2-1,2.48,2.48,0,0,1,.2-1,2.66,2.66,0,0,1,.55-.84,2.55,2.55,0,0,1,.82-.56A2.52,2.52,0,0,1,1403.69,844.42Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1427.3,848.77a12,12,0,0,1-2.18.6,13.3,13.3,0,0,1-2.3.2,7.76,7.76,0,0,1-5.73-2,8,8,0,0,1-2-5.89,9.37,9.37,0,0,1,.58-3.38,7.54,7.54,0,0,1,1.62-2.59,7.25,7.25,0,0,1,2.5-1.66,8.53,8.53,0,0,1,3.21-.59,14.88,14.88,0,0,1,2.28.17,9.82,9.82,0,0,1,2,.56v2.6a8.4,8.4,0,0,0-2.07-.77,9.22,9.22,0,0,0-2.18-.25,5.07,5.07,0,0,0-2,.4,4.89,4.89,0,0,0-1.63,1.15,5.4,5.4,0,0,0-1.11,1.83,6.9,6.9,0,0,0-.41,2.44,5.86,5.86,0,0,0,1.39,4.25,5.09,5.09,0,0,0,3.83,1.42,9.51,9.51,0,0,0,2.15-.25,9.39,9.39,0,0,0,2-.75Z" transform="translate(-341.21 -94.59)"/></g><g id="surface1-5" data-name="surface1"><path class="cls-12" d="M1685.63,642.18a5.81,5.81,0,0,0-5.79-5.79h-89.73v28.94a5.79,5.79,0,0,1-5.79,5.79h-31.84V798.48a5.81,5.81,0,0,0,5.79,5.79h121.57a5.81,5.81,0,0,0,5.79-5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-13" d="M1590.11,804.27h89.73a5.79,5.79,0,0,0,5.79-5.79V714.8A145.05,145.05,0,0,1,1590.11,804.27Z" transform="translate(-341.21 -94.59)"/><path class="cls-14" d="M1590.11,665.33V636.39l-37.63,34.73h31.84A5.79,5.79,0,0,0,1590.11,665.33Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1633.53,714.54h-60.78a2.9,2.9,0,1,1,0-5.79h60.78a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1646.09,731.91h-73.34a2.9,2.9,0,1,1,0-5.79h73.34a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1608,749.27h-35.22a2.9,2.9,0,1,1,0-5.79H1608a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1650.9,697.17h-55a2.9,2.9,0,0,1,0-5.79h55a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1584.32,697.17h-11.57a2.9,2.9,0,1,1,0-5.79h11.57a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/></g><path class="cls-7" d="M1701.25,653.75H1614a4.61,4.61,0,0,0-4.59,4.6v41.32a4.61,4.61,0,0,0,4.59,4.59h87.24a4.6,4.6,0,0,0,4.59-4.59V658.35A4.6,4.6,0,0,0,1701.25,653.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1628.22,766.64h-55.47a2.9,2.9,0,1,1,0-5.79h55.47a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1598.8,784h-26a2.9,2.9,0,1,1,0-5.79h26a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-15" d="M1640.53,749.27h-20.75a2.9,2.9,0,0,1,0-5.79h20.75a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><g class="cls-8"><path class="cls-9" d="M1652.42,666.68v9.88h10.42v-9.88h4.5v24.65h-4.5V680.47h-10.42v10.86h-4.5V666.68Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M1557.1,840.42a10.45,10.45,0,0,1-.58,3.66,7.15,7.15,0,0,1-1.62,2.59,6.69,6.69,0,0,1-2.44,1.55,8.87,8.87,0,0,1-3,.51,12.4,12.4,0,0,1-1.49-.08,11.94,11.94,0,0,1-1.51-.26V855h-2.71V832.86h2.42l.17,2.62a7.06,7.06,0,0,1,2.5-2.26,6.46,6.46,0,0,1,2.87-.64,4.71,4.71,0,0,1,2.36.56,4.86,4.86,0,0,1,1.71,1.58,7.82,7.82,0,0,1,1,2.47A14,14,0,0,1,1557.1,840.42Zm-2.78.12a13.19,13.19,0,0,0-.18-2.26,5.94,5.94,0,0,0-.57-1.77,3.13,3.13,0,0,0-1-1.15,2.57,2.57,0,0,0-1.45-.41,3.82,3.82,0,0,0-1,.16,4.52,4.52,0,0,0-1.1.55,8.6,8.6,0,0,0-1.2,1,14.37,14.37,0,0,0-1.36,1.57v7.61a9.07,9.07,0,0,0,1.58.49,7.68,7.68,0,0,0,1.63.18,4.26,4.26,0,0,0,3.45-1.49A6.92,6.92,0,0,0,1554.32,840.54Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1566.63,828.7H1562v-2.23h7.39v19.81h4.67v2.26h-12.57v-2.26h5.15Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1589,848.54l-.06-2.11a8.38,8.38,0,0,1-2.6,1.83,7,7,0,0,1-2.78.57,6.72,6.72,0,0,1-2.29-.35,4.27,4.27,0,0,1-1.57-.94,3.57,3.57,0,0,1-.91-1.42,5.28,5.28,0,0,1-.29-1.76,4.39,4.39,0,0,1,1.76-3.7,8.49,8.49,0,0,1,5.19-1.33h3.25V838a2.89,2.89,0,0,0-.89-2.23,3.88,3.88,0,0,0-2.72-.83,12.07,12.07,0,0,0-2.61.29,18.21,18.21,0,0,0-2.67.85v-2.45c.35-.13.73-.25,1.15-.37s.87-.23,1.34-.32,1-.17,1.47-.23a13.13,13.13,0,0,1,1.54-.08,9.68,9.68,0,0,1,2.57.31,5.21,5.21,0,0,1,1.93,1,4.23,4.23,0,0,1,1.21,1.61,5.73,5.73,0,0,1,.42,2.28v10.81Zm-.3-7.14h-3.45a6.4,6.4,0,0,0-1.75.21,3.19,3.19,0,0,0-1.2.57,2.34,2.34,0,0,0-.7.9,3,3,0,0,0-.22,1.18,2.52,2.52,0,0,0,.14.87,1.79,1.79,0,0,0,.45.73,2.08,2.08,0,0,0,.81.51,3.4,3.4,0,0,0,1.22.19,5.15,5.15,0,0,0,2.15-.57,10.16,10.16,0,0,0,2.55-1.81Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1609.12,848.33a14.64,14.64,0,0,1-1.91.33,18.86,18.86,0,0,1-2,.1,6.34,6.34,0,0,1-4.41-1.33,5.34,5.34,0,0,1-1.45-4.1v-8.19H1595v-2.28h4.39v-4.32l2.72-.7v5h7v2.28h-7v8a3.29,3.29,0,0,0,.9,2.52,3.75,3.75,0,0,0,2.65.84,12.42,12.42,0,0,0,1.64-.12,15.66,15.66,0,0,0,1.86-.37Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1628,829a18.39,18.39,0,0,0-3.69-.46c-2.44,0-3.67,1.29-3.67,3.85v2.75h6.88v2.26h-6.88v11.14h-2.76V837.4h-5v-2.26h5v-2.6q0-6.25,6.53-6.26a19.28,19.28,0,0,1,3.59.37Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1645.32,840.58a10.28,10.28,0,0,1-.52,3.35,7.43,7.43,0,0,1-1.48,2.61,6.69,6.69,0,0,1-2.36,1.68,7.91,7.91,0,0,1-3.16.61,8.21,8.21,0,0,1-3-.53,5.87,5.87,0,0,1-2.26-1.54,6.77,6.77,0,0,1-1.43-2.51,11.33,11.33,0,0,1-.49-3.46,10.07,10.07,0,0,1,.52-3.33,7.54,7.54,0,0,1,1.48-2.6,6.69,6.69,0,0,1,2.36-1.68,7.91,7.91,0,0,1,3.16-.6,8.21,8.21,0,0,1,3,.52,6.08,6.08,0,0,1,2.27,1.53,6.75,6.75,0,0,1,1.42,2.51A10.94,10.94,0,0,1,1645.32,840.58Zm-2.78.12a9.18,9.18,0,0,0-.32-2.54,5,5,0,0,0-.92-1.81,3.59,3.59,0,0,0-1.44-1.09,4.67,4.67,0,0,0-1.9-.37,4.32,4.32,0,0,0-2.08.47,4.2,4.2,0,0,0-1.43,1.28,5.45,5.45,0,0,0-.81,1.85,9.36,9.36,0,0,0-.26,2.21,9.25,9.25,0,0,0,.32,2.55,5.19,5.19,0,0,0,.92,1.82,3.72,3.72,0,0,0,1.43,1.09,4.68,4.68,0,0,0,1.91.37,4.27,4.27,0,0,0,2.09-.48,4.14,4.14,0,0,0,1.42-1.27,5.45,5.45,0,0,0,.81-1.85A9.53,9.53,0,0,0,1642.54,840.7Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1649.9,832.86h2.48l.08,2.89a10,10,0,0,1,2.74-2.42,5.57,5.57,0,0,1,2.73-.75,4.46,4.46,0,0,1,3.7,1.57,7.15,7.15,0,0,1,1.16,4.69H1660a5.17,5.17,0,0,0-.6-3,2.17,2.17,0,0,0-1.9-.93,3.27,3.27,0,0,0-1.1.19,4.35,4.35,0,0,0-1.14.63,10.58,10.58,0,0,0-1.25,1.1c-.43.45-.9,1-1.4,1.63v10.07h-2.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1678,848.54V837.28a9.72,9.72,0,0,0-.06-1.2,2.53,2.53,0,0,0-.17-.75.85.85,0,0,0-.29-.38.88.88,0,0,0-.45-.11,1,1,0,0,0-.58.19,2.64,2.64,0,0,0-.57.61,8.89,8.89,0,0,0-.67,1.12q-.36.69-.87,1.71v10.07h-2.48v-11a13.08,13.08,0,0,0-.06-1.4,2.84,2.84,0,0,0-.17-.82.8.8,0,0,0-.3-.41,1,1,0,0,0-.46-.11,1,1,0,0,0-.53.16,2.24,2.24,0,0,0-.55.56,9,9,0,0,0-.68,1.11c-.25.47-.55,1.07-.89,1.8v10.07h-2.5V832.86h2.08l.12,3a12.93,12.93,0,0,1,.79-1.51,4.86,4.86,0,0,1,.79-1,2.58,2.58,0,0,1,.87-.56,2.73,2.73,0,0,1,1-.18,2.31,2.31,0,0,1,1.92.82A4.12,4.12,0,0,1,1674,836c.25-.55.49-1,.73-1.45a5,5,0,0,1,.78-1.06,2.86,2.86,0,0,1,.91-.66,2.79,2.79,0,0,1,1.16-.22c2,0,3,1.51,3,4.54v11.42Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1690.62,843.62a2.5,2.5,0,0,1,1,.21,2.44,2.44,0,0,1,.82.56,2.76,2.76,0,0,1,.56.83,2.7,2.7,0,0,1,.2,1,2.62,2.62,0,0,1-.2,1,2.72,2.72,0,0,1-.56.82,2.57,2.57,0,0,1-.82.55,2.5,2.5,0,0,1-1,.21,2.45,2.45,0,0,1-1-.21,2.55,2.55,0,0,1-1.37-1.37,2.46,2.46,0,0,1-.21-1,2.53,2.53,0,0,1,.21-1,2.73,2.73,0,0,1,.55-.83,2.55,2.55,0,0,1,.82-.56A2.45,2.45,0,0,1,1690.62,843.62Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1714.65,848.54h-2.72v-10a4.49,4.49,0,0,0-.68-2.71,2.29,2.29,0,0,0-2-.9,3.4,3.4,0,0,0-1,.15,3.6,3.6,0,0,0-1,.51,9.33,9.33,0,0,0-1.13,1c-.4.41-.87.93-1.4,1.56v10.4H1702V826.47h2.72v6.39l-.1,2.47a11.1,11.1,0,0,1,1.26-1.29,6.76,6.76,0,0,1,1.24-.86,5.12,5.12,0,0,1,1.25-.46,5.83,5.83,0,0,1,1.33-.14,4.62,4.62,0,0,1,3.63,1.43,6.28,6.28,0,0,1,1.28,4.3Z" transform="translate(-341.21 -94.59)"/></g><line class="cls-20" x1="389.42" y1="117.64" x2="378.5" y2="106.72"/><line class="cls-20" x1="407.61" y1="99.45" x2="396.7" y2="88.53"/><line class="cls-20" x1="425.59" y1="81.47" x2="414.68" y2="70.55"/><line class="cls-20" x1="443.78" y1="63.27" x2="432.87" y2="52.36"/><path class="cls-20" d="M892.44,231.06l-69.77-69.77a12.92,12.92,0,0,0-18.41,0l-70,70a12.92,12.92,0,0,0,0,18.41l70,70a12.92,12.92,0,0,0,18.41,0l69.77-69.77A13.44,13.44,0,0,0,892.44,231.06Z" transform="translate(-341.21 -94.59)"/><line class="cls-20" x1="554.65" y1="174.14" x2="565.57" y2="185.06"/><line class="cls-20" x1="536.46" y1="192.34" x2="547.38" y2="203.25"/><line class="cls-20" x1="518.48" y1="210.32" x2="529.4" y2="221.23"/><line class="cls-20" x1="500.29" y1="228.51" x2="511.2" y2="239.42"/><rect class="cls-20" x="730.75" y="209.92" width="10.9" height="15.74" transform="translate(-279.59 489.77) rotate(-45)"/><rect class="cls-20" x="748.94" y="191.73" width="10.9" height="15.74" transform="translate(-261.4 497.31) rotate(-45)"/><rect class="cls-20" x="766.92" y="173.75" width="10.9" height="15.74" transform="translate(-243.42 504.75) rotate(-45)"/><rect class="cls-20" x="782.69" y="312.09" width="15.74" height="10.9" transform="translate(-334.19 557.42) rotate(-45)"/><line class="cls-20" x1="443.78" y1="228.51" x2="432.87" y2="239.42"/><rect class="cls-20" x="764.5" y="293.89" width="15.74" height="10.9" transform="translate(-326.66 539.23) rotate(-45)"/><line class="cls-20" x1="425.59" y1="210.32" x2="414.68" y2="221.23"/><rect class="cls-20" x="746.52" y="275.91" width="15.74" height="10.9" transform="translate(-319.21 521.25) rotate(-45)"/><line class="cls-20" x1="407.61" y1="192.34" x2="396.7" y2="203.25"/><rect class="cls-20" x="728.33" y="257.72" width="15.74" height="10.9" transform="translate(-311.67 503.06) rotate(-45)"/><line class="cls-20" x1="389.42" y1="174.14" x2="378.5" y2="185.06"/><line class="cls-20" x1="500.29" y1="63.27" x2="511.2" y2="52.36"/><line class="cls-20" x1="518.48" y1="81.47" x2="529.4" y2="70.55"/><line class="cls-20" x1="536.46" y1="99.45" x2="547.38" y2="88.53"/><line class="cls-20" x1="554.65" y1="117.64" x2="565.57" y2="106.72"/><circle class="cls-21" cx="428.37" cy="145.89" r="14.08"/><rect class="cls-20" x="884.85" y="255.3" width="10.9" height="15.74" transform="translate(-266.54 612.03) rotate(-45)"/><rect class="cls-20" x="866.66" y="273.49" width="10.9" height="15.74" transform="translate(-284.73 604.49) rotate(-45)"/><rect class="cls-20" x="848.68" y="291.47" width="10.9" height="15.74" transform="translate(-302.71 597.04) rotate(-45)"/><rect class="cls-20" x="830.49" y="309.66" width="10.9" height="15.74" transform="translate(-320.9 589.51) rotate(-45)"/><rect class="cls-20" x="828.07" y="157.98" width="15.74" height="10.9" transform="translate(-211.93 544.37) rotate(-45)"/><rect class="cls-20" x="846.26" y="176.17" width="15.74" height="10.9" transform="translate(-219.47 562.57) rotate(-45)"/><rect class="cls-20" x="864.24" y="194.15" width="15.74" height="10.9" transform="translate(-226.92 580.54) rotate(-45)"/><rect class="cls-20" x="882.43" y="212.35" width="15.74" height="10.9" transform="translate(-234.45 598.74) rotate(-45)"/><rect class="cls-20" x="785.11" y="155.56" width="10.9" height="15.74" transform="translate(-225.22 512.29) rotate(-45)"/><g class="cls-10"><path class="cls-21" d="M759.45,120.54c.07-1.18.14-3.13.14-4.93V95H764v10.44h.07a6.33,6.33,0,0,1,5.61-2.81c4.29,0,7.35,3.56,7.31,8.89,0,6.3-4,9.43-8,9.43a6,6,0,0,1-5.55-3h-.07l-.21,2.62Zm4.57-7.23a4.37,4.37,0,0,0,.11,1,4.07,4.07,0,0,0,3.92,3.1c2.77,0,4.46-2.23,4.46-5.76,0-3.1-1.47-5.62-4.42-5.62a4.16,4.16,0,0,0-3.93,3.24,5.5,5.5,0,0,0-.14,1.16Z" transform="translate(-341.21 -94.59)"/><path class="cls-21" d="M790.51,120.54l-.29-1.94h-.1a6.52,6.52,0,0,1-5.19,2.34,5.2,5.2,0,0,1-5.5-5.22c0-4.43,3.92-6.66,10.4-6.62v-.29c0-1.15-.47-3.06-3.57-3.06a9.25,9.25,0,0,0-4.71,1.3l-.86-2.88a12.5,12.5,0,0,1,6.33-1.55c5.62,0,7.24,3.56,7.24,7.38v6.33a28.06,28.06,0,0,0,.25,4.21Zm-.57-8.56c-3.14-.07-6.12.61-6.12,3.27a2.32,2.32,0,0,0,2.52,2.52,3.58,3.58,0,0,0,3.45-2.41,3.1,3.1,0,0,0,.15-1Z" transform="translate(-341.21 -94.59)"/><path class="cls-21" d="M798.94,108.67c0-2.38,0-4.07-.15-5.66h3.85l.15,3.35h.14a5.24,5.24,0,0,1,4.79-3.74,4.2,4.2,0,0,1,1,.11v4.17a6.26,6.26,0,0,0-1.29-.14,3.9,3.9,0,0,0-4,3.35,7.64,7.64,0,0,0-.15,1.36v9.07h-4.42Z" transform="translate(-341.21 -94.59)"/><path class="cls-21" d="M814.56,113c.11,3.17,2.59,4.54,5.4,4.54a13,13,0,0,0,4.86-.8l.65,3.06a16.34,16.34,0,0,1-6.12,1.08c-5.69,0-9-3.49-9-8.85,0-4.86,3-9.43,8.57-9.43s7.56,4.68,7.56,8.53a11.1,11.1,0,0,1-.14,1.87Zm7.7-3.1c0-1.61-.68-4.28-3.63-4.28-2.74,0-3.89,2.49-4.07,4.28Z" transform="translate(-341.21 -94.59)"/><path class="cls-21" d="M842.89,120a12.64,12.64,0,0,1-5,.9c-5.47,0-9-3.49-9-8.92,0-5.26,3.6-9.36,9.75-9.36a11,11,0,0,1,4.29.83l-.8,3.31a7.63,7.63,0,0,0-3.34-.69c-3.39,0-5.4,2.49-5.37,5.69,0,3.6,2.34,5.65,5.37,5.65a8.63,8.63,0,0,0,3.49-.68Z" transform="translate(-341.21 -94.59)"/><path class="cls-21" d="M851.78,98v5H856v3.32h-4.22v7.73c0,2.13.58,3.24,2.27,3.24a6.52,6.52,0,0,0,1.73-.21l.07,3.38a9.79,9.79,0,0,1-3.2.43,5.14,5.14,0,0,1-3.82-1.44c-.93-1-1.36-2.59-1.36-4.89v-8.24H845V103h2.52v-4Z" transform="translate(-341.21 -94.59)"/><path class="cls-21" d="M859.85,120.54V106.33h-2.38V103h2.38v-.75a8.2,8.2,0,0,1,2.12-6,6.72,6.72,0,0,1,4.57-1.69,8.68,8.68,0,0,1,2.85.43l-.33,3.42a5.12,5.12,0,0,0-1.87-.32c-2.19,0-3,1.83-3,4v.9h3.85v3.32h-3.81v14.21Z" transform="translate(-341.21 -94.59)"/></g><path class="cls-22" d="M1182.24,1637.47V1610.6a4,4,0,0,0-4-3.95h-14.78a79.66,79.66,0,0,0-10.69-25.8l10.45-10.45a3.94,3.94,0,0,0,0-5.59l-19-19a4,4,0,0,0-5.59,0l-10.45,10.45a79.66,79.66,0,0,0-25.8-10.69V1530.8a4,4,0,0,0-4-4h-26.87a4,4,0,0,0-3.95,4v14.81a79.67,79.67,0,0,0-25.76,10.69l-10.49-10.48a4,4,0,0,0-5.59,0l-19,19a4,4,0,0,0,0,5.59l10.51,10.51a79.78,79.78,0,0,0-10.64,25.74H991.82a4,4,0,0,0-4,3.95v26.87a4,4,0,0,0,4,4h14.91a79.6,79.6,0,0,0,10.66,25.7l-10.55,10.55a4,4,0,0,0,0,5.59l19,19a4,4,0,0,0,5.59,0L1042,1691.7a79.6,79.6,0,0,0,25.7,10.66v14.91a4,4,0,0,0,3.95,4h26.87a4,4,0,0,0,4-4v-14.88a80,80,0,0,0,25.74-10.65l10.51,10.51a4,4,0,0,0,5.59,0l19-19a3.94,3.94,0,0,0,0-5.59l-10.48-10.49a79.67,79.67,0,0,0,10.69-25.76h14.81A4,4,0,0,0,1182.24,1637.47Z" transform="translate(-341.21 -94.59)"/><path class="cls-23" d="M1098.51,1725.17h-26.86a7.91,7.91,0,0,1-7.9-7.9v-11.8a83.37,83.37,0,0,1-21.16-8.77l-8.35,8.35a7.91,7.91,0,0,1-11.17,0l-19-19a7.91,7.91,0,0,1,0-11.17l8.35-8.35a83.76,83.76,0,0,1-8.78-21.16H991.85a7.91,7.91,0,0,1-7.9-7.9V1610.6a7.91,7.91,0,0,1,7.9-7.9h11.77a83.76,83.76,0,0,1,8.76-21.2l-8.31-8.31a7.91,7.91,0,0,1,0-11.17l19-19a7.91,7.91,0,0,1,11.17,0l8.29,8.29a83.37,83.37,0,0,1,21.22-8.81v-11.7a7.91,7.91,0,0,1,7.9-7.9h26.86a7.92,7.92,0,0,1,7.91,7.9v11.67a83.55,83.55,0,0,1,21.26,8.8l8.24-8.25a7.92,7.92,0,0,1,11.18,0l19,19a7.91,7.91,0,0,1,0,11.17l-8.24,8.25a83.61,83.61,0,0,1,8.8,21.26h11.67a7.92,7.92,0,0,1,7.9,7.9v26.87a7.92,7.92,0,0,1-7.9,7.9h-11.7a83.37,83.37,0,0,1-8.81,21.22l8.28,8.29a7.91,7.91,0,0,1,0,11.17l-19,19a7.92,7.92,0,0,1-11.18,0l-8.31-8.32a83.57,83.57,0,0,1-21.19,8.77v11.77A7.92,7.92,0,0,1,1098.51,1725.17ZM1042,1687.75a4,4,0,0,1,2.12.62,75.83,75.83,0,0,0,24.43,10.14,4,4,0,0,1,3.1,3.85v14.91h26.86v-14.88a4,4,0,0,1,3.11-3.86,75.77,75.77,0,0,0,24.47-10.12,4,4,0,0,1,4.91.54l10.51,10.51,19-19L1150,1670a4,4,0,0,1-.53-4.93,75.8,75.8,0,0,0,10.17-24.49,3.94,3.94,0,0,1,3.85-3.09h14.81V1610.6h-14.79a3.94,3.94,0,0,1-3.85-3.1,75.86,75.86,0,0,0-10.16-24.53,4,4,0,0,1,.54-4.92l10.45-10.44-19-19-10.45,10.45a4,4,0,0,1-4.92.54,75.72,75.72,0,0,0-24.52-10.16,4,4,0,0,1-3.11-3.86V1530.8h-26.86v14.81a4,4,0,0,1-3.09,3.85,75.76,75.76,0,0,0-24.5,10.17,4,4,0,0,1-4.92-.53l-10.49-10.49-19,19,10.51,10.51a4,4,0,0,1,.54,4.91,75.68,75.68,0,0,0-10.12,24.47,4,4,0,0,1-3.86,3.1H991.85v26.87h14.9a4,4,0,0,1,3.86,3.09,76,76,0,0,0,10.13,24.44,4,4,0,0,1-.53,4.92l-10.55,10.54,19,19,10.55-10.55A4,4,0,0,1,1042,1687.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-24" d="M1138.78,1624a53.73,53.73,0,1,1-53.72-53.73A53.72,53.72,0,0,1,1138.78,1624Z" transform="translate(-341.21 -94.59)"/><path class="cls-23" d="M1085.06,1681.69a57.67,57.67,0,1,1,28.19-108,3.95,3.95,0,0,1-3.86,6.89,49.78,49.78,0,1,0,20.21,21.2,4,4,0,1,1,7.07-3.53,57.66,57.66,0,0,1-51.61,83.43Z" transform="translate(-341.21 -94.59)"/><path class="cls-23" d="M1123.91,1590.86a4,4,0,0,1-2.8-6.75,4,4,0,0,1,2.8-1.16,4,4,0,0,1,0,7.91Z" transform="translate(-341.21 -94.59)"/><g class="cls-10"><path class="cls-11" d="M1081.73,1640.93a22.87,22.87,0,0,1-9.26,1.59c-11.38,0-18.3-7.13-18.3-18,0-11.81,8.19-18.94,19.15-18.94a20.48,20.48,0,0,1,8.73,1.6l-1.44,5.21a17.31,17.31,0,0,0-7-1.38c-7.29,0-12.56,4.57-12.56,13.19,0,7.87,4.63,12.93,12.51,12.93a18.21,18.21,0,0,0,7.12-1.34Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1111.62,1640.93a22.83,22.83,0,0,1-9.26,1.59c-11.38,0-18.3-7.13-18.3-18,0-11.81,8.2-18.94,19.15-18.94a20.48,20.48,0,0,1,8.73,1.6l-1.44,5.21a17.31,17.31,0,0,0-7-1.38c-7.29,0-12.55,4.57-12.55,13.19,0,7.87,4.62,12.93,12.5,12.93a18.31,18.31,0,0,0,7.13-1.34Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-25"><line class="cls-26" x1="208.36" y1="145.68" x2="329.7" y2="145.68"/><polygon class="cls-11" points="356.18 145.68 318.87 160.93 327.72 145.68 318.87 130.44 356.18 145.68"/></g><g class="cls-25"><path class="cls-26" d="M931.57,240.27h817.14a34.66,34.66,0,0,1,34.66,34.66V2020.2" transform="translate(-341.21 -94.59)"/><polygon class="cls-11" points="1442.15 1952.08 1426.91 1914.77 1442.15 1923.63 1457.4 1914.77 1442.15 1952.08"/></g><g class="cls-25"><line class="cls-26" x1="472.04" y1="264.94" x2="472.04" y2="486.28"/><polygon class="cls-11" points="472.04 512.75 456.79 475.45 472.04 484.3 487.28 475.45 472.04 512.75"/></g><g class="cls-25"><path class="cls-26" d="M813.25,359.53c0,106.25,243,88.87,271.33,221.47" transform="translate(-341.21 -94.59)"/><polygon class="cls-11" points="746.04 512.75 726.61 477.44 742.77 484.49 756.89 473.94 746.04 512.75"/></g><g id="surface1-6" data-name="surface1"><path class="cls-3" d="M610.25,643.39a5.81,5.81,0,0,0-5.79-5.79H514.73v28.95a5.78,5.78,0,0,1-5.79,5.78H477.1V799.69a5.81,5.81,0,0,0,5.79,5.79H604.46a5.81,5.81,0,0,0,5.79-5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-4" d="M514.73,805.48h89.73a5.79,5.79,0,0,0,5.79-5.79V716A145,145,0,0,1,514.73,805.48Z" transform="translate(-341.21 -94.59)"/><path class="cls-5" d="M514.73,666.55V637.6L477.1,672.33h31.84A5.78,5.78,0,0,0,514.73,666.55Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M558.15,715.75H497.36a2.9,2.9,0,0,1,0-5.79h60.79a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M570.71,733.12H497.36a2.9,2.9,0,0,1,0-5.79h73.35a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M532.59,750.49H497.36a2.9,2.9,0,0,1,0-5.79h35.23a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M575.52,698.39h-55a2.9,2.9,0,0,1,0-5.79h55a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M508.94,698.39H497.36a2.9,2.9,0,0,1,0-5.79h11.58a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/></g><path class="cls-7" d="M625.87,655H538.63a4.6,4.6,0,0,0-4.59,4.59v41.32a4.6,4.6,0,0,0,4.59,4.6h87.24a4.61,4.61,0,0,0,4.59-4.6V659.56A4.61,4.61,0,0,0,625.87,655Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M552.83,767.85H497.36a2.9,2.9,0,0,1,0-5.79h55.47a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M523.41,785.22h-26a2.9,2.9,0,0,1,0-5.79h26a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M565.15,750.49H544.4a2.9,2.9,0,1,1,0-5.79h20.75a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><g class="cls-8"><path class="cls-9" d="M577,667.9v9.87h10.42V667.9H592v24.65h-4.5V681.69H577v10.86h-4.5V667.9Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M499.31,841.63a10.54,10.54,0,0,1-.54,3.5,7.5,7.5,0,0,1-1.53,2.61,6.58,6.58,0,0,1-2.41,1.64,8.56,8.56,0,0,1-3.2.57,15.6,15.6,0,0,1-2.85-.27,14.91,14.91,0,0,1-2.87-.84V827.68h2.72v6.08l-.13,2.9a7,7,0,0,1,2.51-2.22,6.49,6.49,0,0,1,2.87-.65,4.87,4.87,0,0,1,2.36.56,5,5,0,0,1,1.7,1.59,7.41,7.41,0,0,1,1,2.47A13.9,13.9,0,0,1,499.31,841.63Zm-2.78.13a13.31,13.31,0,0,0-.18-2.27,6,6,0,0,0-.57-1.76,3.13,3.13,0,0,0-1-1.15,2.48,2.48,0,0,0-1.45-.42,3.6,3.6,0,0,0-1.05.17,4.18,4.18,0,0,0-1.1.55,7.85,7.85,0,0,0-1.2,1,15.4,15.4,0,0,0-1.35,1.57v7.61a10.4,10.4,0,0,0,1.62.49,7.44,7.44,0,0,0,1.58.18,5.64,5.64,0,0,0,1.79-.29,3.64,3.64,0,0,0,1.5-1,5,5,0,0,0,1-1.84A9.32,9.32,0,0,0,496.53,841.76Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M513.58,849.76l-.06-2.11a8.77,8.77,0,0,1-2.61,1.83,7.48,7.48,0,0,1-5.07.22,4.46,4.46,0,0,1-1.57-1,3.63,3.63,0,0,1-.9-1.41,5.06,5.06,0,0,1-.29-1.77,4.36,4.36,0,0,1,1.76-3.69,8.49,8.49,0,0,1,5.19-1.34h3.25v-1.38a2.89,2.89,0,0,0-.89-2.22,3.84,3.84,0,0,0-2.72-.84,11.42,11.42,0,0,0-2.61.3,19.41,19.41,0,0,0-2.67.84v-2.45c.35-.13.73-.25,1.15-.37s.87-.22,1.34-.32.95-.17,1.46-.22a13.3,13.3,0,0,1,1.55-.09,9.6,9.6,0,0,1,2.56.31,5.15,5.15,0,0,1,1.93,1,4.1,4.1,0,0,1,1.21,1.6A5.57,5.57,0,0,1,516,839v10.81Zm-.3-7.14h-3.45a6.85,6.85,0,0,0-1.75.2,3.36,3.36,0,0,0-1.2.58,2.25,2.25,0,0,0-.7.9,3,3,0,0,0-.23,1.18,2.72,2.72,0,0,0,.14.86,2,2,0,0,0,.46.74,2.34,2.34,0,0,0,.81.51,3.61,3.61,0,0,0,1.22.18,5.19,5.19,0,0,0,2.15-.57,10.55,10.55,0,0,0,2.55-1.8Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M521.74,834.07h2.48l.08,2.89a10,10,0,0,1,2.74-2.42,5.57,5.57,0,0,1,2.73-.75,4.45,4.45,0,0,1,3.69,1.58,7.05,7.05,0,0,1,1.17,4.69h-2.75a5.1,5.1,0,0,0-.61-3,2.15,2.15,0,0,0-1.89-.93,3.34,3.34,0,0,0-1.11.2,4.6,4.6,0,0,0-1.14.62,10.72,10.72,0,0,0-1.24,1.11,19.32,19.32,0,0,0-1.4,1.62v10.08h-2.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M551.94,841.09c0,.38,0,.71,0,1s0,.5,0,.73h-11a4.92,4.92,0,0,0,1.34,3.7,5.43,5.43,0,0,0,3.88,1.28c.46,0,.91,0,1.37,0s.9-.09,1.33-.15.84-.13,1.23-.21.75-.16,1.08-.26v2.24a18.7,18.7,0,0,1-2.5.5,21.07,21.07,0,0,1-2.9.2,9.72,9.72,0,0,1-3.47-.55,5.89,5.89,0,0,1-2.38-1.58,6.61,6.61,0,0,1-1.38-2.55A11.9,11.9,0,0,1,538,842a10.11,10.11,0,0,1,.47-3.14,7.87,7.87,0,0,1,1.39-2.59,6.51,6.51,0,0,1,2.25-1.77,6.66,6.66,0,0,1,3-.66,7.55,7.55,0,0,1,2.91.52,5.83,5.83,0,0,1,2.13,1.46,6.08,6.08,0,0,1,1.31,2.29A9.55,9.55,0,0,1,551.94,841.09Zm-2.83-.39a6.2,6.2,0,0,0-.2-1.92,4.08,4.08,0,0,0-.78-1.49,3.64,3.64,0,0,0-1.3-1A4.46,4.46,0,0,0,545,836a3.78,3.78,0,0,0-1.63.35,3.59,3.59,0,0,0-1.26,1,5,5,0,0,0-.86,1.5,6.89,6.89,0,0,0-.41,1.93Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M568.47,849.18a12,12,0,0,1-2.18.6,13.38,13.38,0,0,1-2.3.2,7.72,7.72,0,0,1-5.73-2,8,8,0,0,1-2-5.89,9.27,9.27,0,0,1,.58-3.37,7.59,7.59,0,0,1,1.62-2.6,7.25,7.25,0,0,1,2.5-1.66,8.53,8.53,0,0,1,3.21-.59,14.88,14.88,0,0,1,2.28.17,9.84,9.84,0,0,1,2,.57v2.59a8.82,8.82,0,0,0-2.07-.77,9.78,9.78,0,0,0-2.18-.25,5.07,5.07,0,0,0-2,.4,4.89,4.89,0,0,0-1.63,1.15,5.4,5.4,0,0,0-1.11,1.83,6.9,6.9,0,0,0-.41,2.44,5.9,5.9,0,0,0,1.39,4.26,5.12,5.12,0,0,0,3.83,1.41,9,9,0,0,0,2.15-.25,9.39,9.39,0,0,0,2-.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M586.52,849.54a13.14,13.14,0,0,1-1.91.34c-.66.06-1.32.1-2,.1a6.34,6.34,0,0,1-4.41-1.34,5.34,5.34,0,0,1-1.45-4.1v-8.19h-4.39v-2.28h4.39v-4.31l2.72-.7v5h7v2.28h-7v8a3.26,3.26,0,0,0,.9,2.52,3.75,3.75,0,0,0,2.65.84,12.42,12.42,0,0,0,1.64-.12,15.55,15.55,0,0,0,1.86-.36Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M605.39,830.21a18.3,18.3,0,0,0-3.69-.45c-2.44,0-3.67,1.28-3.67,3.84v2.75h6.88v2.27H598v11.14h-2.76V838.62h-5v-2.27h5v-2.59q0-6.27,6.53-6.27a19.35,19.35,0,0,1,3.59.38Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M620,842.52h-9.34V840H620Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M481.72,872a10.54,10.54,0,0,1-.54,3.5,7.37,7.37,0,0,1-1.53,2.6,6.56,6.56,0,0,1-2.41,1.65,8.58,8.58,0,0,1-3.21.57,15.5,15.5,0,0,1-2.84-.27,15.22,15.22,0,0,1-2.88-.84V858.08H471v6.08l-.12,2.9a7,7,0,0,1,2.5-2.22,6.56,6.56,0,0,1,2.87-.65,4.63,4.63,0,0,1,4.06,2.15,7.42,7.42,0,0,1,1,2.47A14.46,14.46,0,0,1,481.72,872Zm-2.78.13a13.31,13.31,0,0,0-.18-2.27,6,6,0,0,0-.57-1.76,3.22,3.22,0,0,0-1-1.15,2.5,2.5,0,0,0-1.45-.42,3.49,3.49,0,0,0-1.05.17,4,4,0,0,0-1.1.55,8.39,8.39,0,0,0-1.21,1,16.77,16.77,0,0,0-1.35,1.57v7.61a10.2,10.2,0,0,0,1.63.49,7.44,7.44,0,0,0,1.58.18,5.53,5.53,0,0,0,1.78-.29,3.64,3.64,0,0,0,1.5-1,4.85,4.85,0,0,0,1-1.84A9.32,9.32,0,0,0,478.94,872.16Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M491.25,866.72h-4.64v-2.25H494v13.42h4.67v2.27H486.09v-2.27h5.16Zm.95-8.83a2.15,2.15,0,0,1,.85.17,2.1,2.1,0,0,1,.68.46,2.24,2.24,0,0,1,.45.68,2,2,0,0,1,.16.83,2.08,2.08,0,0,1-.16.83,2.29,2.29,0,0,1-.45.69,2.1,2.1,0,0,1-.68.46,2.31,2.31,0,0,1-1.69,0,2,2,0,0,1-.68-.46,2.29,2.29,0,0,1-.45-.69,2.09,2.09,0,0,1-.17-.83,2.05,2.05,0,0,1,.17-.83,2.24,2.24,0,0,1,.45-.68,2,2,0,0,1,.68-.46A2.14,2.14,0,0,1,492.2,857.89Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M516.14,879.94a13,13,0,0,1-1.9.34c-.66.06-1.33.1-2,.1a6.34,6.34,0,0,1-4.41-1.34,5.31,5.31,0,0,1-1.45-4.1v-8.19H502v-2.28h4.39v-4.31l2.71-.7v5h7.05v2.28h-7.05v8a3.26,3.26,0,0,0,.9,2.52,3.75,3.75,0,0,0,2.65.84,12.3,12.3,0,0,0,1.64-.12,17.33,17.33,0,0,0,1.86-.36Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M535,860.61a18.38,18.38,0,0,0-3.69-.45q-3.68,0-3.67,3.84v2.75h6.87V869h-6.87v11.14h-2.77V869h-5v-2.27h5v-2.59q0-6.27,6.53-6.27a19.45,19.45,0,0,1,3.6.38Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M544,866.72h-4.64v-2.25h7.39v13.42h4.67v2.27H538.88v-2.27H544Zm1-8.83a2.14,2.14,0,0,1,.84.17,2,2,0,0,1,.68.46,2.24,2.24,0,0,1,.45.68,2.05,2.05,0,0,1,.17.83,2.09,2.09,0,0,1-.17.83,2.29,2.29,0,0,1-.45.69,2,2,0,0,1-.68.46,2.31,2.31,0,0,1-1.69,0,2,2,0,0,1-.68-.46,2.29,2.29,0,0,1-.45-.69,2.09,2.09,0,0,1-.17-.83,2.05,2.05,0,0,1,.17-.83,2.24,2.24,0,0,1,.45-.68,2,2,0,0,1,.68-.46A2.15,2.15,0,0,1,545,857.89Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M569.53,871.49c0,.38,0,.7,0,1s0,.5,0,.73h-11a4.85,4.85,0,0,0,1.35,3.69,5.37,5.37,0,0,0,3.87,1.29c.46,0,.92,0,1.38,0s.9-.09,1.33-.15.83-.13,1.22-.21.75-.16,1.09-.26v2.24a20.61,20.61,0,0,1-2.51.5,21,21,0,0,1-2.9.2,9.76,9.76,0,0,1-3.47-.55,5.89,5.89,0,0,1-2.38-1.58,6.53,6.53,0,0,1-1.37-2.55,11.88,11.88,0,0,1-.45-3.41,10.12,10.12,0,0,1,.48-3.14,7.69,7.69,0,0,1,1.39-2.59,6.48,6.48,0,0,1,2.24-1.77,6.67,6.67,0,0,1,3-.66,7.5,7.5,0,0,1,2.9.52,5.66,5.66,0,0,1,2.13,1.46,6.24,6.24,0,0,1,1.32,2.29A9.85,9.85,0,0,1,569.53,871.49Zm-2.83-.39a5.65,5.65,0,0,0-.2-1.92,4.06,4.06,0,0,0-.77-1.49,3.67,3.67,0,0,0-1.31-1,4.43,4.43,0,0,0-1.81-.35,3.74,3.74,0,0,0-1.62.35,3.54,3.54,0,0,0-1.27,1,5,5,0,0,0-.86,1.5,7.26,7.26,0,0,0-.41,1.93Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M579.22,860.31h-4.64v-2.23H582v19.81h4.67v2.27H574.06v-2.27h5.16Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M590.67,872.64a10.5,10.5,0,0,1,.55-3.55,7.31,7.31,0,0,1,1.55-2.63,6.65,6.65,0,0,1,2.43-1.62,8.52,8.52,0,0,1,3.14-.56,10.32,10.32,0,0,1,1.48.1,9.79,9.79,0,0,1,1.43.29v-6.59H604v22.08h-2.44l-.1-3a8.28,8.28,0,0,1-2.46,2.45,5.54,5.54,0,0,1-2.88.8,4.63,4.63,0,0,1-4.07-2.15,7.44,7.44,0,0,1-1-2.46A13.67,13.67,0,0,1,590.67,872.64Zm2.78-.17a8.4,8.4,0,0,0,.84,4.24,2.62,2.62,0,0,0,2.37,1.4,3.61,3.61,0,0,0,2.18-.92,13.3,13.3,0,0,0,2.41-2.73v-7.29a7.13,7.13,0,0,0-1.48-.47,8.16,8.16,0,0,0-1.61-.17A4.31,4.31,0,0,0,594.7,868,6.77,6.77,0,0,0,593.45,872.47Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M615.24,875.24a2.45,2.45,0,0,1,1,.2,2.53,2.53,0,0,1,.83.56,2.61,2.61,0,0,1,.76,1.86,2.55,2.55,0,0,1-.2,1,2.6,2.6,0,0,1-.56.82,2.53,2.53,0,0,1-.83.56,2.65,2.65,0,0,1-2,0,2.68,2.68,0,0,1-1.38-1.38,2.55,2.55,0,0,1-.2-1,2.61,2.61,0,0,1,.76-1.86,2.6,2.6,0,0,1,.82-.56A2.44,2.44,0,0,1,615.24,875.24Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M639.27,880.16h-2.72v-10a4.49,4.49,0,0,0-.68-2.71,2.3,2.3,0,0,0-2-.9,3.2,3.2,0,0,0-2,.67,7.81,7.81,0,0,0-1.13,1c-.4.42-.87.94-1.4,1.56v10.41h-2.72V858.08h2.72v6.39l-.1,2.47a11.1,11.1,0,0,1,1.26-1.29,7,7,0,0,1,1.23-.85,4.83,4.83,0,0,1,1.26-.47,6.45,6.45,0,0,1,1.33-.14,4.65,4.65,0,0,1,3.63,1.43,6.29,6.29,0,0,1,1.28,4.3Z" transform="translate(-341.21 -94.59)"/></g><g id="surface1-7" data-name="surface1"><path class="cls-3" d="M1145.5,642.18a5.81,5.81,0,0,0-5.79-5.79H1050v28.94a5.79,5.79,0,0,1-5.79,5.79h-31.84V798.48a5.81,5.81,0,0,0,5.79,5.79h121.57a5.81,5.81,0,0,0,5.79-5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-4" d="M1050,804.27h89.73a5.79,5.79,0,0,0,5.79-5.79V714.8A145.07,145.07,0,0,1,1050,804.27Z" transform="translate(-341.21 -94.59)"/><path class="cls-5" d="M1050,665.33V636.39l-37.63,34.73h31.84A5.79,5.79,0,0,0,1050,665.33Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1093.39,714.54h-60.78a2.9,2.9,0,0,1,0-5.79h60.78a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1106,731.9h-73.35a2.89,2.89,0,1,1,0-5.78H1106a2.89,2.89,0,0,1,0,5.78Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1067.84,749.27h-35.23a2.9,2.9,0,0,1,0-5.79h35.23a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1110.76,697.17h-55a2.9,2.9,0,1,1,0-5.79h55a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1044.19,697.17h-11.58a2.9,2.9,0,0,1,0-5.79h11.58a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/></g><path class="cls-7" d="M1161.12,653.75h-87.25a4.61,4.61,0,0,0-4.59,4.6v41.32a4.61,4.61,0,0,0,4.59,4.59h87.25a4.61,4.61,0,0,0,4.59-4.59V658.35A4.61,4.61,0,0,0,1161.12,653.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1088.08,766.64h-55.47a2.9,2.9,0,0,1,0-5.79h55.47a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1058.66,784h-26.05a2.9,2.9,0,0,1,0-5.79h26.05a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1100.4,749.27h-20.75a2.9,2.9,0,1,1,0-5.79h20.75a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><g class="cls-8"><path class="cls-9" d="M1112.28,666.68v9.88h10.43v-9.88h4.5v24.65h-4.5V680.47h-10.43v10.86h-4.5V666.68Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M1025.76,840.42a10.48,10.48,0,0,1-.54,3.49,7.33,7.33,0,0,1-1.53,2.61,6.58,6.58,0,0,1-2.41,1.64,8.56,8.56,0,0,1-3.2.57,16.51,16.51,0,0,1-2.85-.26,14.27,14.27,0,0,1-2.87-.85V826.47h2.72v6.07l-.13,2.91a7.17,7.17,0,0,1,2.51-2.23,6.49,6.49,0,0,1,2.87-.64,4.7,4.7,0,0,1,2.35.56,4.86,4.86,0,0,1,1.71,1.58,7.59,7.59,0,0,1,1,2.47A14,14,0,0,1,1025.76,840.42Zm-2.78.12a13.19,13.19,0,0,0-.18-2.26,5.94,5.94,0,0,0-.57-1.77,3.13,3.13,0,0,0-1-1.15,2.55,2.55,0,0,0-1.45-.41,3.88,3.88,0,0,0-1,.16,4.52,4.52,0,0,0-1.1.55,8.6,8.6,0,0,0-1.2,1,14.38,14.38,0,0,0-1.35,1.57v7.61a10.4,10.4,0,0,0,1.62.49,7.44,7.44,0,0,0,1.58.18,5.38,5.38,0,0,0,1.79-.3,3.86,3.86,0,0,0,1.5-1,5.06,5.06,0,0,0,1-1.84A9.34,9.34,0,0,0,1023,840.54Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1040,848.54l-.06-2.11a8.42,8.42,0,0,1-2.61,1.83,6.9,6.9,0,0,1-2.77.57,6.79,6.79,0,0,1-2.3-.35,4.35,4.35,0,0,1-1.57-.94,3.66,3.66,0,0,1-.9-1.42,5,5,0,0,1-.29-1.76,4.36,4.36,0,0,1,1.76-3.7,8.49,8.49,0,0,1,5.19-1.33h3.25V838a2.93,2.93,0,0,0-.89-2.23,3.88,3.88,0,0,0-2.72-.83,12,12,0,0,0-2.61.29,18.21,18.21,0,0,0-2.67.85v-2.45c.34-.13.73-.25,1.15-.37s.87-.23,1.34-.32,1-.17,1.46-.23a13.3,13.3,0,0,1,1.55-.08,9.6,9.6,0,0,1,2.56.31,5.13,5.13,0,0,1,1.93,1,4.13,4.13,0,0,1,1.21,1.61,5.55,5.55,0,0,1,.43,2.28v10.81Zm-.3-7.14h-3.45a6.4,6.4,0,0,0-1.75.21,3.19,3.19,0,0,0-1.2.57,2.25,2.25,0,0,0-.7.9,3,3,0,0,0-.23,1.18,2.78,2.78,0,0,0,.14.87,1.93,1.93,0,0,0,.46.73,2.08,2.08,0,0,0,.81.51,3.36,3.36,0,0,0,1.22.19,5.19,5.19,0,0,0,2.15-.57,10.35,10.35,0,0,0,2.55-1.81Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1048.18,832.86h2.49l.08,2.89a9.88,9.88,0,0,1,2.74-2.42,5.57,5.57,0,0,1,2.73-.75,4.44,4.44,0,0,1,3.69,1.57,7.09,7.09,0,0,1,1.17,4.69h-2.75a5.08,5.08,0,0,0-.61-3,2.15,2.15,0,0,0-1.89-.93,3.32,3.32,0,0,0-1.11.19,4.35,4.35,0,0,0-1.14.63,10.56,10.56,0,0,0-1.24,1.1,19.55,19.55,0,0,0-1.41,1.63v10.07h-2.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1078.39,839.87c0,.39,0,.71,0,1s0,.51,0,.74h-11a4.9,4.9,0,0,0,1.34,3.69,5.39,5.39,0,0,0,3.88,1.29c.46,0,.91,0,1.37,0s.9-.09,1.33-.15l1.23-.21c.39-.08.75-.17,1.08-.26v2.23a18.62,18.62,0,0,1-2.5.51,21.07,21.07,0,0,1-2.9.2,10,10,0,0,1-3.47-.55,5.91,5.91,0,0,1-2.38-1.59,6.56,6.56,0,0,1-1.38-2.54,12,12,0,0,1-.44-3.42,10,10,0,0,1,.47-3.13,7.77,7.77,0,0,1,1.39-2.59,6.57,6.57,0,0,1,5.26-2.43,7.79,7.79,0,0,1,2.91.51,5.83,5.83,0,0,1,2.13,1.46,6.12,6.12,0,0,1,1.31,2.3A9.53,9.53,0,0,1,1078.39,839.87Zm-2.83-.39a6.13,6.13,0,0,0-.2-1.91,4,4,0,0,0-.78-1.49,3.52,3.52,0,0,0-1.3-1,4.3,4.3,0,0,0-1.81-.35,3.78,3.78,0,0,0-1.63.34,3.62,3.62,0,0,0-1.26,1,4.79,4.79,0,0,0-.86,1.5,6.75,6.75,0,0,0-.41,1.92Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1094.92,848a12,12,0,0,1-2.18.6,13.42,13.42,0,0,1-2.31.19,7.74,7.74,0,0,1-5.72-2,8,8,0,0,1-2-5.89,9.33,9.33,0,0,1,.58-3.38,7.54,7.54,0,0,1,1.62-2.59,7.18,7.18,0,0,1,2.5-1.67,8.53,8.53,0,0,1,3.21-.58,14.88,14.88,0,0,1,2.28.17,9.24,9.24,0,0,1,2,.56V836a8.43,8.43,0,0,0-2.07-.78,9.78,9.78,0,0,0-2.18-.24,4.9,4.9,0,0,0-2,.4,4.75,4.75,0,0,0-1.63,1.15,5.4,5.4,0,0,0-1.11,1.83,6.84,6.84,0,0,0-.41,2.43,5.87,5.87,0,0,0,1.39,4.26,5.12,5.12,0,0,0,3.83,1.41,9,9,0,0,0,2.15-.25,8.43,8.43,0,0,0,2-.75Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1113,848.33a14.64,14.64,0,0,1-1.91.33,18.86,18.86,0,0,1-2,.1,6.34,6.34,0,0,1-4.41-1.33,5.31,5.31,0,0,1-1.45-4.1v-8.19h-4.39v-2.28h4.39v-4.32l2.72-.7v5h7v2.28h-7v8a3.29,3.29,0,0,0,.9,2.52,3.75,3.75,0,0,0,2.65.84,12.42,12.42,0,0,0,1.64-.12A15.66,15.66,0,0,0,1113,846Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1131.84,829a18.47,18.47,0,0,0-3.69-.46c-2.44,0-3.67,1.29-3.67,3.85v2.75h6.88v2.26h-6.88v11.14h-2.76V837.4h-5v-2.26h5v-2.6q0-6.25,6.53-6.26a19.28,19.28,0,0,1,3.59.37Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1141.68,843.62a2.47,2.47,0,0,1,1,.21,2.39,2.39,0,0,1,.83.56,2.76,2.76,0,0,1,.56.83,2.7,2.7,0,0,1,.2,1,2.62,2.62,0,0,1-.2,1,2.72,2.72,0,0,1-.56.82,2.51,2.51,0,0,1-.83.55,2.47,2.47,0,0,1-1,.21,2.44,2.44,0,0,1-1-.21,2.57,2.57,0,0,1-.82-.55,2.72,2.72,0,0,1-.56-.82,2.62,2.62,0,0,1-.2-1,2.7,2.7,0,0,1,.2-1,2.76,2.76,0,0,1,.56-.83,2.58,2.58,0,0,1,1.83-.77Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1165.72,848.54H1163v-10a4.49,4.49,0,0,0-.68-2.71,2.3,2.3,0,0,0-2-.9,3.4,3.4,0,0,0-1,.15,3.6,3.6,0,0,0-1,.51,8.63,8.63,0,0,0-1.13,1c-.4.41-.87.93-1.4,1.56v10.4h-2.72V826.47h2.72v6.39l-.1,2.47A11.1,11.1,0,0,1,1157,834a7.06,7.06,0,0,1,1.23-.86,5,5,0,0,1,1.26-.46,5.83,5.83,0,0,1,1.33-.14,4.58,4.58,0,0,1,3.62,1.43,6.23,6.23,0,0,1,1.29,4.3Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-27"><line class="cls-28" x1="289.39" y1="643.14" x2="382.95" y2="643.14"/><polygon class="cls-6" points="373.01 655.41 370.97 653.22 381.8 643.15 370.97 633.08 373.01 630.88 386.21 643.15 373.01 655.41"/></g><g class="cls-27"><line class="cls-28" x1="653.87" y1="643.14" x2="560.3" y2="643.14"/><polygon class="cls-6" points="570.24 630.88 572.29 633.07 561.45 643.14 572.29 653.21 570.24 655.41 557.05 643.14 570.24 630.88"/></g><g class="cls-25"><path class="cls-26" d="M813.25,359.53c0,106.25-243.06,88.87-271.33,221.47" transform="translate(-341.21 -94.59)"/><polygon class="cls-11" points="198.04 512.75 187.18 473.94 201.31 484.49 217.46 477.44 198.04 512.75"/></g><g class="cls-27"><line class="cls-28" x1="743.87" y1="779.26" x2="743.87" y2="872.82"/><polygon class="cls-6" points="731.6 862.88 733.8 860.83 743.87 871.67 753.94 860.83 756.14 862.88 743.87 876.07 731.6 862.88"/></g><g class="cls-27"><line class="cls-28" x1="825.39" y1="643.14" x2="918.95" y2="643.14"/><polygon class="cls-6" points="909.01 655.41 906.97 653.22 917.8 643.15 906.97 633.08 909.01 630.88 922.21 643.15 909.01 655.41"/></g><g class="cls-27"><line class="cls-28" x1="1189.87" y1="643.14" x2="1096.3" y2="643.14"/><polygon class="cls-6" points="1106.24 630.88 1108.29 633.07 1097.45 643.14 1108.29 653.21 1106.24 655.41 1093.05 643.14 1106.24 630.88"/></g><g class="cls-25"><line class="cls-26" x1="743.87" y1="1149" x2="743.87" y2="1370.34"/><polygon class="cls-11" points="743.87 1396.82 728.63 1359.51 743.87 1368.37 759.11 1359.51 743.87 1396.82"/></g><path class="cls-29" d="M1350.84,886.71c0,423.08-265.76,390.33-265.76,572.7" transform="translate(-341.21 -94.59)"/><path class="cls-29" d="M819.33,886.71c0,423.08,265.75,390.33,265.75,572.7" transform="translate(-341.21 -94.59)"/><g id="Page-1"><path id="Shape" class="cls-30" d="M1433.86,1539.8h84.07a12.45,12.45,0,0,1,12.46,12.45v143.24a12.45,12.45,0,0,1-12.46,12.45H1405.84a12.45,12.45,0,0,1-12.46-12.45V1580.28Z" transform="translate(-341.21 -94.59)"/><path class="cls-31" d="M1433.86,1539.8v28a12.46,12.46,0,0,1-12.46,12.46h-28Z" transform="translate(-341.21 -94.59)"/><path class="cls-32" d="M1499.25,1555.37h-18.68a3.12,3.12,0,1,1,0-6.23h18.68a3.12,3.12,0,0,1,0,6.23Z" transform="translate(-341.21 -94.59)"/><path class="cls-32" d="M1517.93,1555.37h-6.23a3.12,3.12,0,0,1,0-6.23h6.23a3.12,3.12,0,1,1,0,6.23Z" transform="translate(-341.21 -94.59)"/><path class="cls-31" d="M1412.06,1695.49H1409a3.12,3.12,0,0,1,0-6.23h3.11a3.12,3.12,0,1,1,0,6.23Z" transform="translate(-341.21 -94.59)"/><path class="cls-31" d="M1443.2,1695.49h-18.68a3.12,3.12,0,1,1,0-6.23h18.68a3.12,3.12,0,0,1,0,6.23Z" transform="translate(-341.21 -94.59)"/><rect id="Rectangle-path" class="cls-33" x="1101.99" y="1519.94" width="130.78" height="105.87" rx="12.46"/><rect class="cls-34" x="1114.44" y="1532.39" width="105.87" height="80.96" rx="3.11"/><path class="cls-32" d="M1468.11,1661.24a3.12,3.12,0,0,1-1.87-5.61l9.14-6.85-9.14-6.85a3.11,3.11,0,0,1,3.74-5l12.45,9.34a3.11,3.11,0,0,1,0,5l-12.45,9.34A3.08,3.08,0,0,1,1468.11,1661.24Z" transform="translate(-341.21 -94.59)"/><path class="cls-32" d="M1496.14,1661.24h-9.35a3.12,3.12,0,0,1,0-6.23h9.35a3.12,3.12,0,0,1,0,6.23Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M1444.59,1764.05v-11.27a9.72,9.72,0,0,0-.06-1.2,2.8,2.8,0,0,0-.17-.74.88.88,0,0,0-.3-.39.87.87,0,0,0-.44-.11,1,1,0,0,0-.58.19,2.63,2.63,0,0,0-.57.61,9.69,9.69,0,0,0-.67,1.12q-.37.69-.87,1.71v10.08h-2.48v-11a12.88,12.88,0,0,0-.06-1.39,3.41,3.41,0,0,0-.17-.83.8.8,0,0,0-.31-.41.88.88,0,0,0-.45-.11,1,1,0,0,0-.53.16,2.24,2.24,0,0,0-.55.56,8.59,8.59,0,0,0-.68,1.11q-.37.7-.9,1.8v10.08h-2.5v-15.69h2.08l.13,3a13.79,13.79,0,0,1,.79-1.51,4.49,4.49,0,0,1,.79-1,2.58,2.58,0,0,1,1.89-.74,2.32,2.32,0,0,1,1.92.83,4.07,4.07,0,0,1,.65,2.56c.25-.54.5-1,.74-1.45a5.69,5.69,0,0,1,.77-1.06,3,3,0,0,1,.92-.65,2.78,2.78,0,0,1,1.15-.23c2,0,3,1.51,3,4.55v11.42Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1465,1748.36l-5.35,14a26.89,26.89,0,0,1-1.71,3.69,10.92,10.92,0,0,1-1.93,2.54,6.74,6.74,0,0,1-2.3,1.46,7.93,7.93,0,0,1-2.79.47l-.74,0-.72,0V1768l.75.08a7.88,7.88,0,0,0,.86,0,4.24,4.24,0,0,0,1.4-.22,3.67,3.67,0,0,0,1.23-.71,6.77,6.77,0,0,0,1.11-1.27,12.54,12.54,0,0,0,1-1.89l-6.27-15.69h3.1l4,10.38.79,2.43.91-2.5,3.67-10.31Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1479.55,1756.81h-9.34v-2.56h9.34Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1496.26,1764.05l-.06-2.11a8.77,8.77,0,0,1-2.61,1.83,7.07,7.07,0,0,1-2.77.56,6.8,6.8,0,0,1-2.3-.34,4.37,4.37,0,0,1-1.57-1,3.63,3.63,0,0,1-.9-1.41,5.06,5.06,0,0,1-.29-1.77,4.36,4.36,0,0,1,1.76-3.69,8.42,8.42,0,0,1,5.19-1.34H1496v-1.38a2.92,2.92,0,0,0-.89-2.22,3.84,3.84,0,0,0-2.72-.84,11.57,11.57,0,0,0-2.62.3,19.73,19.73,0,0,0-2.66.84v-2.45c.34-.13.73-.25,1.15-.37s.87-.22,1.33-.32,1-.17,1.47-.22a13.3,13.3,0,0,1,1.55-.09,9.6,9.6,0,0,1,2.56.31,5.29,5.29,0,0,1,1.93.95,4.21,4.21,0,0,1,1.21,1.61,5.74,5.74,0,0,1,.43,2.29v10.81Zm-.3-7.14h-3.45a6.85,6.85,0,0,0-1.75.2,3.5,3.5,0,0,0-1.21.58,2.32,2.32,0,0,0-.69.9,3,3,0,0,0-.23,1.18,2.72,2.72,0,0,0,.14.86,2,2,0,0,0,.46.74,2.25,2.25,0,0,0,.81.51,3.61,3.61,0,0,0,1.22.18,5.19,5.19,0,0,0,2.15-.57,10.75,10.75,0,0,0,2.55-1.8Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1517.18,1755.92a10.4,10.4,0,0,1-.59,3.66,7.18,7.18,0,0,1-1.61,2.59,6.57,6.57,0,0,1-2.44,1.55,8.88,8.88,0,0,1-3,.52,14.72,14.72,0,0,1-1.49-.08,10.44,10.44,0,0,1-1.51-.27v6.56h-2.72v-22.09h2.43l.17,2.63a6.87,6.87,0,0,1,2.5-2.26,6.46,6.46,0,0,1,2.87-.65,4.63,4.63,0,0,1,4.06,2.15,7.42,7.42,0,0,1,1,2.47A14.46,14.46,0,0,1,1517.18,1755.92Zm-2.78.13a13.31,13.31,0,0,0-.18-2.27,5.87,5.87,0,0,0-.57-1.76,3.14,3.14,0,0,0-1-1.15,2.5,2.5,0,0,0-1.45-.42,3.49,3.49,0,0,0-1,.17,4,4,0,0,0-1.1.55,8.39,8.39,0,0,0-1.21,1,16.77,16.77,0,0,0-1.35,1.57v7.61a9.07,9.07,0,0,0,1.58.49,7.61,7.61,0,0,0,1.63.18,4.26,4.26,0,0,0,3.45-1.49A6.87,6.87,0,0,0,1514.4,1756.05Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1534.77,1755.92a10.41,10.41,0,0,1-.58,3.66,7.06,7.06,0,0,1-1.62,2.59,6.57,6.57,0,0,1-2.44,1.55,8.82,8.82,0,0,1-3,.52c-.5,0-1,0-1.5-.08a10.31,10.31,0,0,1-1.5-.27v6.56h-2.72v-22.09h2.42l.17,2.63a7,7,0,0,1,2.5-2.26,6.51,6.51,0,0,1,2.88-.65,4.87,4.87,0,0,1,2.36.56,5,5,0,0,1,1.7,1.59,7.41,7.41,0,0,1,1,2.47A13.9,13.9,0,0,1,1534.77,1755.92Zm-2.78.13a13.31,13.31,0,0,0-.18-2.27,5.87,5.87,0,0,0-.57-1.76,3.05,3.05,0,0,0-1-1.15,2.48,2.48,0,0,0-1.45-.42,3.6,3.6,0,0,0-1,.17,4.18,4.18,0,0,0-1.1.55,7.85,7.85,0,0,0-1.2,1,15.4,15.4,0,0,0-1.35,1.57v7.61a9,9,0,0,0,1.57.49,7.75,7.75,0,0,0,1.63.18,4.23,4.23,0,0,0,3.45-1.49A6.82,6.82,0,0,0,1532,1756.05Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-25"><line class="cls-26" x1="874.35" y1="1529.44" x2="995.69" y2="1529.44"/><polygon class="cls-11" points="1022.17 1529.44 984.86 1544.69 993.71 1529.44 984.86 1514.2 1022.17 1529.44"/></g><g class="cls-25"><line class="cls-26" x1="1142.47" y1="1704.26" x2="1142.47" y2="1925.6"/><polygon class="cls-11" points="1142.47 1952.08 1127.22 1914.77 1142.47 1923.63 1157.71 1914.77 1142.47 1952.08"/></g><g id="surface1-8" data-name="surface1"><path class="cls-4" d="M1470.88,2097h67.21v-12.8a6.42,6.42,0,0,0-6.4-6.4h-99.22v32a6.41,6.41,0,0,1-6.4,6.4h-35.21v121.62a6.43,6.43,0,0,0,6.4,6.41h32V2135.37Z" transform="translate(-341.21 -94.59)"/><path class="cls-5" d="M1432.47,2109.77v-32l-41.61,38.41h35.21A6.41,6.41,0,0,0,1432.47,2109.77Z" transform="translate(-341.21 -94.59)"/><g class="cls-35"><path class="cls-6" d="M1422,2140.05c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1422,2136.17,1422,2140.05Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86C1416,2135.23,1415,2136.87,1415.06,2140.17Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1427.48,2135.8h0L1425,2137l-.42-1.88,3.19-1.57h2.08v13.14h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1438.31,2135.8h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1454.53,2140.05c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.84,4.81-6.84S1454.53,2136.17,1454.53,2140.05Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86C1448.48,2135.23,1447.55,2136.87,1447.57,2140.17Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1460,2135.8h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08v13.14H1460Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1476.2,2140.05c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1476.2,2136.17,1476.2,2140.05Zm-7,.12c0,3.19.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C1470.16,2135.23,1469.22,2136.87,1469.25,2140.17Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1487,2140.05c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.84,4.81-6.84S1487,2136.17,1487,2140.05Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86C1481,2135.23,1480.06,2136.87,1480.08,2140.17Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1497.87,2140.05c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1497.87,2136.17,1497.87,2140.05Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1491.83,2135.23,1490.9,2136.87,1490.92,2140.17Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1503.33,2135.8h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1514.17,2135.8h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08v13.14h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1416.64,2152.06h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08V2163h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1432.86,2156.31c0,4.22-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.82-6.84S1432.86,2152.43,1432.86,2156.31Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1426.81,2151.5,1425.88,2153.13,1425.9,2156.43Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1443.69,2156.31c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1443.69,2152.43,1443.69,2156.31Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1437.65,2151.5,1436.72,2153.13,1436.74,2156.43Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1449.15,2152.06h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09V2163h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1465.36,2156.31c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1465.36,2152.43,1465.36,2156.31Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1459.32,2151.5,1458.39,2153.13,1458.41,2156.43Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1470.82,2152.06h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08V2163h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1487,2156.31c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.84,4.81-6.84S1487,2152.43,1487,2156.31Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C1481,2151.5,1480.06,2153.13,1480.08,2156.43Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1492.5,2152.06h0l-2.41,1.21-.43-1.88,3.2-1.57h2.08V2163h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1508.71,2156.31c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1508.71,2152.43,1508.71,2156.31Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C1502.66,2151.5,1501.73,2153.13,1501.75,2156.43Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1514.17,2152.06h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08V2163h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1422,2172.57c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1422,2168.69,1422,2172.57Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C1416,2167.76,1415,2169.39,1415.06,2172.69Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1432.86,2172.57c0,4.22-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.82-6.84S1432.86,2168.69,1432.86,2172.57Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1426.81,2167.76,1425.88,2169.39,1425.9,2172.69Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1438.31,2168.32h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1454.53,2172.57c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.84,4.81-6.84S1454.53,2168.69,1454.53,2172.57Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C1448.48,2167.76,1447.55,2169.39,1447.57,2172.69Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1460,2168.32h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08v13.14H1460Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1476.2,2172.57c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1476.2,2168.69,1476.2,2172.57Zm-7,.12c0,3.19.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C1470.16,2167.76,1469.22,2169.39,1469.25,2172.69Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1481.66,2168.32h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1497.87,2172.57c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1497.87,2168.69,1497.87,2172.57Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1491.83,2167.76,1490.9,2169.39,1490.92,2172.69Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1508.71,2172.57c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1508.71,2168.69,1508.71,2172.57Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C1502.66,2167.76,1501.73,2169.39,1501.75,2172.69Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1514.17,2168.32h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08v13.14h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1416.64,2184.58h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1432.86,2188.83c0,4.22-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.82-6.83S1432.86,2185,1432.86,2188.83Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1426.81,2184,1425.88,2185.65,1425.9,2189Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1438.31,2184.58h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1454.53,2188.83c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.83,4.81-6.83S1454.53,2185,1454.53,2188.83Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C1448.48,2184,1447.55,2185.65,1447.57,2189Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1465.36,2188.83c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S1465.36,2185,1465.36,2188.83Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1459.32,2184,1458.39,2185.65,1458.41,2189Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1470.82,2184.58h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1487,2188.83c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.83,4.81-6.83S1487,2185,1487,2188.83Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C1481,2184,1480.06,2185.65,1480.08,2189Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1497.87,2188.83c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S1497.87,2185,1497.87,2188.83Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1491.83,2184,1490.9,2185.65,1490.92,2189Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1503.33,2184.58h0l-2.41,1.22-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1519.55,2188.83c0,4.22-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S1519.55,2185,1519.55,2188.83Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1513.5,2184,1512.57,2185.65,1512.59,2189Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1422,2205.09c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S1422,2201.21,1422,2205.09Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C1416,2200.28,1415,2201.91,1415.06,2205.21Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1432.86,2205.09c0,4.22-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.82-6.83S1432.86,2201.21,1432.86,2205.09Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1426.81,2200.28,1425.88,2201.91,1425.9,2205.21Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1438.31,2200.84h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1449.15,2200.84h0l-2.41,1.22-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1465.36,2205.09c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S1465.36,2201.21,1465.36,2205.09Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1459.32,2200.28,1458.39,2201.91,1458.41,2205.21Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1470.82,2200.84h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1481.66,2200.84h0l-2.41,1.22-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1492.5,2200.84h0l-2.41,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1508.71,2205.09c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S1508.71,2201.21,1508.71,2205.09Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C1502.66,2200.28,1501.73,2201.91,1501.75,2205.21Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1514.17,2200.84h0l-2.41,1.22-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1416.64,2217.1h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08V2228h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1427.48,2217.1h0l-2.41,1.22-.42-1.88,3.19-1.58h2.08V2228h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1443.69,2221.35c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S1443.69,2217.47,1443.69,2221.35Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1437.65,2216.54,1436.72,2218.17,1436.74,2221.47Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1449.15,2217.1h0l-2.41,1.22-.42-1.88,3.19-1.58h2.09V2228h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1465.36,2221.35c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S1465.36,2217.47,1465.36,2221.35Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C1459.32,2216.54,1458.39,2218.17,1458.41,2221.47Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1476.2,2221.35c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S1476.2,2217.47,1476.2,2221.35Zm-7,.12c0,3.19.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C1470.16,2216.54,1469.22,2218.17,1469.25,2221.47Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1481.66,2217.1h0l-2.41,1.22-.42-1.88,3.19-1.58h2.09V2228h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1492.5,2217.1h0l-2.41,1.22-.43-1.88,3.2-1.58h2.08V2228h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1508.71,2221.35c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S1508.71,2217.47,1508.71,2221.35Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C1502.66,2216.54,1501.73,2218.17,1501.75,2221.47Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1514.17,2217.1h0l-2.41,1.22-.42-1.88,3.19-1.58h2.08V2228h-2.4Z" transform="translate(-341.21 -94.59)"/></g><path class="cls-3" d="M1570.1,2097h-99.22v32a6.4,6.4,0,0,1-6.4,6.4h-35.21V2257a6.42,6.42,0,0,0,6.4,6.4H1570.1a6.42,6.42,0,0,0,6.4-6.4V2103.36A6.42,6.42,0,0,0,1570.1,2097Z" transform="translate(-341.21 -94.59)"/><path class="cls-5" d="M1464.48,2135.37a6.4,6.4,0,0,0,6.4-6.4v-32l-41.61,38.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-4" d="M1470.88,2263.4h99.22a6.41,6.41,0,0,0,6.4-6.4v-92.53A160.38,160.38,0,0,1,1470.88,2263.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1460.42,2160.12c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1460.42,2156.23,1460.42,2160.12Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1454.38,2155.3,1453.45,2156.94,1453.47,2160.24Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1465.88,2155.87h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1476.72,2155.87h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1492.93,2160.12c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1492.93,2156.23,1492.93,2160.12Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1486.89,2155.3,1486,2156.94,1486,2160.24Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1498.39,2155.87h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1514.6,2160.12c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1514.6,2156.23,1514.6,2160.12Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1508.56,2155.3,1507.63,2156.94,1507.65,2160.24Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1525.44,2160.12c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1525.44,2156.23,1525.44,2160.12Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C1519.4,2155.3,1518.47,2156.94,1518.49,2160.24Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1536.28,2160.12c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.84,4.81-6.84S1536.28,2156.23,1536.28,2160.12Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86C1530.23,2155.3,1529.3,2156.94,1529.32,2160.24Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1541.74,2155.87h0l-2.41,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1552.57,2155.87h0l-2.4,1.21-.43-1.88,3.19-1.57H1555v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1455.05,2172.13h0l-2.41,1.21-.43-1.88,3.2-1.57h2.08V2183h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1471.26,2176.38c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1471.26,2172.49,1471.26,2176.38Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C1465.22,2171.56,1464.28,2173.2,1464.3,2176.5Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1482.1,2176.38c0,4.22-1.66,6.87-4.8,6.87s-4.64-2.75-4.67-6.75,1.74-6.84,4.82-6.84S1482.1,2172.49,1482.1,2176.38Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S1475.12,2173.2,1475.14,2176.5Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1487.55,2172.13h0l-2.4,1.21-.43-1.88,3.2-1.57H1490V2183h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1503.77,2176.38c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1503.77,2172.49,1503.77,2176.38Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86C1497.72,2171.56,1496.79,2173.2,1496.81,2176.5Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1509.23,2172.13h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08V2183h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1525.44,2176.38c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1525.44,2172.49,1525.44,2176.38Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C1519.4,2171.56,1518.47,2173.2,1518.49,2176.5Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1530.9,2172.13h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09V2183h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1547.11,2176.38c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1547.11,2172.49,1547.11,2176.38Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1541.07,2171.56,1540.14,2173.2,1540.16,2176.5Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1552.57,2172.13h0l-2.4,1.21-.43-1.88,3.19-1.57H1555V2183h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1460.42,2192.64c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1460.42,2188.75,1460.42,2192.64Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1454.38,2187.82,1453.45,2189.46,1453.47,2192.76Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1471.26,2192.64c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1471.26,2188.75,1471.26,2192.64Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C1465.22,2187.82,1464.28,2189.46,1464.3,2192.76Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1476.72,2188.39h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1492.93,2192.64c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1492.93,2188.75,1492.93,2192.64Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1486.89,2187.82,1486,2189.46,1486,2192.76Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1498.39,2188.39h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1514.6,2192.64c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1514.6,2188.75,1514.6,2192.64Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1508.56,2187.82,1507.63,2189.46,1507.65,2192.76Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1520.06,2188.39h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1536.28,2192.64c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.84,4.81-6.84S1536.28,2188.75,1536.28,2192.64Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86C1530.23,2187.82,1529.3,2189.46,1529.32,2192.76Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1547.11,2192.64c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1547.11,2188.75,1547.11,2192.64Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1541.07,2187.82,1540.14,2189.46,1540.16,2192.76Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1552.57,2188.39h0l-2.4,1.21-.43-1.88,3.19-1.57H1555v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1455.05,2204.65h0l-2.41,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1471.26,2208.9c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1471.26,2205,1471.26,2208.9Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C1465.22,2204.08,1464.28,2205.72,1464.3,2209Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1476.72,2204.65h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1492.93,2208.9c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1492.93,2205,1492.93,2208.9Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1486.89,2204.08,1486,2205.72,1486,2209Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1503.77,2208.9c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1503.77,2205,1503.77,2208.9Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86C1497.72,2204.08,1496.79,2205.72,1496.81,2209Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1509.23,2204.65h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08v13.14h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1525.44,2208.9c0,4.22-1.66,6.87-4.79,6.87S1516,2213,1516,2209s1.74-6.84,4.81-6.84S1525.44,2205,1525.44,2208.9Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C1519.4,2204.08,1518.47,2205.72,1518.49,2209Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1536.28,2208.9c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.84,4.81-6.84S1536.28,2205,1536.28,2208.9Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86C1530.23,2204.08,1529.3,2205.72,1529.32,2209Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1541.74,2204.65h0l-2.41,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1558,2208.9c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1558,2205,1558,2208.9Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86C1551.9,2204.08,1551,2205.72,1551,2209Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1460.42,2225.16c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1460.42,2221.28,1460.42,2225.16Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1454.38,2220.34,1453.45,2222,1453.47,2225.28Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1471.26,2225.16c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1471.26,2221.28,1471.26,2225.16Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C1465.22,2220.34,1464.28,2222,1464.3,2225.28Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1476.72,2220.91h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1487.55,2220.91h0l-2.4,1.21-.43-1.88,3.2-1.57H1490v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1503.77,2225.16c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1503.77,2221.28,1503.77,2225.16Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86C1497.72,2220.34,1496.79,2222,1496.81,2225.28Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1509.23,2220.91h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08v13.14h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1520.06,2220.91h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1530.9,2220.91h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1547.11,2225.16c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1547.11,2221.28,1547.11,2225.16Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1541.07,2220.34,1540.14,2222,1540.16,2225.28Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1552.57,2220.91h0l-2.4,1.21-.43-1.88,3.19-1.57H1555v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1455.05,2237.17h0l-2.41,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.4Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1465.88,2237.17h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1482.1,2241.42c0,4.22-1.66,6.87-4.8,6.87s-4.64-2.75-4.67-6.75,1.74-6.84,4.82-6.84S1482.1,2237.54,1482.1,2241.42Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S1475.12,2238.24,1475.14,2241.54Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1487.55,2237.17h0l-2.4,1.21-.43-1.88,3.2-1.57H1490v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1503.77,2241.42c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1503.77,2237.54,1503.77,2241.42Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86C1497.72,2236.6,1496.79,2238.24,1496.81,2241.54Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1514.6,2241.42c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1514.6,2237.54,1514.6,2241.42Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1508.56,2236.6,1507.63,2238.24,1507.65,2241.54Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1520.06,2237.17h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1530.9,2237.17h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1547.11,2241.42c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S1547.11,2237.54,1547.11,2241.42Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C1541.07,2236.6,1540.14,2238.24,1540.16,2241.54Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1552.57,2237.17h0l-2.4,1.21-.43-1.88,3.19-1.57H1555v13.14h-2.41Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M1440.75,2304.75a13.62,13.62,0,0,1-5.57,1c-6.84,0-11-4.28-11-10.84,0-7.11,4.92-11.39,11.52-11.39a12.29,12.29,0,0,1,5.24,1l-.86,3.13a10.42,10.42,0,0,0-4.22-.83c-4.39,0-7.56,2.75-7.56,7.93,0,4.74,2.79,7.78,7.52,7.78a11,11,0,0,0,4.29-.8Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1448.88,2287.12h-6.14v-3.29H1459v3.29h-6.2v18.27h-3.94Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1461.55,2283.83H1474v3.23h-8.51v6h7.93v3.23h-7.93v9.15h-3.94Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1498.67,2282.68V2301c0,1.6.06,3.33.13,4.38h-3.52l-.16-2.46h-.07a5.59,5.59,0,0,1-5.08,2.82c-3.71,0-6.66-3.17-6.66-8,0-5.22,3.23-8.32,7-8.32a4.94,4.94,0,0,1,4.38,2.05h.06v-8.83Zm-3.94,13.63a6,6,0,0,0-.09-1,3.45,3.45,0,0,0-3.39-2.78c-2.53,0-3.94,2.24-3.94,5.15s1.41,4.93,3.91,4.93a3.48,3.48,0,0,0,3.39-2.79,4.62,4.62,0,0,0,.12-1.15Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1511.66,2305.39l-.25-1.72h-.1a5.8,5.8,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.89-4.64c0-3.94,3.49-5.92,9.24-5.89V2295c0-1-.41-2.72-3.16-2.72a8.24,8.24,0,0,0-4.19,1.15l-.77-2.55a11.12,11.12,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25,25,0,0,0,.22,3.74Zm-.51-7.61c-2.78-.07-5.44.54-5.44,2.91a2.06,2.06,0,0,0,2.24,2.24,3.18,3.18,0,0,0,3.07-2.14,2.74,2.74,0,0,0,.13-.87Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1523.47,2285.36v4.45h3.75v3h-3.75v6.87c0,1.89.51,2.88,2,2.88a5.61,5.61,0,0,0,1.53-.19l.07,3a8.8,8.8,0,0,1-2.85.38,4.54,4.54,0,0,1-3.39-1.28c-.83-.89-1.22-2.3-1.22-4.35v-7.32h-2.24v-3h2.24v-3.52Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1539,2305.39l-.26-1.72h-.09a5.8,5.8,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89V2295c0-1-.41-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.77-2.55a11.19,11.19,0,0,1,5.64-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25,25,0,0,0,.22,3.74Zm-.51-7.61c-2.79-.07-5.44.54-5.44,2.91a2.06,2.06,0,0,0,2.24,2.24,3.18,3.18,0,0,0,3.07-2.14,2.74,2.74,0,0,0,.13-.87Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1431.14,2332.18a8.8,8.8,0,0,0,4,1.12c1.72,0,2.49-.71,2.49-1.73s-.64-1.6-2.56-2.27c-3-1.06-4.32-2.72-4.28-4.54,0-2.76,2.27-4.9,5.88-4.9a9.16,9.16,0,0,1,4.13.93l-.77,2.78a7,7,0,0,0-3.29-.9c-1.41,0-2.18.68-2.18,1.64s.74,1.47,2.72,2.17c2.82,1,4.13,2.47,4.16,4.77,0,2.82-2.21,4.86-6.34,4.86a10,10,0,0,1-4.73-1.08Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1449.18,2315.76v4.45h3.75v2.94h-3.75V2330c0,1.89.52,2.88,2,2.88a5.76,5.76,0,0,0,1.54-.19l.06,3a8.8,8.8,0,0,1-2.85.38,4.56,4.56,0,0,1-3.39-1.28c-.83-.89-1.22-2.3-1.22-4.35v-7.33h-2.24v-2.94h2.24v-3.52Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1455.91,2325.23c0-2.11,0-3.61-.13-5h3.42l.13,3h.13a4.64,4.64,0,0,1,4.25-3.33,3.79,3.79,0,0,1,.93.1v3.71a5.07,5.07,0,0,0-1.15-.13,3.47,3.47,0,0,0-3.52,3,6.34,6.34,0,0,0-.13,1.22v8.06h-3.93Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1469.79,2329.11c.1,2.81,2.31,4,4.8,4a11.62,11.62,0,0,0,4.32-.71l.58,2.72a14.58,14.58,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.62-8.38,7.61-8.38s6.72,4.16,6.72,7.58a9.18,9.18,0,0,1-.13,1.67Zm6.85-2.76c0-1.44-.61-3.8-3.23-3.8-2.43,0-3.46,2.21-3.62,3.8Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1492.29,2335.79l-.26-1.72h-.09a5.82,5.82,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.26c0-1-.42-2.72-3.17-2.72a8.2,8.2,0,0,0-4.19,1.16l-.77-2.57a11.27,11.27,0,0,1,5.63-1.37c5,0,6.44,3.17,6.44,6.56v5.63a25,25,0,0,0,.22,3.74Zm-.51-7.61c-2.79-.07-5.44.54-5.44,2.91a2.06,2.06,0,0,0,2.24,2.24,3.19,3.19,0,0,0,3.07-2.14,3.06,3.06,0,0,0,.13-.87Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1499.78,2324.85c0-1.79,0-3.3-.13-4.64H1503l.16,2.3h.1a5.38,5.38,0,0,1,4.8-2.65,4.51,4.51,0,0,1,4.32,2.88h.06a5.78,5.78,0,0,1,1.92-1.95,5.19,5.19,0,0,1,3.13-.93c2.6,0,5.22,1.76,5.22,6.75v9.18h-3.84v-8.6c0-2.6-.9-4.13-2.78-4.13a3,3,0,0,0-2.75,2.08,5.37,5.37,0,0,0-.2,1.31v9.34h-3.84v-9c0-2.18-.86-3.71-2.68-3.71a3.07,3.07,0,0,0-2.82,2.24,3.35,3.35,0,0,0-.22,1.28v9.21h-3.84Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1526.72,2332.18a8.84,8.84,0,0,0,4,1.12c1.73,0,2.5-.71,2.5-1.73s-.64-1.6-2.56-2.27c-3-1.06-4.32-2.72-4.29-4.54,0-2.76,2.27-4.9,5.89-4.9a9.12,9.12,0,0,1,4.12.93l-.76,2.78a7.07,7.07,0,0,0-3.3-.9c-1.41,0-2.18.68-2.18,1.64s.74,1.47,2.72,2.17c2.82,1,4.13,2.47,4.16,4.77,0,2.82-2.2,4.86-6.33,4.86A10.06,10.06,0,0,1,1526,2335Z" transform="translate(-341.21 -94.59)"/></g><g id="surface1-9" data-name="surface1"><path class="cls-3" d="M1843.83,2101.43a5.81,5.81,0,0,0-5.79-5.79h-89.72v29a5.79,5.79,0,0,1-5.79,5.79h-31.84v127.36a5.8,5.8,0,0,0,5.79,5.78H1838a5.8,5.8,0,0,0,5.79-5.78Z" transform="translate(-341.21 -94.59)"/><path class="cls-4" d="M1748.32,2263.52H1838a5.78,5.78,0,0,0,5.79-5.78v-83.68A145,145,0,0,1,1748.32,2263.52Z" transform="translate(-341.21 -94.59)"/><path class="cls-5" d="M1748.32,2124.59v-29l-37.63,34.74h31.84A5.79,5.79,0,0,0,1748.32,2124.59Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1791.73,2173.8H1731a2.9,2.9,0,1,1,0-5.79h60.78a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1804.29,2191.16H1731a2.9,2.9,0,1,1,0-5.79h73.34a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1766.17,2208.53H1731a2.9,2.9,0,1,1,0-5.79h35.22a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1809.1,2156.43h-55a2.9,2.9,0,0,1,0-5.79h55a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1742.53,2156.43H1731a2.9,2.9,0,1,1,0-5.79h11.58a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/></g><path class="cls-7" d="M1859.45,2113h-87.24a4.61,4.61,0,0,0-4.59,4.59v41.33a4.61,4.61,0,0,0,4.59,4.59h87.24a4.61,4.61,0,0,0,4.6-4.59V2117.6A4.61,4.61,0,0,0,1859.45,2113Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1786.42,2225.9H1731a2.9,2.9,0,1,1,0-5.79h55.47a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1757,2243.26h-26a2.9,2.9,0,1,1,0-5.79h26a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-6" d="M1798.74,2208.53H1778a2.9,2.9,0,0,1,0-5.79h20.76a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-9" d="M1787.07,2130.79h-6.15v-3.29h16.29v3.29H1791v18.28h-3.93Z" transform="translate(-341.21 -94.59)"/><path class="cls-9" d="M1799.39,2144.78a11,11,0,0,0,5.21,1.37c2.53,0,3.94-1.18,3.94-2.94s-1.09-2.59-3.84-3.58c-3.55-1.28-5.83-3.17-5.83-6.28,0-3.52,3-6.2,7.62-6.2a11.45,11.45,0,0,1,5.18,1.08l-1,3.17a9.18,9.18,0,0,0-4.29-1c-2.49,0-3.58,1.34-3.58,2.59,0,1.66,1.25,2.43,4.13,3.55,3.74,1.41,5.57,3.3,5.57,6.4,0,3.46-2.63,6.46-8.19,6.46a12.89,12.89,0,0,1-5.83-1.34Z" transform="translate(-341.21 -94.59)"/><path class="cls-9" d="M1816.09,2127.79a39.52,39.52,0,0,1,6.27-.45c4,0,6.82.83,8.8,2.49s3.36,4.26,3.36,7.94c0,3.84-1.31,6.72-3.36,8.58s-5.57,2.94-9.76,2.94a42.92,42.92,0,0,1-5.31-.29Zm3.94,18.27a15.51,15.51,0,0,0,2.17.09c5.12,0,8.16-2.78,8.16-8.25,0-4.77-2.72-7.49-7.65-7.49a13.09,13.09,0,0,0-2.68.22Z" transform="translate(-341.21 -94.59)"/><path class="cls-9" d="M1838,2127.5h3.93v18.27h8.87v3.3H1838Z" transform="translate(-341.21 -94.59)"/><g class="cls-10"><path class="cls-11" d="M1730.68,2307.41v-11.27a9.72,9.72,0,0,0-.06-1.2,2.45,2.45,0,0,0-.17-.74.7.7,0,0,0-.74-.5,1,1,0,0,0-.58.19,2.63,2.63,0,0,0-.57.61,8.89,8.89,0,0,0-.67,1.12c-.25.46-.53,1-.87,1.71v10.08h-2.48v-11a12.88,12.88,0,0,0-.06-1.39,2.92,2.92,0,0,0-.17-.83.84.84,0,0,0-.3-.41,1,1,0,0,0-.46-.11,1.05,1.05,0,0,0-.53.16,2.43,2.43,0,0,0-.55.56,7.94,7.94,0,0,0-.68,1.11c-.25.47-.55,1.07-.89,1.8v10.08h-2.5v-15.69h2.08l.12,3a13.79,13.79,0,0,1,.79-1.51,4.79,4.79,0,0,1,.79-1,2.62,2.62,0,0,1,1.89-.74,2.32,2.32,0,0,1,1.92.83,4.07,4.07,0,0,1,.66,2.56c.25-.54.49-1,.73-1.45a5.29,5.29,0,0,1,.78-1.06,3,3,0,0,1,.91-.65,2.64,2.64,0,0,1,1.16-.23c2,0,3,1.51,3,4.55v11.42Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1750.34,2298.74c0,.38,0,.7,0,1s0,.51,0,.74h-11a4.86,4.86,0,0,0,1.34,3.69,5.39,5.39,0,0,0,3.88,1.29c.45,0,.91,0,1.37-.05s.9-.09,1.33-.15.83-.13,1.23-.21.75-.17,1.08-.26V2307a20.23,20.23,0,0,1-2.51.5,20.81,20.81,0,0,1-2.89.2,9.72,9.72,0,0,1-3.47-.55,5.93,5.93,0,0,1-2.39-1.58,6.66,6.66,0,0,1-1.37-2.55,12,12,0,0,1-.45-3.42,10.1,10.1,0,0,1,.48-3.13,7.87,7.87,0,0,1,1.39-2.59,6.72,6.72,0,0,1,2.24-1.78,6.84,6.84,0,0,1,3-.65,7.7,7.7,0,0,1,2.9.51,5.93,5.93,0,0,1,2.14,1.47,6.22,6.22,0,0,1,1.31,2.29A9.55,9.55,0,0,1,1750.34,2298.74Zm-2.83-.4a5.87,5.87,0,0,0-.21-1.91,3.91,3.91,0,0,0-.77-1.49,3.64,3.64,0,0,0-1.3-1,4.51,4.51,0,0,0-1.82-.35,3.76,3.76,0,0,0-1.62.34,3.88,3.88,0,0,0-1.27,1,5.21,5.21,0,0,0-.86,1.5,6.89,6.89,0,0,0-.4,1.92Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1767.32,2307.19a13.13,13.13,0,0,1-1.91.33,18.71,18.71,0,0,1-2,.11,6.31,6.31,0,0,1-4.4-1.34,5.31,5.31,0,0,1-1.46-4.1V2294h-4.39v-2.28h4.39v-4.31l2.72-.71v5h7V2294h-7v8a3.27,3.27,0,0,0,.9,2.52,3.75,3.75,0,0,0,2.65.84,12.3,12.3,0,0,0,1.64-.12,15.66,15.66,0,0,0,1.86-.37Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1782.35,2307.41l-.06-2.11a8.74,8.74,0,0,1-2.6,1.83,7.12,7.12,0,0,1-2.78.56,6.72,6.72,0,0,1-2.29-.35,4.14,4.14,0,0,1-1.57-.94,3.54,3.54,0,0,1-.91-1.41,5.34,5.34,0,0,1-.29-1.77,4.41,4.41,0,0,1,1.76-3.7,8.49,8.49,0,0,1,5.19-1.33h3.25v-1.38a2.87,2.87,0,0,0-.89-2.22,3.84,3.84,0,0,0-2.72-.84,11.49,11.49,0,0,0-2.61.3,19.41,19.41,0,0,0-2.67.84v-2.45c.35-.13.73-.25,1.15-.37s.87-.23,1.34-.32,1-.17,1.47-.23,1-.08,1.54-.08a9.68,9.68,0,0,1,2.57.31,5.37,5.37,0,0,1,1.93.95,4.31,4.31,0,0,1,1.21,1.61,5.73,5.73,0,0,1,.42,2.28v10.82Zm-.3-7.14h-3.45a6.43,6.43,0,0,0-1.75.2,3.36,3.36,0,0,0-1.2.58,2.34,2.34,0,0,0-.7.9,3,3,0,0,0-.22,1.18,2.46,2.46,0,0,0,.14.86,1.89,1.89,0,0,0,.45.74,2.34,2.34,0,0,0,.81.51,3.65,3.65,0,0,0,1.22.18,5.15,5.15,0,0,0,2.15-.57,10.36,10.36,0,0,0,2.55-1.8Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1789.07,2299.89a10.5,10.5,0,0,1,.55-3.55,7.31,7.31,0,0,1,1.55-2.63,6.61,6.61,0,0,1,2.42-1.62,8.61,8.61,0,0,1,3.15-.56,10.41,10.41,0,0,1,1.48.1,10.07,10.07,0,0,1,1.43.29v-6.59h2.73v22.08h-2.44l-.09-3a8.19,8.19,0,0,1-2.47,2.45,5.48,5.48,0,0,1-2.87.8,4.63,4.63,0,0,1-4.07-2.15,7.45,7.45,0,0,1-1-2.46A13.69,13.69,0,0,1,1789.07,2299.89Zm2.78-.17a8.4,8.4,0,0,0,.84,4.24,2.61,2.61,0,0,0,2.36,1.4,3.56,3.56,0,0,0,2.18-.92,13.4,13.4,0,0,0,2.42-2.74v-7.28a7.22,7.22,0,0,0-1.49-.47,8,8,0,0,0-1.61-.17,4.33,4.33,0,0,0-3.46,1.44A6.78,6.78,0,0,0,1791.85,2299.72Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1817.54,2307.41l-.06-2.11a8.77,8.77,0,0,1-2.61,1.83,7.07,7.07,0,0,1-2.77.56,6.79,6.79,0,0,1-2.3-.35,4.22,4.22,0,0,1-1.57-.94,3.63,3.63,0,0,1-.9-1.41,5.1,5.1,0,0,1-.29-1.77,4.39,4.39,0,0,1,1.76-3.7,8.49,8.49,0,0,1,5.19-1.33h3.25v-1.38a2.91,2.91,0,0,0-.89-2.22,3.84,3.84,0,0,0-2.72-.84,11.57,11.57,0,0,0-2.62.3,19.73,19.73,0,0,0-2.66.84v-2.45c.34-.13.73-.25,1.15-.37s.87-.23,1.34-.32,1-.17,1.46-.23,1-.08,1.55-.08a9.6,9.6,0,0,1,2.56.31,5.29,5.29,0,0,1,1.93.95,4.21,4.21,0,0,1,1.21,1.61,5.55,5.55,0,0,1,.43,2.28v10.82Zm-.3-7.14h-3.45a6.43,6.43,0,0,0-1.75.2,3.36,3.36,0,0,0-1.2.58,2.25,2.25,0,0,0-.7.9,3,3,0,0,0-.23,1.18,2.72,2.72,0,0,0,.14.86,2,2,0,0,0,.46.74,2.34,2.34,0,0,0,.81.51,3.61,3.61,0,0,0,1.22.18,5.19,5.19,0,0,0,2.15-.57,10.75,10.75,0,0,0,2.55-1.8Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1837.69,2307.19a13,13,0,0,1-1.9.33,18.85,18.85,0,0,1-2,.11,6.34,6.34,0,0,1-4.41-1.34,5.31,5.31,0,0,1-1.45-4.1V2294h-4.39v-2.28h4.39v-4.31l2.72-.71v5h7V2294h-7v8a3.27,3.27,0,0,0,.9,2.52,3.72,3.72,0,0,0,2.64.84,12.56,12.56,0,0,0,1.65-.12,15.13,15.13,0,0,0,1.85-.37Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1852.73,2307.41l-.07-2.11a8.61,8.61,0,0,1-2.6,1.83,7.07,7.07,0,0,1-2.77.56,6.79,6.79,0,0,1-2.3-.35,4.22,4.22,0,0,1-1.57-.94,3.77,3.77,0,0,1-.91-1.41,5.34,5.34,0,0,1-.28-1.77,4.41,4.41,0,0,1,1.75-3.7,8.54,8.54,0,0,1,5.2-1.33h3.25v-1.38a2.91,2.91,0,0,0-.89-2.22,3.85,3.85,0,0,0-2.72-.84,11.51,11.51,0,0,0-2.62.3,18.87,18.87,0,0,0-2.66.84v-2.45c.34-.13.72-.25,1.15-.37s.86-.23,1.33-.32,1-.17,1.47-.23,1-.08,1.55-.08a9.6,9.6,0,0,1,2.56.31,5.37,5.37,0,0,1,1.93.95,4.21,4.21,0,0,1,1.21,1.61,5.73,5.73,0,0,1,.42,2.28v10.82Zm-.3-7.14H1849a6.43,6.43,0,0,0-1.75.2,3.5,3.5,0,0,0-1.21.58,2.32,2.32,0,0,0-.69.9,3,3,0,0,0-.23,1.18,2.72,2.72,0,0,0,.14.86,2.17,2.17,0,0,0,.45.74,2.3,2.3,0,0,0,.82.51,3.61,3.61,0,0,0,1.22.18,5.11,5.11,0,0,0,2.14-.57,10.59,10.59,0,0,0,2.56-1.8Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M1581,2430.42a13.66,13.66,0,0,1-5.57,1c-6.85,0-11-4.29-11-10.85,0-7.1,4.93-11.39,11.52-11.39a12.35,12.35,0,0,1,5.25,1l-.87,3.14a10.4,10.4,0,0,0-4.22-.84c-4.38,0-7.55,2.76-7.55,7.94,0,4.74,2.78,7.77,7.52,7.77a11.06,11.06,0,0,0,4.29-.79Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1589.13,2412.79H1583v-3.3h16.29v3.3h-6.21v18.27h-3.94Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1601.81,2409.49h12.44v3.23h-8.51v6h7.94v3.24h-7.94v9.15h-3.93Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1629.07,2411v4.45h3.74v2.94h-3.74v6.88c0,1.89.51,2.88,2,2.88a6.07,6.07,0,0,0,1.54-.19l.06,3a8.73,8.73,0,0,1-2.84.38,4.58,4.58,0,0,1-3.4-1.28c-.83-.9-1.21-2.3-1.21-4.35v-7.33H1623v-2.94h2.24V2412Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1635.79,2420.5c0-2.11,0-3.62-.13-5h3.42l.13,3h.13a4.65,4.65,0,0,1,4.26-3.33,4.32,4.32,0,0,1,.92.1v3.71a5.71,5.71,0,0,0-1.15-.13,3.47,3.47,0,0,0-3.52,3,7.13,7.13,0,0,0-.13,1.22v8.06h-3.93Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1655.66,2431.06l-.26-1.73h-.09a5.77,5.77,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.93,3.49-5.92,9.25-5.89v-.25c0-1-.41-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.77-2.56a11.3,11.3,0,0,1,5.64-1.38c5,0,6.43,3.17,6.43,6.56v5.64a25.06,25.06,0,0,0,.22,3.74Zm-.51-7.62c-2.79-.06-5.44.55-5.44,2.91a2.06,2.06,0,0,0,2.24,2.24,3.18,3.18,0,0,0,3.07-2.14,2.73,2.73,0,0,0,.13-.86Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1674.6,2430.58a11.43,11.43,0,0,1-4.41.8c-4.87,0-8-3.11-8-7.94,0-4.67,3.2-8.32,8.67-8.32a9.68,9.68,0,0,1,3.8.74l-.7,2.94a7.08,7.08,0,0,0-3-.6c-3,0-4.8,2.2-4.77,5.05,0,3.2,2.08,5,4.77,5a7.72,7.72,0,0,0,3.1-.6Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M1680,2424.37c.1,2.82,2.31,4,4.8,4a11.64,11.64,0,0,0,4.32-.7l.58,2.72a14.78,14.78,0,0,1-5.44,1c-5.06,0-8-3.11-8-7.87,0-4.32,2.62-8.39,7.61-8.39s6.72,4.16,6.72,7.59a9,9,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.46,2.21-3.62,3.81Z" transform="translate(-341.21 -94.59)"/></g><rect class="cls-36" x="24.05" y="887.09" width="347.97" height="342.75" rx="15.6"/><g id="surface1-10" data-name="surface1"><path class="cls-3" d="M461.84,1213.39a2.9,2.9,0,0,0-2.9-2.89H414.08V1225a2.89,2.89,0,0,1-2.9,2.89H395.26v63.68a2.92,2.92,0,0,0,2.9,2.9h60.78a2.92,2.92,0,0,0,2.9-2.9Z" transform="translate(-341.21 -94.59)"/><path class="cls-4" d="M414.08,1294.44h44.86a2.9,2.9,0,0,0,2.9-2.9V1249.7A72.55,72.55,0,0,1,414.08,1294.44Z" transform="translate(-341.21 -94.59)"/><path class="cls-5" d="M414.08,1225V1210.5l-18.82,17.36h15.92A2.89,2.89,0,0,0,414.08,1225Z" transform="translate(-341.21 -94.59)"/></g><g id="surface1-11" data-name="surface1"><path class="cls-12" d="M461.84,1114.47a2.92,2.92,0,0,0-2.9-2.9H414.08v14.48a2.9,2.9,0,0,1-2.9,2.89H395.26v63.68a2.9,2.9,0,0,0,2.9,2.89h60.78a2.9,2.9,0,0,0,2.9-2.89Z" transform="translate(-341.21 -94.59)"/><path class="cls-13" d="M414.08,1195.51h44.86a2.89,2.89,0,0,0,2.9-2.89v-41.84A72.52,72.52,0,0,1,414.08,1195.51Z" transform="translate(-341.21 -94.59)"/><path class="cls-14" d="M414.08,1126.05v-14.48l-18.82,17.37h15.92A2.9,2.9,0,0,0,414.08,1126.05Z" transform="translate(-341.21 -94.59)"/></g><g id="surface1-12" data-name="surface1"><path class="cls-16" d="M461.84,1015.53a2.92,2.92,0,0,0-2.9-2.9H414.08v14.48a2.9,2.9,0,0,1-2.9,2.89H395.26v63.68a2.9,2.9,0,0,0,2.9,2.89h60.78a2.9,2.9,0,0,0,2.9-2.89Z" transform="translate(-341.21 -94.59)"/><path class="cls-17" d="M414.08,1096.57h44.86a2.89,2.89,0,0,0,2.9-2.89v-41.84A72.54,72.54,0,0,1,414.08,1096.57Z" transform="translate(-341.21 -94.59)"/><path class="cls-18" d="M414.08,1027.11v-14.48L395.26,1030h15.92A2.9,2.9,0,0,0,414.08,1027.11Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M494.69,1042.43V1055c0,4.23,1.76,6.18,4.41,6.18,2.85,0,4.55-2,4.55-6.18v-12.57h3.93v12.32c0,6.65-3.42,9.6-8.61,9.6-5,0-8.22-2.79-8.22-9.57v-12.35Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M511.42,1060.38a8.84,8.84,0,0,0,4,1.12c1.73,0,2.5-.7,2.5-1.73s-.64-1.6-2.56-2.27c-3-1.06-4.32-2.72-4.29-4.54,0-2.76,2.27-4.9,5.89-4.9a9.16,9.16,0,0,1,4.13.93l-.77,2.78a7,7,0,0,0-3.3-.89c-1.41,0-2.17.67-2.17,1.63s.73,1.47,2.72,2.17c2.81,1,4.12,2.47,4.16,4.77,0,2.82-2.21,4.87-6.34,4.87a10.09,10.09,0,0,1-4.74-1.09Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M527.74,1057.31c.1,2.81,2.31,4,4.8,4a11.85,11.85,0,0,0,4.32-.7l.58,2.72a14.78,14.78,0,0,1-5.44,1c-5.06,0-8-3.11-8-7.88,0-4.32,2.62-8.38,7.61-8.38s6.72,4.16,6.72,7.58a9.09,9.09,0,0,1-.13,1.67Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.46,2.21-3.62,3.81Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M541.47,1053.44c0-2.12,0-3.62-.13-5h3.43l.12,3H545a4.65,4.65,0,0,1,4.26-3.33,3.84,3.84,0,0,1,.93.1v3.71a5.17,5.17,0,0,0-1.16-.13,3.49,3.49,0,0,0-3.52,3,7.07,7.07,0,0,0-.12,1.21V1064h-3.94Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M559.93,1064v-12.64h-2.11v-2.95h2.11v-.73c0-4.2,2.91-6.76,7.55-6.76a9.15,9.15,0,0,1,4.29,1l-.86,3a7.23,7.23,0,0,0-3.43-.83c-2.75,0-3.64,1.66-3.64,3.71v.64h9.31V1064h-4v-12.64h-5.31V1064Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M577.37,1041.28h4V1064h-4Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M588.38,1057.31c.1,2.81,2.3,4,4.8,4a11.89,11.89,0,0,0,4.32-.7l.58,2.72a14.78,14.78,0,0,1-5.44,1c-5.06,0-8-3.11-8-7.88,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a9.09,9.09,0,0,1-.13,1.67Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.44,0-3.46,2.21-3.62,3.81Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M490.78,1141.66a33.73,33.73,0,0,1,6-.45c2.88,0,5,.61,6.37,1.76a6.1,6.1,0,0,1,2.11,4.77,6.52,6.52,0,0,1-1.86,4.89,9.5,9.5,0,0,1-6.81,2.31,11.65,11.65,0,0,1-1.92-.13v8.13h-3.91Zm3.91,10a7.84,7.84,0,0,0,1.92.16c2.94,0,4.73-1.44,4.73-4s-1.66-3.68-4.38-3.68a10.56,10.56,0,0,0-2.27.19Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M508.41,1140.22h4v22.72h-4Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M525.41,1162.94l-.26-1.73h-.1a5.8,5.8,0,0,1-4.6,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.26c0-1-.42-2.72-3.17-2.72a8.14,8.14,0,0,0-4.19,1.16l-.77-2.56a11.15,11.15,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25,25,0,0,0,.23,3.75Zm-.52-7.62c-2.78-.06-5.44.54-5.44,2.91a2.07,2.07,0,0,0,2.24,2.24,3.2,3.2,0,0,0,3.08-2.14,3,3,0,0,0,.12-.87Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M537.21,1142.91v4.44H541v3h-3.75v6.88c0,1.88.52,2.88,2,2.88a5.69,5.69,0,0,0,1.54-.2l.06,3a8.48,8.48,0,0,1-2.85.39,4.56,4.56,0,0,1-3.39-1.28c-.83-.9-1.22-2.31-1.22-4.36v-7.32h-2.24v-3h2.24v-3.52Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M544.38,1162.94V1150.3h-2.11v-3h2.11v-.67a7.3,7.3,0,0,1,1.89-5.31,5.94,5.94,0,0,1,4.06-1.5,7.75,7.75,0,0,1,2.53.38l-.29,3a4.54,4.54,0,0,0-1.66-.29c-1.95,0-2.62,1.63-2.62,3.55v.8h3.42v3h-3.39v12.64Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M568.61,1155c0,5.73-4,8.29-8,8.29-4.42,0-7.81-3-7.81-8s3.36-8.26,8.06-8.26S568.61,1150.26,568.61,1155Zm-11.75.16c0,3,1.47,5.28,3.87,5.28,2.24,0,3.81-2.21,3.81-5.34,0-2.44-1.09-5.22-3.77-5.22S556.86,1152.57,556.86,1155.16Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M571.84,1152.38c0-2.12,0-3.62-.13-5h3.42l.13,3h.13a4.65,4.65,0,0,1,4.26-3.33,3.76,3.76,0,0,1,.92.1v3.71a5.07,5.07,0,0,0-1.15-.13,3.47,3.47,0,0,0-3.52,3,7,7,0,0,0-.13,1.21v8.07h-3.93Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M583.23,1152c0-1.79,0-3.29-.13-4.64h3.39l.16,2.31h.1a5.39,5.39,0,0,1,4.8-2.66,4.49,4.49,0,0,1,4.32,2.88h.06a6.07,6.07,0,0,1,1.92-2A5.22,5.22,0,0,1,601,1147c2.59,0,5.21,1.76,5.21,6.75v9.19h-3.84v-8.61c0-2.59-.89-4.13-2.78-4.13a3,3,0,0,0-2.75,2.08,5.37,5.37,0,0,0-.19,1.31v9.35H592.8v-9c0-2.17-.87-3.71-2.69-3.71a3.09,3.09,0,0,0-2.82,2.24,3.35,3.35,0,0,0-.22,1.28v9.22h-3.84Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M617.44,1162.94V1150.3h-2.12v-3h2.12v-.73c0-4.2,2.91-6.75,7.55-6.75a9.21,9.21,0,0,1,4.29,1l-.87,3A7.19,7.19,0,0,0,625,1143c-2.75,0-3.65,1.67-3.65,3.71v.64h9.31v15.59h-4V1150.3h-5.31v12.64Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M634.88,1140.22h4v22.72h-4Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M645.88,1156.25c.1,2.81,2.31,4,4.8,4a11.85,11.85,0,0,0,4.32-.7l.58,2.72a14.74,14.74,0,0,1-5.44,1c-5.06,0-8-3.11-8-7.88,0-4.32,2.62-8.38,7.61-8.38s6.72,4.16,6.72,7.58a10.34,10.34,0,0,1-.12,1.67Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.46,2.21-3.62,3.81Z" transform="translate(-341.21 -94.59)"/></g><g class="cls-10"><path class="cls-11" d="M508.06,1260.87a21.38,21.38,0,0,1-6.94,1.21c-3.65,0-6.4-.93-8.45-2.88a10.68,10.68,0,0,1-3-7.93c0-6.82,4.87-11.2,12-11.2a14.31,14.31,0,0,1,5.73,1l-.86,3.17a11.69,11.69,0,0,0-4.9-.93c-4.61,0-7.84,2.72-7.84,7.74s3,7.81,7.49,7.81a7.41,7.41,0,0,0,3-.45v-5.37h-3.8V1250h7.61Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M514.91,1255.17c.1,2.82,2.3,4,4.8,4a11.68,11.68,0,0,0,4.32-.7l.58,2.72a14.78,14.78,0,0,1-5.44,1c-5.06,0-8-3.11-8-7.87,0-4.32,2.63-8.39,7.62-8.39s6.72,4.16,6.72,7.59a9,9,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.44,0-3.46,2.21-3.62,3.81Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M528.64,1250.91c0-1.79,0-3.29-.13-4.64H532l.19,2.34h.09a5.62,5.62,0,0,1,5-2.69c2.72,0,5.54,1.76,5.54,6.69v9.25h-3.94v-8.8c0-2.24-.83-3.94-3-3.94a3.29,3.29,0,0,0-3.07,2.31,3.94,3.94,0,0,0-.16,1.28v9.15h-4Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M549.73,1255.17c.09,2.82,2.3,4,4.8,4a11.62,11.62,0,0,0,4.31-.7l.58,2.72a14.74,14.74,0,0,1-5.44,1c-5.05,0-8-3.11-8-7.87,0-4.32,2.62-8.39,7.62-8.39s6.71,4.16,6.71,7.59a10.3,10.3,0,0,1-.12,1.66Zm6.84-2.75c0-1.44-.6-3.81-3.23-3.81-2.43,0-3.45,2.21-3.61,3.81Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M563.45,1251.3c0-2.11,0-3.62-.12-5h3.42l.13,3H567a4.64,4.64,0,0,1,4.25-3.33,3.84,3.84,0,0,1,.93.1v3.71a5.71,5.71,0,0,0-1.15-.13,3.47,3.47,0,0,0-3.52,3,6.23,6.23,0,0,0-.13,1.21v8.07h-3.94Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M583.32,1261.86l-.25-1.73H583a5.77,5.77,0,0,1-4.61,2.08,4.62,4.62,0,0,1-4.89-4.64c0-3.94,3.49-5.92,9.25-5.89v-.25c0-1-.42-2.72-3.17-2.72a8.24,8.24,0,0,0-4.19,1.15l-.77-2.56a11.15,11.15,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25,25,0,0,0,.23,3.75Zm-.51-7.62c-2.78-.06-5.44.55-5.44,2.91a2.06,2.06,0,0,0,2.24,2.24,3.18,3.18,0,0,0,3.07-2.14,2.73,2.73,0,0,0,.13-.86Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M595.13,1241.83v4.44h3.75v3h-3.75v6.88c0,1.89.51,2.88,2,2.88a6,6,0,0,0,1.53-.19l.07,3a8.48,8.48,0,0,1-2.85.39,4.56,4.56,0,0,1-3.39-1.28c-.83-.9-1.22-2.31-1.22-4.35v-7.33h-2.24v-3h2.24v-3.51Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M604.44,1255.17c.1,2.82,2.31,4,4.8,4a11.64,11.64,0,0,0,4.32-.7l.58,2.72a14.74,14.74,0,0,1-5.44,1c-5.05,0-8-3.11-8-7.87,0-4.32,2.62-8.39,7.61-8.39s6.72,4.16,6.72,7.59a10.3,10.3,0,0,1-.12,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.45,2.21-3.62,3.81Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M632.54,1239.14v18.33c0,1.6.06,3.33.13,4.39h-3.52l-.16-2.47h-.07a5.59,5.59,0,0,1-5.08,2.82c-3.72,0-6.66-3.17-6.66-8,0-5.21,3.23-8.32,7-8.32a5,5,0,0,1,4.38,2h.06v-8.83Zm-3.94,13.63a5.86,5.86,0,0,0-.09-1,3.45,3.45,0,0,0-3.39-2.79c-2.53,0-3.94,2.24-3.94,5.15s1.41,4.93,3.9,4.93a3.49,3.49,0,0,0,3.4-2.78,4.67,4.67,0,0,0,.12-1.15Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M643.84,1261.86v-12.64h-2.12v-3h2.12v-.73c0-4.19,2.91-6.75,7.55-6.75a9.21,9.21,0,0,1,4.29,1l-.87,3a7.06,7.06,0,0,0-3.42-.84c-2.75,0-3.65,1.67-3.65,3.71v.64h9.31v15.59h-4v-12.64h-5.31v12.64Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M661.28,1239.14h4v22.72h-4Z" transform="translate(-341.21 -94.59)"/><path class="cls-11" d="M672.28,1255.17c.1,2.82,2.31,4,4.8,4a11.64,11.64,0,0,0,4.32-.7l.58,2.72a14.78,14.78,0,0,1-5.44,1c-5.06,0-8-3.11-8-7.87,0-4.32,2.62-8.39,7.61-8.39s6.72,4.16,6.72,7.59a9,9,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.46,2.21-3.62,3.81Z" transform="translate(-341.21 -94.59)"/></g><circle class="cls-37" cx="269.04" cy="145.68" r="29.17"/><g class="cls-38"><path class="cls-24" d="M608.75,232.3h-.07l-4.46,2.12-.9-4.1,6.19-2.88h4.54v23.4h-5.3Z" transform="translate(-341.21 -94.59)"/></g><circle class="cls-37" cx="697.19" cy="145.68" r="29.17"/><g class="cls-38"><path class="cls-24" d="M1029.92,250.84v-3.31l3-2.74c5.11-4.57,7.59-7.2,7.66-9.93,0-1.91-1.15-3.42-3.85-3.42a8.48,8.48,0,0,0-5,1.94l-1.55-3.92a13,13,0,0,1,7.67-2.41c5.29,0,8.2,3.09,8.2,7.34,0,3.92-2.84,7.05-6.22,10.08l-2.16,1.8v.07h8.82v4.5Z" transform="translate(-341.21 -94.59)"/></g><circle class="cls-37" cx="418.13" cy="388.85" r="29.17"/><g class="cls-38"><path class="cls-24" d="M751.84,488.64a12.94,12.94,0,0,0,5.44,1.44c2.84,0,4.28-1.37,4.28-3.13,0-2.3-2.3-3.35-4.72-3.35h-2.23v-3.92h2.13c1.83,0,4.17-.72,4.17-2.7,0-1.41-1.15-2.45-3.45-2.45a10.76,10.76,0,0,0-4.9,1.4l-1.12-4a14.72,14.72,0,0,1,7.24-1.76c5,0,7.77,2.63,7.77,5.83,0,2.49-1.4,4.43-4.28,5.44v.07a5.81,5.81,0,0,1,5.08,5.69c0,4.14-3.64,7.16-9.58,7.16a13.78,13.78,0,0,1-6.95-1.66Z" transform="translate(-341.21 -94.59)"/></g><circle class="cls-37" cx="809.82" cy="1460.78" r="29.17"/><g class="cls-38"><path class="cls-24" d="M1152.24,1565.93v-5.58h-10.37v-3.56l8.85-14.25h6.7v13.71h2.81v4.1h-2.81v5.58Zm0-9.68v-5.18c0-1.41.07-2.85.18-4.36h-.15c-.75,1.51-1.37,2.88-2.16,4.36l-3.13,5.11v.07Z" transform="translate(-341.21 -94.59)"/></g><circle class="cls-37" cx="1142.47" cy="1783.35" r="29.17"/><g class="cls-38"><path class="cls-24" d="M1490.82,1869.6h-9.07l-.5,3.6a10.41,10.41,0,0,1,1.51-.07,10.79,10.79,0,0,1,6.16,1.69,6.68,6.68,0,0,1,2.84,5.87c0,4.36-3.74,8.21-10,8.21a15,15,0,0,1-6.52-1.33l1-4.11a13.39,13.39,0,0,0,5.3,1.15c2.26,0,4.67-1.07,4.67-3.56s-1.9-3.89-6.58-3.89a20.62,20.62,0,0,0-3.17.22l1.55-12.27h12.88Z" transform="translate(-341.21 -94.59)"/></g><circle class="cls-37" cx="1442.15" cy="1783.35" r="29.17"/><g class="cls-38"><path class="cls-24" d="M1774.89,1888.5v-3.31l3-2.73c5.11-4.58,7.6-7.2,7.67-9.94,0-1.91-1.15-3.42-3.85-3.42a8.54,8.54,0,0,0-5,1.94l-1.54-3.92a13,13,0,0,1,7.66-2.41c5.29,0,8.21,3.09,8.21,7.34,0,3.93-2.84,7.06-6.23,10.08l-2.16,1.8v.07h8.82v4.5Z" transform="translate(-341.21 -94.59)"/></g></svg>
\ No newline at end of file
--- /dev/null
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1402.16 566.85"><defs><style>.cls-1{fill:none;}.cls-1,.cls-2{stroke:#f8a794;}.cls-1,.cls-2,.cls-3{stroke-miterlimit:10;stroke-width:2px;}.cls-2,.cls-5{fill:#ffe9cc;}.cls-3{fill:#4eba6f;stroke:#1a8947;}.cls-4{fill:#fff;}.cls-6{fill:#f8a794;}.cls-7{fill:#ffe2bd;}.cls-8{fill:#f47859;}.cls-9{fill:#ce8172;}</style></defs><title>ctf-data-stream</title><line class="cls-1" x1="1388.84" y1="346.62" x2="747.33" y2="156.24"/><line class="cls-1" x1="15.07" y1="346.62" x2="656.58" y2="156.24"/><rect class="cls-2" x="1" y="344.73" width="1400.16" height="176.94" rx="20.26"/><rect class="cls-3" x="21" y="364.73" width="288.25" height="136.94" rx="20.26"/><rect class="cls-3" x="333" y="364.73" width="288.25" height="136.94" rx="20.26"/><rect class="cls-3" x="646" y="364.73" width="198.25" height="136.94" rx="20.26"/><rect class="cls-3" x="868.25" y="364.73" width="512.93" height="136.94" rx="20.26"/><path class="cls-4" d="M348.51,623.2a34.58,34.58,0,0,1,6-.45c2.88,0,5,.61,6.37,1.76a6.1,6.1,0,0,1,2.11,4.77,6.57,6.57,0,0,1-1.85,4.9,9.57,9.57,0,0,1-6.82,2.3,10.65,10.65,0,0,1-1.92-.13v8.13h-3.9Zm3.9,10a7.84,7.84,0,0,0,1.92.16c2.94,0,4.74-1.44,4.74-4s-1.67-3.68-4.39-3.68a11.35,11.35,0,0,0-2.27.19Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M374.33,644.48l-.26-1.73H374a5.77,5.77,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.93,3.49-5.92,9.25-5.89v-.25c0-1-.41-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.76-2.56a11.23,11.23,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.64a25.06,25.06,0,0,0,.22,3.74Zm-.51-7.62c-2.79-.06-5.44.55-5.44,2.92a2.07,2.07,0,0,0,2.24,2.24,3.19,3.19,0,0,0,3.07-2.15,2.73,2.73,0,0,0,.13-.86Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M393.27,644a11.43,11.43,0,0,1-4.41.8c-4.87,0-8-3.1-8-7.94,0-4.67,3.2-8.32,8.67-8.32a9.77,9.77,0,0,1,3.81.74l-.71,2.94a7.08,7.08,0,0,0-3-.6c-3,0-4.8,2.2-4.77,5,0,3.2,2.08,5,4.77,5a7.7,7.7,0,0,0,3.1-.61Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M400.12,635.74h.07c.38-.6.83-1.28,1.24-1.82l3.78-5H410l-5.76,6.36,6.59,9.22H406l-4.48-6.88-1.35,1.57v5.31h-3.93V621.76h3.93Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M415,637.79c.1,2.82,2.31,4,4.8,4a11.64,11.64,0,0,0,4.32-.7l.58,2.72a14.74,14.74,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.62-8.39,7.61-8.39s6.72,4.16,6.72,7.59a10.3,10.3,0,0,1-.12,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.46,2.21-3.62,3.81Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M433.27,624.45v4.45H437v2.94h-3.75v6.88c0,1.89.52,2.88,2,2.88a6.2,6.2,0,0,0,1.54-.19l.06,3a8.48,8.48,0,0,1-2.85.39,4.56,4.56,0,0,1-3.39-1.28c-.83-.9-1.22-2.3-1.22-4.35v-7.33h-2.24V628.9h2.24v-3.52Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M452.06,627.23H452l-3.8,1.92-.68-3,5.06-2.5h3.3v20.8h-3.81Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M660.51,623.2a34.58,34.58,0,0,1,6-.45c2.88,0,5,.61,6.37,1.76a6.1,6.1,0,0,1,2.11,4.77,6.57,6.57,0,0,1-1.85,4.9,9.57,9.57,0,0,1-6.82,2.3,10.65,10.65,0,0,1-1.92-.13v8.13h-3.9Zm3.9,10a7.84,7.84,0,0,0,1.92.16c2.94,0,4.74-1.44,4.74-4s-1.67-3.68-4.39-3.68a11.35,11.35,0,0,0-2.27.19Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M686.33,644.48l-.26-1.73H686a5.77,5.77,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.93,3.49-5.92,9.25-5.89v-.25c0-1-.41-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.76-2.56a11.23,11.23,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.64a25.06,25.06,0,0,0,.22,3.74Zm-.51-7.62c-2.79-.06-5.44.55-5.44,2.92a2.07,2.07,0,0,0,2.24,2.24,3.19,3.19,0,0,0,3.07-2.15,2.73,2.73,0,0,0,.13-.86Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M705.27,644a11.43,11.43,0,0,1-4.41.8c-4.87,0-8-3.1-8-7.94,0-4.67,3.2-8.32,8.67-8.32a9.77,9.77,0,0,1,3.81.74l-.71,2.94a7.08,7.08,0,0,0-3-.6c-3,0-4.8,2.2-4.77,5,0,3.2,2.08,5,4.77,5a7.7,7.7,0,0,0,3.1-.61Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M712.12,635.74h.07c.38-.6.83-1.28,1.24-1.82l3.78-5H722l-5.76,6.36,6.59,9.22H718l-4.48-6.88-1.35,1.57v5.31h-3.93V621.76h3.93Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M727,637.79c.1,2.82,2.31,4,4.8,4a11.64,11.64,0,0,0,4.32-.7l.58,2.72a14.74,14.74,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.62-8.39,7.61-8.39s6.72,4.16,6.72,7.59a9,9,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.46,2.21-3.62,3.81Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M745.27,624.45v4.45H749v2.94h-3.75v6.88c0,1.89.51,2.88,2,2.88a6.2,6.2,0,0,0,1.54-.19l.06,3a8.48,8.48,0,0,1-2.85.39,4.56,4.56,0,0,1-3.39-1.28c-.83-.9-1.22-2.3-1.22-4.35v-7.33h-2.24V628.9h2.24v-3.52Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M757.88,644.48v-2.4l2.47-2.27c4.89-4.55,7.19-7,7.23-9.79,0-1.86-1-3.49-3.71-3.49a7.55,7.55,0,0,0-4.45,1.73l-1.15-2.79a10.3,10.3,0,0,1,6.39-2.14c4.61,0,6.85,2.91,6.85,6.3,0,3.65-2.62,6.59-6.24,10l-1.82,1.57v.07H772v3.26Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M928.51,623.2a34.58,34.58,0,0,1,6-.45c2.88,0,5,.61,6.37,1.76a6.1,6.1,0,0,1,2.11,4.77,6.57,6.57,0,0,1-1.85,4.9,9.57,9.57,0,0,1-6.82,2.3,10.65,10.65,0,0,1-1.92-.13v8.13h-3.9Zm3.9,10a7.84,7.84,0,0,0,1.92.16c2.94,0,4.74-1.44,4.74-4s-1.67-3.68-4.39-3.68a11.35,11.35,0,0,0-2.27.19Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M954.33,644.48l-.26-1.73H954a5.77,5.77,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.93,3.49-5.92,9.25-5.89v-.25c0-1-.41-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.77-2.56a11.3,11.3,0,0,1,5.64-1.38c5,0,6.43,3.17,6.43,6.56v5.64a25.06,25.06,0,0,0,.22,3.74Zm-.51-7.62c-2.79-.06-5.44.55-5.44,2.92a2.07,2.07,0,0,0,2.24,2.24,3.19,3.19,0,0,0,3.07-2.15,2.73,2.73,0,0,0,.13-.86Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M973.27,644a11.43,11.43,0,0,1-4.41.8c-4.87,0-8-3.1-8-7.94,0-4.67,3.2-8.32,8.67-8.32a9.77,9.77,0,0,1,3.81.74l-.71,2.94a7.08,7.08,0,0,0-3-.6c-3,0-4.8,2.2-4.77,5,0,3.2,2.08,5,4.77,5a7.7,7.7,0,0,0,3.1-.61Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M980.12,635.74h.07c.38-.6.83-1.28,1.24-1.82l3.78-5H990l-5.76,6.36,6.59,9.22H986l-4.48-6.88-1.35,1.57v5.31h-3.93V621.76h3.93Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M995,637.79c.1,2.82,2.31,4,4.8,4a11.64,11.64,0,0,0,4.32-.7l.58,2.72a14.74,14.74,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.62-8.39,7.61-8.39s6.72,4.16,6.72,7.59a9,9,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.46,2.21-3.62,3.81Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M1013.27,624.45v4.45H1017v2.94h-3.75v6.88c0,1.89.51,2.88,2,2.88a6.2,6.2,0,0,0,1.54-.19l.06,3a8.48,8.48,0,0,1-2.85.39,4.56,4.56,0,0,1-3.39-1.28c-.83-.9-1.22-2.3-1.22-4.35v-7.33h-2.24V628.9h2.24v-3.52Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M1026.68,640.42a10.28,10.28,0,0,0,4.74,1.28c3,0,4.22-1.7,4.19-3.33,0-2.47-2.31-3.52-4.7-3.52h-1.83V632h1.76c1.82,0,4.13-.83,4.13-2.91,0-1.41-1.06-2.6-3.33-2.6a8.31,8.31,0,0,0-4.25,1.32l-.9-2.85a11.24,11.24,0,0,1,6-1.6c4.29,0,6.5,2.37,6.5,5.09,0,2.17-1.28,4-3.84,4.86v.06a5.25,5.25,0,0,1,4.57,5.19c0,3.52-2.94,6.3-8.09,6.3a11.36,11.36,0,0,1-5.83-1.44Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M1308.1,623.2a34.58,34.58,0,0,1,6-.45c2.88,0,5,.61,6.37,1.76a6.1,6.1,0,0,1,2.11,4.77,6.57,6.57,0,0,1-1.85,4.9,9.57,9.57,0,0,1-6.82,2.3,10.65,10.65,0,0,1-1.92-.13v8.13h-3.9Zm3.9,10a7.84,7.84,0,0,0,1.92.16c2.94,0,4.74-1.44,4.74-4s-1.67-3.68-4.39-3.68a11.35,11.35,0,0,0-2.27.19Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M1333.92,644.48l-.26-1.73h-.09a5.77,5.77,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.93,3.49-5.92,9.25-5.89v-.25c0-1-.41-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.77-2.56a11.3,11.3,0,0,1,5.64-1.38c5,0,6.43,3.17,6.43,6.56v5.64a25.06,25.06,0,0,0,.22,3.74Zm-.51-7.62c-2.79-.06-5.44.55-5.44,2.92a2.07,2.07,0,0,0,2.24,2.24,3.19,3.19,0,0,0,3.07-2.15,2.73,2.73,0,0,0,.13-.86Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M1352.86,644a11.43,11.43,0,0,1-4.41.8c-4.87,0-8-3.1-8-7.94,0-4.67,3.2-8.32,8.67-8.32a9.77,9.77,0,0,1,3.81.74l-.71,2.94a7.08,7.08,0,0,0-3-.6c-3,0-4.8,2.2-4.77,5,0,3.2,2.08,5,4.77,5a7.7,7.7,0,0,0,3.1-.61Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M1359.71,635.74h.07c.38-.6.83-1.28,1.24-1.82l3.78-5h4.73l-5.75,6.36,6.59,9.22h-4.84l-4.47-6.88-1.35,1.57v5.31h-3.93V621.76h3.93Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M1374.62,637.79c.1,2.82,2.31,4,4.8,4a11.64,11.64,0,0,0,4.32-.7l.58,2.72a14.74,14.74,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.62-8.39,7.61-8.39s6.72,4.16,6.72,7.59a9,9,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.46,2.21-3.62,3.81Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M1392.86,624.45v4.45h3.75v2.94h-3.75v6.88c0,1.89.51,2.88,2,2.88a6,6,0,0,0,1.53-.19l.07,3a8.48,8.48,0,0,1-2.85.39,4.56,4.56,0,0,1-3.39-1.28c-.83-.9-1.22-2.3-1.22-4.35v-7.33h-2.24V628.9H1389v-3.52Z" transform="translate(-238.82 -201.89)"/><path class="cls-4" d="M1414.14,644.48V639.2h-9.4v-2.56l8.47-13h4.64v12.54h2.69v3h-2.69v5.28Zm0-8.26v-5.66c0-1.18,0-2.4.13-3.62h-.13c-.64,1.32-1.18,2.37-1.82,3.52l-3.81,5.7,0,.06Z" transform="translate(-238.82 -201.89)"/><g id="surface1"><path class="cls-5" d="M1007.12,201.89H907.9v32a6.41,6.41,0,0,1-6.41,6.4h-35.2V361.93a6.42,6.42,0,0,0,6.4,6.4h134.43a6.42,6.42,0,0,0,6.4-6.4V208.29A6.42,6.42,0,0,0,1007.12,201.89Z" transform="translate(-238.82 -201.89)"/><path class="cls-6" d="M901.49,240.3a6.41,6.41,0,0,0,6.41-6.4v-32L866.29,240.3Z" transform="translate(-238.82 -201.89)"/><path class="cls-7" d="M907.9,368.33h99.22a6.41,6.41,0,0,0,6.4-6.4V269.4A160.4,160.4,0,0,1,907.9,368.33Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M897.44,265c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S897.44,261.16,897.44,265Zm-7,.13c0,3.19.87,4.85,2.24,4.85s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C891.4,260.23,890.47,261.87,890.49,265.17Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M902.9,260.8h0L900.45,262l-.42-1.88,3.19-1.58h2.09V271.7H902.9Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M913.74,260.8h0L911.29,262l-.42-1.88,3.19-1.58h2.08V271.7h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M930,265c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S930,261.16,930,265Zm-7,.13c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C923.91,260.23,923,261.87,923,265.17Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M935.41,260.8h0L933,262l-.42-1.88,3.19-1.58h2.08V271.7h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M951.62,265c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S951.62,261.16,951.62,265Zm-7,.13c0,3.19.87,4.85,2.24,4.85s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C945.58,260.23,944.65,261.87,944.67,265.17Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M962.46,265c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S962.46,261.16,962.46,265Zm-7,.13c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S955.48,261.87,955.5,265.17Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M973.29,265c0,4.23-1.65,6.88-4.79,6.88s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S973.29,261.16,973.29,265Zm-6.95.13c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C967.25,260.23,966.32,261.87,966.34,265.17Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M978.75,260.8h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08V271.7h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M989.59,260.8h0L987.14,262l-.42-1.88,3.19-1.58H992V271.7h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M892.06,277.06h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08V288h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M908.28,281.31c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.84,4.81-6.84S908.28,277.42,908.28,281.31Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S901.3,278.13,901.32,281.43Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M919.11,281.31c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S919.11,277.42,919.11,281.31Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C913.07,276.49,912.14,278.13,912.16,281.43Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M924.57,277.06h0l-2.4,1.21-.43-1.88,3.2-1.57H927V288h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M940.79,281.31c0,4.22-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.82-6.84S940.79,277.42,940.79,281.31Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S933.81,278.13,933.83,281.43Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M946.24,277.06h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08V288h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M962.46,281.31c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S962.46,277.42,962.46,281.31Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S955.48,278.13,955.5,281.43Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M967.92,277.06h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08V288h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M984.13,281.31c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S984.13,277.42,984.13,281.31Zm-7,.12c0,3.19.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C978.09,276.49,977.16,278.13,977.18,281.43Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M989.59,277.06h0l-2.41,1.21-.42-1.88,3.19-1.57H992V288h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M897.44,297.57c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S897.44,293.68,897.44,297.57Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C891.4,292.75,890.47,294.39,890.49,297.69Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M908.28,297.57c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.84,4.81-6.84S908.28,293.68,908.28,297.57Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S901.3,294.39,901.32,297.69Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M913.74,293.32h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08v13.14h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M930,297.57c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S930,293.68,930,297.57Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C923.91,292.75,923,294.39,923,297.69Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M935.41,293.32h0L933,294.53l-.42-1.88,3.19-1.57h2.08v13.14h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M951.62,297.57c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S951.62,293.68,951.62,297.57Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C945.58,292.75,944.65,294.39,944.67,297.69Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M957.08,293.32h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M973.29,297.57c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S973.29,293.68,973.29,297.57Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C967.25,292.75,966.32,294.39,966.34,297.69Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M984.13,297.57c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S984.13,293.68,984.13,297.57Zm-7,.12c0,3.19.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C978.09,292.75,977.16,294.39,977.18,297.69Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M989.59,293.32h0l-2.41,1.21-.42-1.88,3.19-1.57H992v13.14h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M892.06,309.58h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M908.28,313.83c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.84,4.81-6.84S908.28,309.94,908.28,313.83Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S901.3,310.65,901.32,314Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M913.74,309.58h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08v13.14h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M930,313.83c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S930,309.94,930,313.83Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C923.91,309,923,310.65,923,314Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M940.79,313.83c0,4.22-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.82-6.84S940.79,309.94,940.79,313.83Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S933.81,310.65,933.83,314Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M946.24,309.58h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M962.46,313.83c0,4.22-1.66,6.87-4.79,6.87S953,318,953,314s1.74-6.84,4.81-6.84S962.46,309.94,962.46,313.83Zm-7,.12c0,3.19.87,4.85,2.25,4.85S960,317,960,313.87s-.73-4.86-2.22-4.86S955.48,310.65,955.5,314Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M973.29,313.83c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S973.29,309.94,973.29,313.83Zm-6.95.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C967.25,309,966.32,310.65,966.34,314Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M978.75,309.58h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M995,313.83c0,4.22-1.66,6.87-4.8,6.87S985.53,318,985.5,314s1.74-6.84,4.82-6.84S995,309.94,995,313.83Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S988,310.65,988,314Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M897.44,330.09c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S897.44,326.2,897.44,330.09Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C891.4,325.27,890.47,326.91,890.49,330.21Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M908.28,330.09c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.84,4.81-6.84S908.28,326.2,908.28,330.09Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S901.3,326.91,901.32,330.21Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M913.74,325.84h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08v13.14h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M924.57,325.84h0l-2.4,1.21-.43-1.88,3.2-1.57H927v13.14h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M940.79,330.09c0,4.22-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.82-6.84S940.79,326.2,940.79,330.09Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S933.81,326.91,933.83,330.21Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M946.24,325.84h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08v13.14h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M957.08,325.84h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09v13.14h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M967.92,325.84h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08v13.14h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M984.13,330.09c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S984.13,326.2,984.13,330.09Zm-7,.12c0,3.19.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C978.09,325.27,977.16,326.91,977.18,330.21Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M989.59,325.84h0l-2.41,1.21-.42-1.88,3.19-1.57H992v13.14h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M892.06,342.1h0l-2.4,1.21-.43-1.88,3.2-1.57h2.08V353h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M902.9,342.1h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09V353H902.9Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M919.11,346.35c0,4.22-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S919.11,342.46,919.11,346.35Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.86-2.23-4.86C913.07,341.53,912.14,343.17,912.16,346.47Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M924.57,342.1h0l-2.4,1.21-.43-1.88,3.2-1.57H927V353h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M940.79,346.35c0,4.22-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.82-6.84S940.79,342.46,940.79,346.35Zm-7,.12c0,3.19.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.86-2.22-4.86S933.81,343.17,933.83,346.47Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M951.62,346.35c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S951.62,342.46,951.62,346.35Zm-7,.12c0,3.19.87,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C945.58,341.53,944.65,343.17,944.67,346.47Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M957.08,342.1h0l-2.41,1.21-.42-1.88,3.19-1.57h2.09V353h-2.41Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M967.92,342.1h0l-2.41,1.21-.42-1.88,3.19-1.57h2.08V353h-2.4Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M984.13,346.35c0,4.22-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.84,4.81-6.84S984.13,342.46,984.13,346.35Zm-7,.12c0,3.19.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.86-2.22-4.86C978.09,341.53,977.16,343.17,977.18,346.47Z" transform="translate(-238.82 -201.89)"/><path class="cls-8" d="M989.59,342.1h0l-2.41,1.21-.42-1.88,3.19-1.57H992V353h-2.4Z" transform="translate(-238.82 -201.89)"/></g><path class="cls-9" d="M845.87,767.75a13.62,13.62,0,0,1-5.57,1c-6.84,0-11-4.29-11-10.85,0-7.1,4.92-11.39,11.52-11.39a12.45,12.45,0,0,1,5.24,1l-.86,3.14a10.46,10.46,0,0,0-4.22-.83c-4.39,0-7.56,2.75-7.56,7.93,0,4.74,2.79,7.78,7.52,7.78a11,11,0,0,0,4.29-.8Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M854,750.12h-6.14v-3.29h16.28v3.29h-6.2v18.27H854Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M866.67,746.83h12.45v3.23h-8.51v6h7.93v3.23h-7.93v9.15h-3.94Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M903.79,745.67V764c0,1.6.06,3.33.13,4.38H900.4l-.16-2.46h-.07a5.58,5.58,0,0,1-5.08,2.81c-3.72,0-6.66-3.16-6.66-8,0-5.22,3.23-8.32,7-8.32a5,5,0,0,1,4.38,2h.06v-8.83Zm-3.94,13.63a5.86,5.86,0,0,0-.09-1,3.44,3.44,0,0,0-3.39-2.78c-2.53,0-3.94,2.24-3.94,5.15s1.41,4.93,3.9,4.93a3.49,3.49,0,0,0,3.4-2.79,4.62,4.62,0,0,0,.12-1.15Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M916.78,768.39l-.25-1.73h-.1a5.77,5.77,0,0,1-4.61,2.08,4.62,4.62,0,0,1-4.89-4.64c0-3.93,3.48-5.92,9.24-5.88V758c0-1-.41-2.72-3.16-2.72a8.3,8.3,0,0,0-4.2,1.15l-.76-2.56a11.24,11.24,0,0,1,5.63-1.37c5,0,6.43,3.16,6.43,6.56v5.63a25,25,0,0,0,.22,3.74Zm-.51-7.61c-2.78-.07-5.44.54-5.44,2.91a2.07,2.07,0,0,0,2.24,2.24,3.19,3.19,0,0,0,3.07-2.15,2.65,2.65,0,0,0,.13-.86Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M928.59,748.36v4.45h3.74v2.94h-3.74v6.88c0,1.89.51,2.88,2,2.88a5.61,5.61,0,0,0,1.53-.19l.07,3a8.8,8.8,0,0,1-2.85.38,4.54,4.54,0,0,1-3.39-1.28c-.84-.89-1.22-2.3-1.22-4.35v-7.33h-2.24v-2.94h2.24v-3.52Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M944.08,768.39l-.26-1.73h-.09a5.79,5.79,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.93,3.49-5.92,9.25-5.88V758c0-1-.42-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.77-2.56a11.27,11.27,0,0,1,5.63-1.37c5,0,6.44,3.16,6.44,6.56v5.63a25,25,0,0,0,.22,3.74Zm-.51-7.61c-2.79-.07-5.44.54-5.44,2.91a2.07,2.07,0,0,0,2.24,2.24,3.2,3.2,0,0,0,3.07-2.15,3,3,0,0,0,.13-.86Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M958,764.78a8.8,8.8,0,0,0,4,1.12c1.73,0,2.49-.71,2.49-1.73s-.64-1.6-2.56-2.27c-3-1.06-4.32-2.72-4.28-4.55,0-2.75,2.27-4.89,5.88-4.89a9.18,9.18,0,0,1,4.13.92l-.77,2.79a6.91,6.91,0,0,0-3.29-.9c-1.41,0-2.18.67-2.18,1.63s.74,1.48,2.72,2.18c2.82,1,4.13,2.46,4.16,4.77,0,2.81-2.21,4.86-6.33,4.86a10.06,10.06,0,0,1-4.74-1.09Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M976,748.36v4.45h3.75v2.94H976v6.88c0,1.89.52,2.88,2,2.88a5.76,5.76,0,0,0,1.54-.19l.06,3a8.8,8.8,0,0,1-2.85.38,4.56,4.56,0,0,1-3.39-1.28c-.83-.89-1.22-2.3-1.22-4.35v-7.33H970v-2.94h2.23v-3.52Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M982.77,757.83c0-2.11,0-3.61-.13-5h3.42l.13,3h.13a4.64,4.64,0,0,1,4.25-3.32,4.38,4.38,0,0,1,.93.09v3.71a5.8,5.8,0,0,0-1.15-.12,3.46,3.46,0,0,0-3.52,3,6.25,6.25,0,0,0-.13,1.22v8.06h-3.93Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M996.65,761.7c.1,2.82,2.31,4,4.8,4a11.62,11.62,0,0,0,4.32-.71l.58,2.72a14.58,14.58,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.62-8.38,7.61-8.38s6.72,4.16,6.72,7.58a9,9,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.46,2.21-3.62,3.81Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M1019.15,768.39l-.26-1.73h-.09a5.79,5.79,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.93,3.49-5.92,9.25-5.88V758c0-1-.42-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.77-2.56a11.3,11.3,0,0,1,5.63-1.37c5,0,6.44,3.16,6.44,6.56v5.63a25,25,0,0,0,.22,3.74Zm-.51-7.61c-2.79-.07-5.44.54-5.44,2.91a2.07,2.07,0,0,0,2.24,2.24,3.2,3.2,0,0,0,3.07-2.15,3,3,0,0,0,.13-.86Z" transform="translate(-238.82 -201.89)"/><path class="cls-9" d="M1026.64,757.45c0-1.79,0-3.3-.13-4.64h3.39l.16,2.3h.1a5.38,5.38,0,0,1,4.8-2.65,4.51,4.51,0,0,1,4.32,2.88h.06a5.82,5.82,0,0,1,1.92-2,5.26,5.26,0,0,1,3.14-.92c2.59,0,5.21,1.76,5.21,6.75v9.18h-3.84v-8.61c0-2.59-.89-4.12-2.78-4.12a3,3,0,0,0-2.75,2.08,5.37,5.37,0,0,0-.2,1.31v9.34h-3.84v-9c0-2.18-.86-3.71-2.68-3.71a3.07,3.07,0,0,0-2.82,2.24,3.35,3.35,0,0,0-.22,1.28v9.21h-3.84Z" transform="translate(-238.82 -201.89)"/></svg>
\ No newline at end of file
--- /dev/null
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 956.03 519.39"><defs><style>.cls-1{fill:#3b97d3;stroke:#206d99;}.cls-1,.cls-2,.cls-5,.cls-6,.cls-7{stroke-miterlimit:10;stroke-width:2px;}.cls-2{fill:#965ba5;stroke:#894b9d;}.cls-3{fill:#fff;}.cls-4{fill:#206d99;}.cls-5{fill:#4eba6e;stroke:#1a8947;}.cls-6{fill:#e57e25;stroke:#d25627;}.cls-7{fill:none;stroke:#216d99;}.cls-8{fill:#1a8947;}</style></defs><title>ctf-event-record</title><rect class="cls-1" x="1" y="296.26" width="954.03" height="176.94" rx="20.26"/><path class="cls-2" d="M536.75,646.27H363.81c-10.65,0-19.29-9.07-19.29-20.26V529.59c0-11.19,8.64-20.26,19.29-20.26H536.75c10.66,0,19.3,9.07,19.3,20.26V626C556.05,637.2,547.41,646.27,536.75,646.27Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M405.7,565.63v8.64h9.12v-8.64h3.93v21.56h-3.93v-9.5H405.7v9.5h-3.94V565.63Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M425.89,580.51c.1,2.81,2.3,4,4.8,4a11.66,11.66,0,0,0,4.32-.71l.58,2.72a14.58,14.58,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.62-8.38,7.61-8.38s6.72,4.16,6.72,7.58a9.09,9.09,0,0,1-.13,1.67Zm6.85-2.76c0-1.43-.61-3.8-3.23-3.8-2.44,0-3.46,2.21-3.62,3.8Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M448.39,587.19l-.26-1.72H448a5.8,5.8,0,0,1-4.6,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.26c0-1-.42-2.72-3.17-2.72a8.14,8.14,0,0,0-4.19,1.16l-.77-2.56a11.15,11.15,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.63a24.83,24.83,0,0,0,.23,3.74Zm-.52-7.61c-2.78-.07-5.44.54-5.44,2.91a2.07,2.07,0,0,0,2.24,2.24,3.2,3.2,0,0,0,3.08-2.14,3,3,0,0,0,.12-.87Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M470.24,564.48v18.33c0,1.6.07,3.33.13,4.38h-3.52l-.16-2.46h-.06a5.62,5.62,0,0,1-5.09,2.82c-3.71,0-6.66-3.17-6.66-8,0-5.22,3.23-8.32,7-8.32a5,5,0,0,1,4.38,2h.07v-8.83Zm-3.93,13.63a6,6,0,0,0-.1-1,3.45,3.45,0,0,0-3.39-2.78c-2.53,0-3.94,2.24-3.94,5.15s1.41,4.93,3.91,4.93a3.48,3.48,0,0,0,3.39-2.79,4.6,4.6,0,0,0,.13-1.15Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M477.25,580.51c.1,2.81,2.3,4,4.8,4a11.66,11.66,0,0,0,4.32-.71l.58,2.72a14.58,14.58,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a9.09,9.09,0,0,1-.13,1.67Zm6.85-2.76c0-1.43-.61-3.8-3.23-3.8-2.44,0-3.46,2.21-3.62,3.8Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M491,576.63c0-2.11,0-3.61-.13-5h3.42l.13,3h.13a4.65,4.65,0,0,1,4.26-3.33,3.76,3.76,0,0,1,.92.1v3.71a5.07,5.07,0,0,0-1.15-.13,3.47,3.47,0,0,0-3.52,3,7.25,7.25,0,0,0-.13,1.22v8.06H491Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M702.9,712.48a13.66,13.66,0,0,1-5.57,1c-6.85,0-11-4.29-11-10.85,0-7.1,4.93-11.39,11.52-11.39a12.35,12.35,0,0,1,5.25,1l-.86,3.14a10.49,10.49,0,0,0-4.23-.84c-4.38,0-7.55,2.75-7.55,7.94,0,4.73,2.78,7.77,7.52,7.77a11.05,11.05,0,0,0,4.29-.8Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M711,694.85h-6.15v-3.3h16.29v3.3H715v18.27H711Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M723.7,691.55h12.45v3.23h-8.52v6h7.94V704h-7.94v9.15H723.7Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M749.23,706.43c.1,2.82,2.31,4,4.8,4a11.64,11.64,0,0,0,4.32-.7l.58,2.72a14.78,14.78,0,0,1-5.44,1c-5.06,0-8-3.11-8-7.87,0-4.32,2.62-8.39,7.61-8.39s6.72,4.16,6.72,7.59a9,9,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.46,2.21-3.62,3.81Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M765.36,697.54l2.53,7.9a38.63,38.63,0,0,1,1.05,3.9h.1c.29-1.28.64-2.49,1.06-3.9l2.46-7.9h4.16l-6,15.58H766.9l-5.8-15.58Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M781.49,706.43c.09,2.82,2.3,4,4.8,4a11.71,11.71,0,0,0,4.32-.7l.57,2.72a14.7,14.7,0,0,1-5.44,1c-5,0-8-3.11-8-7.87,0-4.32,2.63-8.39,7.62-8.39s6.72,4.16,6.72,7.59a10.05,10.05,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.44,0-3.46,2.21-3.62,3.81Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M795.22,702.17c0-1.79,0-3.29-.13-4.63h3.45l.2,2.33h.09a5.63,5.63,0,0,1,5-2.69c2.72,0,5.54,1.76,5.54,6.69v9.25h-3.94v-8.8c0-2.24-.83-3.94-3-3.94a3.31,3.31,0,0,0-3.08,2.31,4.23,4.23,0,0,0-.16,1.28v9.15h-4Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M817.87,693.09v4.45h3.75v2.94h-3.75v6.88c0,1.89.51,2.88,2,2.88a6,6,0,0,0,1.53-.19l.07,3a8.48,8.48,0,0,1-2.85.39,4.54,4.54,0,0,1-3.39-1.28c-.83-.9-1.22-2.31-1.22-4.35v-7.33h-2.24v-2.94H814V694Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M831.22,702.56c0-2.11,0-3.62-.13-5h3.42l.13,3h.13a4.65,4.65,0,0,1,4.25-3.33,3.79,3.79,0,0,1,.93.1V701a5.71,5.71,0,0,0-1.15-.13,3.47,3.47,0,0,0-3.52,3,7.12,7.12,0,0,0-.13,1.21v8.07h-3.93Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M845.1,706.43c.1,2.82,2.31,4,4.8,4a11.64,11.64,0,0,0,4.32-.7l.58,2.72a14.74,14.74,0,0,1-5.44,1c-5.06,0-8-3.11-8-7.87,0-4.32,2.62-8.39,7.61-8.39s6.72,4.16,6.72,7.59a10.3,10.3,0,0,1-.12,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.43,0-3.46,2.21-3.62,3.81Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M870.29,712.64a11.49,11.49,0,0,1-4.42.8c-4.86,0-8-3.11-8-7.94,0-4.67,3.2-8.32,8.67-8.32a9.77,9.77,0,0,1,3.81.74l-.7,2.94a7.07,7.07,0,0,0-3-.61c-3,0-4.8,2.21-4.77,5.06,0,3.2,2.08,5,4.77,5a7.65,7.65,0,0,0,3.1-.6Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M887.73,705.18c0,5.73-4,8.29-8,8.29-4.42,0-7.81-3-7.81-8s3.36-8.26,8.06-8.26S887.73,700.45,887.73,705.18Zm-11.75.16c0,3,1.48,5.28,3.88,5.28,2.24,0,3.8-2.21,3.8-5.34,0-2.43-1.08-5.22-3.77-5.22S876,702.75,876,705.34Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M891,702.56c0-2.11,0-3.62-.13-5h3.43l.12,3h.13a4.65,4.65,0,0,1,4.26-3.33,3.84,3.84,0,0,1,.93.1V701a5.82,5.82,0,0,0-1.16-.13,3.49,3.49,0,0,0-3.52,3,7.18,7.18,0,0,0-.12,1.21v8.07H891Z" transform="translate(-323.84 -194.08)"/><path class="cls-4" d="M916.43,690.4v18.33c0,1.6.06,3.33.13,4.39H913l-.16-2.47h-.06a5.62,5.62,0,0,1-5.09,2.82c-3.71,0-6.66-3.17-6.66-8,0-5.21,3.23-8.32,7-8.32a5,5,0,0,1,4.38,2.05h.06V690.4ZM912.49,704a5.86,5.86,0,0,0-.09-1,3.45,3.45,0,0,0-3.39-2.79c-2.53,0-3.94,2.24-3.94,5.15s1.41,4.93,3.91,4.93a3.48,3.48,0,0,0,3.39-2.78,4.67,4.67,0,0,0,.12-1.15Z" transform="translate(-323.84 -194.08)"/><path class="cls-2" d="M770.75,646.27H597.81c-10.65,0-19.29-9.07-19.29-20.26V529.59c0-11.19,8.64-20.26,19.29-20.26H770.75c10.66,0,19.3,9.07,19.3,20.26V626C790.05,637.2,781.41,646.27,770.75,646.27Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M638.11,567.35a13.56,13.56,0,0,1-5.56,1c-6.85,0-11-4.28-11-10.84,0-7.11,4.93-11.39,11.52-11.39a12.35,12.35,0,0,1,5.25,1l-.87,3.13a10.42,10.42,0,0,0-4.22-.83c-4.39,0-7.55,2.75-7.55,7.93,0,4.74,2.78,7.78,7.52,7.78a11,11,0,0,0,4.28-.8Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M655.62,560.06c0,5.73-4,8.28-8,8.28-4.42,0-7.81-3-7.81-8s3.36-8.25,8.06-8.25S655.62,555.32,655.62,560.06Zm-11.75.16c0,3,1.48,5.28,3.88,5.28,2.24,0,3.8-2.21,3.8-5.35,0-2.43-1.08-5.21-3.77-5.21S643.87,557.63,643.87,560.22Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M658.85,557.05c0-1.79,0-3.3-.13-4.64h3.39l.16,2.3h.1a5.41,5.41,0,0,1,4.8-2.65,4.49,4.49,0,0,1,4.32,2.88h.06a5.87,5.87,0,0,1,1.92-2,5.22,5.22,0,0,1,3.14-.93c2.59,0,5.22,1.76,5.22,6.75V568H678v-8.6c0-2.6-.9-4.13-2.79-4.13a3,3,0,0,0-2.75,2.08,5.37,5.37,0,0,0-.19,1.31V568h-3.84v-9c0-2.18-.87-3.71-2.69-3.71a3.09,3.09,0,0,0-2.82,2.24,3.35,3.35,0,0,0-.22,1.28V568h-3.84Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M686,557.05c0-1.79,0-3.3-.13-4.64h3.39l.16,2.3h.1a5.38,5.38,0,0,1,4.8-2.65,4.51,4.51,0,0,1,4.32,2.88h.06a5.69,5.69,0,0,1,1.92-2,5.2,5.2,0,0,1,3.14-.93c2.59,0,5.21,1.76,5.21,6.75V568h-3.84v-8.6c0-2.6-.89-4.13-2.78-4.13a3,3,0,0,0-2.75,2.08,5.37,5.37,0,0,0-.2,1.31V568h-3.84v-9c0-2.18-.86-3.71-2.68-3.71a3.07,3.07,0,0,0-2.82,2.24,3.35,3.35,0,0,0-.22,1.28V568H686Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M727.94,560.06c0,5.73-4,8.28-8,8.28-4.42,0-7.81-3-7.81-8s3.36-8.25,8.06-8.25S727.94,555.32,727.94,560.06Zm-11.75.16c0,3,1.48,5.28,3.88,5.28,2.24,0,3.8-2.21,3.8-5.35,0-2.43-1.08-5.21-3.77-5.21S716.19,557.63,716.19,560.22Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M731.17,557.05c0-1.79,0-3.3-.13-4.64h3.46l.19,2.34h.1a5.6,5.6,0,0,1,5-2.69c2.72,0,5.53,1.76,5.53,6.69V568h-3.93v-8.8c0-2.24-.84-3.93-3-3.93a3.29,3.29,0,0,0-3.07,2.3,3.94,3.94,0,0,0-.16,1.28V568h-4Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M644.93,605.91a11.26,11.26,0,0,1-4.42.8c-4.86,0-8-3.1-8-7.93,0-4.67,3.2-8.32,8.67-8.32a9.93,9.93,0,0,1,3.81.73l-.7,2.95a6.91,6.91,0,0,0-3-.61c-3,0-4.8,2.21-4.77,5.06,0,3.2,2.08,5,4.77,5a7.72,7.72,0,0,0,3.11-.61Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M662.37,598.46c0,5.73-4,8.28-8,8.28-4.42,0-7.81-3-7.81-8s3.36-8.25,8.07-8.25S662.37,593.72,662.37,598.46Zm-11.74.16c0,3,1.47,5.28,3.87,5.28,2.24,0,3.81-2.21,3.81-5.35,0-2.43-1.09-5.21-3.78-5.21S650.63,596,650.63,598.62Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M665.6,595.45c0-1.79,0-3.3-.13-4.64h3.46l.19,2.34h.1a5.61,5.61,0,0,1,5-2.69c2.72,0,5.53,1.76,5.53,6.69v9.24h-3.93v-8.8c0-2.24-.83-3.93-3-3.93a3.3,3.3,0,0,0-3.07,2.3,3.94,3.94,0,0,0-.16,1.28v9.15h-4Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M688.26,586.36v4.45H692v2.94h-3.74v6.88c0,1.89.51,2.88,2,2.88a5.64,5.64,0,0,0,1.54-.19l.06,3a8.73,8.73,0,0,1-2.84.38,4.58,4.58,0,0,1-3.4-1.28c-.83-.89-1.21-2.3-1.21-4.35v-7.33h-2.24v-2.94h2.24v-3.52Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M697.57,599.71c.1,2.81,2.3,4,4.8,4a11.66,11.66,0,0,0,4.32-.71l.58,2.72a14.58,14.58,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a9.18,9.18,0,0,1-.13,1.67Zm6.85-2.76c0-1.44-.61-3.8-3.23-3.8-2.44,0-3.46,2.2-3.62,3.8Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M713.67,590.81l1.85,2.94c.51.84,1,1.6,1.41,2.4h.1c.44-.86.89-1.66,1.34-2.46l1.73-2.88h4.29l-5.22,7.49,5.31,8.09H720l-1.92-3.1c-.51-.83-1-1.66-1.4-2.53h-.07c-.45.9-.89,1.67-1.41,2.53l-1.79,3.1h-4.35l5.41-7.93-5.22-7.65Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M731.78,586.36v4.45h3.74v2.94h-3.74v6.88c0,1.89.51,2.88,2,2.88a5.64,5.64,0,0,0,1.54-.19l.06,3a8.73,8.73,0,0,1-2.84.38,4.58,4.58,0,0,1-3.4-1.28c-.83-.89-1.21-2.3-1.21-4.35v-7.33H725.7v-2.94h2.24v-3.52Z" transform="translate(-323.84 -194.08)"/><path class="cls-2" d="M1004.75,646.27H831.81c-10.65,0-19.29-9.07-19.29-20.26V529.59c0-11.19,8.64-20.26,19.29-20.26h172.94c10.66,0,19.3,9.07,19.3,20.26V626C1024.05,637.2,1015.41,646.27,1004.75,646.27Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M866.72,563.7a10.86,10.86,0,0,0,5.22,1.38c2.53,0,3.93-1.18,3.93-2.94s-1.08-2.59-3.84-3.59c-3.55-1.28-5.82-3.16-5.82-6.27,0-3.52,2.95-6.2,7.62-6.2a11.49,11.49,0,0,1,5.18,1.08l-1,3.17a9.09,9.09,0,0,0-4.29-1c-2.49,0-3.58,1.34-3.58,2.59,0,1.66,1.25,2.43,4.13,3.55,3.74,1.41,5.56,3.3,5.56,6.4,0,3.46-2.62,6.46-8.19,6.46a12.84,12.84,0,0,1-5.82-1.34Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M883.27,557.59c0-2-.07-3.71-.13-5.18h3.45l.2,2.4h.06a6.07,6.07,0,0,1,5.34-2.75c3.59,0,6.56,3.07,6.56,7.93,0,5.63-3.55,8.35-7.1,8.35a5.13,5.13,0,0,1-4.38-2.07h-.07v8.06h-3.93Zm3.93,3.88a4.26,4.26,0,0,0,.13,1.08,3.56,3.56,0,0,0,3.46,2.76c2.49,0,4-2.08,4-5.16,0-2.75-1.34-5-3.87-5a3.68,3.68,0,0,0-3.52,2.91,3.86,3.86,0,0,0-.16,1Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M904.77,561.31c.1,2.81,2.31,4,4.8,4a11.66,11.66,0,0,0,4.32-.71l.58,2.72a14.58,14.58,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a9.18,9.18,0,0,1-.13,1.67Zm6.85-2.76c0-1.44-.61-3.8-3.23-3.8-2.44,0-3.46,2.2-3.62,3.8Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M930,567.51a11.25,11.25,0,0,1-4.41.8c-4.87,0-8-3.1-8-7.93,0-4.67,3.2-8.32,8.67-8.32a10,10,0,0,1,3.81.73l-.71,3a6.9,6.9,0,0,0-3-.61c-3,0-4.8,2.21-4.77,5.06,0,3.2,2.08,5,4.77,5a7.7,7.7,0,0,0,3.1-.61Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M937.06,548.06a2.21,2.21,0,1,1-2.21-2.15A2.09,2.09,0,0,1,937.06,548.06ZM932.87,568V552.41h4V568Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M941.51,568V555.35h-2.12v-2.94h2.12v-.74c0-4.19,2.91-6.75,7.55-6.75a9.34,9.34,0,0,1,4.29,1l-.87,3a7.07,7.07,0,0,0-3.42-.83c-2.75,0-3.65,1.66-3.65,3.71v.64h9.31V568h-4V555.35h-5.31V568Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M970.4,567.51a11.25,11.25,0,0,1-4.41.8c-4.87,0-8-3.1-8-7.93,0-4.67,3.2-8.32,8.68-8.32a9.87,9.87,0,0,1,3.8.73l-.7,3a6.91,6.91,0,0,0-3-.61c-3,0-4.8,2.21-4.76,5.06,0,3.2,2.08,5,4.76,5a7.72,7.72,0,0,0,3.11-.61Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M878.93,605.91a11.26,11.26,0,0,1-4.42.8c-4.86,0-8-3.1-8-7.93,0-4.67,3.2-8.32,8.67-8.32a9.93,9.93,0,0,1,3.81.73l-.7,2.95a6.91,6.91,0,0,0-3-.61c-3,0-4.8,2.21-4.77,5.06,0,3.2,2.08,5,4.77,5a7.72,7.72,0,0,0,3.11-.61Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M896.37,598.46c0,5.73-4,8.28-8,8.28-4.42,0-7.81-3-7.81-8s3.36-8.25,8.07-8.25S896.37,593.72,896.37,598.46Zm-11.74.16c0,3,1.47,5.28,3.87,5.28,2.24,0,3.81-2.21,3.81-5.35,0-2.43-1.09-5.21-3.78-5.21S884.63,596,884.63,598.62Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M899.6,595.45c0-1.79,0-3.3-.13-4.64h3.46l.19,2.34h.1a5.61,5.61,0,0,1,5-2.69c2.72,0,5.53,1.76,5.53,6.69v9.24h-3.93v-8.8c0-2.24-.83-3.93-3-3.93a3.3,3.3,0,0,0-3.07,2.3,3.94,3.94,0,0,0-.16,1.28v9.15h-4Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M922.26,586.36v4.45H926v2.94h-3.74v6.88c0,1.89.51,2.88,2,2.88a5.64,5.64,0,0,0,1.54-.19l.06,3a8.73,8.73,0,0,1-2.84.38,4.58,4.58,0,0,1-3.4-1.28c-.83-.89-1.21-2.3-1.21-4.35v-7.33h-2.24v-2.94h2.24v-3.52Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M931.57,599.71c.1,2.81,2.3,4,4.8,4a11.66,11.66,0,0,0,4.32-.71l.58,2.72a14.58,14.58,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a9.18,9.18,0,0,1-.13,1.67Zm6.85-2.76c0-1.44-.61-3.8-3.23-3.8-2.44,0-3.46,2.2-3.62,3.8Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M947.67,590.81l1.85,2.94c.51.84,1,1.6,1.41,2.4h.1c.44-.86.89-1.66,1.34-2.46l1.73-2.88h4.29l-5.22,7.49,5.31,8.09H954l-1.92-3.1c-.51-.83-1-1.66-1.4-2.53h-.07c-.45.9-.89,1.67-1.41,2.53l-1.79,3.1h-4.35l5.41-7.93-5.22-7.65Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M965.78,586.36v4.45h3.74v2.94h-3.74v6.88c0,1.89.51,2.88,2,2.88a5.64,5.64,0,0,0,1.54-.19l.06,3a8.73,8.73,0,0,1-2.84.38,4.58,4.58,0,0,1-3.4-1.28c-.83-.89-1.21-2.3-1.21-4.35v-7.33H959.7v-2.94h2.24v-3.52Z" transform="translate(-323.84 -194.08)"/><path class="cls-2" d="M1239,646.27H1066c-10.66,0-19.3-9.07-19.3-20.26V529.59c0-11.19,8.64-20.26,19.3-20.26H1239c10.65,0,19.29,9.07,19.29,20.26V626C1258.26,637.2,1249.62,646.27,1239,646.27Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M1099.23,565.92a33.61,33.61,0,0,1,6-.45c2.88,0,5,.61,6.37,1.76a6.07,6.07,0,0,1,2.11,4.76,6.56,6.56,0,0,1-1.85,4.9,9.53,9.53,0,0,1-6.82,2.31,11.65,11.65,0,0,1-1.92-.13v8.12h-3.9Zm3.9,10a7.84,7.84,0,0,0,1.92.16c2.94,0,4.74-1.44,4.74-4s-1.67-3.68-4.39-3.68a10.63,10.63,0,0,0-2.27.19Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M1125.05,587.19l-.26-1.72h-.09a5.8,5.8,0,0,1-4.61,2.08,4.62,4.62,0,0,1-4.89-4.64c0-3.94,3.48-5.92,9.24-5.89v-.26c0-1-.41-2.72-3.17-2.72a8.2,8.2,0,0,0-4.19,1.16l-.76-2.56a11.12,11.12,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25,25,0,0,0,.22,3.74Zm-.51-7.61c-2.79-.07-5.44.54-5.44,2.91a2.06,2.06,0,0,0,2.24,2.24,3.18,3.18,0,0,0,3.07-2.14,2.74,2.74,0,0,0,.13-.87Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M1134.68,571.61l2.82,8.35c.32,1,.64,2.15.86,3h.1c.25-.89.54-2,.83-3.07l2.43-8.32H1146L1142,582.23c-2.14,5.83-3.58,8.42-5.44,10a7.87,7.87,0,0,1-4.13,2l-.89-3.33a6.68,6.68,0,0,0,2.3-1.09,6.93,6.93,0,0,0,2.15-2.46,1.59,1.59,0,0,0,.25-.71,1.7,1.7,0,0,0-.22-.77l-5.7-14.3Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M1148.22,564.48h4v22.71h-4Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M1171.26,579.26c0,5.73-4,8.29-8,8.29-4.42,0-7.81-3-7.81-8s3.36-8.25,8.06-8.25S1171.26,574.52,1171.26,579.26Zm-11.75.16c0,3,1.48,5.28,3.88,5.28,2.24,0,3.8-2.21,3.8-5.35,0-2.43-1.08-5.21-3.77-5.21S1159.51,576.83,1159.51,579.42Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M1183.26,587.19l-.26-1.72h-.09a5.82,5.82,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.26c0-1-.42-2.72-3.17-2.72a8.2,8.2,0,0,0-4.19,1.16l-.77-2.56a11.15,11.15,0,0,1,5.63-1.38c5,0,6.44,3.17,6.44,6.56v5.63a25,25,0,0,0,.22,3.74Zm-.51-7.61c-2.79-.07-5.44.54-5.44,2.91a2.06,2.06,0,0,0,2.24,2.24,3.19,3.19,0,0,0,3.07-2.14,3.06,3.06,0,0,0,.13-.87Z" transform="translate(-323.84 -194.08)"/><path class="cls-3" d="M1205.11,564.48v18.33c0,1.6.07,3.33.13,4.38h-3.52l-.16-2.46h-.06a5.62,5.62,0,0,1-5.09,2.82c-3.71,0-6.66-3.17-6.66-8,0-5.22,3.24-8.32,7-8.32a5,5,0,0,1,4.38,2h.07v-8.83Zm-3.93,13.63a5.14,5.14,0,0,0-.1-1,3.45,3.45,0,0,0-3.39-2.78c-2.53,0-3.94,2.24-3.94,5.15s1.41,4.93,3.91,4.93a3.47,3.47,0,0,0,3.39-2.79,4.18,4.18,0,0,0,.13-1.15Z" transform="translate(-323.84 -194.08)"/><rect class="cls-5" x="157.22" y="38.42" width="641.59" height="80.34" rx="10.52"/><path class="cls-6" d="M578.26,303.3H499.73a9,9,0,0,1-8.76-9.2V250.32a9,9,0,0,1,8.76-9.2h78.53a9,9,0,0,1,8.76,9.2V294.1A9,9,0,0,1,578.26,303.3Z" transform="translate(-323.84 -194.08)"/><path class="cls-6" d="M684.05,303.3H605.53a9,9,0,0,1-8.76-9.2V250.32a9,9,0,0,1,8.76-9.2h78.52a9,9,0,0,1,8.76,9.2V294.1A9,9,0,0,1,684.05,303.3Z" transform="translate(-323.84 -194.08)"/><path class="cls-1" d="M790.3,303.3H711.77a9,9,0,0,1-8.76-9.2V250.32a9,9,0,0,1,8.76-9.2H790.3a9,9,0,0,1,8.76,9.2V294.1A9,9,0,0,1,790.3,303.3Z" transform="translate(-323.84 -194.08)"/><path class="cls-1" d="M880.65,303.3H818a9,9,0,0,1-8.76-9.2V250.32a9,9,0,0,1,8.76-9.2h62.63a9,9,0,0,1,8.76,9.2V294.1A9,9,0,0,1,880.65,303.3Z" transform="translate(-323.84 -194.08)"/><path class="cls-1" d="M1015.51,303.3H908.38a9,9,0,0,1-8.76-9.2V250.32a9,9,0,0,1,8.76-9.2h107.13a9,9,0,0,1,8.76,9.2V294.1A9,9,0,0,1,1015.51,303.3Z" transform="translate(-323.84 -194.08)"/><path class="cls-1" d="M1105,303.3h-61.72a9,9,0,0,1-8.76-9.2V250.32a9,9,0,0,1,8.76-9.2H1105a9,9,0,0,1,8.77,9.2V294.1A9,9,0,0,1,1105,303.3Z" transform="translate(-323.84 -194.08)"/><line class="cls-7" x1="11.71" y1="298.64" x2="487.6" y2="106.08"/><line class="cls-7" x1="943.73" y1="298.87" x2="564.01" y2="105.27"/><path class="cls-8" d="M758,210.64a10.28,10.28,0,0,1-4.18.72c-5.14,0-8.26-3.22-8.26-8.14,0-5.33,3.7-8.54,8.64-8.54a9.33,9.33,0,0,1,3.94.72l-.65,2.35a7.79,7.79,0,0,0-3.17-.62c-3.28,0-5.66,2.06-5.66,6,0,3.55,2.09,5.83,5.64,5.83a8.29,8.29,0,0,0,3.22-.6Z" transform="translate(-323.84 -194.08)"/><path class="cls-8" d="M764.13,197.41h-4.61v-2.47h12.22v2.47h-4.66v13.71h-3Z" transform="translate(-323.84 -194.08)"/><path class="cls-8" d="M773.63,194.94H783v2.43h-6.38v4.46h5.95v2.42h-5.95v6.87h-3Z" transform="translate(-323.84 -194.08)"/><path class="cls-8" d="M790.7,203.32c0-1.54-.05-2.79-.1-3.89h2.59l.15,1.8h0a4.54,4.54,0,0,1,4-2.06c2.69,0,4.93,2.3,4.93,6,0,4.22-2.67,6.26-5.33,6.26a3.83,3.83,0,0,1-3.29-1.56h-.05v6.05H790.7Zm2.95,2.9a2.79,2.79,0,0,0,.1.82,2.66,2.66,0,0,0,2.59,2.06c1.87,0,3-1.56,3-3.86,0-2.07-1-3.75-2.91-3.75a2.76,2.76,0,0,0-2.64,2.19,2.72,2.72,0,0,0-.12.74Z" transform="translate(-323.84 -194.08)"/><path class="cls-8" d="M811.32,211.12l-.2-1.3h-.07a4.34,4.34,0,0,1-3.46,1.56,3.47,3.47,0,0,1-3.67-3.48c0-3,2.62-4.44,6.94-4.41v-.2c0-.76-.31-2-2.38-2a6.12,6.12,0,0,0-3.14.87l-.58-1.92a8.43,8.43,0,0,1,4.23-1c3.74,0,4.82,2.37,4.82,4.92v4.22a18.71,18.71,0,0,0,.17,2.81Zm-.39-5.71c-2.09,0-4.08.4-4.08,2.18a1.55,1.55,0,0,0,1.68,1.68,2.38,2.38,0,0,0,2.3-1.61,1.87,1.87,0,0,0,.1-.65Z" transform="translate(-323.84 -194.08)"/><path class="cls-8" d="M825.52,210.76a8.5,8.5,0,0,1-3.31.6c-3.65,0-6-2.33-6-6s2.4-6.24,6.5-6.24a7.46,7.46,0,0,1,2.86.55l-.53,2.21a5.14,5.14,0,0,0-2.23-.46,3.79,3.79,0,0,0,0,7.56,5.71,5.71,0,0,0,2.32-.46Z" transform="translate(-323.84 -194.08)"/><path class="cls-8" d="M830.66,204.57h0c.29-.46.63-1,.94-1.37l2.83-3.77H838l-4.32,4.78,4.94,6.91H835L831.67,206l-1,1.17v4h-3v-17h3Z" transform="translate(-323.84 -194.08)"/><path class="cls-8" d="M841.84,206.1c.07,2.11,1.73,3,3.6,3a8.91,8.91,0,0,0,3.24-.53l.44,2a11,11,0,0,1-4.09.72c-3.79,0-6-2.33-6-5.91,0-3.24,2-6.28,5.71-6.28s5,3.12,5,5.68a8.27,8.27,0,0,1-.09,1.25ZM847,204c0-1.08-.46-2.86-2.43-2.86a2.89,2.89,0,0,0-2.71,2.86Z" transform="translate(-323.84 -194.08)"/><path class="cls-8" d="M855.52,196.09v3.34h2.81v2.21h-2.81v5.16c0,1.41.39,2.16,1.51,2.16a4.07,4.07,0,0,0,1.16-.15l0,2.26a6.4,6.4,0,0,1-2.13.29,3.45,3.45,0,0,1-2.55-1,4.68,4.68,0,0,1-.91-3.27v-5.49H851v-2.21h1.68v-2.64Z" transform="translate(-323.84 -194.08)"/></svg>
\ No newline at end of file
--- /dev/null
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576.19 475.15"><defs><style>.cls-1{fill:#f2f2f3;}.cls-2,.cls-4{fill:none;}.cls-2{stroke:#231f20;stroke-width:3px;stroke-dasharray:12.06 12.06;}.cls-12,.cls-2{stroke-miterlimit:10;}.cls-3{opacity:0.75;}.cls-5{fill:#ffe2bd;}.cls-6{fill:#f8a794;}.cls-7{opacity:0.7;}.cls-8{fill:#f47859;}.cls-9{fill:#ffe9cc;}.cls-10{opacity:0.85;}.cls-11{fill:#231f20;}.cls-12{fill:#d1edf3;stroke:#89cbd3;stroke-width:1.81px;}.cls-13{fill:#c93f63;}</style></defs><title>ctf-overview</title><rect class="cls-1" x="1.5" y="1.5" width="573.19" height="429.18" rx="29.85"/><rect class="cls-2" x="1.5" y="1.5" width="573.19" height="429.18" rx="29.85"/><g class="cls-3"><path class="cls-4" d="M685,325.57" transform="translate(-240.98 -235.15)"/></g><g class="cls-3"><path class="cls-4" d="M385.3,325.57" transform="translate(-240.98 -235.15)"/></g><g id="surface1"><path class="cls-5" d="M372.5,375.86h67.21V363.05a6.42,6.42,0,0,0-6.4-6.4H334.09v32a6.4,6.4,0,0,1-6.4,6.4H292.48V516.69a6.42,6.42,0,0,0,6.4,6.4h32V414.26Z" transform="translate(-240.98 -235.15)"/><path class="cls-6" d="M334.09,388.66v-32l-41.61,38.41h35.2A6.4,6.4,0,0,0,334.09,388.66Z" transform="translate(-240.98 -235.15)"/><g class="cls-7"><path class="cls-8" d="M323.64,418.94c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S323.64,415.06,323.64,418.94Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85S316.66,415.77,316.68,419.06Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M329.1,414.7h-.05l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M339.93,414.7h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M356.15,418.94c0,4.23-1.66,6.88-4.8,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.82-6.83S356.15,415.06,356.15,418.94Zm-7,.12c0,3.2.87,4.85,2.24,4.85s2.23-1.77,2.23-4.93-.73-4.85-2.23-4.85C350.1,414.13,349.17,415.77,349.19,419.06Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M361.6,414.7h0l-2.4,1.21-.43-1.88,3.2-1.58H364v13.14H361.6Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M377.82,418.94c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S377.82,415.06,377.82,418.94Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85S370.84,415.77,370.86,419.06Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M388.65,418.94c0,4.23-1.65,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S388.65,415.06,388.65,418.94Zm-6.95.12c0,3.2.87,4.85,2.24,4.85s2.23-1.77,2.23-4.93-.73-4.85-2.23-4.85C382.61,414.13,381.68,415.77,381.7,419.06Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M399.49,418.94c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S399.49,415.06,399.49,418.94Zm-6.95.12c0,3.2.86,4.85,2.24,4.85S397,422.14,397,419s-.72-4.85-2.22-4.85C393.45,414.13,392.51,415.77,392.54,419.06Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M405,414.7h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08v13.14H405Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M415.78,414.7h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M318.26,431h0l-2.41,1.21-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M334.47,435.2c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S334.47,431.32,334.47,435.2Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C328.43,430.39,327.5,432,327.52,435.32Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M345.31,435.2c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S345.31,431.32,345.31,435.2Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C339.26,430.39,338.33,432,338.35,435.32Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M350.77,431h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M367,435.2c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S367,431.32,367,435.2Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C360.94,430.39,360,432,360,435.32Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M372.44,431h0L370,432.17l-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M388.65,435.2c0,4.23-1.65,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S388.65,431.32,388.65,435.2Zm-6.95.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C382.61,430.39,381.68,432,381.7,435.32Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M394.11,431h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M410.33,435.2c0,4.23-1.66,6.88-4.8,6.88s-4.64-2.75-4.67-6.76,1.74-6.83,4.82-6.83S410.33,431.32,410.33,435.2Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S403.35,432,403.37,435.32Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M415.78,431h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M323.64,451.46c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S323.64,447.58,323.64,451.46Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S316.66,448.29,316.68,451.58Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M334.47,451.46c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S334.47,447.58,334.47,451.46Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C328.43,446.65,327.5,448.29,327.52,451.58Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M339.93,447.22h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M356.15,451.46c0,4.23-1.66,6.88-4.8,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.82-6.83S356.15,447.58,356.15,451.46Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C350.1,446.65,349.17,448.29,349.19,451.58Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M361.6,447.22h0l-2.4,1.21-.43-1.88,3.2-1.58H364v13.14H361.6Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M377.82,451.46c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S377.82,447.58,377.82,451.46Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S370.84,448.29,370.86,451.58Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M383.28,447.22h0l-2.41,1.21-.42-1.88L383.6,445h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M399.49,451.46c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S399.49,447.58,399.49,451.46Zm-6.95.12c0,3.2.86,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C393.45,446.65,392.51,448.29,392.54,451.58Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M410.33,451.46c0,4.23-1.66,6.88-4.8,6.88s-4.64-2.75-4.67-6.76,1.74-6.83,4.82-6.83S410.33,447.58,410.33,451.46Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S403.35,448.29,403.37,451.58Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M415.78,447.22h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M318.26,463.48h0l-2.41,1.21-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M334.47,467.72c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S334.47,463.84,334.47,467.72Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C328.43,462.91,327.5,464.55,327.52,467.84Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M339.93,463.48h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M356.15,467.72c0,4.23-1.66,6.88-4.8,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.82-6.83S356.15,463.84,356.15,467.72Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C350.1,462.91,349.17,464.55,349.19,467.84Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M367,467.72c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S367,463.84,367,467.72Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C360.94,462.91,360,464.55,360,467.84Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M372.44,463.48h0L370,464.69l-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M388.65,467.72c0,4.23-1.65,6.88-4.79,6.88s-4.65-2.75-4.67-6.76S380.93,461,384,461,388.65,463.84,388.65,467.72Zm-6.95.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C382.61,462.91,381.68,464.55,381.7,467.84Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M399.49,467.72c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S399.49,463.84,399.49,467.72Zm-6.95.12c0,3.2.86,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C393.45,462.91,392.51,464.55,392.54,467.84Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M405,463.48h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08v13.14H405Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M421.16,467.72c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S421.16,463.84,421.16,467.72Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C415.12,462.91,414.19,464.55,414.21,467.84Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M323.64,484c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S323.64,480.1,323.64,484Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S316.66,480.81,316.68,484.1Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M334.47,484c0,4.23-1.66,6.88-4.79,6.88S325,488.11,325,484.1s1.74-6.83,4.81-6.83S334.47,480.1,334.47,484Zm-7,.12c0,3.2.87,4.86,2.24,4.86S332,487.18,332,484s-.73-4.85-2.23-4.85C328.43,479.17,327.5,480.81,327.52,484.1Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M339.93,479.74h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M350.77,479.74h0L348.32,481l-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M367,484c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S367,480.1,367,484Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C360.94,479.17,360,480.81,360,484.1Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M372.44,479.74h0L370,481l-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M383.28,479.74h0L380.83,481l-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M394.11,479.74h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M410.33,484c0,4.23-1.66,6.88-4.8,6.88s-4.64-2.75-4.67-6.76,1.74-6.83,4.82-6.83S410.33,480.1,410.33,484Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S403.35,480.81,403.37,484.1Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M415.78,479.74h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M318.26,496h0l-2.41,1.21-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M329.1,496h-.05l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M345.31,500.24c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S345.31,496.36,345.31,500.24Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C339.26,495.43,338.33,497.07,338.35,500.36Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M350.77,496h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M367,500.24c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S367,496.36,367,500.24Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C360.94,495.43,360,497.07,360,500.36Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M377.82,500.24c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S377.82,496.36,377.82,500.24Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S370.84,497.07,370.86,500.36Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M383.28,496h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M394.11,496h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M410.33,500.24c0,4.23-1.66,6.88-4.8,6.88s-4.64-2.75-4.67-6.76,1.74-6.83,4.82-6.83S410.33,496.36,410.33,500.24Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S403.35,497.07,403.37,500.36Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M415.78,496h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/></g><path class="cls-9" d="M471.72,375.86H372.5v32a6.4,6.4,0,0,1-6.41,6.4h-35.2V535.89a6.42,6.42,0,0,0,6.4,6.4H471.72a6.42,6.42,0,0,0,6.4-6.4V382.26A6.42,6.42,0,0,0,471.72,375.86Z" transform="translate(-240.98 -235.15)"/><path class="cls-6" d="M366.09,414.26a6.4,6.4,0,0,0,6.41-6.4v-32l-41.61,38.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-5" d="M372.5,542.29h99.22a6.4,6.4,0,0,0,6.4-6.4V443.36A160.38,160.38,0,0,1,372.5,542.29Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M362,439c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S362,435.13,362,439Zm-7,.12c0,3.2.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C356,434.2,355.07,435.83,355.09,439.13Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M367.5,434.76h0L365.05,436l-.42-1.88,3.19-1.58h2.09v13.14H367.5Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M378.34,434.76h0L375.89,436l-.43-1.88,3.2-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M394.55,439c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S394.55,435.13,394.55,439Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C388.5,434.2,387.57,435.83,387.59,439.13Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M400,434.76h0L397.56,436l-.42-1.88,3.19-1.58h2.08v13.14H400Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M416.22,439c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S416.22,435.13,416.22,439Zm-7,.12c0,3.2.87,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C410.18,434.2,409.25,435.83,409.27,439.13Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M427.06,439c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.83,4.81-6.83S427.06,435.13,427.06,439Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85S420.08,435.83,420.1,439.13Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M437.89,439c0,4.23-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S437.89,435.13,437.89,439Zm-6.95.12c0,3.2.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C431.85,434.2,430.92,435.83,430.94,439.13Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M443.35,434.76h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M454.19,434.76h0L451.74,436l-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M356.66,451h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M372.88,455.27c0,4.23-1.66,6.87-4.8,6.87s-4.64-2.75-4.67-6.75,1.74-6.83,4.82-6.83S372.88,451.39,372.88,455.27Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85S365.9,452.1,365.92,455.39Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M383.71,455.27c0,4.23-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S383.71,451.39,383.71,455.27Zm-6.95.12c0,3.2.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C377.67,450.46,376.74,452.1,376.76,455.39Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M389.17,451h0l-2.4,1.22-.43-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M405.39,455.27c0,4.23-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.82-6.83S405.39,451.39,405.39,455.27Zm-7,.12c0,3.2.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C399.34,450.46,398.41,452.1,398.43,455.39Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M410.84,451h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M427.06,455.27c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.83,4.81-6.83S427.06,451.39,427.06,455.27Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85S420.08,452.1,420.1,455.39Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M432.52,451h0l-2.41,1.22-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M448.73,455.27c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S448.73,451.39,448.73,455.27Zm-7,.12c0,3.2.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C442.69,450.46,441.75,452.1,441.78,455.39Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M454.19,451h0l-2.41,1.22-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M362,471.53c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S362,467.65,362,471.53Zm-7,.12c0,3.2.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C356,466.72,355.07,468.36,355.09,471.65Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M372.88,471.53c0,4.23-1.66,6.87-4.8,6.87s-4.64-2.75-4.67-6.75,1.74-6.83,4.82-6.83S372.88,467.65,372.88,471.53Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85S365.9,468.36,365.92,471.65Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M378.34,467.28h0l-2.41,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M394.55,471.53c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S394.55,467.65,394.55,471.53Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C388.5,466.72,387.57,468.36,387.59,471.65Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M400,467.28h0l-2.41,1.22-.42-1.88,3.19-1.58h2.08v13.14H400Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M416.22,471.53c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S416.22,467.65,416.22,471.53Zm-7,.12c0,3.2.87,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C410.18,466.72,409.25,468.36,409.27,471.65Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M421.68,467.28h0l-2.41,1.22-.42-1.88L422,465h2.09v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M437.89,471.53c0,4.23-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S437.89,467.65,437.89,471.53Zm-6.95.12c0,3.2.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C431.85,466.72,430.92,468.36,430.94,471.65Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M448.73,471.53c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S448.73,467.65,448.73,471.53Zm-7,.12c0,3.2.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C442.69,466.72,441.75,468.36,441.78,471.65Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M454.19,467.28h0l-2.41,1.22-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M356.66,483.54h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M372.88,487.79c0,4.23-1.66,6.87-4.8,6.87s-4.64-2.75-4.67-6.75,1.74-6.83,4.82-6.83S372.88,483.91,372.88,487.79Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85S365.9,484.62,365.92,487.91Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M378.34,483.54h0l-2.41,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M394.55,487.79c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S394.55,483.91,394.55,487.79Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85C388.5,483,387.57,484.62,387.59,487.91Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M405.39,487.79c0,4.23-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.82-6.83S405.39,483.91,405.39,487.79Zm-7,.12c0,3.2.87,4.85,2.24,4.85s2.23-1.77,2.23-4.93-.73-4.85-2.23-4.85C399.34,483,398.41,484.62,398.43,487.91Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M410.84,483.54h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M427.06,487.79c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.83,4.81-6.83S427.06,483.91,427.06,487.79Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85S420.08,484.62,420.1,487.91Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M437.89,487.79c0,4.23-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S437.89,483.91,437.89,487.79Zm-6.95.12c0,3.2.87,4.85,2.24,4.85s2.23-1.77,2.23-4.93-.73-4.85-2.23-4.85C431.85,483,430.92,484.62,430.94,487.91Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M443.35,483.54h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M459.57,487.79c0,4.23-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.82-6.83S459.57,483.91,459.57,487.79Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85S452.59,484.62,452.61,487.91Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M362,504.05c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S362,500.17,362,504.05Zm-7,.12c0,3.2.86,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C356,499.24,355.07,500.88,355.09,504.17Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M372.88,504.05c0,4.23-1.66,6.88-4.8,6.88s-4.64-2.75-4.67-6.76,1.74-6.83,4.82-6.83S372.88,500.17,372.88,504.05Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S365.9,500.88,365.92,504.17Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M378.34,499.81h0L375.89,501l-.43-1.88,3.2-1.58h2.08V510.7h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M389.17,499.81h0l-2.4,1.21-.43-1.88,3.19-1.58h2.09V510.7h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M405.39,504.05c0,4.23-1.66,6.88-4.8,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.82-6.83S405.39,500.17,405.39,504.05Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C399.34,499.24,398.41,500.88,398.43,504.17Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M410.84,499.81h0L408.4,501l-.43-1.88,3.2-1.58h2.08V510.7h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M421.68,499.81h0L419.23,501l-.42-1.88,3.19-1.58h2.09V510.7h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M432.52,499.81h0L430.07,501l-.42-1.88,3.19-1.58h2.08V510.7h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M448.73,504.05c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S448.73,500.17,448.73,504.05Zm-7,.12c0,3.2.86,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C442.69,499.24,441.75,500.88,441.78,504.17Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M454.19,499.81h0L451.74,501l-.42-1.88,3.19-1.58h2.08V510.7h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M356.66,516.07h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08V527h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M367.5,516.07h0l-2.41,1.21-.42-1.88,3.19-1.58h2.09V527H367.5Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M383.71,520.31c0,4.23-1.65,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S383.71,516.43,383.71,520.31Zm-6.95.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C377.67,515.5,376.74,517.14,376.76,520.43Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M389.17,516.07h0l-2.4,1.21-.43-1.88,3.19-1.58h2.09V527h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M405.39,520.31c0,4.23-1.66,6.88-4.8,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.82-6.83S405.39,516.43,405.39,520.31Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C399.34,515.5,398.41,517.14,398.43,520.43Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M416.22,520.31c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S416.22,516.43,416.22,520.31Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C410.18,515.5,409.25,517.14,409.27,520.43Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M421.68,516.07h0l-2.41,1.21-.42-1.88,3.19-1.58h2.09V527h-2.41Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M432.52,516.07h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08V527h-2.4Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M448.73,520.31c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S448.73,516.43,448.73,520.31Zm-7,.12c0,3.2.86,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C442.69,515.5,441.75,517.14,441.78,520.43Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M454.19,516.07h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08V527h-2.4Z" transform="translate(-240.98 -235.15)"/></g><g class="cls-10"><path class="cls-11" d="M342.37,583.65a13.66,13.66,0,0,1-5.57,1c-6.85,0-11-4.29-11-10.85,0-7.1,4.93-11.39,11.52-11.39a12.31,12.31,0,0,1,5.25,1l-.86,3.13a10.64,10.64,0,0,0-4.23-.83c-4.38,0-7.55,2.75-7.55,7.94,0,4.73,2.79,7.77,7.52,7.77a11.05,11.05,0,0,0,4.29-.8Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M350.5,566h-6.15v-3.3h16.29V566h-6.21v18.27H350.5Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M363.17,562.72h12.45V566h-8.51v5.95H375v3.24h-7.93v9.15h-3.94Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M400.29,561.57V579.9c0,1.6.06,3.33.12,4.39H396.9l-.16-2.47h-.07a5.61,5.61,0,0,1-5.09,2.82c-3.71,0-6.65-3.17-6.65-8,0-5.21,3.23-8.32,7-8.32a5,5,0,0,1,4.39,2h.06v-8.83Zm-3.94,13.63a5.86,5.86,0,0,0-.09-1,3.46,3.46,0,0,0-3.4-2.79c-2.52,0-3.93,2.24-3.93,5.15s1.41,4.93,3.9,4.93a3.47,3.47,0,0,0,3.39-2.78,4.22,4.22,0,0,0,.13-1.15Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M413.28,584.29l-.26-1.73h-.09a5.77,5.77,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.25c0-1-.41-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.77-2.56a11.3,11.3,0,0,1,5.64-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25.12,25.12,0,0,0,.22,3.75Zm-.51-7.62c-2.79-.06-5.44.55-5.44,2.91a2.06,2.06,0,0,0,2.24,2.24,3.18,3.18,0,0,0,3.07-2.14,2.73,2.73,0,0,0,.13-.86Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M425.09,564.26v4.44h3.74v2.95h-3.74v6.88c0,1.89.51,2.88,2,2.88a6.07,6.07,0,0,0,1.54-.19l.06,3a8.41,8.41,0,0,1-2.84.39,4.58,4.58,0,0,1-3.4-1.28c-.83-.9-1.21-2.31-1.21-4.35v-7.33H419V568.7h2.24v-3.51Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M440.58,584.29l-.26-1.73h-.1a5.77,5.77,0,0,1-4.6,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.25c0-1-.42-2.72-3.17-2.72a8.24,8.24,0,0,0-4.19,1.15l-.77-2.56a11.26,11.26,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25,25,0,0,0,.23,3.75Zm-.52-7.62c-2.78-.06-5.44.55-5.44,2.91a2.07,2.07,0,0,0,2.25,2.24,3.2,3.2,0,0,0,3.07-2.14,3,3,0,0,0,.12-.86Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M332.75,611.07a8.75,8.75,0,0,0,4,1.12c1.73,0,2.5-.7,2.5-1.73s-.64-1.6-2.56-2.27c-3-1.05-4.32-2.72-4.29-4.54,0-2.75,2.27-4.9,5.89-4.9a9.16,9.16,0,0,1,4.13.93l-.77,2.78a7,7,0,0,0-3.3-.89c-1.4,0-2.17.67-2.17,1.63s.73,1.47,2.72,2.18c2.81,1,4.13,2.46,4.16,4.76,0,2.82-2.21,4.87-6.34,4.87a10,10,0,0,1-4.73-1.09Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M350.8,594.66v4.44h3.74v2.95H350.8v6.88c0,1.89.51,2.88,2,2.88a6,6,0,0,0,1.53-.19l.07,3a8.48,8.48,0,0,1-2.85.39,4.54,4.54,0,0,1-3.39-1.28c-.83-.9-1.22-2.31-1.22-4.35v-7.33h-2.24V599.1H347v-3.52Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M357.52,604.13c0-2.11,0-3.62-.13-5h3.43l.13,3h.12a4.66,4.66,0,0,1,4.26-3.33,4.42,4.42,0,0,1,.93.1v3.71a5.8,5.8,0,0,0-1.15-.13,3.47,3.47,0,0,0-3.52,3,6.23,6.23,0,0,0-.13,1.21v8.07h-3.94Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M371.41,608c.09,2.82,2.3,4,4.8,4a11.71,11.71,0,0,0,4.32-.7l.57,2.72a14.7,14.7,0,0,1-5.44,1c-5.05,0-8-3.11-8-7.87,0-4.32,2.63-8.39,7.62-8.39s6.72,4.16,6.72,7.59a10.05,10.05,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.44,0-3.46,2.21-3.62,3.81Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M393.9,614.69l-.25-1.73h-.1A5.77,5.77,0,0,1,389,615a4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.25c0-1-.42-2.72-3.17-2.72a8.24,8.24,0,0,0-4.19,1.15l-.77-2.56a11.15,11.15,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25,25,0,0,0,.23,3.75Zm-.51-7.62c-2.78-.06-5.44.55-5.44,2.91a2.07,2.07,0,0,0,2.24,2.24,3.18,3.18,0,0,0,3.07-2.14,2.73,2.73,0,0,0,.13-.86Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M401.39,603.74c0-1.79,0-3.29-.13-4.64h3.4l.16,2.31h.09a5.39,5.39,0,0,1,4.8-2.66,4.5,4.5,0,0,1,4.32,2.88h.07a5.87,5.87,0,0,1,1.92-2,5.16,5.16,0,0,1,3.13-.93c2.59,0,5.22,1.76,5.22,6.75v9.19h-3.84v-8.61c0-2.59-.9-4.13-2.79-4.13A3,3,0,0,0,415,604a6.08,6.08,0,0,0-.19,1.31v9.35H411v-9c0-2.17-.86-3.71-2.69-3.71a3.06,3.06,0,0,0-2.81,2.24,3.38,3.38,0,0,0-.23,1.28v9.22h-3.84Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M428.34,611.07a8.68,8.68,0,0,0,4,1.12c1.72,0,2.49-.7,2.49-1.73s-.64-1.6-2.56-2.27c-3-1.05-4.32-2.72-4.28-4.54,0-2.75,2.27-4.9,5.88-4.9a9.16,9.16,0,0,1,4.13.93l-.77,2.78a7,7,0,0,0-3.29-.89c-1.41,0-2.18.67-2.18,1.63s.74,1.47,2.72,2.18c2.82,1,4.13,2.46,4.16,4.76,0,2.82-2.21,4.87-6.34,4.87a10,10,0,0,1-4.73-1.09Z" transform="translate(-240.98 -235.15)"/></g><g id="surface1-2" data-name="surface1"><path class="cls-9" d="M745.45,380.33a5.81,5.81,0,0,0-5.79-5.79H649.93v28.94a5.79,5.79,0,0,1-5.79,5.79H612.3V536.63a5.81,5.81,0,0,0,5.79,5.79H739.66a5.81,5.81,0,0,0,5.79-5.79Z" transform="translate(-240.98 -235.15)"/><path class="cls-5" d="M649.93,542.42h89.73a5.79,5.79,0,0,0,5.79-5.79V453A145.05,145.05,0,0,1,649.93,542.42Z" transform="translate(-240.98 -235.15)"/><path class="cls-6" d="M649.93,403.48V374.54L612.3,409.27h31.84A5.79,5.79,0,0,0,649.93,403.48Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M693.35,452.69H632.57a2.9,2.9,0,1,1,0-5.79h60.78a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M705.91,470.06H632.57a2.9,2.9,0,1,1,0-5.79h73.34a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M667.79,487.42H632.57a2.9,2.9,0,1,1,0-5.79h35.22a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M710.72,435.32h-55a2.9,2.9,0,0,1,0-5.79h55a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M644.14,435.32H632.57a2.9,2.9,0,1,1,0-5.79h11.57a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-240.98 -235.15)"/></g><path class="cls-12" d="M761.07,391.9H673.83a4.61,4.61,0,0,0-4.59,4.6v41.32a4.6,4.6,0,0,0,4.59,4.59h87.24a4.6,4.6,0,0,0,4.59-4.59V396.5A4.61,4.61,0,0,0,761.07,391.9Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M688,504.79H632.57a2.9,2.9,0,1,1,0-5.79H688a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M658.62,522.16h-26a2.9,2.9,0,1,1,0-5.79h26a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-240.98 -235.15)"/><path class="cls-8" d="M700.35,487.42H679.6a2.9,2.9,0,0,1,0-5.79h20.75a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-240.98 -235.15)"/><path class="cls-13" d="M688.68,409.69h-6.14v-3.3h16.29v3.3h-6.21V428h-3.94Z" transform="translate(-240.98 -235.15)"/><path class="cls-13" d="M701,423.67a10.86,10.86,0,0,0,5.22,1.38c2.53,0,3.93-1.19,3.93-2.95s-1.08-2.59-3.84-3.58c-3.55-1.28-5.82-3.17-5.82-6.27,0-3.52,2.94-6.21,7.62-6.21a11.34,11.34,0,0,1,5.18,1.09l-1,3.17a9.07,9.07,0,0,0-4.29-1c-2.49,0-3.58,1.35-3.58,2.59,0,1.67,1.25,2.44,4.13,3.56,3.74,1.4,5.56,3.29,5.56,6.4,0,3.45-2.62,6.46-8.19,6.46a12.7,12.7,0,0,1-5.82-1.35Z" transform="translate(-240.98 -235.15)"/><path class="cls-13" d="M717.71,406.68a39.34,39.34,0,0,1,6.27-.45c4,0,6.81.83,8.8,2.5s3.36,4.25,3.36,7.93c0,3.84-1.31,6.72-3.36,8.58s-5.57,2.94-9.76,2.94a42.8,42.8,0,0,1-5.31-.29ZM721.64,425a14.18,14.18,0,0,0,2.18.1c5.12,0,8.16-2.79,8.16-8.26,0-4.77-2.72-7.49-7.65-7.49a12.42,12.42,0,0,0-2.69.23Z" transform="translate(-240.98 -235.15)"/><path class="cls-13" d="M739.56,406.39h3.94v18.27h8.86V428h-12.8Z" transform="translate(-240.98 -235.15)"/><g class="cls-10"><path class="cls-11" d="M632.3,586.3V575a9.9,9.9,0,0,0-.06-1.21,2.8,2.8,0,0,0-.17-.74.8.8,0,0,0-.3-.38.78.78,0,0,0-.44-.11,1,1,0,0,0-.58.19,2.37,2.37,0,0,0-.57.6,10.64,10.64,0,0,0-.67,1.12q-.37.71-.87,1.71V586.3h-2.48v-11a13,13,0,0,0-.06-1.39,3.41,3.41,0,0,0-.17-.83.77.77,0,0,0-.31-.4.79.79,0,0,0-.45-.11,1,1,0,0,0-.53.15,2.32,2.32,0,0,0-.55.57,7.94,7.94,0,0,0-.68,1.11c-.25.46-.55,1.06-.9,1.79V586.3H620V570.61h2.08l.13,3a13.14,13.14,0,0,1,.79-1.52,4.73,4.73,0,0,1,.79-1,2.58,2.58,0,0,1,1.89-.74,2.32,2.32,0,0,1,1.92.83,4.09,4.09,0,0,1,.65,2.56c.25-.54.5-1,.74-1.44a5.78,5.78,0,0,1,.77-1.07,3,3,0,0,1,.92-.65,2.78,2.78,0,0,1,1.15-.23q3,0,3,4.55V586.3Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M652,577.63c0,.38,0,.71,0,1s0,.5-.05.73h-11a4.87,4.87,0,0,0,1.35,3.7,5.37,5.37,0,0,0,3.87,1.29q.69,0,1.38-.06c.46,0,.9-.08,1.33-.15s.83-.13,1.22-.21.75-.16,1.09-.26v2.24a18.79,18.79,0,0,1-2.51.51,21,21,0,0,1-2.9.19,10,10,0,0,1-3.47-.54,6,6,0,0,1-2.38-1.59,6.39,6.39,0,0,1-1.37-2.55,11.88,11.88,0,0,1-.45-3.41,10,10,0,0,1,.48-3.13,7.74,7.74,0,0,1,1.39-2.6,6.61,6.61,0,0,1,5.26-2.43,7.5,7.5,0,0,1,2.9.52,5.66,5.66,0,0,1,2.13,1.46,6.2,6.2,0,0,1,1.32,2.3A9.78,9.78,0,0,1,652,577.63Zm-2.83-.39a5.65,5.65,0,0,0-.2-1.92,4.14,4.14,0,0,0-.77-1.49,3.65,3.65,0,0,0-1.31-1,4.27,4.27,0,0,0-1.81-.36,3.74,3.74,0,0,0-1.62.35,3.65,3.65,0,0,0-1.27,1,5,5,0,0,0-.86,1.5,7.1,7.1,0,0,0-.41,1.92Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M668.94,586.08a13.14,13.14,0,0,1-1.91.34,18.86,18.86,0,0,1-2,.1,6.34,6.34,0,0,1-4.41-1.34,5.33,5.33,0,0,1-1.45-4.1v-8.19h-4.39v-2.28h4.39V566.3l2.72-.7v5h7.05v2.28h-7.05v8a3.29,3.29,0,0,0,.9,2.53,3.79,3.79,0,0,0,2.65.83,14.24,14.24,0,0,0,1.64-.11,15.66,15.66,0,0,0,1.86-.37Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M684,586.3l-.06-2.11A8.59,8.59,0,0,1,681.3,586a7.07,7.07,0,0,1-2.77.56,6.8,6.8,0,0,1-2.3-.34,4.37,4.37,0,0,1-1.57-1,3.63,3.63,0,0,1-.9-1.41,5.06,5.06,0,0,1-.29-1.77,4.36,4.36,0,0,1,1.76-3.69,8.49,8.49,0,0,1,5.19-1.34h3.25v-1.37a2.93,2.93,0,0,0-.89-2.23,3.84,3.84,0,0,0-2.72-.84,11.57,11.57,0,0,0-2.62.3,18.49,18.49,0,0,0-2.66.85v-2.46c.34-.12.73-.25,1.15-.37s.87-.22,1.33-.32,1-.16,1.47-.22a13.3,13.3,0,0,1,1.55-.09,10,10,0,0,1,2.56.31,5.15,5.15,0,0,1,1.93,1,4.13,4.13,0,0,1,1.21,1.61,5.65,5.65,0,0,1,.43,2.28V586.3Zm-.3-7.14h-3.45a6.85,6.85,0,0,0-1.75.2,3.5,3.5,0,0,0-1.21.58,2.32,2.32,0,0,0-.69.9,3,3,0,0,0-.23,1.18,2.83,2.83,0,0,0,.14.87,2,2,0,0,0,.46.73,2.25,2.25,0,0,0,.81.51,3.59,3.59,0,0,0,1.22.19,5.19,5.19,0,0,0,2.15-.57,10.82,10.82,0,0,0,2.55-1.81Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M690.69,578.79a10.83,10.83,0,0,1,.54-3.56,7.34,7.34,0,0,1,1.56-2.62,6.52,6.52,0,0,1,2.42-1.63,8.54,8.54,0,0,1,3.15-.55,12.12,12.12,0,0,1,1.48.09,8.54,8.54,0,0,1,1.42.3v-6.6H704V586.3h-2.44l-.09-3a8.35,8.35,0,0,1-2.47,2.46,5.5,5.5,0,0,1-2.88.79,4.87,4.87,0,0,1-2.36-.56,4.81,4.81,0,0,1-1.71-1.59,7.65,7.65,0,0,1-1-2.46A13.66,13.66,0,0,1,690.69,578.79Zm2.78-.18a8.6,8.6,0,0,0,.83,4.25,2.62,2.62,0,0,0,2.37,1.39,3.5,3.5,0,0,0,2.18-.92,12.76,12.76,0,0,0,2.41-2.73v-7.28a6.42,6.42,0,0,0-1.48-.48,8.06,8.06,0,0,0-1.61-.16,4.35,4.35,0,0,0-3.46,1.43A6.78,6.78,0,0,0,693.47,578.61Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M719.16,586.3l-.07-2.11a8.44,8.44,0,0,1-2.6,1.83,7.07,7.07,0,0,1-2.77.56,6.8,6.8,0,0,1-2.3-.34,4.37,4.37,0,0,1-1.57-1,3.77,3.77,0,0,1-.91-1.41,5.3,5.3,0,0,1-.28-1.77,4.37,4.37,0,0,1,1.75-3.69,8.54,8.54,0,0,1,5.2-1.34h3.25v-1.37a2.93,2.93,0,0,0-.89-2.23,3.85,3.85,0,0,0-2.72-.84,11.51,11.51,0,0,0-2.62.3,17.73,17.73,0,0,0-2.66.85v-2.46c.34-.12.72-.25,1.15-.37s.86-.22,1.33-.32,1-.16,1.47-.22a13.3,13.3,0,0,1,1.55-.09,10,10,0,0,1,2.56.31,5.22,5.22,0,0,1,1.93,1,4.13,4.13,0,0,1,1.21,1.61,5.66,5.66,0,0,1,.42,2.28V586.3Zm-.3-7.14h-3.45a6.8,6.8,0,0,0-1.75.2,3.41,3.41,0,0,0-1.21.58,2.32,2.32,0,0,0-.69.9,3,3,0,0,0-.23,1.18,2.83,2.83,0,0,0,.14.87,2,2,0,0,0,.45.73,2.3,2.3,0,0,0,.82.51,3.59,3.59,0,0,0,1.22.19,5.11,5.11,0,0,0,2.14-.57,10.65,10.65,0,0,0,2.56-1.81Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M739.31,586.08a13,13,0,0,1-1.9.34,19,19,0,0,1-2,.1,6.34,6.34,0,0,1-4.41-1.34,5.29,5.29,0,0,1-1.45-4.1v-8.19h-4.39v-2.28h4.39V566.3l2.71-.7v5h7v2.28h-7v8a3.29,3.29,0,0,0,.9,2.53,3.79,3.79,0,0,0,2.65.83,14.1,14.1,0,0,0,1.64-.11,15.27,15.27,0,0,0,1.86-.37Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M754.34,586.3l-.06-2.11a8.44,8.44,0,0,1-2.6,1.83,7.1,7.1,0,0,1-2.77.56,6.76,6.76,0,0,1-2.3-.34,4.28,4.28,0,0,1-1.57-1,3.65,3.65,0,0,1-.91-1.41,5.3,5.3,0,0,1-.29-1.77,4.38,4.38,0,0,1,1.76-3.69,8.5,8.5,0,0,1,5.2-1.34h3.25v-1.37a2.93,2.93,0,0,0-.89-2.23,3.85,3.85,0,0,0-2.72-.84,11.51,11.51,0,0,0-2.62.3,17.73,17.73,0,0,0-2.66.85v-2.46c.34-.12.72-.25,1.14-.37s.87-.22,1.34-.32,1-.16,1.47-.22a13.17,13.17,0,0,1,1.55-.09,10.09,10.09,0,0,1,2.56.31,5.22,5.22,0,0,1,1.93,1,4.23,4.23,0,0,1,1.21,1.61,5.66,5.66,0,0,1,.42,2.28V586.3Zm-.29-7.14h-3.46a6.85,6.85,0,0,0-1.75.2,3.36,3.36,0,0,0-1.2.58,2.34,2.34,0,0,0-.7.9,3,3,0,0,0-.22,1.18,2.56,2.56,0,0,0,.14.87,1.86,1.86,0,0,0,.45.73,2.34,2.34,0,0,0,.81.51,3.63,3.63,0,0,0,1.22.19,5.15,5.15,0,0,0,2.15-.57,10.65,10.65,0,0,0,2.56-1.81Z" transform="translate(-240.98 -235.15)"/></g><g class="cls-10"><path class="cls-11" d="M482.62,709.31a13.62,13.62,0,0,1-5.57,1c-6.84,0-11-4.29-11-10.85,0-7.1,4.92-11.39,11.52-11.39a12.45,12.45,0,0,1,5.24,1l-.86,3.14a10.42,10.42,0,0,0-4.22-.83c-4.39,0-7.55,2.75-7.55,7.93,0,4.74,2.78,7.78,7.51,7.78a11,11,0,0,0,4.29-.8Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M490.75,691.68h-6.14v-3.29h16.28v3.29h-6.2V710h-3.94Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M503.42,688.39h12.45v3.23h-8.51v6h7.93v3.23h-7.93V710h-3.94Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M530.68,689.92v4.45h3.75v2.94h-3.75v6.88c0,1.89.52,2.88,2,2.88a5.7,5.7,0,0,0,1.54-.19l.06,3a8.8,8.8,0,0,1-2.85.38,4.56,4.56,0,0,1-3.39-1.28c-.83-.89-1.21-2.3-1.21-4.35v-7.33h-2.24v-2.94h2.24v-3.52Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M537.41,699.39c0-2.11,0-3.61-.13-5h3.42l.13,3H541a4.65,4.65,0,0,1,4.25-3.33,4.38,4.38,0,0,1,.93.09v3.72a5.07,5.07,0,0,0-1.15-.13,3.46,3.46,0,0,0-3.52,3,7.25,7.25,0,0,0-.13,1.22V710h-3.93Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M557.28,710l-.26-1.73h-.09a5.79,5.79,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.93,3.49-5.92,9.25-5.88v-.26c0-1-.42-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.77-2.56a11.27,11.27,0,0,1,5.63-1.37c5,0,6.43,3.17,6.43,6.56v5.63a24.83,24.83,0,0,0,.23,3.74Zm-.52-7.61c-2.78-.07-5.43.54-5.43,2.91a2.07,2.07,0,0,0,2.24,2.24,3.2,3.2,0,0,0,3.07-2.15,2.92,2.92,0,0,0,.12-.86Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M576.22,709.47a11.26,11.26,0,0,1-4.42.8c-4.86,0-8-3.1-8-7.93S567,694,572.44,694a9.89,9.89,0,0,1,3.81.73l-.7,3a6.91,6.91,0,0,0-3-.61c-3,0-4.8,2.21-4.77,5,0,3.2,2.09,5,4.77,5a7.72,7.72,0,0,0,3.11-.61Z" transform="translate(-240.98 -235.15)"/><path class="cls-11" d="M581.63,703.26c.09,2.82,2.3,4,4.8,4a11.7,11.7,0,0,0,4.32-.71l.57,2.72a14.48,14.48,0,0,1-5.43,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a10,10,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.44,0-3.46,2.21-3.62,3.81Z" transform="translate(-240.98 -235.15)"/></g></svg>
\ No newline at end of file
--- /dev/null
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1415.03 524.83"><defs><style>.cls-1{fill:#ffe9cc;stroke:#f8a794;}.cls-1,.cls-2,.cls-3,.cls-4,.cls-6,.cls-8{stroke-miterlimit:10;stroke-width:2px;}.cls-2{fill:#4eba6f;}.cls-2,.cls-3,.cls-8{stroke:#1a8947;}.cls-3{fill:#4eba6e;}.cls-4{fill:#e57e25;stroke:#d25627;}.cls-5{fill:#fff;}.cls-6{fill:#3b97d3;stroke:#206d99;}.cls-7{fill:#1a8947;}.cls-8{fill:none;}.cls-9{fill:#ce8172;}</style></defs><title>ctf-packet</title><rect class="cls-1" x="389.64" y="38.32" width="635.74" height="80.34" rx="12.66"/><rect class="cls-2" x="398.73" y="47.4" width="130.88" height="62.18" rx="9.2"/><rect class="cls-2" x="540.39" y="47.4" width="130.88" height="62.18" rx="9.2"/><rect class="cls-2" x="682.51" y="47.4" width="90.02" height="62.18" rx="9.2"/><rect class="cls-2" x="783.42" y="47.4" width="232.89" height="62.18" rx="9.2"/><rect class="cls-3" x="1" y="295.71" width="1413.03" height="176.94" rx="20.26"/><path class="cls-4" d="M538.9,646.27H366c-10.66,0-19.3-9.07-19.3-20.26V529.59c0-11.19,8.64-20.26,19.3-20.26H538.9c10.65,0,19.29,9.07,19.29,20.26V626C558.19,637.2,549.55,646.27,538.9,646.27Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M405.7,565.63v8.64h9.12v-8.64h3.93v21.56h-3.93v-9.5H405.7v9.5h-3.94V565.63Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M425.89,580.51c.1,2.81,2.3,4,4.8,4a11.66,11.66,0,0,0,4.32-.71l.58,2.72a14.58,14.58,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.62-8.38,7.61-8.38s6.72,4.16,6.72,7.58a9.09,9.09,0,0,1-.13,1.67Zm6.85-2.76c0-1.43-.61-3.8-3.23-3.8-2.44,0-3.46,2.21-3.62,3.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M448.39,587.19l-.26-1.72H448a5.8,5.8,0,0,1-4.6,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.26c0-1-.42-2.72-3.17-2.72a8.14,8.14,0,0,0-4.19,1.16l-.77-2.56a11.15,11.15,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.63a24.83,24.83,0,0,0,.23,3.74Zm-.52-7.61c-2.78-.07-5.44.54-5.44,2.91a2.07,2.07,0,0,0,2.24,2.24,3.2,3.2,0,0,0,3.08-2.14,3,3,0,0,0,.12-.87Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M470.24,564.48v18.33c0,1.6.07,3.33.13,4.38h-3.52l-.16-2.46h-.06a5.62,5.62,0,0,1-5.09,2.82c-3.71,0-6.66-3.17-6.66-8,0-5.22,3.23-8.32,7-8.32a5,5,0,0,1,4.38,2h.07v-8.83Zm-3.93,13.63a6,6,0,0,0-.1-1,3.45,3.45,0,0,0-3.39-2.78c-2.53,0-3.94,2.24-3.94,5.15s1.41,4.93,3.91,4.93a3.48,3.48,0,0,0,3.39-2.79,4.6,4.6,0,0,0,.13-1.15Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M477.25,580.51c.1,2.81,2.3,4,4.8,4a11.66,11.66,0,0,0,4.32-.71l.58,2.72a14.58,14.58,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a9.09,9.09,0,0,1-.13,1.67Zm6.85-2.76c0-1.43-.61-3.8-3.23-3.8-2.44,0-3.46,2.21-3.62,3.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M491,576.63c0-2.11,0-3.61-.13-5h3.42l.13,3h.13a4.65,4.65,0,0,1,4.26-3.33,3.76,3.76,0,0,1,.92.1v3.71a5.07,5.07,0,0,0-1.15-.13,3.47,3.47,0,0,0-3.52,3,7.25,7.25,0,0,0-.13,1.22v8.06H491Z" transform="translate(-323.84 -194.63)"/><path class="cls-4" d="M771.9,646.27H599c-10.66,0-19.3-9.07-19.3-20.26V529.59c0-11.19,8.64-20.26,19.3-20.26H771.9c10.65,0,19.29,9.07,19.29,20.26V626C791.19,637.2,782.55,646.27,771.9,646.27Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M648,586.55a13.66,13.66,0,0,1-5.57,1c-6.85,0-11-4.28-11-10.84,0-7.11,4.93-11.39,11.52-11.39a12.35,12.35,0,0,1,5.25,1l-.86,3.13a10.51,10.51,0,0,0-4.23-.83c-4.38,0-7.55,2.75-7.55,7.94,0,4.73,2.78,7.77,7.52,7.77a11.05,11.05,0,0,0,4.29-.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M665.48,579.26c0,5.73-4,8.29-8,8.29-4.41,0-7.8-3-7.8-8s3.35-8.25,8.06-8.25S665.48,574.52,665.48,579.26Zm-11.74.16c0,3,1.47,5.28,3.87,5.28,2.24,0,3.81-2.21,3.81-5.35,0-2.43-1.09-5.21-3.78-5.21S653.74,576.83,653.74,579.42Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M668.71,576.25c0-1.79,0-3.3-.12-4.64H672l.19,2.34h.1a5.61,5.61,0,0,1,5-2.69c2.72,0,5.54,1.76,5.54,6.69v9.24h-3.94v-8.8c0-2.23-.83-3.93-3-3.93a3.31,3.31,0,0,0-3.07,2.3,4,4,0,0,0-.16,1.28v9.15h-4Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M691.37,567.16v4.45h3.74v2.95h-3.74v6.87c0,1.89.51,2.88,2,2.88a5.61,5.61,0,0,0,1.53-.19l.07,3a8.8,8.8,0,0,1-2.85.38,4.54,4.54,0,0,1-3.39-1.28c-.84-.89-1.22-2.3-1.22-4.35v-7.32h-2.24v-2.95h2.24v-3.52Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M700.68,580.51c.1,2.81,2.31,4,4.8,4a11.62,11.62,0,0,0,4.32-.71l.58,2.72a14.58,14.58,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.62-8.38,7.61-8.38s6.72,4.16,6.72,7.58a9.09,9.09,0,0,1-.13,1.67Zm6.85-2.76c0-1.43-.61-3.8-3.23-3.8-2.43,0-3.46,2.21-3.62,3.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M716.78,571.61l1.85,2.95c.52.83,1,1.6,1.41,2.39h.1c.45-.86.89-1.66,1.34-2.46l1.73-2.88h4.29l-5.22,7.49,5.31,8.09h-4.44l-1.92-3.1c-.52-.83-1-1.66-1.41-2.53h-.07c-.44.9-.89,1.67-1.4,2.53l-1.8,3.1H712.2l5.41-7.93-5.22-7.65Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M734.89,567.16v4.45h3.74v2.95h-3.74v6.87c0,1.89.51,2.88,2,2.88a5.61,5.61,0,0,0,1.53-.19l.07,3a8.8,8.8,0,0,1-2.85.38,4.54,4.54,0,0,1-3.39-1.28c-.84-.89-1.22-2.3-1.22-4.35v-7.32h-2.24v-2.95h2.24v-3.52Z" transform="translate(-323.84 -194.63)"/><path class="cls-6" d="M1005.9,646.27H833c-10.66,0-19.3-9.07-19.3-20.26V529.59c0-11.19,8.64-20.26,19.3-20.26H1005.9c10.65,0,19.29,9.07,19.29,20.26V626C1025.19,637.2,1016.55,646.27,1005.9,646.27Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M895.27,558.43h-8.13v6.33h9.09V568h-13V546.43h12.54v3.23h-8.6v5.57h8.13Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M901.7,552.41l2.53,7.9c.44,1.38.76,2.63,1,3.91h.1c.29-1.28.64-2.5,1-3.91l2.47-7.9h4.16L907.11,568h-3.88l-5.79-15.58Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M917.83,561.31c.09,2.81,2.3,4,4.8,4a11.7,11.7,0,0,0,4.32-.71l.57,2.72a14.54,14.54,0,0,1-5.44,1c-5.05,0-8-3.1-8-7.87,0-4.32,2.62-8.38,7.62-8.38s6.72,4.16,6.72,7.58a10.2,10.2,0,0,1-.13,1.67Zm6.84-2.76c0-1.44-.6-3.8-3.23-3.8-2.43,0-3.45,2.2-3.61,3.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M931.55,557.05c0-1.79,0-3.3-.12-4.64h3.45l.19,2.34h.1a5.61,5.61,0,0,1,5-2.69c2.72,0,5.53,1.76,5.53,6.69V568h-3.93v-8.8c0-2.24-.83-3.93-3-3.93a3.31,3.31,0,0,0-3.07,2.3,3.94,3.94,0,0,0-.16,1.28V568h-4Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M954.21,548v4.45H958v2.94h-3.74v6.88c0,1.89.51,2.88,2,2.88a5.61,5.61,0,0,0,1.53-.19l.07,3a8.8,8.8,0,0,1-2.85.38,4.54,4.54,0,0,1-3.39-1.28c-.84-.89-1.22-2.3-1.22-4.35v-7.33h-2.24v-2.94h2.24v-3.52Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M865.38,595.83c0-2.11,0-3.61-.13-5h3.42l.13,3h.13a4.65,4.65,0,0,1,4.26-3.33,4.35,4.35,0,0,1,.92.09v3.72a5.07,5.07,0,0,0-1.15-.13,3.47,3.47,0,0,0-3.52,3,7.25,7.25,0,0,0-.13,1.22v8.06h-3.93Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M879.27,599.71c.09,2.81,2.3,4,4.8,4a11.7,11.7,0,0,0,4.32-.71l.57,2.72a14.54,14.54,0,0,1-5.44,1c-5,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a10.2,10.2,0,0,1-.13,1.67Zm6.84-2.76c0-1.44-.6-3.8-3.23-3.8-2.43,0-3.45,2.2-3.61,3.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M904.45,605.91a11.26,11.26,0,0,1-4.42.8c-4.86,0-8-3.1-8-7.93,0-4.67,3.2-8.32,8.67-8.32a9.93,9.93,0,0,1,3.81.73l-.7,2.95a6.91,6.91,0,0,0-3-.61c-3,0-4.8,2.21-4.77,5.06,0,3.2,2.08,5,4.77,5a7.72,7.72,0,0,0,3.11-.61Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M921.89,598.46c0,5.73-4,8.28-8,8.28-4.42,0-7.81-3-7.81-8s3.36-8.25,8.07-8.25S921.89,593.72,921.89,598.46Zm-11.74.16c0,3,1.47,5.28,3.87,5.28,2.24,0,3.81-2.21,3.81-5.35,0-2.43-1.09-5.21-3.78-5.21S910.15,596,910.15,598.62Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M925.12,595.83c0-2.11,0-3.61-.13-5h3.43l.13,3h.12a4.66,4.66,0,0,1,4.26-3.33,4.45,4.45,0,0,1,.93.09v3.72a5.07,5.07,0,0,0-1.15-.13,3.46,3.46,0,0,0-3.52,3,6.34,6.34,0,0,0-.13,1.22v8.06h-3.94Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M950.59,583.67V602c0,1.6.07,3.33.13,4.38H947.2l-.16-2.46H947a5.61,5.61,0,0,1-5.09,2.81c-3.71,0-6.65-3.16-6.65-8,0-5.22,3.23-8.32,7-8.32a4.94,4.94,0,0,1,4.38,2h.07v-8.84Zm-3.93,13.64a5.14,5.14,0,0,0-.1-1,3.45,3.45,0,0,0-3.39-2.78c-2.53,0-3.94,2.24-3.94,5.15s1.41,4.93,3.91,4.93a3.47,3.47,0,0,0,3.39-2.79,4.18,4.18,0,0,0,.13-1.15Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M966.88,589.15h-.06L963,591.07l-.67-3,5-2.5h3.3v20.8h-3.81Z" transform="translate(-323.84 -194.63)"/><path class="cls-6" d="M1204.9,646.27H1067c-10.66,0-19.3-9.07-19.3-20.26V529.59c0-11.19,8.64-20.26,19.3-20.26H1204.9c10.65,0,19.29,9.07,19.29,20.26V626C1224.19,637.2,1215.55,646.27,1204.9,646.27Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1112,558.43h-8.13v6.33h9.09V568h-13V546.43h12.55v3.23h-8.61v5.57H1112Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1118.39,552.41l2.53,7.9c.45,1.38.76,2.63,1,3.91h.1c.29-1.28.64-2.5,1-3.91l2.47-7.9h4.16l-6,15.58h-3.88l-5.79-15.58Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1134.52,561.31c.09,2.81,2.3,4,4.8,4a11.7,11.7,0,0,0,4.32-.71l.57,2.72a14.54,14.54,0,0,1-5.44,1c-5,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a10.2,10.2,0,0,1-.13,1.67Zm6.85-2.76c0-1.44-.61-3.8-3.24-3.8-2.43,0-3.45,2.2-3.61,3.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1148.24,557.05c0-1.79,0-3.3-.12-4.64h3.45l.19,2.34h.1a5.61,5.61,0,0,1,5-2.69c2.72,0,5.54,1.76,5.54,6.69V568h-3.94v-8.8c0-2.24-.83-3.93-3-3.93a3.32,3.32,0,0,0-3.08,2.3,3.94,3.94,0,0,0-.16,1.28V568h-4Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1170.9,548v4.45h3.74v2.94h-3.74v6.88c0,1.89.51,2.88,2,2.88a5.61,5.61,0,0,0,1.53-.19l.07,3a8.8,8.8,0,0,1-2.85.38,4.54,4.54,0,0,1-3.39-1.28c-.83-.89-1.22-2.3-1.22-4.35v-7.33h-2.24v-2.94h2.24v-3.52Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1082.07,595.83c0-2.11,0-3.61-.13-5h3.43l.12,3h.13a4.65,4.65,0,0,1,4.26-3.33,4.45,4.45,0,0,1,.93.09v3.72a5.17,5.17,0,0,0-1.16-.13,3.48,3.48,0,0,0-3.52,3,7.3,7.3,0,0,0-.12,1.22v8.06h-3.94Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1096,599.71c.09,2.81,2.3,4,4.8,4a11.7,11.7,0,0,0,4.32-.71l.57,2.72a14.54,14.54,0,0,1-5.44,1c-5,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a10.2,10.2,0,0,1-.13,1.67Zm6.85-2.76c0-1.44-.61-3.8-3.24-3.8-2.43,0-3.45,2.2-3.61,3.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1121.14,605.91a11.25,11.25,0,0,1-4.41.8c-4.87,0-8-3.1-8-7.93,0-4.67,3.2-8.32,8.68-8.32a9.91,9.91,0,0,1,3.8.73l-.7,2.95a6.91,6.91,0,0,0-3-.61c-3,0-4.8,2.21-4.76,5.06,0,3.2,2.08,5,4.76,5a7.72,7.72,0,0,0,3.11-.61Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1138.58,598.46c0,5.73-4,8.28-8,8.28-4.41,0-7.81-3-7.81-8s3.36-8.25,8.07-8.25S1138.58,593.72,1138.58,598.46Zm-11.74.16c0,3,1.47,5.28,3.87,5.28,2.24,0,3.81-2.21,3.81-5.35,0-2.43-1.09-5.21-3.78-5.21S1126.84,596,1126.84,598.62Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1141.81,595.83c0-2.11,0-3.61-.12-5h3.42l.13,3h.13a4.64,4.64,0,0,1,4.25-3.33,4.45,4.45,0,0,1,.93.09v3.72a5.07,5.07,0,0,0-1.15-.13,3.46,3.46,0,0,0-3.52,3,6.34,6.34,0,0,0-.13,1.22v8.06h-3.94Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1167.28,583.67V602c0,1.6.07,3.33.13,4.38h-3.52l-.16-2.46h-.06a5.61,5.61,0,0,1-5.09,2.81c-3.71,0-6.65-3.16-6.65-8,0-5.22,3.23-8.32,7-8.32a4.94,4.94,0,0,1,4.38,2h.07v-8.84Zm-3.93,13.64a5.14,5.14,0,0,0-.1-1,3.45,3.45,0,0,0-3.39-2.78c-2.53,0-3.93,2.24-3.93,5.15s1.4,4.93,3.9,4.93a3.47,3.47,0,0,0,3.39-2.79,4.18,4.18,0,0,0,.13-1.15Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1177.4,606.39V604l2.46-2.27c4.9-4.54,7.2-7,7.23-9.79,0-1.85-1-3.49-3.71-3.49a7.6,7.6,0,0,0-4.45,1.73l-1.15-2.78a10.27,10.27,0,0,1,6.4-2.15c4.61,0,6.85,2.92,6.85,6.31,0,3.64-2.63,6.59-6.24,10l-1.83,1.57v.06h8.55v3.26Z" transform="translate(-323.84 -194.63)"/><path class="cls-6" d="M1501.9,646.27H1266c-10.66,0-19.3-9.07-19.3-20.26V529.59c0-11.19,8.64-20.26,19.3-20.26H1501.9c10.65,0,19.29,9.07,19.29,20.26V626C1521.19,637.2,1512.55,646.27,1501.9,646.27Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1359.32,558.43h-8.13v6.33h9.09V568h-13V546.43h12.55v3.23h-8.61v5.57h8.13Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1365.75,552.41l2.53,7.9a39.52,39.52,0,0,1,1,3.91h.1c.29-1.28.64-2.5,1.06-3.91l2.46-7.9h4.16L1371.16,568h-3.87l-5.8-15.58Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1381.88,561.31c.1,2.81,2.3,4,4.8,4a11.66,11.66,0,0,0,4.32-.71l.58,2.72a14.62,14.62,0,0,1-5.44,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a10.2,10.2,0,0,1-.13,1.67Zm6.85-2.76c0-1.44-.61-3.8-3.24-3.8-2.43,0-3.45,2.2-3.61,3.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1395.61,557.05c0-1.79,0-3.3-.13-4.64h3.45l.2,2.34h.09a5.62,5.62,0,0,1,5-2.69c2.72,0,5.54,1.76,5.54,6.69V568h-3.94v-8.8c0-2.24-.83-3.93-3-3.93a3.29,3.29,0,0,0-3.07,2.3,3.94,3.94,0,0,0-.16,1.28V568h-4Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1418.26,548v4.45H1422v2.94h-3.75v6.88c0,1.89.51,2.88,2,2.88a5.76,5.76,0,0,0,1.54-.19l.06,3a8.8,8.8,0,0,1-2.85.38,4.56,4.56,0,0,1-3.39-1.28c-.83-.89-1.22-2.3-1.22-4.35v-7.33h-2.24v-2.94h2.24v-3.52Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1329.43,595.83c0-2.11,0-3.61-.13-5h3.43l.13,3h.12a4.66,4.66,0,0,1,4.26-3.33,4.45,4.45,0,0,1,.93.09v3.72a5.14,5.14,0,0,0-1.15-.13,3.46,3.46,0,0,0-3.52,3,6.34,6.34,0,0,0-.13,1.22v8.06h-3.94Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1343.32,599.71c.1,2.81,2.3,4,4.8,4a11.7,11.7,0,0,0,4.32-.71l.57,2.72a14.48,14.48,0,0,1-5.43,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a9.18,9.18,0,0,1-.13,1.67Zm6.85-2.76c0-1.44-.61-3.8-3.23-3.8-2.44,0-3.46,2.2-3.62,3.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1368.5,605.91a11.25,11.25,0,0,1-4.41.8c-4.87,0-8-3.1-8-7.93,0-4.67,3.2-8.32,8.67-8.32a9.87,9.87,0,0,1,3.8.73l-.7,2.95a6.9,6.9,0,0,0-3-.61c-3,0-4.8,2.21-4.77,5.06,0,3.2,2.08,5,4.77,5a7.7,7.7,0,0,0,3.1-.61Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1385.94,598.46c0,5.73-4,8.28-8,8.28-4.41,0-7.8-3-7.8-8s3.35-8.25,8.06-8.25S1385.94,593.72,1385.94,598.46Zm-11.74.16c0,3,1.47,5.28,3.87,5.28,2.24,0,3.81-2.21,3.81-5.35,0-2.43-1.09-5.21-3.78-5.21S1374.2,596,1374.2,598.62Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1389.18,595.83c0-2.11,0-3.61-.13-5h3.42l.13,3h.13a4.64,4.64,0,0,1,4.25-3.33,4.38,4.38,0,0,1,.93.09v3.72a5.07,5.07,0,0,0-1.15-.13,3.46,3.46,0,0,0-3.52,3,6.34,6.34,0,0,0-.13,1.22v8.06h-3.93Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1414.65,583.67V602c0,1.6.06,3.33.12,4.38h-3.52l-.16-2.46H1411a5.6,5.6,0,0,1-5.09,2.81c-3.71,0-6.65-3.16-6.65-8,0-5.22,3.23-8.32,7-8.32a5,5,0,0,1,4.39,2h.06v-8.84Zm-3.94,13.64a6,6,0,0,0-.09-1,3.47,3.47,0,0,0-3.4-2.78c-2.52,0-3.93,2.24-3.93,5.15s1.41,4.93,3.9,4.93a3.47,3.47,0,0,0,3.39-2.79,4.18,4.18,0,0,0,.13-1.15Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1425.56,602.33a10.28,10.28,0,0,0,4.73,1.28c3,0,4.23-1.7,4.2-3.33,0-2.46-2.31-3.52-4.71-3.52H1428v-2.88h1.76c1.82,0,4.13-.83,4.13-2.91,0-1.41-1.06-2.59-3.33-2.59a8.45,8.45,0,0,0-4.26,1.31l-.89-2.85a11.21,11.21,0,0,1,6-1.6c4.29,0,6.5,2.37,6.5,5.09,0,2.18-1.28,4-3.84,4.86v.07a5.26,5.26,0,0,1,4.57,5.18c0,3.52-2.94,6.3-8.09,6.3a11.44,11.44,0,0,1-5.83-1.43Z" transform="translate(-323.84 -194.63)"/><path class="cls-6" d="M1698.9,646.27H1563c-10.66,0-19.3-9.07-19.3-20.26V529.59c0-11.19,8.64-20.26,19.3-20.26H1698.9c10.65,0,19.29,9.07,19.29,20.26V626C1718.19,637.2,1709.55,646.27,1698.9,646.27Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1607,558.43h-8.13v6.33h9.09V568h-13V546.43h12.55v3.23h-8.61v5.57H1607Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1613.39,552.41l2.53,7.9c.45,1.38.76,2.63,1,3.91h.1c.29-1.28.64-2.5,1-3.91l2.47-7.9h4.16l-6,15.58h-3.88l-5.79-15.58Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1629.52,561.31c.09,2.81,2.3,4,4.8,4a11.7,11.7,0,0,0,4.32-.71l.57,2.72a14.54,14.54,0,0,1-5.44,1c-5,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a10.2,10.2,0,0,1-.13,1.67Zm6.85-2.76c0-1.44-.61-3.8-3.24-3.8-2.43,0-3.45,2.2-3.61,3.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1643.24,557.05c0-1.79,0-3.3-.12-4.64h3.45l.19,2.34h.1a5.61,5.61,0,0,1,5-2.69c2.72,0,5.54,1.76,5.54,6.69V568h-3.94v-8.8c0-2.24-.83-3.93-3-3.93a3.32,3.32,0,0,0-3.08,2.3,3.94,3.94,0,0,0-.16,1.28V568h-4Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1665.9,548v4.45h3.74v2.94h-3.74v6.88c0,1.89.51,2.88,2,2.88a5.61,5.61,0,0,0,1.53-.19l.07,3a8.8,8.8,0,0,1-2.85.38,4.54,4.54,0,0,1-3.39-1.28c-.83-.89-1.22-2.3-1.22-4.35v-7.33h-2.24v-2.94h2.24v-3.52Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1577.07,595.83c0-2.11,0-3.61-.13-5h3.43l.12,3h.13a4.65,4.65,0,0,1,4.26-3.33,4.45,4.45,0,0,1,.93.09v3.72a5.17,5.17,0,0,0-1.16-.13,3.48,3.48,0,0,0-3.52,3,7.3,7.3,0,0,0-.12,1.22v8.06h-3.94Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1591,599.71c.09,2.81,2.3,4,4.8,4a11.7,11.7,0,0,0,4.32-.71l.57,2.72a14.54,14.54,0,0,1-5.44,1c-5,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a10.2,10.2,0,0,1-.13,1.67Zm6.85-2.76c0-1.44-.61-3.8-3.24-3.8-2.43,0-3.45,2.2-3.61,3.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1616.14,605.91a11.25,11.25,0,0,1-4.41.8c-4.87,0-8-3.1-8-7.93,0-4.67,3.2-8.32,8.68-8.32a9.91,9.91,0,0,1,3.8.73l-.7,2.95a6.91,6.91,0,0,0-3-.61c-3,0-4.8,2.21-4.76,5.06,0,3.2,2.08,5,4.76,5a7.72,7.72,0,0,0,3.11-.61Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1633.58,598.46c0,5.73-4,8.28-8,8.28-4.41,0-7.81-3-7.81-8s3.36-8.25,8.07-8.25S1633.58,593.72,1633.58,598.46Zm-11.74.16c0,3,1.47,5.28,3.87,5.28,2.24,0,3.81-2.21,3.81-5.35,0-2.43-1.09-5.21-3.78-5.21S1621.84,596,1621.84,598.62Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1636.81,595.83c0-2.11,0-3.61-.12-5h3.42l.13,3h.13a4.64,4.64,0,0,1,4.25-3.33,4.45,4.45,0,0,1,.93.09v3.72a5.07,5.07,0,0,0-1.15-.13,3.46,3.46,0,0,0-3.52,3,6.34,6.34,0,0,0-.13,1.22v8.06h-3.94Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1662.28,583.67V602c0,1.6.07,3.33.13,4.38h-3.52l-.16-2.46h-.06a5.61,5.61,0,0,1-5.09,2.81c-3.71,0-6.65-3.16-6.65-8,0-5.22,3.23-8.32,7-8.32a4.94,4.94,0,0,1,4.38,2h.07v-8.84Zm-3.93,13.64a5.14,5.14,0,0,0-.1-1,3.45,3.45,0,0,0-3.39-2.78c-2.53,0-3.93,2.24-3.93,5.15s1.4,4.93,3.9,4.93a3.47,3.47,0,0,0,3.39-2.79,4.18,4.18,0,0,0,.13-1.15Z" transform="translate(-323.84 -194.63)"/><path class="cls-5" d="M1681.07,606.39v-5.28h-9.41v-2.56l8.48-13h4.64v12.55h2.69v3h-2.69v5.28Zm0-8.25v-5.67c0-1.18,0-2.39.13-3.61h-.13c-.64,1.31-1.19,2.37-1.83,3.52l-3.8,5.69,0,.07Z" transform="translate(-323.84 -194.63)"/><path class="cls-7" d="M972.93,712.48a13.66,13.66,0,0,1-5.57,1c-6.85,0-11-4.29-11-10.85,0-7.1,4.93-11.39,11.52-11.39a12.35,12.35,0,0,1,5.25,1l-.87,3.14a10.4,10.4,0,0,0-4.22-.84c-4.38,0-7.55,2.75-7.55,7.94,0,4.73,2.78,7.77,7.52,7.77a11.05,11.05,0,0,0,4.29-.8Z" transform="translate(-323.84 -194.63)"/><path class="cls-7" d="M981.05,694.85h-6.14v-3.3H991.2v3.3H985v18.27h-3.94Z" transform="translate(-323.84 -194.63)"/><path class="cls-7" d="M993.73,691.55h12.44v3.23h-8.51v6h7.94V704h-7.94v9.15h-3.93Z" transform="translate(-323.84 -194.63)"/><path class="cls-7" d="M1016.48,702.72c0-2.05-.07-3.71-.13-5.18h3.45l.2,2.4h.06a6.05,6.05,0,0,1,5.34-2.76c3.59,0,6.56,3.07,6.56,7.94,0,5.63-3.55,8.35-7.1,8.35a5.11,5.11,0,0,1-4.38-2.08h-.07v8.06h-3.93Zm3.93,3.87a3.92,3.92,0,0,0,.13,1.09,3.55,3.55,0,0,0,3.46,2.75c2.49,0,4-2.08,4-5.15,0-2.75-1.34-5-3.87-5a3.67,3.67,0,0,0-3.52,2.91,3.79,3.79,0,0,0-.16,1Z" transform="translate(-323.84 -194.63)"/><path class="cls-7" d="M1044,713.12l-.25-1.73h-.1a5.77,5.77,0,0,1-4.6,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.25c0-1-.42-2.72-3.17-2.72a8.24,8.24,0,0,0-4.19,1.15l-.77-2.56a11.26,11.26,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25,25,0,0,0,.23,3.75Zm-.51-7.62c-2.78-.06-5.44.55-5.44,2.91a2.07,2.07,0,0,0,2.24,2.24,3.2,3.2,0,0,0,3.08-2.14,3,3,0,0,0,.12-.86Z" transform="translate(-323.84 -194.63)"/><path class="cls-7" d="M1062.91,712.64a11.45,11.45,0,0,1-4.42.8c-4.86,0-8-3.11-8-7.94,0-4.67,3.2-8.32,8.67-8.32a9.77,9.77,0,0,1,3.81.74l-.7,2.94a7.07,7.07,0,0,0-3-.61c-3,0-4.8,2.21-4.77,5.06,0,3.2,2.08,5,4.77,5a7.74,7.74,0,0,0,3.11-.6Z" transform="translate(-323.84 -194.63)"/><path class="cls-7" d="M1069.76,704.38h.06c.38-.61.83-1.28,1.25-1.82l3.77-5h4.74l-5.76,6.36,6.59,9.22h-4.83l-4.48-6.88-1.34,1.57v5.31h-3.94V690.4h3.94Z" transform="translate(-323.84 -194.63)"/><path class="cls-7" d="M1084.67,706.43c.09,2.82,2.3,4,4.8,4a11.71,11.71,0,0,0,4.32-.7l.57,2.72a14.74,14.74,0,0,1-5.44,1c-5.05,0-8-3.11-8-7.87,0-4.32,2.63-8.39,7.62-8.39s6.72,4.16,6.72,7.59a10.05,10.05,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.24-3.81-2.43,0-3.45,2.21-3.61,3.81Z" transform="translate(-323.84 -194.63)"/><path class="cls-7" d="M1102.91,693.09v4.45h3.74v2.94h-3.74v6.88c0,1.89.51,2.88,2,2.88a6.07,6.07,0,0,0,1.54-.19l.06,3a8.41,8.41,0,0,1-2.84.39,4.58,4.58,0,0,1-3.4-1.28c-.83-.9-1.21-2.31-1.21-4.35v-7.33h-2.24v-2.94h2.24V694Z" transform="translate(-323.84 -194.63)"/><line class="cls-8" x1="1403.73" y1="298.32" x2="768.27" y2="108.39"/><line class="cls-8" x1="11.71" y1="298.09" x2="686.41" y2="108.09"/><path class="cls-9" d="M960.84,211.19a10.28,10.28,0,0,1-4.18.72c-5.14,0-8.26-3.22-8.26-8.14,0-5.33,3.7-8.54,8.64-8.54A9.33,9.33,0,0,1,961,196l-.65,2.35a7.79,7.79,0,0,0-3.17-.62c-3.29,0-5.66,2.06-5.66,5.95,0,3.55,2.09,5.83,5.64,5.83a8.29,8.29,0,0,0,3.22-.6Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M966.93,198h-4.61v-2.47h12.22V198h-4.66v13.71h-3Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M976.43,195.49h9.34v2.43h-6.38v4.46h6v2.42h-6v6.87h-3Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M1004.27,194.63v13.75c0,1.2.05,2.5.1,3.29h-2.64l-.12-1.85h-.05a4.19,4.19,0,0,1-3.81,2.11c-2.79,0-5-2.37-5-6,0-3.92,2.43-6.24,5.24-6.24a3.71,3.71,0,0,1,3.28,1.53h.05v-6.62Zm-2.95,10.22a4,4,0,0,0-.07-.77,2.58,2.58,0,0,0-2.54-2.08c-1.9,0-3,1.68-3,3.86s1.06,3.7,2.93,3.7a2.62,2.62,0,0,0,2.55-2.09,3.42,3.42,0,0,0,.09-.87Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M1014,211.67l-.19-1.3h-.08a4.31,4.31,0,0,1-3.45,1.56,3.48,3.48,0,0,1-3.68-3.48c0-2.95,2.62-4.44,6.94-4.41v-.2c0-.76-.31-2-2.37-2a6.13,6.13,0,0,0-3.15.87l-.58-1.92a8.43,8.43,0,0,1,4.23-1c3.74,0,4.82,2.37,4.82,4.92v4.22a18.71,18.71,0,0,0,.17,2.81Zm-.39-5.71c-2.08-.05-4.08.4-4.08,2.18a1.55,1.55,0,0,0,1.68,1.68,2.4,2.4,0,0,0,2.31-1.61,2.12,2.12,0,0,0,.09-.65Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M1022.87,196.64V200h2.81v2.21h-2.81v5.16c0,1.41.39,2.16,1.52,2.16a4.05,4.05,0,0,0,1.15-.15l0,2.26a6.47,6.47,0,0,1-2.14.29,3.4,3.4,0,0,1-2.54-1,4.63,4.63,0,0,1-.92-3.27v-5.49h-1.68V200H1020v-2.64Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M1034.49,211.67l-.19-1.3h-.07a4.33,4.33,0,0,1-3.46,1.56,3.47,3.47,0,0,1-3.67-3.48c0-2.95,2.61-4.44,6.93-4.41v-.2c0-.76-.31-2-2.37-2a6.13,6.13,0,0,0-3.15.87l-.57-1.92a8.36,8.36,0,0,1,4.22-1c3.75,0,4.83,2.37,4.83,4.92v4.22a18.86,18.86,0,0,0,.16,2.81Zm-.38-5.71c-2.09-.05-4.08.4-4.08,2.18a1.55,1.55,0,0,0,1.67,1.68,2.4,2.4,0,0,0,2.31-1.61,2.14,2.14,0,0,0,.1-.65Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M1044.93,209a6.66,6.66,0,0,0,3,.84c1.29,0,1.87-.53,1.87-1.3s-.48-1.2-1.92-1.7c-2.28-.8-3.24-2-3.22-3.41,0-2.07,1.71-3.67,4.42-3.67a6.9,6.9,0,0,1,3.1.69l-.58,2.09a5.21,5.21,0,0,0-2.47-.67c-1.06,0-1.63.5-1.63,1.22s.55,1.11,2,1.63c2.11.77,3.09,1.85,3.12,3.58,0,2.11-1.66,3.65-4.75,3.65a7.58,7.58,0,0,1-3.56-.82Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M1058.46,196.64V200h2.81v2.21h-2.81v5.16c0,1.41.39,2.16,1.52,2.16a4,4,0,0,0,1.15-.15l0,2.26a6.47,6.47,0,0,1-2.14.29,3.4,3.4,0,0,1-2.54-1,4.63,4.63,0,0,1-.92-3.27v-5.49h-1.68V200h1.68v-2.64Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M1063.5,203.75c0-1.59,0-2.71-.09-3.77H1066l.09,2.23h.1a3.48,3.48,0,0,1,3.19-2.49,3,3,0,0,1,.7.07v2.78a4.08,4.08,0,0,0-.87-.09,2.61,2.61,0,0,0-2.64,2.23,4.83,4.83,0,0,0-.09.91v6h-3Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M1073.92,206.65c.07,2.11,1.73,3,3.6,3a8.91,8.91,0,0,0,3.24-.53l.43,2a10.93,10.93,0,0,1-4.08.72c-3.79,0-6-2.33-6-5.91,0-3.24,2-6.28,5.71-6.28s5,3.12,5,5.68a6.9,6.9,0,0,1-.1,1.25Zm5.14-2.06c0-1.08-.46-2.86-2.43-2.86a2.89,2.89,0,0,0-2.71,2.86Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M1090.79,211.67l-.19-1.3h-.07a4.33,4.33,0,0,1-3.46,1.56,3.47,3.47,0,0,1-3.67-3.48c0-2.95,2.62-4.44,6.94-4.41v-.2c0-.76-.32-2-2.38-2a6.12,6.12,0,0,0-3.14.87l-.58-1.92a8.39,8.39,0,0,1,4.22-1c3.75,0,4.83,2.37,4.83,4.92v4.22a18.71,18.71,0,0,0,.17,2.81Zm-.38-5.71c-2.09-.05-4.08.4-4.08,2.18a1.55,1.55,0,0,0,1.68,1.68,2.39,2.39,0,0,0,2.3-1.61,2.14,2.14,0,0,0,.1-.65Z" transform="translate(-323.84 -194.63)"/><path class="cls-9" d="M1096.41,203.46c0-1.34,0-2.47-.1-3.48h2.55l.12,1.73h.07a4,4,0,0,1,3.6-2,3.38,3.38,0,0,1,3.24,2.16h0a4.41,4.41,0,0,1,1.44-1.47,3.94,3.94,0,0,1,2.35-.69c1.94,0,3.91,1.32,3.91,5.06v6.89h-2.88v-6.46c0-1.94-.67-3.09-2.09-3.09a2.24,2.24,0,0,0-2.06,1.56,4.19,4.19,0,0,0-.15,1v7h-2.88V204.9c0-1.63-.64-2.78-2-2.78a2.29,2.29,0,0,0-2.11,1.68,2.49,2.49,0,0,0-.17,1v6.91h-2.88Z" transform="translate(-323.84 -194.63)"/></svg>
\ No newline at end of file
--- /dev/null
+<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576.19 494.24"><defs><style>.cls-1{fill:#f2f2f3;}.cls-15,.cls-2,.cls-4{fill:none;}.cls-15,.cls-2{stroke:#231f20;}.cls-12,.cls-15,.cls-2{stroke-miterlimit:10;}.cls-2{stroke-width:3px;stroke-dasharray:11.97 11.97;}.cls-3{opacity:0.75;}.cls-5{fill:#ffe2bd;}.cls-6{fill:#f8a794;}.cls-7{opacity:0.7;}.cls-8{fill:#f47859;}.cls-9{fill:#ffe9cc;}.cls-10{opacity:0.85;}.cls-11{fill:#231f20;}.cls-12{fill:#d1edf3;stroke:#89cbd3;stroke-width:1.81px;}.cls-13{fill:#c93f63;}.cls-14{opacity:0.5;}.cls-15{stroke-width:2px;}</style></defs><title>ctf-trace</title><rect class="cls-1" x="1.5" y="87.59" width="573.19" height="362.18" rx="29.85"/><rect class="cls-2" x="1.5" y="87.59" width="573.19" height="362.18" rx="29.85"/><g class="cls-3"><path class="cls-4" d="M685,325.57" transform="translate(-240.98 -216.06)"/></g><g class="cls-3"><path class="cls-4" d="M385.3,325.57" transform="translate(-240.98 -216.06)"/></g><g id="surface1"><path class="cls-5" d="M372.5,375.86h67.21V363.05a6.42,6.42,0,0,0-6.4-6.4H334.09v32a6.4,6.4,0,0,1-6.4,6.4H292.48V516.69a6.42,6.42,0,0,0,6.4,6.4h32V414.26Z" transform="translate(-240.98 -216.06)"/><path class="cls-6" d="M334.09,388.66v-32l-41.61,38.41h35.2A6.4,6.4,0,0,0,334.09,388.66Z" transform="translate(-240.98 -216.06)"/><g class="cls-7"><path class="cls-8" d="M323.64,418.94c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S323.64,415.06,323.64,418.94Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85S316.66,415.77,316.68,419.06Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M329.1,414.7h-.05l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M339.93,414.7h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M356.15,418.94c0,4.23-1.66,6.88-4.8,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.82-6.83S356.15,415.06,356.15,418.94Zm-7,.12c0,3.2.87,4.85,2.24,4.85s2.23-1.77,2.23-4.93-.73-4.85-2.23-4.85C350.1,414.13,349.17,415.77,349.19,419.06Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M361.6,414.7h0l-2.4,1.21-.43-1.88,3.2-1.58H364v13.14H361.6Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M377.82,418.94c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S377.82,415.06,377.82,418.94Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85S370.84,415.77,370.86,419.06Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M388.65,418.94c0,4.23-1.65,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S388.65,415.06,388.65,418.94Zm-6.95.12c0,3.2.87,4.85,2.24,4.85s2.23-1.77,2.23-4.93-.73-4.85-2.23-4.85C382.61,414.13,381.68,415.77,381.7,419.06Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M399.49,418.94c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S399.49,415.06,399.49,418.94Zm-6.95.12c0,3.2.86,4.85,2.24,4.85S397,422.14,397,419s-.72-4.85-2.22-4.85C393.45,414.13,392.51,415.77,392.54,419.06Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M405,414.7h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08v13.14H405Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M415.78,414.7h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M318.26,431h0l-2.41,1.21-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M334.47,435.2c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S334.47,431.32,334.47,435.2Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C328.43,430.39,327.5,432,327.52,435.32Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M345.31,435.2c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S345.31,431.32,345.31,435.2Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C339.26,430.39,338.33,432,338.35,435.32Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M350.77,431h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M367,435.2c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S367,431.32,367,435.2Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C360.94,430.39,360,432,360,435.32Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M372.44,431h0L370,432.17l-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M388.65,435.2c0,4.23-1.65,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S388.65,431.32,388.65,435.2Zm-6.95.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C382.61,430.39,381.68,432,381.7,435.32Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M394.11,431h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M410.33,435.2c0,4.23-1.66,6.88-4.8,6.88s-4.64-2.75-4.67-6.76,1.74-6.83,4.82-6.83S410.33,431.32,410.33,435.2Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S403.35,432,403.37,435.32Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M415.78,431h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M323.64,451.46c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S323.64,447.58,323.64,451.46Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S316.66,448.29,316.68,451.58Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M334.47,451.46c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S334.47,447.58,334.47,451.46Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C328.43,446.65,327.5,448.29,327.52,451.58Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M339.93,447.22h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M356.15,451.46c0,4.23-1.66,6.88-4.8,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.82-6.83S356.15,447.58,356.15,451.46Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C350.1,446.65,349.17,448.29,349.19,451.58Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M361.6,447.22h0l-2.4,1.21-.43-1.88,3.2-1.58H364v13.14H361.6Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M377.82,451.46c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S377.82,447.58,377.82,451.46Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S370.84,448.29,370.86,451.58Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M383.28,447.22h0l-2.41,1.21-.42-1.88L383.6,445h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M399.49,451.46c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S399.49,447.58,399.49,451.46Zm-6.95.12c0,3.2.86,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C393.45,446.65,392.51,448.29,392.54,451.58Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M410.33,451.46c0,4.23-1.66,6.88-4.8,6.88s-4.64-2.75-4.67-6.76,1.74-6.83,4.82-6.83S410.33,447.58,410.33,451.46Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S403.35,448.29,403.37,451.58Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M415.78,447.22h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M318.26,463.48h0l-2.41,1.21-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M334.47,467.72c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S334.47,463.84,334.47,467.72Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C328.43,462.91,327.5,464.55,327.52,467.84Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M339.93,463.48h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M356.15,467.72c0,4.23-1.66,6.88-4.8,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.82-6.83S356.15,463.84,356.15,467.72Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C350.1,462.91,349.17,464.55,349.19,467.84Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M367,467.72c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S367,463.84,367,467.72Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C360.94,462.91,360,464.55,360,467.84Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M372.44,463.48h0L370,464.69l-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M388.65,467.72c0,4.23-1.65,6.88-4.79,6.88s-4.65-2.75-4.67-6.76S380.93,461,384,461,388.65,463.84,388.65,467.72Zm-6.95.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C382.61,462.91,381.68,464.55,381.7,467.84Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M399.49,467.72c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S399.49,463.84,399.49,467.72Zm-6.95.12c0,3.2.86,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C393.45,462.91,392.51,464.55,392.54,467.84Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M405,463.48h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08v13.14H405Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M421.16,467.72c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S421.16,463.84,421.16,467.72Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C415.12,462.91,414.19,464.55,414.21,467.84Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M323.64,484c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S323.64,480.1,323.64,484Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S316.66,480.81,316.68,484.1Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M334.47,484c0,4.23-1.66,6.88-4.79,6.88S325,488.11,325,484.1s1.74-6.83,4.81-6.83S334.47,480.1,334.47,484Zm-7,.12c0,3.2.87,4.86,2.24,4.86S332,487.18,332,484s-.73-4.85-2.23-4.85C328.43,479.17,327.5,480.81,327.52,484.1Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M339.93,479.74h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M350.77,479.74h0L348.32,481l-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M367,484c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S367,480.1,367,484Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C360.94,479.17,360,480.81,360,484.1Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M372.44,479.74h0L370,481l-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M383.28,479.74h0L380.83,481l-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M394.11,479.74h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M410.33,484c0,4.23-1.66,6.88-4.8,6.88s-4.64-2.75-4.67-6.76,1.74-6.83,4.82-6.83S410.33,480.1,410.33,484Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S403.35,480.81,403.37,484.1Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M415.78,479.74h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M318.26,496h0l-2.41,1.21-.42-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M329.1,496h-.05l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M345.31,500.24c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S345.31,496.36,345.31,500.24Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C339.26,495.43,338.33,497.07,338.35,500.36Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M350.77,496h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M367,500.24c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S367,496.36,367,500.24Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C360.94,495.43,360,497.07,360,500.36Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M377.82,500.24c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.73-6.83,4.81-6.83S377.82,496.36,377.82,500.24Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S370.84,497.07,370.86,500.36Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M383.28,496h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M394.11,496h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M410.33,500.24c0,4.23-1.66,6.88-4.8,6.88s-4.64-2.75-4.67-6.76,1.74-6.83,4.82-6.83S410.33,496.36,410.33,500.24Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S403.35,497.07,403.37,500.36Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M415.78,496h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/></g><path class="cls-9" d="M471.72,375.86H372.5v32a6.4,6.4,0,0,1-6.41,6.4h-35.2V535.89a6.42,6.42,0,0,0,6.4,6.4H471.72a6.42,6.42,0,0,0,6.4-6.4V382.26A6.42,6.42,0,0,0,471.72,375.86Z" transform="translate(-240.98 -216.06)"/><path class="cls-6" d="M366.09,414.26a6.4,6.4,0,0,0,6.41-6.4v-32l-41.61,38.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-5" d="M372.5,542.29h99.22a6.4,6.4,0,0,0,6.4-6.4V443.36A160.38,160.38,0,0,1,372.5,542.29Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M362,439c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S362,435.13,362,439Zm-7,.12c0,3.2.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C356,434.2,355.07,435.83,355.09,439.13Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M367.5,434.76h0L365.05,436l-.42-1.88,3.19-1.58h2.09v13.14H367.5Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M378.34,434.76h0L375.89,436l-.43-1.88,3.2-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M394.55,439c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S394.55,435.13,394.55,439Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C388.5,434.2,387.57,435.83,387.59,439.13Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M400,434.76h0L397.56,436l-.42-1.88,3.19-1.58h2.08v13.14H400Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M416.22,439c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S416.22,435.13,416.22,439Zm-7,.12c0,3.2.87,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C410.18,434.2,409.25,435.83,409.27,439.13Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M427.06,439c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.83,4.81-6.83S427.06,435.13,427.06,439Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85S420.08,435.83,420.1,439.13Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M437.89,439c0,4.23-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S437.89,435.13,437.89,439Zm-6.95.12c0,3.2.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C431.85,434.2,430.92,435.83,430.94,439.13Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M443.35,434.76h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M454.19,434.76h0L451.74,436l-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M356.66,451h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M372.88,455.27c0,4.23-1.66,6.87-4.8,6.87s-4.64-2.75-4.67-6.75,1.74-6.83,4.82-6.83S372.88,451.39,372.88,455.27Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85S365.9,452.1,365.92,455.39Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M383.71,455.27c0,4.23-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S383.71,451.39,383.71,455.27Zm-6.95.12c0,3.2.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C377.67,450.46,376.74,452.1,376.76,455.39Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M389.17,451h0l-2.4,1.22-.43-1.88,3.19-1.58h2.09v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M405.39,455.27c0,4.23-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.82-6.83S405.39,451.39,405.39,455.27Zm-7,.12c0,3.2.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C399.34,450.46,398.41,452.1,398.43,455.39Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M410.84,451h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M427.06,455.27c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.83,4.81-6.83S427.06,451.39,427.06,455.27Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85S420.08,452.1,420.1,455.39Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M432.52,451h0l-2.41,1.22-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M448.73,455.27c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S448.73,451.39,448.73,455.27Zm-7,.12c0,3.2.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C442.69,450.46,441.75,452.1,441.78,455.39Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M454.19,451h0l-2.41,1.22-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M362,471.53c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S362,467.65,362,471.53Zm-7,.12c0,3.2.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C356,466.72,355.07,468.36,355.09,471.65Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M372.88,471.53c0,4.23-1.66,6.87-4.8,6.87s-4.64-2.75-4.67-6.75,1.74-6.83,4.82-6.83S372.88,467.65,372.88,471.53Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85S365.9,468.36,365.92,471.65Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M378.34,467.28h0l-2.41,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M394.55,471.53c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S394.55,467.65,394.55,471.53Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.78,2.22-4.93-.73-4.85-2.22-4.85C388.5,466.72,387.57,468.36,387.59,471.65Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M400,467.28h0l-2.41,1.22-.42-1.88,3.19-1.58h2.08v13.14H400Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M416.22,471.53c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S416.22,467.65,416.22,471.53Zm-7,.12c0,3.2.87,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C410.18,466.72,409.25,468.36,409.27,471.65Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M421.68,467.28h0l-2.41,1.22-.42-1.88L422,465h2.09v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M437.89,471.53c0,4.23-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S437.89,467.65,437.89,471.53Zm-6.95.12c0,3.2.87,4.85,2.24,4.85s2.23-1.78,2.23-4.93-.73-4.85-2.23-4.85C431.85,466.72,430.92,468.36,430.94,471.65Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M448.73,471.53c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S448.73,467.65,448.73,471.53Zm-7,.12c0,3.2.86,4.85,2.24,4.85s2.22-1.78,2.22-4.93-.72-4.85-2.22-4.85C442.69,466.72,441.75,468.36,441.78,471.65Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M454.19,467.28h0l-2.41,1.22-.42-1.88,3.19-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M356.66,483.54h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M372.88,487.79c0,4.23-1.66,6.87-4.8,6.87s-4.64-2.75-4.67-6.75,1.74-6.83,4.82-6.83S372.88,483.91,372.88,487.79Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85S365.9,484.62,365.92,487.91Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M378.34,483.54h0l-2.41,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M394.55,487.79c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S394.55,483.91,394.55,487.79Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85C388.5,483,387.57,484.62,387.59,487.91Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M405.39,487.79c0,4.23-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.82-6.83S405.39,483.91,405.39,487.79Zm-7,.12c0,3.2.87,4.85,2.24,4.85s2.23-1.77,2.23-4.93-.73-4.85-2.23-4.85C399.34,483,398.41,484.62,398.43,487.91Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M410.84,483.54h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M427.06,487.79c0,4.23-1.66,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.73-6.83,4.81-6.83S427.06,483.91,427.06,487.79Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85S420.08,484.62,420.1,487.91Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M437.89,487.79c0,4.23-1.65,6.87-4.79,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.81-6.83S437.89,483.91,437.89,487.79Zm-6.95.12c0,3.2.87,4.85,2.24,4.85s2.23-1.77,2.23-4.93-.73-4.85-2.23-4.85C431.85,483,430.92,484.62,430.94,487.91Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M443.35,483.54h0l-2.4,1.22-.43-1.88,3.2-1.58h2.08v13.14h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M459.57,487.79c0,4.23-1.66,6.87-4.8,6.87s-4.65-2.75-4.67-6.75,1.74-6.83,4.82-6.83S459.57,483.91,459.57,487.79Zm-7,.12c0,3.2.87,4.85,2.25,4.85s2.22-1.77,2.22-4.93-.73-4.85-2.22-4.85S452.59,484.62,452.61,487.91Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M362,504.05c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S362,500.17,362,504.05Zm-7,.12c0,3.2.86,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C356,499.24,355.07,500.88,355.09,504.17Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M372.88,504.05c0,4.23-1.66,6.88-4.8,6.88s-4.64-2.75-4.67-6.76,1.74-6.83,4.82-6.83S372.88,500.17,372.88,504.05Zm-7,.12c0,3.2.87,4.86,2.25,4.86s2.22-1.78,2.22-4.94-.73-4.85-2.22-4.85S365.9,500.88,365.92,504.17Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M378.34,499.81h0L375.89,501l-.43-1.88,3.2-1.58h2.08V510.7h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M389.17,499.81h0l-2.4,1.21-.43-1.88,3.19-1.58h2.09V510.7h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M405.39,504.05c0,4.23-1.66,6.88-4.8,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.82-6.83S405.39,500.17,405.39,504.05Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C399.34,499.24,398.41,500.88,398.43,504.17Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M410.84,499.81h0L408.4,501l-.43-1.88,3.2-1.58h2.08V510.7h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M421.68,499.81h0L419.23,501l-.42-1.88,3.19-1.58h2.09V510.7h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M432.52,499.81h0L430.07,501l-.42-1.88,3.19-1.58h2.08V510.7h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M448.73,504.05c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S448.73,500.17,448.73,504.05Zm-7,.12c0,3.2.86,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C442.69,499.24,441.75,500.88,441.78,504.17Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M454.19,499.81h0L451.74,501l-.42-1.88,3.19-1.58h2.08V510.7h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M356.66,516.07h0l-2.4,1.21-.43-1.88,3.2-1.58h2.08V527h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M367.5,516.07h0l-2.41,1.21-.42-1.88,3.19-1.58h2.09V527H367.5Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M383.71,520.31c0,4.23-1.65,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S383.71,516.43,383.71,520.31Zm-6.95.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C377.67,515.5,376.74,517.14,376.76,520.43Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M389.17,516.07h0l-2.4,1.21-.43-1.88,3.19-1.58h2.09V527h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M405.39,520.31c0,4.23-1.66,6.88-4.8,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.82-6.83S405.39,516.43,405.39,520.31Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.23-1.78,2.23-4.94-.73-4.85-2.23-4.85C399.34,515.5,398.41,517.14,398.43,520.43Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M416.22,520.31c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S416.22,516.43,416.22,520.31Zm-7,.12c0,3.2.87,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C410.18,515.5,409.25,517.14,409.27,520.43Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M421.68,516.07h0l-2.41,1.21-.42-1.88,3.19-1.58h2.09V527h-2.41Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M432.52,516.07h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08V527h-2.4Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M448.73,520.31c0,4.23-1.66,6.88-4.79,6.88s-4.65-2.75-4.67-6.76,1.74-6.83,4.81-6.83S448.73,516.43,448.73,520.31Zm-7,.12c0,3.2.86,4.86,2.24,4.86s2.22-1.78,2.22-4.94-.72-4.85-2.22-4.85C442.69,515.5,441.75,517.14,441.78,520.43Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M454.19,516.07h0l-2.41,1.21-.42-1.88,3.19-1.58h2.08V527h-2.4Z" transform="translate(-240.98 -216.06)"/></g><g class="cls-10"><path class="cls-11" d="M342.37,583.65a13.66,13.66,0,0,1-5.57,1c-6.85,0-11-4.29-11-10.85,0-7.1,4.93-11.39,11.52-11.39a12.31,12.31,0,0,1,5.25,1l-.86,3.13a10.64,10.64,0,0,0-4.23-.83c-4.38,0-7.55,2.75-7.55,7.94,0,4.73,2.79,7.77,7.52,7.77a11.05,11.05,0,0,0,4.29-.8Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M350.5,566h-6.15v-3.3h16.29V566h-6.21v18.27H350.5Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M363.17,562.72h12.45V566h-8.51v5.95H375v3.24h-7.93v9.15h-3.94Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M400.29,561.57V579.9c0,1.6.06,3.33.12,4.39H396.9l-.16-2.47h-.07a5.61,5.61,0,0,1-5.09,2.82c-3.71,0-6.65-3.17-6.65-8,0-5.21,3.23-8.32,7-8.32a5,5,0,0,1,4.39,2h.06v-8.83Zm-3.94,13.63a5.86,5.86,0,0,0-.09-1,3.46,3.46,0,0,0-3.4-2.79c-2.52,0-3.93,2.24-3.93,5.15s1.41,4.93,3.9,4.93a3.47,3.47,0,0,0,3.39-2.78,4.22,4.22,0,0,0,.13-1.15Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M413.28,584.29l-.26-1.73h-.09a5.77,5.77,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.25c0-1-.41-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.77-2.56a11.3,11.3,0,0,1,5.64-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25.12,25.12,0,0,0,.22,3.75Zm-.51-7.62c-2.79-.06-5.44.55-5.44,2.91a2.06,2.06,0,0,0,2.24,2.24,3.18,3.18,0,0,0,3.07-2.14,2.73,2.73,0,0,0,.13-.86Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M425.09,564.26v4.44h3.74v2.95h-3.74v6.88c0,1.89.51,2.88,2,2.88a6.07,6.07,0,0,0,1.54-.19l.06,3a8.41,8.41,0,0,1-2.84.39,4.58,4.58,0,0,1-3.4-1.28c-.83-.9-1.21-2.31-1.21-4.35v-7.33H419V568.7h2.24v-3.51Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M440.58,584.29l-.26-1.73h-.1a5.77,5.77,0,0,1-4.6,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.25c0-1-.42-2.72-3.17-2.72a8.24,8.24,0,0,0-4.19,1.15l-.77-2.56a11.26,11.26,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25,25,0,0,0,.23,3.75Zm-.52-7.62c-2.78-.06-5.44.55-5.44,2.91a2.07,2.07,0,0,0,2.25,2.24,3.2,3.2,0,0,0,3.07-2.14,3,3,0,0,0,.12-.86Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M332.75,611.07a8.75,8.75,0,0,0,4,1.12c1.73,0,2.5-.7,2.5-1.73s-.64-1.6-2.56-2.27c-3-1.05-4.32-2.72-4.29-4.54,0-2.75,2.27-4.9,5.89-4.9a9.16,9.16,0,0,1,4.13.93l-.77,2.78a7,7,0,0,0-3.3-.89c-1.4,0-2.17.67-2.17,1.63s.73,1.47,2.72,2.18c2.81,1,4.13,2.46,4.16,4.76,0,2.82-2.21,4.87-6.34,4.87a10,10,0,0,1-4.73-1.09Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M350.8,594.66v4.44h3.74v2.95H350.8v6.88c0,1.89.51,2.88,2,2.88a6,6,0,0,0,1.53-.19l.07,3a8.48,8.48,0,0,1-2.85.39,4.54,4.54,0,0,1-3.39-1.28c-.83-.9-1.22-2.31-1.22-4.35v-7.33h-2.24V599.1H347v-3.52Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M357.52,604.13c0-2.11,0-3.62-.13-5h3.43l.13,3h.12a4.66,4.66,0,0,1,4.26-3.33,4.42,4.42,0,0,1,.93.1v3.71a5.8,5.8,0,0,0-1.15-.13,3.47,3.47,0,0,0-3.52,3,6.23,6.23,0,0,0-.13,1.21v8.07h-3.94Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M371.41,608c.09,2.82,2.3,4,4.8,4a11.71,11.71,0,0,0,4.32-.7l.57,2.72a14.7,14.7,0,0,1-5.44,1c-5.05,0-8-3.11-8-7.87,0-4.32,2.63-8.39,7.62-8.39s6.72,4.16,6.72,7.59a10.05,10.05,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.44,0-3.46,2.21-3.62,3.81Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M393.9,614.69l-.25-1.73h-.1A5.77,5.77,0,0,1,389,615a4.63,4.63,0,0,1-4.9-4.64c0-3.94,3.49-5.92,9.25-5.89v-.25c0-1-.42-2.72-3.17-2.72a8.24,8.24,0,0,0-4.19,1.15l-.77-2.56a11.15,11.15,0,0,1,5.63-1.38c5,0,6.43,3.17,6.43,6.56v5.63a25,25,0,0,0,.23,3.75Zm-.51-7.62c-2.78-.06-5.44.55-5.44,2.91a2.07,2.07,0,0,0,2.24,2.24,3.18,3.18,0,0,0,3.07-2.14,2.73,2.73,0,0,0,.13-.86Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M401.39,603.74c0-1.79,0-3.29-.13-4.64h3.4l.16,2.31h.09a5.39,5.39,0,0,1,4.8-2.66,4.5,4.5,0,0,1,4.32,2.88h.07a5.87,5.87,0,0,1,1.92-2,5.16,5.16,0,0,1,3.13-.93c2.59,0,5.22,1.76,5.22,6.75v9.19h-3.84v-8.61c0-2.59-.9-4.13-2.79-4.13A3,3,0,0,0,415,604a6.08,6.08,0,0,0-.19,1.31v9.35H411v-9c0-2.17-.86-3.71-2.69-3.71a3.06,3.06,0,0,0-2.81,2.24,3.38,3.38,0,0,0-.23,1.28v9.22h-3.84Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M428.34,611.07a8.68,8.68,0,0,0,4,1.12c1.72,0,2.49-.7,2.49-1.73s-.64-1.6-2.56-2.27c-3-1.05-4.32-2.72-4.28-4.54,0-2.75,2.27-4.9,5.88-4.9a9.16,9.16,0,0,1,4.13.93l-.77,2.78a7,7,0,0,0-3.29-.89c-1.41,0-2.18.67-2.18,1.63s.74,1.47,2.72,2.18c2.82,1,4.13,2.46,4.16,4.76,0,2.82-2.21,4.87-6.34,4.87a10,10,0,0,1-4.73-1.09Z" transform="translate(-240.98 -216.06)"/></g><g id="surface1-2" data-name="surface1"><path class="cls-9" d="M745.45,380.33a5.81,5.81,0,0,0-5.79-5.79H649.93v28.94a5.79,5.79,0,0,1-5.79,5.79H612.3V536.63a5.81,5.81,0,0,0,5.79,5.79H739.66a5.81,5.81,0,0,0,5.79-5.79Z" transform="translate(-240.98 -216.06)"/><path class="cls-5" d="M649.93,542.42h89.73a5.79,5.79,0,0,0,5.79-5.79V453A145.05,145.05,0,0,1,649.93,542.42Z" transform="translate(-240.98 -216.06)"/><path class="cls-6" d="M649.93,403.48V374.54L612.3,409.27h31.84A5.79,5.79,0,0,0,649.93,403.48Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M693.35,452.69H632.57a2.9,2.9,0,1,1,0-5.79h60.78a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M705.91,470.06H632.57a2.9,2.9,0,1,1,0-5.79h73.34a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M667.79,487.42H632.57a2.9,2.9,0,1,1,0-5.79h35.22a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M710.72,435.32h-55a2.9,2.9,0,0,1,0-5.79h55a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M644.14,435.32H632.57a2.9,2.9,0,1,1,0-5.79h11.57a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-240.98 -216.06)"/></g><path class="cls-12" d="M761.07,391.9H673.83a4.61,4.61,0,0,0-4.59,4.6v41.32a4.6,4.6,0,0,0,4.59,4.59h87.24a4.6,4.6,0,0,0,4.59-4.59V396.5A4.61,4.61,0,0,0,761.07,391.9Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M688,504.79H632.57a2.9,2.9,0,1,1,0-5.79H688a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M658.62,522.16h-26a2.9,2.9,0,1,1,0-5.79h26a2.9,2.9,0,0,1,0,5.79Z" transform="translate(-240.98 -216.06)"/><path class="cls-8" d="M700.35,487.42H679.6a2.9,2.9,0,0,1,0-5.79h20.75a2.9,2.9,0,1,1,0,5.79Z" transform="translate(-240.98 -216.06)"/><path class="cls-13" d="M688.68,409.69h-6.14v-3.3h16.29v3.3h-6.21V428h-3.94Z" transform="translate(-240.98 -216.06)"/><path class="cls-13" d="M701,423.67a10.86,10.86,0,0,0,5.22,1.38c2.53,0,3.93-1.19,3.93-2.95s-1.08-2.59-3.84-3.58c-3.55-1.28-5.82-3.17-5.82-6.27,0-3.52,2.94-6.21,7.62-6.21a11.34,11.34,0,0,1,5.18,1.09l-1,3.17a9.07,9.07,0,0,0-4.29-1c-2.49,0-3.58,1.35-3.58,2.59,0,1.67,1.25,2.44,4.13,3.56,3.74,1.4,5.56,3.29,5.56,6.4,0,3.45-2.62,6.46-8.19,6.46a12.7,12.7,0,0,1-5.82-1.35Z" transform="translate(-240.98 -216.06)"/><path class="cls-13" d="M717.71,406.68a39.34,39.34,0,0,1,6.27-.45c4,0,6.81.83,8.8,2.5s3.36,4.25,3.36,7.93c0,3.84-1.31,6.72-3.36,8.58s-5.57,2.94-9.76,2.94a42.8,42.8,0,0,1-5.31-.29ZM721.64,425a14.18,14.18,0,0,0,2.18.1c5.12,0,8.16-2.79,8.16-8.26,0-4.77-2.72-7.49-7.65-7.49a12.42,12.42,0,0,0-2.69.23Z" transform="translate(-240.98 -216.06)"/><path class="cls-13" d="M739.56,406.39h3.94v18.27h8.86V428h-12.8Z" transform="translate(-240.98 -216.06)"/><g class="cls-10"><path class="cls-11" d="M632.3,586.3V575a9.9,9.9,0,0,0-.06-1.21,2.8,2.8,0,0,0-.17-.74.8.8,0,0,0-.3-.38.78.78,0,0,0-.44-.11,1,1,0,0,0-.58.19,2.37,2.37,0,0,0-.57.6,10.64,10.64,0,0,0-.67,1.12q-.37.71-.87,1.71V586.3h-2.48v-11a13,13,0,0,0-.06-1.39,3.41,3.41,0,0,0-.17-.83.77.77,0,0,0-.31-.4.79.79,0,0,0-.45-.11,1,1,0,0,0-.53.15,2.32,2.32,0,0,0-.55.57,7.94,7.94,0,0,0-.68,1.11c-.25.46-.55,1.06-.9,1.79V586.3H620V570.61h2.08l.13,3a13.14,13.14,0,0,1,.79-1.52,4.73,4.73,0,0,1,.79-1,2.58,2.58,0,0,1,1.89-.74,2.32,2.32,0,0,1,1.92.83,4.09,4.09,0,0,1,.65,2.56c.25-.54.5-1,.74-1.44a5.78,5.78,0,0,1,.77-1.07,3,3,0,0,1,.92-.65,2.78,2.78,0,0,1,1.15-.23q3,0,3,4.55V586.3Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M652,577.63c0,.38,0,.71,0,1s0,.5-.05.73h-11a4.87,4.87,0,0,0,1.35,3.7,5.37,5.37,0,0,0,3.87,1.29q.69,0,1.38-.06c.46,0,.9-.08,1.33-.15s.83-.13,1.22-.21.75-.16,1.09-.26v2.24a18.79,18.79,0,0,1-2.51.51,21,21,0,0,1-2.9.19,10,10,0,0,1-3.47-.54,6,6,0,0,1-2.38-1.59,6.39,6.39,0,0,1-1.37-2.55,11.88,11.88,0,0,1-.45-3.41,10,10,0,0,1,.48-3.13,7.74,7.74,0,0,1,1.39-2.6,6.61,6.61,0,0,1,5.26-2.43,7.5,7.5,0,0,1,2.9.52,5.66,5.66,0,0,1,2.13,1.46,6.2,6.2,0,0,1,1.32,2.3A9.78,9.78,0,0,1,652,577.63Zm-2.83-.39a5.65,5.65,0,0,0-.2-1.92,4.14,4.14,0,0,0-.77-1.49,3.65,3.65,0,0,0-1.31-1,4.27,4.27,0,0,0-1.81-.36,3.74,3.74,0,0,0-1.62.35,3.65,3.65,0,0,0-1.27,1,5,5,0,0,0-.86,1.5,7.1,7.1,0,0,0-.41,1.92Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M668.94,586.08a13.14,13.14,0,0,1-1.91.34,18.86,18.86,0,0,1-2,.1,6.34,6.34,0,0,1-4.41-1.34,5.33,5.33,0,0,1-1.45-4.1v-8.19h-4.39v-2.28h4.39V566.3l2.72-.7v5h7.05v2.28h-7.05v8a3.29,3.29,0,0,0,.9,2.53,3.79,3.79,0,0,0,2.65.83,14.24,14.24,0,0,0,1.64-.11,15.66,15.66,0,0,0,1.86-.37Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M684,586.3l-.06-2.11A8.59,8.59,0,0,1,681.3,586a7.07,7.07,0,0,1-2.77.56,6.8,6.8,0,0,1-2.3-.34,4.37,4.37,0,0,1-1.57-1,3.63,3.63,0,0,1-.9-1.41,5.06,5.06,0,0,1-.29-1.77,4.36,4.36,0,0,1,1.76-3.69,8.49,8.49,0,0,1,5.19-1.34h3.25v-1.37a2.93,2.93,0,0,0-.89-2.23,3.84,3.84,0,0,0-2.72-.84,11.57,11.57,0,0,0-2.62.3,18.49,18.49,0,0,0-2.66.85v-2.46c.34-.12.73-.25,1.15-.37s.87-.22,1.33-.32,1-.16,1.47-.22a13.3,13.3,0,0,1,1.55-.09,10,10,0,0,1,2.56.31,5.15,5.15,0,0,1,1.93,1,4.13,4.13,0,0,1,1.21,1.61,5.65,5.65,0,0,1,.43,2.28V586.3Zm-.3-7.14h-3.45a6.85,6.85,0,0,0-1.75.2,3.5,3.5,0,0,0-1.21.58,2.32,2.32,0,0,0-.69.9,3,3,0,0,0-.23,1.18,2.83,2.83,0,0,0,.14.87,2,2,0,0,0,.46.73,2.25,2.25,0,0,0,.81.51,3.59,3.59,0,0,0,1.22.19,5.19,5.19,0,0,0,2.15-.57,10.82,10.82,0,0,0,2.55-1.81Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M690.69,578.79a10.83,10.83,0,0,1,.54-3.56,7.34,7.34,0,0,1,1.56-2.62,6.52,6.52,0,0,1,2.42-1.63,8.54,8.54,0,0,1,3.15-.55,12.12,12.12,0,0,1,1.48.09,8.54,8.54,0,0,1,1.42.3v-6.6H704V586.3h-2.44l-.09-3a8.35,8.35,0,0,1-2.47,2.46,5.5,5.5,0,0,1-2.88.79,4.87,4.87,0,0,1-2.36-.56,4.81,4.81,0,0,1-1.71-1.59,7.65,7.65,0,0,1-1-2.46A13.66,13.66,0,0,1,690.69,578.79Zm2.78-.18a8.6,8.6,0,0,0,.83,4.25,2.62,2.62,0,0,0,2.37,1.39,3.5,3.5,0,0,0,2.18-.92,12.76,12.76,0,0,0,2.41-2.73v-7.28a6.42,6.42,0,0,0-1.48-.48,8.06,8.06,0,0,0-1.61-.16,4.35,4.35,0,0,0-3.46,1.43A6.78,6.78,0,0,0,693.47,578.61Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M719.16,586.3l-.07-2.11a8.44,8.44,0,0,1-2.6,1.83,7.07,7.07,0,0,1-2.77.56,6.8,6.8,0,0,1-2.3-.34,4.37,4.37,0,0,1-1.57-1,3.77,3.77,0,0,1-.91-1.41,5.3,5.3,0,0,1-.28-1.77,4.37,4.37,0,0,1,1.75-3.69,8.54,8.54,0,0,1,5.2-1.34h3.25v-1.37a2.93,2.93,0,0,0-.89-2.23,3.85,3.85,0,0,0-2.72-.84,11.51,11.51,0,0,0-2.62.3,17.73,17.73,0,0,0-2.66.85v-2.46c.34-.12.72-.25,1.15-.37s.86-.22,1.33-.32,1-.16,1.47-.22a13.3,13.3,0,0,1,1.55-.09,10,10,0,0,1,2.56.31,5.22,5.22,0,0,1,1.93,1,4.13,4.13,0,0,1,1.21,1.61,5.66,5.66,0,0,1,.42,2.28V586.3Zm-.3-7.14h-3.45a6.8,6.8,0,0,0-1.75.2,3.41,3.41,0,0,0-1.21.58,2.32,2.32,0,0,0-.69.9,3,3,0,0,0-.23,1.18,2.83,2.83,0,0,0,.14.87,2,2,0,0,0,.45.73,2.3,2.3,0,0,0,.82.51,3.59,3.59,0,0,0,1.22.19,5.11,5.11,0,0,0,2.14-.57,10.65,10.65,0,0,0,2.56-1.81Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M739.31,586.08a13,13,0,0,1-1.9.34,19,19,0,0,1-2,.1,6.34,6.34,0,0,1-4.41-1.34,5.29,5.29,0,0,1-1.45-4.1v-8.19h-4.39v-2.28h4.39V566.3l2.71-.7v5h7v2.28h-7v8a3.29,3.29,0,0,0,.9,2.53,3.79,3.79,0,0,0,2.65.83,14.1,14.1,0,0,0,1.64-.11,15.27,15.27,0,0,0,1.86-.37Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M754.34,586.3l-.06-2.11a8.44,8.44,0,0,1-2.6,1.83,7.1,7.1,0,0,1-2.77.56,6.76,6.76,0,0,1-2.3-.34,4.28,4.28,0,0,1-1.57-1,3.65,3.65,0,0,1-.91-1.41,5.3,5.3,0,0,1-.29-1.77,4.38,4.38,0,0,1,1.76-3.69,8.5,8.5,0,0,1,5.2-1.34h3.25v-1.37a2.93,2.93,0,0,0-.89-2.23,3.85,3.85,0,0,0-2.72-.84,11.51,11.51,0,0,0-2.62.3,17.73,17.73,0,0,0-2.66.85v-2.46c.34-.12.72-.25,1.14-.37s.87-.22,1.34-.32,1-.16,1.47-.22a13.17,13.17,0,0,1,1.55-.09,10.09,10.09,0,0,1,2.56.31,5.22,5.22,0,0,1,1.93,1,4.23,4.23,0,0,1,1.21,1.61,5.66,5.66,0,0,1,.42,2.28V586.3Zm-.29-7.14h-3.46a6.85,6.85,0,0,0-1.75.2,3.36,3.36,0,0,0-1.2.58,2.34,2.34,0,0,0-.7.9,3,3,0,0,0-.22,1.18,2.56,2.56,0,0,0,.14.87,1.86,1.86,0,0,0,.45.73,2.34,2.34,0,0,0,.81.51,3.63,3.63,0,0,0,1.22.19,5.15,5.15,0,0,0,2.15-.57,10.65,10.65,0,0,0,2.56-1.81Z" transform="translate(-240.98 -216.06)"/></g><g class="cls-10"><path class="cls-11" d="M482.62,709.31a13.62,13.62,0,0,1-5.57,1c-6.84,0-11-4.29-11-10.85,0-7.1,4.92-11.39,11.52-11.39a12.45,12.45,0,0,1,5.24,1l-.86,3.14a10.42,10.42,0,0,0-4.22-.83c-4.39,0-7.55,2.75-7.55,7.93,0,4.74,2.78,7.78,7.51,7.78a11,11,0,0,0,4.29-.8Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M490.75,691.68h-6.14v-3.29h16.28v3.29h-6.2V710h-3.94Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M503.42,688.39h12.45v3.23h-8.51v6h7.93v3.23h-7.93V710h-3.94Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M530.68,689.92v4.45h3.75v2.94h-3.75v6.88c0,1.89.52,2.88,2,2.88a5.7,5.7,0,0,0,1.54-.19l.06,3a8.8,8.8,0,0,1-2.85.38,4.56,4.56,0,0,1-3.39-1.28c-.83-.89-1.21-2.3-1.21-4.35v-7.33h-2.24v-2.94h2.24v-3.52Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M537.41,699.39c0-2.11,0-3.61-.13-5h3.42l.13,3H541a4.65,4.65,0,0,1,4.25-3.33,4.38,4.38,0,0,1,.93.09v3.72a5.07,5.07,0,0,0-1.15-.13,3.46,3.46,0,0,0-3.52,3,7.25,7.25,0,0,0-.13,1.22V710h-3.93Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M557.28,710l-.26-1.73h-.09a5.79,5.79,0,0,1-4.61,2.08,4.63,4.63,0,0,1-4.9-4.64c0-3.93,3.49-5.92,9.25-5.88v-.26c0-1-.42-2.72-3.17-2.72a8.29,8.29,0,0,0-4.19,1.15l-.77-2.56a11.27,11.27,0,0,1,5.63-1.37c5,0,6.43,3.17,6.43,6.56v5.63a24.83,24.83,0,0,0,.23,3.74Zm-.52-7.61c-2.78-.07-5.43.54-5.43,2.91a2.07,2.07,0,0,0,2.24,2.24,3.2,3.2,0,0,0,3.07-2.15,2.92,2.92,0,0,0,.12-.86Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M576.22,709.47a11.26,11.26,0,0,1-4.42.8c-4.86,0-8-3.1-8-7.93S567,694,572.44,694a9.89,9.89,0,0,1,3.81.73l-.7,3a6.91,6.91,0,0,0-3-.61c-3,0-4.8,2.21-4.77,5,0,3.2,2.09,5,4.77,5a7.72,7.72,0,0,0,3.11-.61Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M581.63,703.26c.09,2.82,2.3,4,4.8,4a11.7,11.7,0,0,0,4.32-.71l.57,2.72a14.48,14.48,0,0,1-5.43,1c-5.06,0-8-3.1-8-7.87,0-4.32,2.63-8.38,7.62-8.38s6.72,4.16,6.72,7.58a10,10,0,0,1-.13,1.66Zm6.85-2.75c0-1.44-.61-3.81-3.23-3.81-2.44,0-3.46,2.21-3.62,3.81Z" transform="translate(-240.98 -216.06)"/></g><g class="cls-14"><path class="cls-15" d="M685,346.87c-21.34-133.59-282.68-133.42-298.9-12" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M385.3,346.87c-1.69-5.82-4.76-13.11-8.23-17.75l9.23,4.13,9.74-2.73C391.92,334.6,387.81,341.36,385.3,346.87Z" transform="translate(-240.98 -216.06)"/></g><g class="cls-14"><path class="cls-11" d="M481.41,217.14a30.4,30.4,0,0,1,4.44-.33c3,0,5.14.69,6.56,2a7.44,7.44,0,0,1,2.28,5.8,8.57,8.57,0,0,1-2.33,6.29c-1.51,1.51-4,2.33-7.15,2.33a33.93,33.93,0,0,1-3.8-.19Zm2.09,14.31a12.76,12.76,0,0,0,2.11.12c4.47,0,6.89-2.5,6.89-6.86,0-3.82-2.13-6.24-6.55-6.24a12,12,0,0,0-2.45.21Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M498.6,227.68a3.71,3.71,0,0,0,4,4,7.6,7.6,0,0,0,3.22-.6l.36,1.52a9.56,9.56,0,0,1-3.87.72c-3.57,0-5.71-2.36-5.71-5.86s2.06-6.26,5.45-6.26c3.79,0,4.8,3.33,4.8,5.47a8.79,8.79,0,0,1-.07,1Zm6.19-1.51c0-1.34-.55-3.43-2.93-3.43-2.14,0-3.07,2-3.24,3.43Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M509.16,231a5.61,5.61,0,0,0,2.78.84c1.54,0,2.26-.77,2.26-1.73s-.6-1.56-2.16-2.14C510,227.18,509,226,509,224.63c0-1.87,1.52-3.4,4-3.4a5.74,5.74,0,0,1,2.86.72l-.53,1.53a4.46,4.46,0,0,0-2.37-.67c-1.25,0-1.95.72-1.95,1.58s.7,1.4,2.21,2c2,.77,3,1.78,3,3.51,0,2-1.59,3.48-4.35,3.48a6.6,6.6,0,0,1-3.26-.8Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M527.23,232.67a7.74,7.74,0,0,1-3.34.68c-3.5,0-5.78-2.38-5.78-5.93a5.9,5.9,0,0,1,6.24-6.17,7,7,0,0,1,2.93.6l-.48,1.63a4.91,4.91,0,0,0-2.45-.55c-2.67,0-4.11,2-4.11,4.39,0,2.69,1.73,4.35,4,4.35a6,6,0,0,0,2.59-.58Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M529.7,225.11c0-1.37,0-2.54-.1-3.62h1.85l.07,2.28h.1a3.48,3.48,0,0,1,3.22-2.54,2.2,2.2,0,0,1,.6.07v2a3.08,3.08,0,0,0-.72-.07,3,3,0,0,0-2.83,2.71,5.69,5.69,0,0,0-.1,1v6.2H529.7Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M540,218.22a1.31,1.31,0,0,1-2.62,0,1.28,1.28,0,0,1,1.32-1.31A1.25,1.25,0,0,1,540,218.22Zm-2.36,14.89V221.49h2.12v11.62Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M543.16,233.11c.05-.8.1-2,.1-3V216.06h2.09v7.3h0a4.32,4.32,0,0,1,4-2.13c2.88,0,4.92,2.4,4.89,5.92,0,4.16-2.61,6.22-5.21,6.22a4.13,4.13,0,0,1-3.88-2.18h-.08l-.09,1.92Zm2.19-4.66a4.77,4.77,0,0,0,.09.77,3.27,3.27,0,0,0,3.17,2.47c2.21,0,3.53-1.8,3.53-4.46,0-2.33-1.2-4.32-3.46-4.32a3.35,3.35,0,0,0-3.21,2.59,4,4,0,0,0-.12.86Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M558.09,227.68a3.72,3.72,0,0,0,4,4,7.54,7.54,0,0,0,3.21-.6l.36,1.52a9.46,9.46,0,0,1-3.86.72c-3.58,0-5.71-2.36-5.71-5.86s2.06-6.26,5.44-6.26c3.8,0,4.81,3.33,4.81,5.47a6.57,6.57,0,0,1-.08,1Zm6.19-1.51c0-1.34-.55-3.43-2.92-3.43-2.14,0-3.08,2-3.24,3.43Z" transform="translate(-240.98 -216.06)"/><path class="cls-11" d="M568.65,231a5.65,5.65,0,0,0,2.79.84c1.53,0,2.25-.77,2.25-1.73s-.6-1.56-2.16-2.14c-2.09-.74-3.07-1.89-3.07-3.29,0-1.87,1.51-3.4,4-3.4a5.7,5.7,0,0,1,2.85.72l-.52,1.53a4.53,4.53,0,0,0-2.38-.67c-1.25,0-1.94.72-1.94,1.58s.69,1.4,2.2,2c2,.77,3.05,1.78,3.05,3.51,0,2-1.58,3.48-4.34,3.48a6.67,6.67,0,0,1-3.27-.8Z" transform="translate(-240.98 -216.06)"/></g></svg>
\ No newline at end of file
--- /dev/null
+= CTF primer
+
+The https://diamon.org/ctf/[_**Common Trace Format**_] (CTF) is a binary
+https://en.wikipedia.org/wiki/Tracing_(software)[trace] format which is
+designed to be very fast to write while offering many field types to
+represent data.
+
+A barectf configuration can use the following CTF field types:
+
+* Unsigned/signed xref:yaml:int-ft-obj.adoc[integer] (1 to 64 bits).
+* Unsigned/signed xref:yaml:enum-ft-obj.adoc[enumeration] (1 to
+ 64 bits).
+* xref:yaml:real-ft-obj.adoc[Real] (single or double precision).
+* Null-terminated xref:yaml:str-ft-obj.adoc[string].
+* xref:yaml:struct-ft-obj.adoc[Structure] (zero or more named members).
+* xref:yaml:static-array-ft-obj.adoc[Static array] of any field type
+ except structure and dynamic array.
+* xref:yaml:dyn-array-ft-obj.adoc[Dynamic array] of any field type
+ except structure and dynamic array.
+
+CTF makes it possible to describe the alignment and byte order of
+integer, enumeration, and real fields.
+
+A system which produces CTF streams is known as a _CTF producer_.
+
+A system which consumes CTF streams is known as a _CTF consumer_.
+
+[[trace]]
+== CTF trace structure
+
+A _**CTF trace**_ is exactly one metadata stream and one or more
+<<ds,data streams>>:
+
+[.width-50]
+image::ctf-trace.svg[]
+
+The metadata stream describes the trace's data streams with the TSDL
+language. On the file system, its file name must be `metadata`.
+
+The metadata stream describes things such as:
+
+* The xref:yaml:clk-type-obj.adoc[type] of the data stream default clocks.
+* The names of xref:yaml:ert-obj.adoc[event record types].
+* The types of event record fields.
+* The xref:yaml:trace-obj.adoc[trace]'s environment variables.
+
+[[ds]]
+=== Data stream
+
+A _**CTF data stream**_ is a sequence of one or more data
+<<pkt,packets>>:
+
+A xref:yaml:dst-obj.adoc[data stream type] describes data streams.
+
+[.width-100]
+image::ctf-data-stream.svg[]
+
+A packet contains one or more bytes of data.
+
+Although a packet can contain padding itself, from the data stream's
+point of view, there's no padding between packets.
+
+A data stream can have, conceptually:
+
+[[def-clk]]A default clock::
+ Described by a xref:yaml:clk-type-obj.adoc[clock type] in the trace's
+ metadata stream.
++
+<<pkt,Packets>> and event records can contain snapshots, named
+_timestamps_, of their data stream's clock.
+
+[[disc-er-counter]]A counter of discarded event records::
+ Indicates the number of event records which the generated tracer
+ needed to discard for different reasons.
++
+For example, the tracer discards an event record when it doesn't fit the
+current packet and the back end is full (see
+xref:platform:index.adoc[]).
++
+A <<pkt,packet>> can contain a snapshot of this counter.
+
+On the file system, a data stream file:
+
+* Can have any name, except `metadata` and anything which begins with
+ `.`.
+
+* Must be in the same directory as the `metadata` file.
+
+[[pkt]]
+=== Packet
+
+A _**CTF packet**_ is a part of a <<ds,data stream>>.
+
+[.width-100]
+image::ctf-packet.svg[]
+
+A packet contains, in this order:
+
+. [.opt]##Optional##A header structure field, which contains:
++
+** [.opt]##Optional##The CTF magic number.
++
+See the trace type features object's
+xref:yaml:trace-type-obj.adoc#magic-ft-prop[`magic-field-type`
+property].
+
+** [.opt]##Optional##A trace type UUID.
++
+See the trace type object's
+xref:yaml:trace-type-obj.adoc#uuid-prop[`uuid` property] and the
+trace type features object's
+xref:yaml:trace-type-obj.adoc#uuid-ft-prop[`uuid-field-type`
+property].
+
+** [.opt]##Optional##The numeric ID of the data stream type which, in the
+ metadata stream, describes this packet's data stream.
++
+See the trace type features object's
+xref:yaml:trace-type-obj.adoc#dst-id-ft-prop[`data-stream-type-id-field-type`
+property].
+
+** [.opt]##Optional##The numeric ID of this packet's data stream.
+
+. A context structure field, which contains:
++
+** The packet's total size, in bits (always a multiple of{nbsp}8).
++
+See the data stream type packet features object's
+xref:yaml:dst-obj.adoc#total-size-ft-prop[`total-size-field-type`
+property].
+
+** The packet's content size, in bits.
++
+See the data stream type packet features object's
+xref:yaml:dst-obj.adoc#content-size-ft-prop[`content-size-field-type`
+property].
+
+** [.opt]##Optional##The packet's beginning timestamp.
++
+See the data stream type packet features object's
+xref:yaml:dst-obj.adoc#beginning-ts-ft-prop[`beginning-timestamp-field-type`
+property].
+
+** [.opt]##Optional##The packet's end timestamp.
++
+See the data stream type packet features object's
+xref:yaml:dst-obj.adoc#end-ts-ft-prop[`end-timestamp-field-type`
+property].
+
+** [.opt]##Optional##A discarded event record counter snapshot.
++
+See the data stream type packet features object's
+xref:yaml:dst-obj.adoc#disc-er-counter-snapshot-ft-prop[`discarded-event-records-counter-snapshot-field-type`
+property].
+
+** [.opt]##Optional##A packet sequence number.
+** [.opt]##Optional##User fields.
++
+See the data stream type object's
+xref:yaml:dst-obj.adoc#pkt-ctx-ft-extra-members-prop[`packet-context-field-type-extra-members`
+property].
+
+. Zero or more <<er,event records>>.
+
+A packet contains one or more bytes of data.
+
+A packet can have padding (garbage data) after its last event record if
+its total size is different from its content size.
+
+[[er]]
+=== Event record
+
+A _**CTF event record**_ is the result of a tracer writing a
+time-stamped record with user data when an event occurs during a user
+application's execution.
+
+An xref:yaml:ert-obj.adoc[event record type] describes event records.
+
+[.width-80]
+image::ctf-event-record.svg[]
+
+An event record contains, in this order:
+
+. [.opt]##Optional##A header structure field, which contains:
++
+** [.opt]##Optional##The numeric ID of the event record type which, in the
+ metadata stream, describes this event record.
++
+See the data stream type event record features object's
+xref:yaml:dst-obj.adoc#type-id-ft-prop[`type-id-field-type` property].
+
+** [.opt]##Optional##A timestamp.
++
+See the data stream type event record features object's
+xref:yaml:dst-obj.adoc#ts-prop[`timestamp-field-type` property].
+
+. [.opt]##Optional##A common context structure field, which contains
+ user fields.
++
+See the data stream type object's
+xref:yaml:dst-obj.adoc#er-common-ctx-ft-prop[`event-record-common-context-field-type`
+property].
+
+. [.opt]##Optional##A specific context structure field, which contains user
+ fields.
++
+See the event record type object's
+xref:yaml:ert-obj.adoc#spec-ctx-ft-prop[`specific-context-field-type`
+property].
+
+. [.opt]##Optional##A payload structure field, which contains user
+ fields.
++
+See the event record type object's
+xref:yaml:ert-obj.adoc#payload-ft-prop[`payload-field-type` property].
--- /dev/null
+= How barectf works
+
+barectf generates a CTF metadata stream and C{nbsp}source files
+from a xref:yaml:index.adoc[**configuration**].
+
+A barectf configuration specifies a xref:yaml:trace-type-obj.adoc[trace
+type], xref:yaml:clk-type-obj.adoc[clock types],
+xref:yaml:dst-obj.adoc[data stream types], xref:yaml:ert-obj.adoc[event
+record types], and other options to generate the files.
+
+With the `barectf` Python package, you build the barectf configuration
+programatically by assembling configuration objects. This documentation
+is _not_ about the Python package.
+
+The xref:cli:index.adoc[`barectf` CLI tool] can read a
+xref:yaml:index.adoc[YAML configuration file] and generate files out of
+it.
+
+[[generated-files]]
+== Generated files
+
+barectf generates the following files from a configuration:
+
+[%autowidth.stretch, cols="d,a"]
+|===
+|File name |Description
+
+|[[metadata]]`metadata`
+|The CTF metadata stream file.
+
+You'll need to place this file in a directory with the
+xref:how-barectf-works:ctf-primer.adoc#ds[data stream] files which your
+application will write through the generated tracer.
+
+See xref:how-barectf-works:index.adoc[] to learn more.
+
+|[[barectf.h]]`barectf.h`
+|The generated tracer's public C{nbsp}header file.
+
+This header contains the prototypes of the packet opening, packet
+closing, and xref:tracing-funcs:index.adoc[tracing functions].
+
+barectf generates one packet opening/closing function per configured
+xref:yaml:dst-obj.adoc[data stream type] and one tracing function per
+configured xref:yaml:ert-obj.adoc[event record type].
+
+Your application and xref:platform:index.adoc[platforms] need to
+include this file.
+
+|`barectf-bitfield.h`
+|Internal macros for the generated tracer (included by `barectf.c`).
+
+|[[barectf.c]]`barectf.c`
+|The generated tracer's C{nbsp}source code.
+|===
+
+Those file names assume that the configuration uses the default
+xref:yaml:cfg-obj.adoc#prefix-prop[prefixes].
+
+All C{nbsp}files are written in ANSI{nbsp}C.
+
+[[ctf-data-stream-file-creation]]
+== CTF data stream file creation
+
+Your application calls the xref:tracing-funcs:index.adoc[tracing
+functions] found in <<barectf.h,`barectf.h`>> to write
+xref:ctf-primer.adoc#er[event records] to CTF
+xref:ctf-primer.adoc#ds[data streams] of
+xref:ctf-primer.adoc#pkt[packets]. Those CTF data streams and the
+generated <<metadata,CTF metadata stream>> form a complete
+xref:ctf-primer.adoc#trace[CTF trace].
+
+How exactly the event timestamps are sourced and the CTF packets are
+appended to some file or memory buffer is controlled by the
+xref:platform:index.adoc[**platform**].
+
+== Data flow
+
+The typical data flow with barectf is:
+
+[.width-80]
+image::barectf-data-flow.svg[]
+
+. barectf reads your xref:yaml:index.adoc[YAML configuration file].
+
+. barectf <<generated-files,generates>> the CTF metadata stream file.
+
+. barectf also generates the tracer's C{nbsp}files.
+
+. You pass your application's C{nbsp}source file(s),
+ xref:platform:index.adoc[platform]
+ C{nbsp}source files, and the generated tracer's C{nbsp}source file to
+ a xref:build:index.adoc[C{nbsp}compiler to create your final
+ application].
+
+. Your application <<ctf-data-stream-file-creation,creates CTF data
+ stream files>> during its execution.
++
+Those data stream files and the metadata stream file of step{nbsp}2 form
+a complete xref:ctf-primer.adoc#trace[CTF trace].
--- /dev/null
+= Platform API
+:us: _
+
+include::ROOT:partial$def-prefix-note.adoc[]
+
+The public header (usually named `barectf.h`) which barectf
+xref:cli:index.adoc[generates] offers an API to write a
+barectf platform.
+
+[[ctx]]
+== Context structure
+
+For a given xref:yaml:dst-obj.adoc[data stream type] named `__NAME__`:
+
+[source,c]
+----
+struct barectf_NAME_ctx {
+ /* ... */
+};
+----
+
+A barectf platform is responsible for allocating and deallocating such
+a structure for each data stream type.
+
+What this structure actually contains is not important; a barectf
+platform only needs to store it.
+
+[[cbs]]
+== Platform callback functions structure
+
+[source,c]
+----
+struct barectf_platform_callbacks {
+ /* Clock source callback functions here */
+
+ /*
+ * Returns whether or not the back end is full.
+ */
+ int (*is_backend_full)(void *user_data);
+
+ /*
+ * Opens the current packet.
+ */
+ void (*open_packet)(void *user_data);
+
+ /*
+ * Closes the current packet.
+ */
+ void (*close_packet)(void *user_data);
+};
+----
+
+Each callback function receives as its `user_data` parameter what you
+passed to the <<init,barectf context initialization function>> as the
+`user_data` parameter.
+
+[[cb-clk-src]]
+=== Clock source
+
+For each xref:yaml:clk-type-obj.adoc[clock type object] `__NAME__`
+within the trace type's
+xref:yaml:trace-type-obj.adoc#clk-types-prop[`clock-types` property],
+the platform callback functions structure contains one clock source
+callback function:
+
+[source,c]
+----
+CTYPE (*NAME_clock_get_value)(void *user_data);
+----
+
+`__CTYPE__` is the clock type object's
+xref:yaml:clk-type-obj.adoc#c-type-prop[`$c-type` property] (`uint32_t`
+by default).
+
+A clock source function returns the clock's current value. The clock
+value must be monotonic.
+
+[[cb-open]]
+=== Packet opening
+
+[source,c]
+----
+void (*open_packet)(void *user_data);
+----
+
+This function must call the <<open,packet opening function>>.
+
+[[cb-close]]
+=== Packet closing
+
+[source,c]
+----
+void (*close_packet)(void *user_data);
+----
+
+This function must:
+
+. Call the <<close,packet closing function>>.
+
+. Copy or move the current packet to the back end.
+
+After step{nbsp}2, this function _can_ set a new packet buffer with
+<<barectf-packet-set-buf-func,`+barectf_packet_set_buf()+`>>. If it
+doesn't, the next calls to the <<open,packet opening function>> and
+xref:tracing-funcs:index.adoc[tracing functions] will write to the
+current packet buffer.
+
+[[cb-is-back-end-full]]
+=== Is the back end full?
+
+[source,c]
+----
+int (*is_backend_full)(void *user_data);
+----
+
+This function returns whether or not the back end is full.
+
+In other words, if a new packet is <<cb-open,opened>> now, does this
+packet have its reserved space in the back end?
+
+[[accessors]]
+== Context property accessors
+
+* {empty}
++
+[source,c]
+----
+uint8_t *barectf_packet_buf_addr(const void *vctx);
+----
++
+Returns the packet buffer address of the barectf context `vctx`.
+
+* {empty}
++
+[source,c]
+----
+uint32_t barectf_packet_buf_size(const void *vctx);
+----
++
+Returns the packet buffer size (bytes) of the barectf context `vctx`.
+
+* {empty}
++
+[source,c]
+----
+int barectf_packet_is_full(const void *vctx);
+----
++
+Returns whether or not the packet of the barectf context `vctx` is full.
+
+* {empty}
++
+[source,c]
+----
+int barectf_packet_is_empty(const void *vctx);
+----
++
+Returns whether or not the packet of the barectf context `vctx` is empty.
+
+* {empty}
++
+[source,c]
+----
+int barectf_packet_is_open(const void *vctx);
+----
++
+Returns whether or not the packet of the barectf context `vctx` is
+open.
+
+* [[barectf-packet-set-buf-func]]{empty}
++
+[source,c]
+----
+void barectf_packet_set_buf(void *vctx, uint8_t *addr, uint32_t size);
+----
++
+Sets the packet buffer of the barectf context `vctx` to the address `addr`
+and the size `size` bytes.
++
+You can only call this function from the <<cb-close,packet closing
+callback function>>.
+
+* {empty}
++
+[source,c]
+----
+uint32_t barectf_discarded_event_records_count(const void *vctx);
+----
++
+Returns the number of
+xref:how-barectf-works:ctf-primer.adoc#disc-er-counter[discarded event
+records] in the barectf context `vctx`.
+
+* {empty}
++
+[source,c]
+----
+int barectf_is_in_tracing_section(const void *vctx);
+----
++
+Returns whether or not there's a current
+xref:tracing-funcs:index.adoc[tracing function] call for the barectf
+context `vctx`.
+
+* {empty}
++
+[source,c]
+----
+volatile const int *barectf_is_in_tracing_section_ptr(const void *vctx);
+----
++
+Returns a pointer to an `int` variable which indicates whether or not
+there's a current xref:tracing-funcs:index.adoc[tracing function] call
+for the barectf context `vctx`.
+
+[[init]]
+== Context initialization
+
+Initializes the <<ctx,barectf context>> `vctx` with the initial packet
+buffer located at the address `buf_addr` and having `buf_size` bytes,
+the <<cbs,platform callback functions>> `cbs`, and the
+user data `data`.
+
+[source,c]
+----
+void barectf_init(void *vctx, uint8_t *buf_addr, uint32_t buf_size,
+ struct barectf_platform_callbacks cbs, void *user_data);
+----
+
+`user_data` is what the platform callback functions receive as
+their first parameter.
+
+[[open]]
+== Packet opening
+
+For a given xref:yaml:dst-obj.adoc[data stream type] named `__NAME__`, a
+packet opening function opens the current
+xref:how-barectf-works:ctf-primer.adoc#pkt[packet] of a
+<<ctx,barectf context>> `sctx`:
+
+[source,c]
+----
+void barectf_NAME_open_packet(struct barectf_NAME_ctx *sctx);
+----
+
+[[open-params]]
+=== Parameters
+
+For each member `__MNAME__` of the data stream type object's
+xref:yaml:dst-obj.adoc#pkt-ctx-ft-extra-members-prop[`packet-context-field-type-extra-members`
+property], this function has an additional parameter named
+`pc{us}__MNAME__`.
+
+See xref:yaml:ft-obj.adoc#gen-c-types[Generated C{nbsp}types] to
+determine the exact C{nbsp}type of each parameter.
+
+Note that a member with a xref:yaml:dyn-array-ft-obj.adoc[dynamic array
+field type] actually makes barectf generate _two_ adjacent parameters:
+
+. One for the dynamic array's length.
++
+Example: `uint32_t pc___my_array_len`
+
+. One for the dynamic array's data.
++
+Example: `const uint8_t *pc_my_array`
+
+=== Role
+
+A packet opening function:
+
+. Writes initial
+ xref:how-barectf-works:ctf-primer.adoc#pkt[packet header and context]
+ fields.
++
+The source of some of those fields can be <<open-params,parameters>>.
+
+. Saves the offsets of some packet context field to write them at
+ <<close,packet closing>> time.
+
+. Marks the current packet as being open.
+
+In general, a <<cb-open,packet opening platform callback function>> and
+a platform initialization function (for the first packet) call this
+function.
+
+[[close]]
+== Packet closing
+
+For a given xref:yaml:dst-obj.adoc[data stream type] named `__NAME__`, a
+packet closing function closes the current
+xref:how-barectf-works:ctf-primer.adoc#pkt[packet] of a
+<<ctx,barectf context>> `sctx`:
+
+[source,c]
+----
+void barectf_NAME_close_packet(struct barectf_NAME_ctx *sctx);
+----
+
+=== Role
+
+A packet closing function:
+
+. Writes some
+ xref:how-barectf-works:ctf-primer.adoc#pkt[packet context]
+ fields.
+
+. Marks the current packet as being closed.
+
+In general, a <<cb-close,packet closing platform callback function>> and
+a platform finalization function (for the last packet) call this
+function.
--- /dev/null
+= Platform example
+:us: _
+
+This barectf platform example is a stripped-down version of the
+https://github.com/efficios/barectf/tree/stable-{page-component-version}/platforms/linux-fs[Linux FS]
+demonstration platform.
+
+== Header
+
+.`my-platform.h`
+[source,c]
+----
+#ifndef _MY_PLATFORM_H
+#define _MY_PLATFORM_H
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Platform context */
+struct my_platform_ctx;
+
+/* barectf context */
+struct barectf_my_stream_ctx;
+
+/* Platform initialization function */
+struct my_platform_ctx *my_platform_init(unsigned int buf_size,
+ const char *data_stream_file_path);
+
+/* Platform finalization function */
+void my_platform_fini(struct my_platform_ctx *platform_ctx);
+
+/* barectf context pointer access function */
+struct barectf_my_stream_ctx *my_platform_get_barectf_ctx(
+ struct my_platform_ctx *platform_ctx);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* _MY_PLATFORM_H */
+----
+
+== Source
+
+.`my-platform.c`
+[source,c]
+----
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdint.h>
+#include <assert.h>
+#include <time.h>
+
+#include "barectf.h"
+
+/* Platform context */
+struct my_platform_ctx {
+ struct barectf_my_stream_ctx ctx;
+ FILE *fh;
+};
+
+/* Clock source platform function */
+static uint64_t my_clock_get_value(void * const data)
+{
+ struct timespec ts;
+
+ clock_gettime(CLOCK_REALTIME, &ts);
+ return ts.tv_sec * 1000000000ULL + ts.tv_nsec;
+}
+
+static void write_packet(const struct my_platform_ctx * const platform_ctx)
+{
+ /* Append current packet to data stream file */
+ const size_t nmemb = fwrite(barectf_packet_buf_addr(&platform_ctx->ctx),
+ barectf_packet_buf_size(&platform_ctx->ctx),
+ 1, platform_ctx->fh);
+
+ assert(nmemb == 1);
+}
+
+/* Full back end check platform function */
+static int is_backend_full(void * const data)
+{
+ return 0;
+}
+
+/* Packet opening platform function */
+static void open_packet(void * const data)
+{
+ struct my_platform_ctx * const platform_ctx = data;
+
+ barectf_my_stream_open_packet(&platform_ctx->ctx);
+}
+
+/* Packet closing platform function */
+static void close_packet(void * const data)
+{
+ struct my_platform_ctx * const platform_ctx = data;
+
+ /* Close packet now */
+ barectf_my_stream_close_packet(&platform_ctx->ctx);
+
+ /* Write packet to file */
+ write_packet(platform_ctx);
+}
+
+/* Platform initialization function */
+struct my_platform_ctx *my_platform_init(const unsigned int buf_size,
+ const char * const data_stream_file_path)
+{
+ char stream_path[256];
+ uint8_t *buf = NULL;
+ struct my_platform_ctx *platform_ctx;
+ struct barectf_platform_callbacks cbs;
+
+ /* Set platform callback functions */
+ cbs.my_clock_clock_get_value = my_clock_get_value;
+ cbs.is_backend_full = is_backend_full;
+ cbs.open_packet = open_packet;
+ cbs.close_packet = close_packet;
+
+ /* Allocate platform context (which contains a barectf context) */
+ platform_ctx = malloc(sizeof(*platform_ctx));
+
+ if (!platform_ctx) {
+ goto error;
+ }
+
+ /* Allocate packet buffer */
+ buf = malloc(buf_size);
+
+ if (!buf) {
+ goto error;
+ }
+
+ /* Open data stream file */
+ platform_ctx->fh = fopen(data_stream_file_path, "wb");
+
+ if (!platform_ctx->fh) {
+ goto error;
+ }
+
+ /* Initialize barectf context */
+ barectf_init(&platform_ctx->ctx, buf, buf_size, cbs, platform_ctx);
+
+ /* Open the first packet */
+ open_packet(platform_ctx);
+
+ goto end;
+
+error:
+ free(platform_ctx);
+ free(buf);
+
+end:
+ /* Return platform context to user */
+ return platform_ctx;
+}
+
+/* Platform finalization function */
+void my_platform_fini(struct my_platform_ctx * const platform_ctx)
+{
+ /* Close current packet if needed */
+ if (barectf_packet_is_open(&platform_ctx->ctx) &&
+ !barectf_packet_is_empty(&platform_ctx->ctx)) {
+ close_packet(platform_ctx);
+ }
+
+ /* Close data stream file */
+ fclose(platform_ctx->fh);
+
+ /* Deallocate packet buffer */
+ free(barectf_packet_buf(&platform_ctx->ctx));
+
+ /* Deallocate platform context */
+ free(platform_ctx);
+}
+
+/* barectf context pointer access function */
+struct barectf_my_stream_ctx *my_platform_get_barectf_ctx(
+ struct my_platform_ctx * const platform_ctx)
+{
+ return &platform_ctx->ctx;
+}
+----
+
+== Components
+
+In this example, you can find all the required components of a barectf
+platform:
+
+xref:api.adoc#cbs[Platform callback functions]::
+ xref:api.adoc#cb-clk-src[Clock source]:::
++
+[source,c]
+----
+static uint64_t my_clock_get_value(void * const data)
+{
+ struct timespec ts;
+
+ clock_gettime(CLOCK_REALTIME, &ts);
+ return ts.tv_sec * 1000000000ULL + ts.tv_nsec;
+}
+----
+
+ xref:api.adoc#cb-open[Packet opening]:::
++
+[source,c]
+----
+static void open_packet(void * const data)
+{
+ struct my_platform_ctx * const platform_ctx = data;
+
+ barectf_my_stream_open_packet(&platform_ctx->ctx);
+}
+----
+
+ xref:api.adoc#cb-close[Packet closing]:::
++
+[source,c]
+----
+static void close_packet(void * const data)
+{
+ struct my_platform_ctx * const platform_ctx = data;
+
+ barectf_my_stream_close_packet(&platform_ctx->ctx);
+ write_packet(platform_ctx);
+}
+----
+
+ xref:api.adoc#cb-is-back-end-full[Is the back end full?]:::
++
+[source,c]
+----
+static int is_backend_full(void * const data)
+{
+ return 0;
+}
+----
++
+This one always returns 0 as we assume that we can always append a
+packet to the data stream file.
+
+Platform initialization function::
++
+[source,c]
+----
+struct my_platform_ctx *my_platform_init(const unsigned int buf_size,
+ const char * const data_stream_file_path)
+{
+ /* ... */
+}
+----
+
+Platform finalization function::
++
+[source,c]
+----
+void my_platform_fini(struct my_platform_ctx * const platform_ctx)
+{
+ if (barectf_packet_is_open(&platform_ctx->ctx) &&
+ !barectf_packet_is_empty(&platform_ctx->ctx)) {
+ close_packet(platform_ctx);
+ }
+
+ /* ... */
+}
+----
+
+barectf context pointer access function::
++
+[source,c]
+----
+struct barectf_my_stream_ctx *my_platform_get_barectf_ctx(
+ struct my_platform_ctx * const platform_ctx)
+{
+ return &platform_ctx->ctx;
+}
+----
--- /dev/null
+= Write a barectf platform
+:us: _
+
+A **_barectf platform_** is:
+
+* Callback functions to xref:api.adoc#cb-open[open] and
+ xref:api.adoc#cb-close[close]
+ xref:how-barectf-works:ctf-primer.adoc#pkt[packets].
++
+Those functions allow the platform to control
+where the xref:how-barectf-works:ctf-primer.adoc#ds[data streams]
+are stored (called the _back end_) and how full packets are appended to
+them.
++
+The back end can be anything: files, memory, network, serial, and more.
+
+* A callback function to indicate
+ xref:api.adoc#cb-is-back-end-full[whether or not the back end is full].
+
+* Data stream xref:how-barectf-works:ctf-primer.adoc#def-clk[default
+ clock] xref:api.adoc#cb-clk-src[source callback functions].
+
+* An API for applications to:
+** Initialize the platform.
+** xref:tracing-funcs:index.adoc#obtain-ctx-ptr[Obtain a barectf context
+ pointer].
+** Finalize the platform.
+
+The purpose of a barectf platform is to decouple the packet storing
+and clock sourcing operations from
+the xref:how-barectf-works:ctf-primer.adoc#er[event record] writing
+operations. xref:tracing-funcs:index.adoc[Tracing functions], which the
+application calls, handle the latter.
+
+See xref:example.adoc[] for a complete barectf platform example.
+
+== Steps
+
+To write a barectf platform:
+
+. Write the xref:api.adoc#cbs[platform callback functions].
++
+Each function receives some platform context pointer as its first
+parameter.
+
+. Write a platform initialization function.
++
+This function needs to allocate one or more xref:api.adoc#ctx[barectf
+contexts], xref:api.adoc#init[initialize them] with the platform
+callback functions of step{nbsp}1, and store them.
++
+This function typically xref:api.adoc#open[opens] the first packet.
++
+This function can return a pointer to a platform context structure. This
+structure can also be global if needed.
+
+. Write a platform finalization function.
++
+This function can accept a platform context pointer parameter.
++
+This function typically starts with this, for each barectf context
+of the platform:
++
+[source,c]
+----
+if (barectf_packet_is_open(barectf_ctx) &&
+ !barectf_packet_is_empty(barectf_ctx)) {
+ /* Close the packet here */
+}
+----
++
+where `barectf_ctx` is a pointer to a xref:api.adoc#ctx[barectf
+context].
++
+This function also needs to deallocate the platform's
+xref:api.adoc#ctx[barectf contexts].
+
+. Write one or more xref:api.adoc#ctx[barectf context] pointer accessor
+ functions.
++
+This function can accept a platform context pointer parameter. It
+returns the requested barectf context pointer.
+
+See xref:example.adoc[] for a complete barectf platform example.
+
+== YAML configuration file recommandation
+
+The barectf project recommends that you create a
+partial YAML file containing a base xref:yaml:trace-type-obj.adoc[trace
+type object] as its document for your platform.
+
+This platform's base trace type object can be configured so that it
+matches what your platform expects, for example:
+
+* The xref:yaml:trace-type-obj.adoc#native-bo[native byte order]
+* Specific xref:yaml:clk-type-obj.adoc[clock type objects]
+
+* Specific xref:yaml:dst-obj.adoc[Data stream type objects], possibly
+ with:
+** xref:yaml:dst-obj.adoc#def-clk-type-name-prop[Default clock types]
+** xref:yaml:dst-obj.adoc#pkt-ctx-ft-extra-members-prop[Extra packet
+ context field type members]
+
+An application-specific
+xref:yaml:index.adoc[YAML configuration files]
+can then xref:yaml:include.adoc[include] the platform's trace type
+partial YAML file and augment it.
+
+====
+Consider this partial YAML file:
+
+.`my-platform-trace-type.yaml`
+[source,yaml]
+----
+native-byte-order: little-endian
+clock-types:
+ sys3:
+ frequency: 8000000
+ precision: 80
+ origin-is-unix-epoch: false
+data-stream-types:
+ main:
+ $default-clock-type-name: sys3
+ packet-context-field-type-extra-members:
+ - load: int8
+ - node_id: uint16
+----
+
+An application-specific YAML configuration file can
+xref:yaml:include.adoc[include]
+`my-platform-trace-type.yaml` at the xref:yaml:trace-type-obj.adoc[trace type
+object] level:
+
+[source,yaml]
+----
+--- !<tag:barectf.org,2020/3/config>
+trace:
+ type:
+ $include:
+ - my-platform-trace-type.yaml
+ - stdint.yaml
+ - stdmisc.yaml
+ $field-type-aliases:
+ ipv4-addr:
+ class: static-array
+ length: 4
+ element-field-type: uint8
+ data-stream-types:
+ main:
+ $is-default: true
+ event-record-types:
+ on_send:
+ payload-field-type:
+ class: structure
+ members:
+ - msg: string
+ - dst_ip_addr: ipv4-addr
+ on_recv:
+ payload-field-type:
+ class: structure
+ members:
+ - msg: string
+ - src_ip_addr: ipv4-addr
+----
+====
--- /dev/null
+= Use the generated C{nbsp}tracing functions
+:us: _
+
+include::ROOT:partial$def-prefix-note.adoc[]
+
+The public `barectf.h` header which barectf
+xref:cli:index.adoc[generates] contains two groups of function
+prototypes:
+
+[[tracing-funcs]]Tracing functions::
+ barectf generates one tracing function per configured
+ xref:yaml:ert-obj.adoc[event record type].
++
+A tracing function is named `barectf_trace{us}__DSTNAME__{us}__ERTNAME__()`,
+where `__DSTNAME__` is the xref:yaml:dst-obj.adoc[data stream type] name
+and `__ERTNAME__` the event record type name.
++
+NOTE: If your configuration has a xref:yaml:dst-obj.adoc#is-def-prop[default
+data stream type] named `__DEFDSTNAME__`, then barectf also generates
+C{nbsp}preprocessor definitions named `barectf_trace{us}__ERTNAME__`
+which are set to `barectf_trace{us}__DEFDSTNAME__{us}__ERTNAME__`.
++
+Those are the functions which your application can call to write
+xref:how-barectf-works:ctf-primer.adoc#er[CTF event records] to
+xref:how-barectf-works:ctf-primer.adoc#ds[data streams].
+
+Tracing control functions::
+ barectf generates the `+barectf_is_tracing_enabled()+` and
+ `+barectf_enable_tracing()+` functions to
+ <<control,control>> the tracing activity for a given
+ barectf context.
+
+xref:platform:api.adoc[Platform API] functions::
+ barectf generates one
+ xref:platform:api.adoc#open[packet opening] and one
+ xref:platform:api.adoc#close[packet closing] function
+ per configured xref:yaml:dst-obj.adoc[data stream type].
++
+It also generates a xref:platform:api.adoc#init[barectf context
+initialization] function and a few
+xref:platform:api.adoc#accessors[context property getters and setters].
++
+The suggested barectf approach is for a
+xref:platform:index.adoc[platform] to handle the barectf context
+initialization, packet opening and packet closing operations.
++
+This hides the details of how packets are written to the back end from
+the application so that it only calls <<tracing-funcs,tracing>> and
+<<control,tracing control>> functions.
+
+[[obtain-ctx-ptr]]
+== Obtain a barectf context pointer
+
+<<tracing-funcs,Tracing>> and <<control,tracing control>> functions
+accept a **_barectf context_** pointer as their first parameter.
+
+For example:
+
+[source,c]
+----
+void barectf_my_stream_trace_my_event(struct barectf_my_stream_ctx *sctx,
+ uint8_t p_user_id, const char *p_msg);
+
+int barectf_is_tracing_enabled(const void *vctx);
+
+void barectf_enable_tracing(void *vctx, int enable);
+----
+
+A barectf context represents a
+xref:how-barectf-works:ctf-primer.adoc#ds[CTF data stream].
+
+The suggested barectf approach is for a
+xref:platform:index.adoc[platform]'s API to offer a function to obtain
+a pointer to an initialized barectf context.
+
+For example, the
+https://github.com/efficios/barectf/tree/stable-{page-component-version}/platforms/linux-fs[Linux
+FS] demonstration platform offers the
+`+barectf_platform_linux_fs_get_barectf_ctx()+` function to obtain a
+barectf context pointer from a platform context.
+
+== Tracing function parameters
+
+As explained in <<obtain-ctx-ptr>>, a tracing function's first parameter
+is always a barectf context pointer.
+
+The other parameters depend on the xref:yaml:index.adoc[configuration].
+
+For a given xref:yaml:dst-obj.adoc[data stream type] and
+xref:yaml:ert-obj.adoc[event record type], the generated tracing
+function parameters are, in this order:
+
+. For each member `__NAME__` of the
+ xref:yaml:dst-obj.adoc#er-common-ctx-ft-prop[event record common
+ context structure field type], a parameter named `cc{us}__NAME__`.
+
+. For each member `__NAME__` of the
+ xref:yaml:ert-obj.adoc#spec-ctx-ft-prop[event record specific
+ context structure field type], a parameter named `sc{us}__NAME__`.
+
+. For each member `__NAME__` of the
+ xref:yaml:ert-obj.adoc#payload-ft-prop[event record payload structure
+ field type], a parameter named `p{us}__NAME__`.
+
+See xref:yaml:ft-obj.adoc#gen-c-types[Generated C{nbsp}types] to
+determine the exact C{nbsp}type of each parameter.
+
+Note that a member with a xref:yaml:dyn-array-ft-obj.adoc[dynamic array
+field type] actually makes barectf generate _two_ adjacent parameters:
+
+. One for the dynamic array's length.
++
+Example: `uint32_t p___my_array_len`
+
+. One for the dynamic array's data.
++
+Example: `const uint8_t *p_my_array`
+
+====
+Consider this xref:yaml:dst-obj.adoc[data stream type object]
+named `my_stream`:
+
+[source,yaml]
+----
+event-record-common-context-field-type:
+ class: structure
+ members:
+ - pid: uint32
+ - t_level: double
+event-record-types:
+ my_event:
+ specific-context-field-type:
+ class: structure
+ members:
+ - count: uint16
+ payload-field-type:
+ class: structure
+ members:
+ - msg: string
+ - src_ip_addr:
+ field-type:
+ class: static-array
+ length: 4
+ element-field-type: uint8
+----
+
+The generated tracing prototype for the `my_event` event record type
+is:
+
+[source,c]
+----
+void barectf_my_stream_trace_my_event(struct barectf_my_stream_ctx *sctx,
+ uint32_t cc_pid, double cc_t_level,
+ uint16_t sc_count, const char *p_msg,
+ const uint8_t *p_src_ip_addr);
+----
+====
+
+[[control]]
+== Control tracing
+
+You can control the tracing activity for a given
+<<obtain-ctx-ptr,barectf context>> with the following functions:
+
+* {empty}
++
+[source,c]
+----
+int barectf_is_tracing_enabled(const void *vctx);
+----
++
+Returns whether or not tracing is currenty enabled for the barectf
+context `vctx`.
+
+* {empty}
++
+[source,c]
+----
+void barectf_enable_tracing(void *vctx, int enable);
+----
++
+Enables (if `enable` is{nbsp}1) or disables (if `enable` is{nbsp}0)
+tracing for the barectf context `vctx`.
+
+When tracing is disabled for a given barectf context, the
+<<tracing-funcs,tracing functions>> have no effect for this context.
+
+== Concurrent access safety
+
+The C{nbsp}source code which barectf generates doesn't guarantee any
+concurrent access safety (thread safety, reentrancy).
+
+Because barectf generates general ANSI{nbsp}C code with no dependencies,
+it can't know how to synchronize accesses to <<obtain-ctx-ptr,barectf
+context>> structures. As of barectf{nbsp}{page-component-version}, you
+need to protect tracing function calls for a given barectf context with
+your own synchronization primitives.
+
+Note, however, that xref:how-barectf-works:ctf-primer.adoc[CTF] is
+designed for fast multicore/multithread tracing: dedicate one barectf
+context (one xref:how-barectf-works:ctf-primer.adoc#ds[data stream]) per
+core/thread to avoid tracing function locking.
--- /dev/null
+= YAML configuration object
+
+The _**configuration object**_ is the root of a barectf YAML
+configuration document. It describes a complete barectf configuration.
+
+The configuration object must have the YAML tag
+`tag:barectf.org,2020/3/config`.
+
+The configuration object has a mandatory xref:trace-obj.adoc[trace
+object] and <<opts-obj,options>>.
+
+== Properties
+
+[%autowidth.stretch]
+|===
+|Name |Type |Description |{req-abbr} |Default
+
+|`options`
+|<<opts-obj>>
+|Configuration options.
+|No
+|See <<opts-obj>> for default values.
+
+|[[trace-prop]]`trace`
+|xref:trace-obj.adoc[Trace object]
+|Configuration's trace.
+|Yes
+|
+|===
+
+[[opts-obj]]
+== Options object
+
+The options of a configuration object.
+
+=== Properties
+
+[%autowidth.stretch]
+|===
+|Name |Type |Description |Default
+
+|`code-generation`
+|<<code-gen-opts-obj>>
+|Code generation options.
+|See <<code-gen-opts-obj>> for default values.
+|===
+
+[[code-gen-opts-obj]]
+== Code generation options object
+
+The code generation options of a configuration object.
+
+=== Properties
+
+All the properties are optional.
+
+[%autowidth.stretch, cols="d,d,a,d"]
+|===
+|Name |Type |Description |Default
+
+|[[prefix-prop]]`prefix`
+|String or <<prefix-obj,prefix object>>
+|Identifier and file name prefixes.
+
+If the value is the string `__PREFIX__`, then the identifier prefix is
+`__PREFIX___` and the file name prefix is `__PREFIX__`.
+|The identifier prefix `barectf_` and the file name prefix `barectf`.
+
+|`header`
+|<<code-gen-header-opts-obj>>
+|C{nbsp}header generation options.
+|See <<code-gen-header-opts-obj>> default values.
+|===
+
+[[prefix-obj]]
+== Prefix object
+
+Identifier and file name prefixes.
+
+=== Properties
+
+All the properties are required.
+
+[%autowidth.stretch, cols="d,d,a"]
+|===
+|Name |Type |Description
+
+|`file-name`
+|String
+|Prefix of any C{nbsp}file which barectf generates.
+
+barectf adds `-` between this prefix and other file name parts if
+needed.
+
+This prefix must only contain valid characters for a file name.
+
+|`identifier`
+|String
+|Prefix of any public C identifier which barectf generates.
+
+barectf does _not_ add anything between this prefix and the rest of the
+identifier.
+
+For example, if this prefix is `acme_corp_`, then a tracing function
+name could be `+acme_corp_trace_my_event()+`.
+
+This prefix must be a valid C{nbsp}identifier.
+|===
+
+[[code-gen-header-opts-obj]]
+== Code generation header options object
+
+The C{nbsp}header generation options of a configuration object.
+
+=== Properties
+
+All the properties are optional.
+
+[%autowidth.stretch, cols="d,d,a,d", role="can-break"]
+|===
+|Name |Type |Description |Default
+
+|`identifier-prefix-definition`
+|Boolean
+|If this property is true, then barectf generates a public
+C{nbsp}preprocessor definition named `_BARECTF_IDENTIFIER_PREFIX` which
+is set to the configuration's <<prefix-prop,identifier prefix>>.
+|False
+
+|[[def-dst-name-def-prop]]`default-data-stream-type-name-definition`
+|Boolean
+|If this property is true, then barectf generates a public
+C{nbsp}preprocessor definition named
+`_BARECTF_DEFAULT_DATA_STREAM_TYPE_NAME` which is set to the name of the
+trace type's
+xref:dst-obj.adoc#is-def-prop[default data stream type].
+|False
+|===
+
+== Examples
+
+NOTE: The following examples omit the <<trace-prop,trace object>> for
+clarity.
+
+.Basic configuration object.
+====
+[source,yaml]
+----
+--- !<tag:barectf.org,2020/3/config>
+trace:
+ # ...
+----
+====
+
+.Configuration object with custom <<prefix-obj,prefixes>>.
+====
+[source,yaml]
+----
+--- !<tag:barectf.org,2020/3/config>
+options:
+ code-generation:
+ prefix:
+ file-name: acme-corp
+ identifier: acme_corp_
+trace:
+ # ...
+----
+====
+
+.Configuration object with <<code-gen-header-opts-obj,identifier and default data stream type name C{nbsp}preprocessor definitions>>.
+====
+[source,yaml]
+----
+--- !<tag:barectf.org,2020/3/config>
+options:
+ code-generation:
+ header:
+ identifier-prefix-definition: true
+ default-data-stream-type-name-definition: true
+trace:
+ # ...
+----
+====
+
+.Basic configuration object with a YAML directive.
+====
+This https://yaml.org/spec/1.2/spec.html#id2781553[YAML directive]
+indicates that the YAML document honours the YAML{nbsp}1.2
+specification.
+
+[source,yaml]
+----
+%YAML 1.2
+--- !<tag:barectf.org,2020/3/config>
+trace:
+ # ...
+----
+====
--- /dev/null
+= YAML clock type object
+
+A _**clock type object**_ is the type of data stream
+xref:how-barectf-works:ctf-primer.adoc#def-clk[clocks].
+
+Clock type objects are only found under the
+xref:trace-type-obj.adoc#clk-types-prop[`clock-types` property] of a
+trace type object.
+
+The only purpose of a clock type is to be a
+xref:dst-obj.adoc[data stream type object]'s default
+clock type.
+
+[[props]]
+== Properties
+
+All the properties are optional.
+
+[%autowidth.stretch, cols="d,d,a,d", role="can-break"]
+|===
+|Name |Type |Description |Default
+
+|[[freq-prop]]`frequency`
+|Integer, greater than{nbsp}0
+|Frequency of instances (Hz).
+|1,000,000,000 (1{nbsp}GHz)
+
+|[[offset-prop]]`offset`
+|<<offset-obj>>
+|Offset of instances.
+|See <<offset-obj>> for default values.
+
+|`origin-is-unix-epoch`
+|Boolean
+|True if the origin of instances is the Unix epoch.
+|True
+
+|`precision`
+|Positive integer
+|Precision of instances (cycles).
+|0
+
+|`uuid`
+|xref:common-values.adoc#uuid[UUID]
+|Clock type's UUID.
+|No UUID
+
+|`description`
+|String
+|Clock type's description.
+|No description
+
+|[[c-type-prop]]`$c-type`
+|String
+|Return C{nbsp}type of the clock source function for this clock type.
+
+See xref:platform:index.adoc[] to learn more.
+|`uint32_t`
+
+|[[include-prop]]`$include`
+|Sequence of strings.
+|See xref:include.adoc[].
+|No inclusions
+|===
+
+[[offset-obj]]
+== Clock type offset object
+
+Offset information of a clock type's instances.
+
+=== Properties
+
+All the properties are optional.
+
+[%autowidth.stretch, cols="d,d,a,d"]
+|===
+|Name |Type |Description |Default
+
+|`seconds`
+|Integer
+|Offset in seconds.
+|0
+
+|`cycles`
+|Positive integer
+|Offset in cycles.
+|0
+|===
+
+The two properties form an effective offset (from the clock's origin) as
+such:
+
+----
+seconds + cycles / frequency
+----
+
+`frequency` is a <<freq-prop,clock type property>>.
+
+== Examples
+
+.Basic 1{nbsp}GHz clock type object.
+====
+This empty mapping, when used where a clock type is expected, is a
+valid, default clock type.
+
+[source,yaml]
+----
+{}
+----
+====
+
+.Basic <<freq-prop,100{nbsp}kHz>> clock type object.
+====
+[source,yaml]
+----
+frequency: 100000
+----
+====
+
+.Basic <<freq-prop,1{nbsp}GHz>> clock type object with an `unsigned long long` <<c-type-prop,C{nbsp}type>>.
+====
+[source,yaml]
+----
+$c-type: unsigned long long
+----
+====
+
+.Complete clock type object.
+====
+[source,yaml]
+----
+frequency: 8000000
+offset:
+ seconds: 1600463226
+ cycles: 200000
+origin-is-unix-epoch: false
+precision: 8
+uuid: 79e49040-21b5-42d4-a873-677261696e65
+description: System clock
+$c-type: uint64_t
+----
+====
+
+.Clock type object with an <<include-prop,inclusion>>.
+====
+[source,yaml]
+----
+$include: [base-clock-type.yaml]
+frequency: 8000000
+----
+====
--- /dev/null
+= Common YAML values
+
+As of barectf{nbsp}{page-component-version}, the only common values are
+the <<byte-order,byte order>> and the <<uuid,UUID>>.
+
+[[byte-order]]
+== Byte order
+
+A byte order or endianness.
+
+Type::
+ String
+
+Value::
+ One of:
+`little-endian`:::
+`little`:::
+`le`:::
+ Little-endian byte order.
+
+`big-endian`:::
+`big`:::
+`be`:::
+ Big-endian byte order.
+
+[[uuid]]
+== UUID
+
+A https://en.wikipedia.org/wiki/Universally_unique_identifier[universally
+unique identifier].
+
+Type::
+ String
+
+Value::
+ The canonical textual representation of the UUID, for example:
++
+----
+79e49040-21b5-42d4-a873-677261696e65
+----
--- /dev/null
+= YAML data stream type object
+
+A _**data stream type object**_ is the type of a
+xref:how-barectf-works:ctf-primer.adoc#ds[data stream].
+
+A data stream type describes everything a CTF consumer needs to decode
+its instances (data streams).
+
+Data stream type objects are only found under the
+xref:trace-type-obj.adoc#dsts-prop[`data-stream-types` property] of a
+trace type object.
+
+[[props]]
+== Properties
+
+[%autowidth.stretch, cols="d,d,a,d,d", role="can-break"]
+|===
+|Name |Type |Description |{req-abbr} |Default
+
+|[[is-def-prop]]`$is-default`
+|Boolean
+|If this property is true, then this data stream type is its
+xref:trace-type-obj.adoc[trace type]'s default data stream type.
+
+For a generated tracing function `__F__` named
+`+barectf_trace_my_stream_my_event()+`, where `my_stream` is the name of
+the default data stream type, barectf also generates a public
+C{nbsp}preprocessor definition named `barectf_trace_my_event` and set to
+`__F__`.
+
+For a given trace type object, a single data stream type object can
+have this property set to true.
+
+See also the code generation header option object's
+xref:cfg-obj.adoc#def-dst-name-def-prop[`def-dst-name-def-prop`
+property].
+|No
+|False
+
+|[[def-clk-type-name-prop]]`$default-clock-type-name`
+|String
+|Name of the xref:clk-type-obj.adoc[clock type] which describes the
+default clock of this data stream type's instances.
+
+This property's value must be an existing key within this trace type's
+xref:trace-type-obj.adoc#clk-types-prop[`clock-types`] mapping.
+
+When a data stream type has a default clock type, all its instances
+(xref:how-barectf-works:ctf-primer.adoc#ds[data streams])
+have their own default clock.
+
+A data stream clock is an integral counter of _cycles_. With the clock's
+type's xref:clk-type-obj.adoc#freq-prop[frequency] and
+type's xref:clk-type-obj.adoc#offset-prop[offset] properties, you can
+convert a clock value to seconds from its origin.
+
+The header fields of CTF
+xref:how-barectf-works:ctf-primer.adoc#pkt[packets] and
+xref:how-barectf-works:ctf-primer.adoc#er[event records] can contain
+snapshots, named _timestamps_, of the value of their data stream's
+default clock.
+|No
+|No default clock type
+
+|`$features`
+|<<features-obj>>
+|Features of this data stream type's instances.
+|No
+|See <<features-obj>> for default values.
+
+|[[pkt-ctx-ft-extra-members-prop]]`packet-context-field-type-extra-members`
+|Type of the structure field type object's
+xref:struct-ft-obj.adoc#members-prop[`members` property]
+|Extra, user-defined members to be appended to this data stream type's
+packet context structure field type.
+
+For each member name `__NAME__` of this property, the packet opening
+function which barectf generates for this data stream type has an
+additional parameter named `pc___NAME__`.
+
+Member names must be valid xref:index.adoc#tsdl-ident[TSDL identifiers].
+|No
+|No packet context field type extra members
+
+|[[er-common-ctx-ft-prop]]`event-record-common-context-field-type`
+|xref:struct-ft-obj.adoc[Structure field type object] or string
+|
+xref:how-barectf-works:ctf-primer.adoc#er[Event record common context
+field] type of this data stream type.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias].
+
+For each member `__NAME__` of this property, all the
+xref:tracing-funcs:index.adoc[tracing functions] which barectf generates
+for this data stream type have an additional parameter named
+`cc___NAME__`.
+
+Member names must be valid xref:index.adoc#tsdl-ident[TSDL identifiers].
+|No
+|No event record common context field type
+
+|[[erts-prop]]`event-record-types`
+|Mapping of string keys to xref:ert-obj.adoc[event record type objects]
+|Event record types of this data stream type.
+
+Keys of this mapping are event record type names. They must be valid
+C{nbsp}identifiers.
+
+This mapping must contain at least one entry.
+|Yes
+|
+
+|[[include-prop]]`$include`
+|Sequence of strings.
+|See xref:include.adoc[].
+|No
+|No inclusions
+|===
+
+[[features-obj]]
+== Features object
+
+The features of a data stream type object.
+
+=== Properties
+
+All the properties are optional.
+
+[%autowidth.stretch]
+|===
+|Name |Type |Description |Default
+
+|`packet`
+|<<pkt-features-obj>>
+|Features related to xref:how-barectf-works:ctf-primer.adoc#pkt[CTF packets].
+|See <<pkt-features-obj>> for default values.
+
+|`event-record`
+|<<er-features-obj>>
+|Features related to xref:how-barectf-works:ctf-primer.adoc#er[CTF
+event records].
+|See <<er-features-obj>> for default values.
+|===
+
+[[pkt-features-obj]]
+== Packet features object
+
+The packet features of a data stream type object.
+
+As of barectf{nbsp}{page-component-version}, each feature controls
+whether or not some information will be part of the context of each
+xref:how-barectf-works:ctf-primer.adoc#pkt[CTF packet] which the generated
+tracer produces.
+
+You can enable or disable a feature. When you enable one, you can set
+its xref:ft-obj.adoc[field type] explicitly or make barectf choose a
+sane default.
+
+=== Properties
+
+For all the feature properties below, if the value is a boolean:
+
+True::
+ Make barectf use a default field type.
+
+False::
+ Disable the feature (if possible).
+
+All the properties are optional.
+
+[%autowidth.stretch, cols="d,d,a,d", role="can-break"]
+|===
+|Name |Type |Description |Default
+
+|[[total-size-ft-prop]]`total-size-field-type`
+|Unsigned xref:int-ft-obj.adoc[integer field type object], string,
+or boolean
+|Type of packet context's total size field.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias].
+
+The size of this feature's integer field type must be greater than or
+equal to the size of the `content-size-field-type` property's field
+type.
+
+You **can't** disable this feature.
+|True
+
+|[[content-size-ft-prop]]`content-size-field-type`
+|Unsigned xref:int-ft-obj.adoc[integer field type object], string,
+or boolean
+|Type of packet context's content size field.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias].
+
+The size of this feature's integer field type must be less than or equal
+to the size of the `total-size-field-type` property's field type.
+
+You **can't** disable this feature.
+|True
+
+|[[beginning-ts-ft-prop]]`beginning-timestamp-field-type`
+|Unsigned xref:int-ft-obj.adoc[integer field type object], string,
+or boolean
+|Type of packet context's beginning timestamp field.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias].
+|True if this data stream type has a <<def-clk-type-name-prop,default
+clock type>>, or false otherwise.
+
+|[[end-ts-ft-prop]]`end-timestamp-field-type`
+|Unsigned xref:int-ft-obj.adoc[integer field type object], string,
+or boolean
+|Type of packet context's end timestamp field.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias].
+|True if this data stream type has a <<def-clk-type-name-prop,default
+clock type>>, or false otherwise.
+
+|[[disc-er-counter-snapshot-ft-prop]]`discarded-event-records-counter-snapshot-field-type`
+|Unsigned xref:int-ft-obj.adoc[integer field type object], string,
+or boolean
+|Type of packet context's
+xref:how-barectf-works:ctf-primer.adoc#disc-er-counter[discarded event
+record counter] snapshot field.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias].
+|True
+|===
+
+[[er-features-obj]]
+== Event record features object
+
+The event records features of a data stream type object.
+
+As of barectf{nbsp}{page-component-version}, each feature controls
+whether or not some information will be part of the header of each
+xref:how-barectf-works:ctf-primer.adoc#er[CTF event record] which the
+generated tracer produces.
+
+You can enable or disable a feature. When you enable one, you can set
+its xref:ft-obj.adoc[field type] explicitly or make barectf choose a
+sane default.
+
+=== Properties
+
+For all the feature properties below, if the value is a boolean:
+
+True::
+ Make barectf use a default field type.
+
+False::
+ Disable the feature.
+
+All the properties are optional.
+
+[%autowidth.stretch, cols="d,d,a,d", role="can-break"]
+|===
+|Name |Type |Description |Default
+
+|[[type-id-ft-prop]]`type-id-field-type`
+|Unsigned xref:int-ft-obj.adoc[integer field type object], string,
+or boolean
+|Type of event header's xref:ert-obj.adoc[event record type] ID field.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias].
+
+This feature is required when this data stream type has more than one
+event record type (<<erts-prop,`event-record-types` property>>).
+|True
+
+|[[ts-prop]]`timestamp-field-type`
+|Unsigned xref:int-ft-obj.adoc[integer field type object], string,
+or boolean
+|Type of event header's timestamp field.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias].
+|True if this data stream type has a <<def-clk-type-name-prop,default
+clock type>>, or false otherwise.
+|===
+
+== Examples
+
+NOTE: The following examples can omit <<erts-prop,event record type
+objects>> for clarity.
+
+.Basic data stream type object.
+====
+[source,yaml]
+----
+event-record-types:
+ # ...
+----
+====
+
+.Basic <<is-def-prop,default>> data stream type object.
+====
+[source,yaml]
+----
+$is-default: true
+event-record-types:
+ # ...
+----
+====
+
+.Data stream type object with a <<def-clk-type-name-prop,default clock type>>.
+====
+[source,yaml]
+----
+$default-clock-type-name: sys_clock2
+event-record-types:
+ # ...
+----
+====
+
+.Data stream type object with a disabled packet <<disc-er-counter-snapshot-ft-prop,discarded event records counter snapshot field type feature>>.
+====
+[source,yaml]
+----
+$features:
+ packet:
+ discarded-event-records-counter-snapshot-field-type: false
+event-record-types:
+ # ...
+----
+====
+
+.Data stream type object with 16-bit packet <<total-size-ft-prop,total>> and <<content-size-ft-prop,content size field type features>>.
+====
+[source,yaml]
+----
+$features:
+ packet:
+ total-size-field-type: uint16
+ content-size-field-type: uint16
+event-record-types:
+ # ...
+----
+====
+
+.Data stream type object with a disabled event record <<ts-prop,timestamp field type feature>>.
+====
+[source,yaml]
+----
+$features:
+ event-record:
+ timestamp-field-type: false
+event-record-types:
+ # ...
+----
+====
+
+.Data stream type object with <<pkt-ctx-ft-extra-members-prop,packet context field type extra members>>.
+====
+[source,yaml]
+----
+packet-context-field-type-extra-members:
+ - cur_load: int8
+ - node_id: uint16
+ - node_addr: string
+event-record-types:
+ # ...
+----
+====
+
+.Data stream type object with an <<er-common-ctx-ft-prop,event record common context field type>>.
+====
+[source,yaml]
+----
+event-record-common-context-field-type:
+ class: structure
+ members:
+ - pid: uint32
+ - level: double
+event-record-types:
+ # ...
+----
+====
+
+.Data stream type object with <<include-prop,inclusions>>.
+====
+[source,yaml]
+----
+event-record-types:
+ # ...
+$include:
+ - project-b-event-record-types.yaml
+ - common-data-stream-type-features.yaml
+----
+====
--- /dev/null
+= YAML dynamic array field type objects
+
+A _**dynamic array field type object**_ is the type of dynamic
+(variable-length) array data fields, found in
+xref:how-barectf-works:ctf-primer.adoc#ds[data streams].
+
+A dynamic array data field is a sequence of data fields, or _elements_.
+In CTF, the number of elements in a dynamic array data field (its
+length) is the value of a prior integer data field.
+
+[[props]]
+== Properties
+
+[%autowidth.stretch, cols="d,d,a,d"]
+|===
+|Name |Type |Description |{req-abbr}
+
+|[[class-prop]]`class`
+|String
+|This property's value must be `dynamic-array`.
+|Yes if the <<inherit-prop,`$inherit`>> property is not set.
+
+include::partial$ft-obj-inherit-prop.adoc[]
+
+|[[element-ft-prop]]`element-field-type`
+|xref:ft-obj.adoc[Field type object] (except a
+xref:struct-ft-obj.adoc[structure field type object] and a
+dynamic array field type object) or string
+|Type of each element (data fields) in this field type's instances.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias]. This
+field type must _not_ be a structure field type or a dynamic array
+field type.
+|Yes
+|===
+
+== Generated C{nbsp}types
+
+barectf always generates two packet opening or tracing function
+parameters for a dynamic array field type object. Their C{nbsp}types
+are:
+
+Dynamic array's length::
+ `uint32_t`
+
+Dynamic array's data::
+ Pointer to `const __T__`, where `__T__` is the generated C{nbsp}type
+ for the field type object of the
+ <<element-ft-prop,`element-field-type` property>>.
++
+Examples:
++
+[%autowidth.stretch]
+|===
+|Element field type |Generated C{nbsp}type
+
+|8-bit unsigned xref:int-ft-obj.adoc[integer]
+|`const uint8_t *`
+
+|32-bit signed integer
+|`const int32_t *`
+
+|Single-precision xref:real-ft-obj.adoc[real]
+|`const float *`
+
+|xref:str-ft-obj.adoc[String]
+|`const char * const *`
+
+|Static array of 16-bit signed integers
+|`const int16_t * const *`
+
+|Static array of double-precision reals
+|`const double * const *`
+
+|Static array of strings
+|`const char * const * const *`
+
+|Static array of static arrays of 32-bit unsigned integers
+|`const uint32_t * const * const *`
+|===
+
+== Examples
+
+.Dynamic array field type object: <<length-prop,four>> 8-bit unsigned xref:int-ft-obj.adoc[integers].
+====
+[source,yaml]
+----
+class: dynamic-array
+length: 4
+element-field-type: uint8
+----
+====
+
+.Dynamic array field type object: <<length-prop,22>>{nbsp}xref:str-ft-obj.adoc[strings].
+====
+[source,yaml]
+----
+class: dynamic-array
+length: 22
+element-field-type:
+ class: string
+----
+====
+
+.Dynamic array field type object: <<length-prop,five>> xref:static-array-ft-obj.adoc[static arrays] of 32{nbsp}double-precision xref:real-ft-obj.adoc[reals].
+====
+[source,yaml]
+----
+class: dynamic-array
+length: 5
+element-field-type:
+ class: static-array
+ length: 32
+ element-field-type:
+ class: real
+ size: 64
+----
+====
--- /dev/null
+= YAML enumeration field type objects
+
+_**Enumeration field type objects**_ are the types of enumeration data
+fields, found in xref:how-barectf-works:ctf-primer.adoc#ds[data
+streams].
+
+An enumeration data field is an integer data field.
+
+An enumeration field type is an integer field type with
+<<mappings-prop,_mappings_>>. An enumeration field type mapping is a labeled
+set of integer ranges. An enumeration data field can have zero or more
+labels depending on its value.
+
+[[props]]
+== Properties
+
+[%autowidth.stretch, cols="d,d,a,d,a", role="can-break"]
+|===
+|Name |Type |Description |{req-abbr} |Default
+
+|[[class-prop]]`class`
+|String
+|This property's value must be one of:
+
+`unsigned-enumeration`::
+`unsigned-enum`::
+`uenum`::
+ Unsigned enumeration field type
+
+`signed-enumeration`::
+`signed-enum`::
+`senum`::
+ Signed enumeration field type
+|Yes if the <<inherit-prop,`$inherit`>> property is not set.
+|
+
+include::partial$int-ft-obj-base-props.adoc[]
+
+|[[mappings-prop]]`mappings`
+|Mapping of string keys to
+<<enum-ft-mapping-seq,enumeration field type mapping sequences>>
+|Mappings of this enumeration field type.
+
+Each mapping assigns a label to a set of integer ranges.
+|No
+|No mappings
+|===
+
+[[enum-ft-mapping-seq]]
+== Enumeration field type mapping sequence
+
+A YAML sequence of integer ranges, which can be:
+
+A sequence of two integers::
+ The first integer is the range's lower value (included).
++
+The second integer is the range's upper value (included).
+
+An integer::
+ This is equivalent to a sequence of two identical integers.
++
+In other words, `17` is equivalent to `+[17, 17]+`.
+
+== Generated C{nbsp}types
+
+include::partial$int-ft-obj-c-types-table.adoc[]
+
+== Examples
+
+.Basic <<size-prop,8-bit>> unsigned enumeration field type object.
+====
+[source,yaml]
+----
+class: unsigned-enumeration
+size: 8
+----
+====
+
+.<<size-prop,23-bit>> signed enumeration field type object with simple <<mappings-prop,mappings>>.
+====
+[source,yaml]
+----
+class: signed-enumeration
+size: 23
+mappings:
+ A: [2]
+ B: [5]
+ C: [9]
+----
+====
+
+.32-bit-<<align-prop,aligned>> <<size-prop,16-bit>> signed enumeration field type object with <<mappings-prop,mappings>>.
+====
+[source,yaml]
+----
+class: signed-enumeration
+size: 16
+alignment: 32
+mappings:
+ RUNNING:
+ - 17
+ - [19, 24]
+ - -144
+ WAITING:
+ - 18
+ - [-32, -25]
+ STOPPED: [202]
+----
+====
+
+.<<size-prop,32-bit>> unsigned enumeration field type object with a hexadecimal <<pref-disp-base-prop,preferred display base>> and <<mappings-prop,mappings>>.
+====
+[source,yaml]
+----
+class: unsigned-enumeration
+size: 32
+preferred-display-base: hexadecimal
+mappings:
+ steam-machine: [18]
+ on/off:
+ - 15
+ - [200, 1000]
+ the-prime-time-of-your-life: [2]
+----
+====
--- /dev/null
+= YAML event record type object
+
+An _**event record type object**_ is the type of an
+xref:how-barectf-works:ctf-primer.adoc#er[event record].
+
+An event record type describes parts (specific context and payload
+fields) of what a CTF consumer needs to decode its instances (event
+records). The other parts (header and common context) are described by
+the xref:dst-obj.adoc[data stream type] which contains the event record
+type.
+
+Event record type objects are only found under the
+xref:dst-obj.adoc#erts-prop[`event-record-types` property] of a data
+stream type object.
+
+barectf generates one xref:tracing-funcs:index.adoc[tracing function]
+per event record type.
+
+[[props]]
+== Properties
+
+All the properties are optional.
+
+[%autowidth.stretch, cols="d,d,a,d", role="can-break"]
+|===
+|Name |Type |Description |Default
+
+|[[ll-prop]]`log-level`
+|Positive integer or string
+|Numeric log level of this event record type's instances.
+
+If this property's value is a string, it's the name of an existing
+xref:trace-type-obj.adoc#ll-aliases-prop[log level alias].
+|No log level
+
+|[[spec-ctx-ft-prop]]`specific-context-field-type`
+|xref:struct-ft-obj.adoc[Structure field type object] or string
+|
+xref:how-barectf-works:ctf-primer.adoc#er[Specific context
+field] type of this event record type.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias].
+
+For each member `__NAME__` of this property, the
+xref:tracing-funcs:index.adoc[tracing function] which barectf generates
+for this event record type has an additional parameter named
+`sc___NAME__`.
+
+Member names must be valid xref:index.adoc#tsdl-ident[TSDL identifiers].
+|No specific context field type
+
+|[[payload-ft-prop]]`payload-field-type`
+|xref:struct-ft-obj.adoc[Structure field type object] or string
+|
+xref:how-barectf-works:ctf-primer.adoc#er[Payload field] type of
+this event record type.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias].
+
+For each member `__NAME__` of this property, the
+xref:tracing-funcs:index.adoc[tracing function] which barectf generates
+for this event record type has an additional parameter named
+`p___NAME__`.
+
+Member names must be valid xref:index.adoc#tsdl-ident[TSDL identifiers].
+|No payload field type
+
+|[[include-prop]]`$include`
+|Sequence of strings.
+|See xref:include.adoc[].
+|No inclusions
+|===
+
+== Examples
+
+.Basic event record type object.
+====
+[source,yaml]
+----
+payload-field-type:
+ class: structure
+ members:
+ - msg: string
+----
+====
+
+.Event record type object with a <<ll-prop,log level>>.
+====
+[source,yaml]
+----
+log-level: 12
+payload-field-type:
+ class: structure
+ members:
+ - msg: string
+----
+====
+
+.Event record type object with a <<ll-prop,log level>> (using a xref:trace-type-obj.adoc#ll-aliases-prop[log level alias]).
+====
+[source,yaml]
+----
+log-level: CRITICAL
+payload-field-type:
+ class: structure
+ members:
+ - msg: string
+----
+====
+
+.Event record type object with a <<spec-ctx-ft-prop,specific context field type>>.
+====
+[source,yaml]
+----
+specific-context-field-type:
+ class: structure
+ members:
+ - count:
+ field-type:
+ class: signed-integer
+ size: 32
+payload-field-type:
+ class: structure
+ members:
+ - msg: string
+----
+====
+
+.Event record type object with <<include-prop,inclusions>>.
+====
+[source,yaml]
+----
+payload-field-type:
+ class: structure
+ members:
+ - msg: string
+ - ip_addr:
+ field-type:
+ class: static-array
+ length: 4
+ element-field-type: uint8
+$include: [net-ctx.yaml]
+----
+====
--- /dev/null
+= YAML field type object
+
+A _**field type object**_ is the type of data field, found in
+xref:how-barectf-works:ctf-primer.adoc#ds[data streams].
+
+A field type object describes what a CTF consumer needs to decode a data
+field.
+
+You can use a xref:trace-type-obj.adoc#ft-aliases-prop[field type alias]
+name (a string) anywhere a field type object is expected.
+
+== Expected usage locations
+
+A field type object is expected at the following locations:
+
+Within another field type object::
++
+--
+* The xref:struct-ft-obj.adoc#member-ft-prop[`field-type` property]
+ of a structure field type member object.
+
+* The `element-field-type` property of a
+ xref:static-array-ft-obj.adoc#element-ft-prop[static] or
+ xref:dyn-array-ft-obj.adoc#element-ft-prop[dynamic field type object].
+--
+
+Within a xref:trace-type-obj.adoc[trace type object]::
++
+--
+* A value of a xref:trace-type-obj.adoc#ft-aliases-prop[field type
+ alias] mapping entry.
+
+* Any property of a
+ xref:trace-type-obj.adoc#features-obj[features object].
+--
+
+Within a xref:dst-obj.adoc[data stream type object]::
++
+--
+* Any property of a
+ xref:dst-obj.adoc#pkt-features-obj[packet features object].
+
+* Any property of an
+ xref:dst-obj.adoc#er-features-obj[event record features object].
+
+* The
+ xref:dst-obj.adoc#er-common-ctx-ft-prop[`event-record-common-context-field-type`
+ property].
+--
+
+Within an xref:ert-obj.adoc[event record type object]::
++
+--
+* The xref:ert-obj.adoc#spec-ctx-ft-prop[`specific-context-field-type`
+ property].
+
+* The xref:ert-obj.adoc#payload-ft-prop[`payload-field-type`
+ property].
+--
+
+== Available field type objects
+
+As of barectf{nbsp}{page-component-version}, the available field type
+objects are:
+
+xref:int-ft-obj.adoc[Integer field type objects]::
+ Describes unsigned and signed integer data fields.
+
+xref:enum-ft-obj.adoc[Enumeration field type objects]::
+ Describes unsigned and signed enumeration data fields.
+
+xref:real-ft-obj.adoc[Real field type object]::
+ Describes single-precision and double-precision real data fields.
+
+xref:str-ft-obj.adoc[String field type object]::
+ Describes null-terminated string data fields.
+
+xref:struct-ft-obj.adoc[Structure field type object]::
+ Describes structure data fields.
+
+xref:static-array-ft-obj.adoc[Static array field type object]::
+ Describes array data fields with a static length.
+
+xref:dyn-array-ft-obj.adoc[Dynamic array field type object]::
+ Describes array data fields with a dynamic (variable) length.
+
+[[gen-c-types]]
+== Generated C{nbsp}types
+
+barectf uses configured field types to generate user data parameters of
+packet opening and tracing functions.
+
+Each field type object page indicates the field type's corresponding
+C{nbsp}type(s).
+
+Here's a summary:
+
+[%autowidth.stretch, cols="d,a"]
+|===
+|Field type |C type
+
+|Unsigned
+xref:int-ft-obj.adoc[integer]/xref:enum-ft-obj.adoc[enumeration field
+type]
+|Depending on the `size` property:
+
+[1,{nbsp}8]::
+ `uint8_t`
+
+[9,{nbsp}16]::
+ `uint16_t`
+
+[17,{nbsp}32]::
+ `uint32_t`
+
+[33,{nbsp}64]::
+ `uint64_t`
+
+|Signed
+ xref:int-ft-obj.adoc[integer]/xref:enum-ft-obj.adoc[enumeration field
+ type]
+|Depending on the `size` property:
+
+[1,{nbsp}8]::
+ `int8_t`
+
+[9,{nbsp}16]::
+ `int16_t`
+
+[17,{nbsp}32]::
+ `int32_t`
+
+[33,{nbsp}64]::
+ `int64_t`
+
+|xref:real-ft-obj.adoc[Real field type]
+|Depending on the xref:real-ft-obj.adoc#size-prop[`size` property]:
+
+32::
+ `float`
+
+64::
+ `double`
+
+|xref:str-ft-obj.adoc[String field type]
+|`const char *`
+
+|xref:static-array-ft-obj.adoc[Static array field type]
+|Pointer to `const __T__`, where `__T__` is the generated C{nbsp}type
+ for the field type object of the
+ xref:static-array-ft-obj.adoc#element-ft-prop[`element-field-type`
+ property].
+
+|xref:dyn-array-ft-obj.adoc[Dynamic array field type]
+|Two adjacent parameters:
+
+Dynamic length::
+ `uint32_t`
+
+Element::
+ Pointer to `const __T__`, where `__T__` is the generated C{nbsp}type
+ for the field type object of the
+ xref:dyn-array-ft-obj.adoc#element-ft-prop[`element-field-type`
+ property].
+|===
+
+[[inherit]]
+== Inherit a field type object
+
+A field type object can _inherit_ the properties of another field type
+object with the common <<inherit-prop,`$inherit` property>>.
+
+When a field type object __**A**__ inherits another field type object
+__**B**__, the _effective_ field type object is __**A**__ "`patching`"
+__**B**__.
+
+include::partial$patching-rules-table.adoc[]
+
+=== Examples
+
+In the examples below, the name of the base field type object's alias is
+`base`.
+
+.Override scalar property.
+====
+.Base field type object
+[source,yaml]
+----
+class: unsigned-integer
+size: 32
+alignment: 8
+----
+
+.Overlay field type object
+[source,yaml]
+----
+$inherit: base
+size: 16
+----
+
+.Effective field type object
+[source,yaml]
+----
+class: unsigned-integer
+size: 16
+alignment: 8
+----
+====
+
+.Add and override scalar properties.
+====
+.Base field type object
+[source,yaml]
+----
+class: unsigned-integer
+size: 32
+alignment: 8
+----
+
+.Overlay field type object
+[source,yaml]
+----
+$inherit: base
+size: 16
+preferred-display-base: hexadecimal
+----
+
+.Effective field type object
+[source,yaml]
+----
+class: unsigned-integer
+size: 16
+alignment: 8
+preferred-display-base: hexadecimal
+----
+====
+
+.Append to sequence property.
+====
+.Base field type object
+[source,yaml]
+----
+class: signed-enumeration
+mappings:
+ COMPOSE:
+ - 56
+ - [100, 299]
+ DIRTY: [0]
+----
+
+.Overlay field type object
+[source,yaml]
+----
+$inherit: base
+size: 16
+mappings:
+ COMPOSE:
+ - -22
+----
+
+.Effective field type object
+[source,yaml]
+----
+class: signed-enumeration
+size: 16
+mappings:
+ COMPOSE:
+ - 56
+ - [100, 299]
+ - -22
+ DIRTY: [0]
+----
+====
+
+.Add to nested mapping property.
+====
+.Base field type object
+[source,yaml]
+----
+class: structure
+members:
+ - msg: string
+ - user_id: uint16
+----
+
+.Overlay field type object
+[source,yaml]
+----
+$inherit: base
+members:
+ - src_ip_addr:
+ field-type:
+ class: static-array
+ length: 4
+ element-field-type: uint8
+ - user_id: int8
+----
+
+.Effective field type object
+[source,yaml]
+----
+class: structure
+members:
+ - msg: string
+ - user_id: int8
+ - src_ip_addr:
+ field-type:
+ class: static-array
+ length: 4
+ element-field-type: uint8
+----
+====
+
+[[props]]
+== Common properties
+
+All field type objects require that the <<class-prop,`class`>> _or_ the
+<<inherit-prop,`$inherit` property>> be set, but not both.
+
+[%autowidth.stretch, cols="d,d,a,d"]
+|===
+|Name |Type |Description |Required?
+
+|[[class-prop]]`class`
+|String
+|Class of this field type amongst:
+
+`unsigned-integer`::
+`unsigned-int`::
+`uint`::
+ Unsigned xref:int-ft-obj.adoc[integer field type]
+
+`signed-integer`::
+`signed-int`::
+`sint`::
+ Signed xref:int-ft-obj.adoc[integer field type]
+
+`unsigned-enumeration`::
+`unsigned-enum`::
+`uenum`::
+ Unsigned xref:enum-ft-obj.adoc[enumeration field type]
+
+`signed-enumeration`::
+`signed-enum`::
+`senum`::
+ Signed xref:enum-ft-obj.adoc[enumeration field type]
+
+`real`::
+ xref:real-ft-obj.adoc[Real field type]
+
+`string`::
+`str`::
+ xref:str-ft-obj.adoc[String field type]
+
+`structure`::
+`struct`::
+ xref:struct-ft-obj.adoc[Structure field type]
+
+`static-array`::
+ xref:static-array-ft-obj.adoc[Static array field type]
+
+`dynamic-array`::
+ xref:dyn-array-ft-obj.adoc[Dynamic array field type]
+|Yes if the <<inherit-prop,`$inherit`>> property is not set.
+
+|[[inherit-prop]]`$inherit`
+|String
+|Name of a xref:trace-type-obj.adoc#ft-aliases-prop[field type alias]
+from which to <<inherit,inherit>>.
+|Yes if the <<class-prop,`class`>> property is not set.
+|===
--- /dev/null
+= Include partial YAML files
+
+You can include a partial YAML file from specific objects within the
+xref:cfg-obj.adoc[configuration object]:
+
+* xref:trace-obj.adoc[Trace object]
+* xref:trace-type-obj.adoc[Trace type object]
+* xref:clk-type-obj.adoc[Clock type object]
+* xref:dst-obj.adoc[Data stream type object]
+* xref:ert-obj.adoc[Event record type object]
+
+Each of the objects above can have an `$include` property which is a
+sequence of names of files to include.
+
+By choosing where to include partial YAML files strategically, you can
+split a configuration object into multiple reusable parts for different
+systems or projects.
+
+== Inclusion file search
+
+barectf tries to find each file of an `$include` property sequence in
+specific directories.
+
+When using the `barectf` CLI tool's
+xref:cli:usage.adoc#generate-command[`generate`] or
+xref:cli:usage.adoc#show-effective-configuration-command[`show-effective-configuration`]
+commands, the inclusion directory search order is:
+
+. The value of each
+ xref:cli:usage.adoc#generate-include-dir-option[`+--include-dir+`]
+ option, in order.
+
+. The current working directory.
+
+. The directory containing the <<std,standard inclusion files>> (like
+ `stdint.yaml` and `stdmisc.yaml`).
+
+By default, if `barectf` can't find an inclusion file, the command
+prints an error and xref:cli:usage.adoc#exit-status[exits] with a
+non-zero status. Force `barectf` to continue silently instead with its
+xref:cli:usage.adoc#generate-ignore-include-not-found-option[`+--ignore-include-not-found+`]
+option.
+
+== Inclusion rules
+
+With the `$include` property, an object _includes_ the properties of
+one or more YAML documents.
+
+barectf processes the items of the `$include` property sequence
+in order.
+
+When an object __**A**__ includes a YAML document __**B**__, the
+_effective_ object is __**A**__ "`patching`" __**B**__.
+
+include::partial$patching-rules-table.adoc[]
+
+=== Examples
+
+.Override scalar property (xref:ert-obj.adoc[event record type object]).
+====
+.`base.yaml`
+[source,yaml]
+----
+log-level: WARN
+payload-field-type:
+ class: structure
+ members:
+ - msg: string
+ - msg_id: uint16
+----
+
+.Overlay event record type object
+[source,yaml]
+----
+$include: [base.yaml]
+log-level: ERROR
+----
+
+.Effective event record type object
+[source,yaml]
+----
+log-level: ERROR
+payload-field-type:
+ class: structure
+ members:
+ - msg: string
+ - msg_id: uint16
+----
+====
+
+.Add and override scalar properties (xref:clk-type-obj.adoc[clock type object]).
+====
+.`base.yaml`
+[source,yaml]
+----
+frequency: 1000000
+offset:
+ seconds: 1992839
+----
+
+.Overlay clock type object
+[source,yaml]
+----
+$include: [base.yaml]
+frequency: 8000000
+origin-is-unix-epoch: false
+----
+
+.Effective clock type object
+[source,yaml]
+----
+frequency: 8000000
+offset:
+ seconds: 1992839
+origin-is-unix-epoch: false
+----
+====
+
+.Append to sequence property (xref:trace-type-obj.adoc[trace type object]).
+====
+.`base.yaml`
+[source,yaml]
+----
+$field-type-aliases:
+ my-enum:
+ class: signed-enumeration
+ mappings:
+ COMPOSE:
+ - 56
+ - [100, 299]
+ DIRTY: [0]
+----
+
+.Overlay trace type object
+[source,yaml]
+----
+$include: [base.yaml]
+$field-type-aliases:
+ my-enum:
+ size: 16
+ mappings:
+ COMPOSE:
+ - -22
+# ...
+----
+
+.Effective trace type object
+[source,yaml]
+----
+$field-type-aliases:
+ my-enum:
+ class: signed-enumeration
+ size: 16
+ mappings:
+ COMPOSE:
+ - 56
+ - [100, 299]
+ - -22
+ DIRTY: [0]
+# ...
+----
+====
+
+.Add to nested mapping property (event record type object).
+====
+.`base.yaml`
+[source,yaml]
+----
+specific-context-field-type:
+ class: structure
+ members:
+ - msg: string
+ - user_id: uint16
+----
+
+.Overlay event record type object
+[source,yaml]
+----
+$include: [base.yaml]
+specific-context-field-type:
+ class: structure
+ members:
+ - src_ip_addr:
+ field-type:
+ class: static-array
+ length: 4
+ element-field-type: uint8
+ - user_id: int8
+----
+
+.Effective event record type object
+[source,yaml]
+----
+specific-context-field-type:
+ class: structure
+ members:
+ - msg: string
+ - user_id: int8
+ - src_ip_addr:
+ field-type:
+ class: static-array
+ length: 4
+ element-field-type: uint8
+----
+====
+
+[[std]]
+== Standard partial YAML files
+
+The barectf project ships with a few "`standard`" partial YAML files
+to be included from a xref:trace-type-obj.adoc[trace type object]:
+
+https://github.com/efficios/barectf/blob/stable-{page-component-version}/barectf/include/3/stdint.yaml[`stdint.yaml`]::
+ Standard xref:int-ft-obj.adoc[integer]
+ xref:trace-type-obj.adoc#ft-aliases-prop[field type aliases], like
+ `uint8`, `byte-packed-sint16`, and `bit-packed-uint64`.
+
+https://github.com/efficios/barectf/blob/stable-{page-component-version}/barectf/include/3/stdreal.yaml[`stdreal.yaml`]::
+ Standard xref:real-ft-obj.adoc[real] field type aliases, like
+ `float` and `double`.
+
+https://github.com/efficios/barectf/blob/stable-{page-component-version}/barectf/include/3/stdmisc.yaml[`stdmisc.yaml`]::
+ The `string` and `str` xref:str-ft-obj.adoc[string] field type
+ aliases.
+
+https://github.com/efficios/barectf/blob/stable-{page-component-version}/barectf/include/3/lttng-ust-log-levels.yaml[`lttng-ust-log-levels.yaml`]::
+ xref:trace-type-obj.adoc#ll-aliases-prop[Log level aliases] which
+ correspond to the https://lttng.org/[LTTng-UST] log levels.
--- /dev/null
+= Write a barectf YAML configuration file
+
+A barectf configuration controls how barectf generates a tracer, for
+example:
+
+* What are the event record types for which to generate
+ xref:tracing-funcs:index.adoc[tracing functions]?
++
+In other words, what are the tracing function names and what are their
+parameter types and names?
+
+* Does a data stream have a clock source? If so, what's the clock source
+ function's return C{nbsp}type?
+
+* What's the identifier prefix for the C{nbsp}source code which barectf
+ generates?
++
+By default, a tracing function name could be
+`+barectf_trace_my_stream_my_event()+`, but it can also be
+`+my_company_trace_my_stream_my_event()+`.
+
+barectf supports two methods to write a configuration:
+
+. Create and assemble configuration objects with the barectf Python API
+ (`barectf` package).
+
+. Write a configuration in https://yaml.org/[YAML].
+
+This section is about method{nbsp}2.
+
+Read xref:yaml-primer.adoc[] to learn more about the YAML language.
+
+A barectf YAML configuration document is a
+xref:yaml:cfg-obj.adoc[configuration object].
+
+[NOTE]
+====
+In a barectf YAML configuration, a xref:yaml-primer.adoc#scalar[null
+value] always means to use the default value.
+
+This is useful when taking into account the xref:include.adoc[partial
+YAML file inclusion] or xref:ft-obj.adoc#inherit[field type object
+inheritance] features: the overriding object can reset properties to
+their default values.
+====
+
+[[stages]]
+== Processing stages
+
+barectf goes through the following stages when it processes a YAML
+configuration:
+
+. xref:include.adoc[Include], recursively, partial YAML files.
+
+. Expand xref:trace-type-obj.adoc#ft-aliases-prop[field type aliases].
++
+Replace every field type alias with its full xref:ft-obj.adoc[field type
+object], recursively.
+
+. Apply xref:ft-obj.adoc#inherit[field type object inheritance].
+
+. Expand xref:trace-type-obj.adoc#ll-aliases-prop[log level aliases].
++
+Replace every log level alias with its numeric value.
+
+. Normalize property values.
++
+If more than one value mean the same thing (for example,
+xref:common-values.adoc#byte-order[`be` and
+`big-endian`]), prefer one version.
+
+A xref:cfg-obj.adoc[configuration object], after step{nbsp}5, is known
+as an _effective configuration object_. The
+xref:cli:usage.adoc#show-effective-configuration-command[`barectf show-effective-configuration`
+CLI command] shows the effective version of a YAML configuration file.
+
+[[tsdl-ident]]
+== TSDL identifier
+
+Many barectf YAML objects require that a given string key or value
+be a valid TSDL identifier.
+
+As per https://diamon.org/ctf/v1.8.3/[CTF{nbsp}1.8.3], a valid TSDL
+identifier is any valid C{nbsp}identifier which is __not__ one of:
+
+* `align`
+* `callsite`
+* `const`
+* `char`
+* `clock`
+* `double`
+* `enum`
+* `env`
+* `event`
+* `floating_point`
+* `float`
+* `integer`
+* `int`
+* `long`
+* `short`
+* `signed`
+* `stream`
+* `string`
+* `struct`
+* `trace`
+* `typealias`
+* `typedef`
+* `unsigned`
+* `variant`
+* `void`
+* `_Bool`
+* `_Complex`
+* `_Imaginary`
--- /dev/null
+= YAML integer field type objects
+
+_**Integer field type objects**_ are the types of integer data fields,
+found in xref:how-barectf-works:ctf-primer.adoc#ds[data streams].
+
+[[props]]
+== Properties
+
+[%autowidth.stretch, cols="d,d,a,d,a", role="can-break"]
+|===
+|Name |Type |Description |{req-abbr} |Default
+
+|[[class-prop]]`class`
+|String
+|This property's value must be one of:
+
+`unsigned-integer`::
+`unsigned-int`::
+`uint`::
+ Unsigned integer field type
+
+`signed-integer`::
+`signed-int`::
+`sint`::
+ Signed integer field type
+|Yes if the <<inherit-prop,`$inherit`>> property is not set.
+|
+
+include::partial$int-ft-obj-base-props.adoc[]
+
+|===
+
+== Generated C{nbsp}types
+
+include::partial$int-ft-obj-c-types-table.adoc[]
+
+== Examples
+
+.Basic <<size-prop,8-bit>> unsigned integer field type object.
+====
+[source,yaml]
+----
+class: unsigned-integer
+size: 8
+----
+====
+
+.<<size-prop,23-bit>> signed integer field type object.
+====
+[source,yaml]
+----
+class: signed-integer
+size: 23
+----
+====
+
+.32-bit-<<align-prop,aligned>> <<size-prop,16-bit>> signed integer field type object.
+====
+[source,yaml]
+----
+class: signed-integer
+size: 16
+alignment: 32
+----
+====
+
+.<<size-prop,32-bit>> unsigned integer field type object with a hexadecimal <<pref-disp-base-prop,preferred display base>>.
+====
+[source,yaml]
+----
+class: unsigned-integer
+size: 32
+preferred-display-base: hexadecimal
+----
+====
--- /dev/null
+= YAML real field type object
+
+A _**real field type object**_ is the type of floating point number data
+fields, found in xref:how-barectf-works:ctf-primer.adoc#ds[data
+streams].
+
+[[props]]
+== Properties
+
+[%autowidth.stretch, cols="d,d,a,d,a"]
+|===
+|Name |Type |Description |{req-abbr} |Default
+
+|[[class-prop]]`class`
+|String
+|This property's value must be `real`.
+|Yes if the <<inherit-prop,`$inherit`>> property is not set.
+|
+
+include::partial$ft-obj-inherit-prop.adoc[]
+|
+
+|[[size-prop]]`size`
+|Positive integer
+|Size of this field type's instances (bits).
+
+This property's value must be one of:
+
+32::
+ https://en.wikipedia.org/wiki/Single-precision_floating-point_format[Single-precision floating point number]
+ instances (binary32).
+
+64::
+ https://en.wikipedia.org/wiki/Double-precision_floating-point_format[Double-precision floating point number]
+ instances (binary64).
+|Yes
+|
+
+|[[align-prop]]`alignment`
+|Power-of-two integer
+|Alignment of the first bit of this field type's instances within a
+xref:how-barectf-works:ctf-primer.adoc#pkt[CTF{nbsp}packet] (bits).
+|No
+|8
+|===
+
+== Generated C{nbsp}types
+
+Depending on the value of the <<size-prop,`size` property>>:
+
+32::
+ `float`
+
+64::
+ `double`
+
+== Examples
+
+.Basic <<size-prop,single-precision>> real field type object.
+====
+[source,yaml]
+----
+class: real
+size: 32
+----
+====
+
+.Basic <<size-prop,double-precision>> real field type object.
+====
+[source,yaml]
+----
+class: real
+size: 64
+----
+====
+
+.64-bit-<<align-prop,aligned>> <<size-prop,single-precision>> real field type object.
+====
+[source,yaml]
+----
+class: real
+size: 32
+alignment: 64
+----
+====
--- /dev/null
+= YAML static array field type objects
+
+A _**static array field type object**_ is the type of static array data
+fields, found in xref:how-barectf-works:ctf-primer.adoc#ds[data
+streams].
+
+A static array data field is a sequence of data fields, or
+_elements_. In CTF, the number of elements in a static array data field
+(its length) is found in the
+xref:how-barectf-works:ctf-primer.adoc#trace[metadata stream].
+
+[[props]]
+== Properties
+
+[%autowidth.stretch, cols="d,d,a,d"]
+|===
+|Name |Type |Description |{req-abbr}
+
+|[[class-prop]]`class`
+|String
+|This property's value must be `static-array`.
+|Yes if the <<inherit-prop,`$inherit`>> property is not set.
+
+include::partial$ft-obj-inherit-prop.adoc[]
+
+|[[length-prop]]`length`
+|Positive integer
+|Number of elements in this field type's instances.
+|Yes
+
+|[[element-ft-prop]]`element-field-type`
+|xref:ft-obj.adoc[Field type object] (except a
+xref:struct-ft-obj.adoc[structure field type object] and a
+xref:dyn-array-ft-obj.adoc[dynamic array field type object]) or string
+|Type of each element (data fields) in this field type's instances.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias]. This
+field type must _not_ be a structure field type or a dynamic array
+field type.
+|Yes
+|===
+
+== Generated C{nbsp}types
+
+Pointer to `const __T__`, where `__T__` is the generated C{nbsp}type for
+the field type object of the <<element-ft-prop,`element-field-type`
+property>>.
+
+Examples:
+
+[%autowidth.stretch]
+|===
+|Element field type |Generated C{nbsp}type
+
+|8-bit unsigned xref:int-ft-obj.adoc[integer]
+|`const uint8_t *`
+
+|32-bit signed integer
+|`const int32_t *`
+
+|Single-precision xref:real-ft-obj.adoc[real]
+|`const float *`
+
+|xref:str-ft-obj.adoc[String]
+|`const char * const *`
+
+|Static array of 16-bit signed integers
+|`const int16_t * const *`
+
+|Static array of double-precision reals
+|`const double * const *`
+
+|Static array of strings
+|`const char * const * const *`
+
+|Static array of static arrays of 32-bit unsigned integers
+|`const uint32_t * const * const *`
+|===
+
+== Examples
+
+.Static array field type object: <<length-prop,four>> 8-bit unsigned xref:int-ft-obj.adoc[integers].
+====
+[source,yaml]
+----
+class: static-array
+length: 4
+element-field-type: uint8
+----
+====
+
+.Static array field type object: <<length-prop,22>>{nbsp}xref:str-ft-obj.adoc[strings].
+====
+[source,yaml]
+----
+class: static-array
+length: 22
+element-field-type:
+ class: string
+----
+====
+
+.Static array field type object: <<length-prop,five>> static arrays of 32{nbsp}double-precision xref:real-ft-obj.adoc[reals].
+====
+[source,yaml]
+----
+class: static-array
+length: 5
+element-field-type:
+ class: static-array
+ length: 32
+ element-field-type:
+ class: real
+ size: 64
+----
+====
--- /dev/null
+= YAML string field type object
+
+A _**string field type object**_ is the type of null-terminated string
+data fields, found in xref:how-barectf-works:ctf-primer.adoc#ds[data
+streams].
+
+[[props]]
+== Properties
+
+[%autowidth.stretch, cols="d,d,a,d"]
+|===
+|Name |Type |Description |Required?
+
+|[[class-prop]]`class`
+|String
+|This property's value must be one of:
+
+* `string`
+* `str`
+|Yes if the <<inherit-prop,`$inherit`>> property is not set.
+
+include::partial$ft-obj-inherit-prop.adoc[]
+|===
+
+== Generated C{nbsp}type
+
+`const char *`
+
+== Example
+
+.Basic string field type object.
+====
+[source,yaml]
+----
+class: string
+----
+====
--- /dev/null
+= YAML structure field type objects
+
+A _**structure field type object**_ is the type of structure data
+fields, found in xref:how-barectf-works:ctf-primer.adoc#ds[data
+streams].
+
+A structure data field is a sequence of named data fields, or
+_members_. In CTF, the names of those members are found in the
+xref:how-barectf-works:ctf-primer.adoc#trace[metadata stream].
+
+[[props]]
+== Properties
+
+[%autowidth.stretch, cols="d,a,a,d,a"]
+|===
+|Name |Type |Description |{req-abbr} |Default
+
+|[[class-prop]]`class`
+|String
+|This property's value must be one of:
+
+* `structure`
+* `struct`
+|Yes if the <<inherit-prop,`$inherit`>> property is not set.
+|
+
+include::partial$ft-obj-inherit-prop.adoc[]
+|
+
+|[[min-align-prop]]`minimum-alignment`
+|Power-of-two integer
+|_Minimum_ alignment of the first bit of this field type's instances
+within a xref:how-barectf-works:ctf-primer.adoc#pkt[CTF{nbsp}packet]
+(bits).
+|No
+|1
+
+|[[members-prop]]`members`
+|Sequence of mappings, where each mapping has a single entry:
+
+Key::
+ Member's name.
+
+Value::
+ <<struct-ft-member-obj,Structure field type member object>>
+ or string.
+
+This sequence is considered to be an _ordered mapping_, similar to
+YAML's https://yaml.org/type/omap.html[`+!!omap+`] type. Therefore,
+each mapping key must be unique.
+|Members of this structure field type.
+
+If a mapping's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias]. This
+field type must _not_ be a structure field type.
+|No
+|No members
+|===
+
+[[struct-ft-member-obj]]
+== Structure field type member object
+
+A member within a structure field type object.
+
+=== Properties
+
+[%autowidth.stretch, cols="d,d,a,d"]
+|===
+|Name |Type |Description |{req-abbr}
+
+|[[member-ft-prop]]`field-type`
+|xref:ft-obj.adoc[Field type object] (except a structure field type
+object) or string
+|Member's field type.
+
+If this property's value is a string, it must be the name of an existing
+xref:trace-type-obj.adoc#ft-aliases-prop[field type alias]. This
+field type must _not_ be a structure field type.
+|Yes
+|===
+
+== Examples
+
+.Basic structure field type object with no <<members-prop,members>>.
+====
+[source,yaml]
+----
+class: structure
+----
+====
+
+.Structure field type object with three <<members-prop,members>> using xref:trace-type-obj.adoc#ft-aliases-prop[field type aliases].
+====
+[source,yaml]
+----
+class: structure
+members:
+ - msg: string
+ - msg_id: uint32
+ - src_ip_addr: ipv4
+----
+====
+
+.Structure field type object with one <<struct-ft-member-obj,member object>>.
+====
+[source,yaml]
+----
+class: structure
+members:
+ - msg: string
+ - msg_id:
+ field-type:
+ class: unsigned-integer
+ size: 32
+ - src_ip_addr: ipv4
+----
+====
+
+.Structure field type object with an explicit <<min-align-prop,minimum alignment>>.
+====
+[source,yaml]
+----
+class: structure
+minimum-alignment: 64
+members:
+ - msg: string
+ - msg_id: uint32
+ - src_ip_addr: ipv4
+----
+====
--- /dev/null
+= YAML trace object
+
+A _**trace object**_ represents a
+xref:how-barectf-works:ctf-primer.adoc[CTF trace].
+
+A trace object has a xref:trace-type-obj.adoc[type] and an
+optional environment.
+
+As of barectf{nbsp}{page-component-version}, a
+xref:cfg-obj.adoc[configuration object] has a single trace object.
+
+== Properties
+
+[%autowidth.stretch, cols="d,d,a,d,d"]
+|===
+|Name |Type |Description |{req-abbr} |Default
+
+|[[type-prop]]`type`
+|xref:trace-type-obj.adoc[Trace type object]
+|Type of this trace (metadata part).
+|Yes
+|
+
+|[[env-prop]]`environment`
+|Mapping of string keys to integer or string values
+|This trace's environment variables.
+
+Keys of this mapping are environment variable names. They must be valid
+xref:index.adoc#tsdl-ident[TSDL identifiers].
+
+A CTF trace reader can read the variables of this mapping.
+|No
+|Empty mapping
+
+|[[include-prop]]`$include`
+|Sequence of strings.
+|See xref:include.adoc[].
+|No
+|No inclusions
+|===
+
+== Examples
+
+NOTE: The following examples omit the <<type-prop,trace type object>>
+for clarity.
+
+.Basic trace object.
+====
+[source,yaml]
+----
+type:
+ # ...
+----
+====
+
+.Trace object with <<env-prop,environment variables>>.
+====
+[source,yaml]
+----
+type:
+ # ...
+environment:
+ my_program_version_major: 1
+ my_program_version_minor: 6
+ os: Palm OS
+----
+====
+
+.Trace object with an <<include-prop,inclusion>>.
+====
+[source,yaml]
+----
+type:
+ # ...
+$include: [my-env.yaml]
+----
+====
--- /dev/null
+= YAML trace type object
+
+A _**trace type object**_ is the type of a xref:trace-obj.adoc[trace
+object].
+
+A trace type describes everything a CTF consumer needs to decode all the
+trace's xref:how-barectf-works:ctf-primer.adoc#ds[data
+streams].
+
+A trace type object is only found as the
+xref:trace-obj.adoc#type-prop[`type` property] of a trace object.
+
+[[props]]
+== Properties
+
+[%autowidth.stretch, cols="d,d,a,d,d", role="can-break"]
+|===
+|Name |Type |Description |{req-abbr} |Default
+
+|[[native-bo]]`native-byte-order`
+|xref:common-values.adoc#byte-order[Byte order]
+|Native byte order of the system which produces this trace type's
+instance's xref:how-barectf-works:ctf-primer.adoc#ds[data streams].
+|Yes
+|
+
+|[[uuid-prop]]`uuid`
+|xref:common-values.adoc#uuid[UUID] or string
+|UUID of this trace type.
+
+If this property's value is the string `auto`, barectf generates a UUID.
+
+|No
+|No UUID
+
+|[[ft-aliases-prop]]`$field-type-aliases`
+|Mapping of string keys to xref:ft-obj.adoc[field type objects]
+or strings
+|Field type aliases.
+
+Keys of this mapping are field type alias names.
+
+If an entry's value is a string, it must be the name of an existing
+field type alias.
+
+You can use a field type alias name anywhere you can use a
+xref:ft-obj.adoc[field type object].
+|No
+|Empty mapping
+
+|[[ll-aliases-prop]]`$log-level-aliases`
+|Mapping of string keys to integers
+|Log level aliases.
+
+Keys of this mapping are log level alias names.
+
+Values of this mapping are positive integral log levels.
+
+You can use a log level alias name as the value of an event record type
+object's xref:ert-obj.adoc#ll-prop[`log-level` property].
+|No
+|Empty mapping
+
+|`$features`
+|<<features-obj>>
+|Features of this trace type's instance (trace).
+|No
+|See <<features-obj>> for default values.
+
+|[[clk-types-prop]]`clock-types`
+|Mapping of string keys to xref:clk-type-obj.adoc[clock type objects]
+|Clock type store for this trace type.
+
+Keys of this mapping are clock type names. They must be valid
+xref:index.adoc#tsdl-ident[TSDL identifiers].
+
+The
+xref:dst-obj.adoc#def-clk-type-name-prop[`$default-clock-type-name`
+property] of a data stream type object refers to a key of this mapping.
+|No
+|No clock type store
+
+|[[dsts-prop]]`data-stream-types`
+|Mapping of string keys to xref:dst-obj.adoc[data stream
+type objects]
+|Data stream types of this trace type.
+
+Keys of this mapping are data stream type names. They must be valid
+C{nbsp}identifiers.
+
+This mapping must contain at least one entry.
+|Yes
+|
+
+|[[include-prop]]`$include`
+|Sequence of strings.
+|See xref:include.adoc[].
+|No
+|No inclusions
+|===
+
+[[features-obj]]
+== Features object
+
+The features of a trace type object.
+
+As of barectf{nbsp}{page-component-version}, each feature controls
+whether or not some information will be part of the header of each
+xref:how-barectf-works:ctf-primer.adoc#pkt[CTF packet] which the
+generated tracer produces.
+
+You can enable or disable a feature. When you enable one, you can set
+its xref:ft-obj.adoc[field type] explicitly or make barectf choose a
+sane default.
+
+=== Properties
+
+For all the feature properties below, if the value is a boolean:
+
+True::
+ Make barectf use a default field type.
+
+False::
+ Disable the feature.
+
+All the properties are optional.
+
+[%autowidth.stretch, cols="d,d,a,d", role="can-break"]
+|===
+|Name |Type |Description |Default
+
+|[[magic-ft-prop]]`magic-field-type`
+|32-bit{nbsp}unsigned xref:int-ft-obj.adoc[integer field type object],
+string, or boolean
+|Type of packet header's magic number field.
+
+If this property's value is a string, it must be the name of an existing
+<<ft-aliases-prop,field type alias>>.
+|True
+
+|[[uuid-ft-prop]]`uuid-field-type`
+|xref:static-array-ft-obj.adoc[Static array field type object] of
+16{nbsp}8-bit{nbsp}unsigned xref:int-ft-obj.adoc[integer field
+type objects] (8-bit{nbsp}alignment), string, or boolean
+|Type of packet header's trace type UUID field.
+
+If this property's value is a string, it must be the name of an existing
+<<ft-aliases-prop,field type alias>>.
+|True if this trace type has a <<uuid-prop,`uuid` property>>, or false
+otherwise.
+
+|[[dst-id-ft-prop]]`data-stream-type-id-field-type`
+|Unsigned xref:int-ft-obj.adoc[integer field type object], string,
+or boolean
+|Type of packet header's xref:dst-obj.adoc[data stream type] ID field.
+
+If this property's value is a string, it must be the name of an existing
+<<ft-aliases-prop,field type alias>>.
+
+This feature is required when this trace type has more than one
+data stream type (<<dsts-prop,`data-stream-types` property>>).
+|True
+|===
+
+== Examples
+
+NOTE: The following examples can omit <<dsts-prop,data stream type
+objects>> for clarity.
+
+.Basic trace type object.
+====
+[source,yaml]
+----
+native-byte-order: little-endian
+data-stream-types:
+ # ...
+----
+====
+
+.Trace type object with a specific <<uuid-prop,UUID>>.
+====
+[source,yaml]
+----
+native-byte-order: little-endian
+uuid: 1b706833-b56c-4960-b5f7-e43651ff01fb
+data-stream-types:
+ # ...
+----
+====
+
+.Trace type object with an automatic <<uuid-prop,UUID>>.
+====
+[source,yaml]
+----
+native-byte-order: little-endian
+uuid: auto
+data-stream-types:
+ # ...
+----
+====
+
+.Trace type object with a disabled <<magic-ft-prop,magic field type feature>>.
+====
+[source,yaml]
+----
+native-byte-order: little-endian
+$features:
+ magic-field-type: false
+data-stream-types:
+ # ...
+----
+====
+
+.Trace type object with a specific <<dst-id-ft-prop,data stream type ID field type feature>>.
+====
+[source,yaml]
+----
+native-byte-order: little-endian
+$features:
+ data-stream-type-id-field-type:
+ class: unsigned-integer
+ size: 8
+data-stream-types:
+ # ...
+----
+====
+
+.Trace type object with a <<clk-types-prop,clock type object>>.
+====
+[source,yaml]
+----
+native-byte-order: little-endian
+clock-types:
+ sys_clock:
+ frequency: 8000000
+ description: Clock A13 (8 MHz)
+ origin-is-unix-epoch: false
+data-stream-types:
+ my_stream:
+ $default-clock-type-name: sys_clock
+ # ...
+ # ...
+----
+====
+
+.Trace type object with <<ft-aliases-prop,field type aliases>>.
+====
+[source,yaml]
+----
+native-byte-order: little-endian
+$field-type-aliases:
+ hex-uint8:
+ $inherit: uint8
+ preferred-display-base: hexadecimal
+ string-array:
+ class: dynamic-array
+ element-field-type:
+ class: string
+$features:
+ magic-field-type: hex-uint8
+data-stream-types:
+ my_stream:
+ event-record-types:
+ my_event:
+ payload-field-type:
+ client_id: hex-uint8
+ messages: string-array
+ # ...
+ # ...
+ # ...
+----
+====
+
+.Trace type object with a <<ll-aliases-prop,log level alias>>.
+====
+[source,yaml]
+----
+native-byte-order: little-endian
+$log-level-aliases:
+ WARN: 17
+data-stream-types:
+ my_stream:
+ event-record-types:
+ my_event:
+ log-level: WARN
+ # ...
+ # ...
+ # ...
+ # ...
+----
+====
+
+.Trace type object with <<include-prop,inclusions>>.
+====
+[source,yaml]
+----
+native-byte-order: little-endian
+data-stream-types:
+ # ...
+$include:
+ - stdint.yaml
+ - stdmisc.yaml
+ - network-field-type-aliases.yaml
+ - sched-field-type-aliases.yaml
+ - default-log-levels.yaml
+ - project-b-data-stream-types.yaml
+----
+====
--- /dev/null
+= YAML primer
+
+https://yaml.org/[YAML] is a human-readable data serialization format,
+like https://www.json.org/json-en.html[JSON].
+
+In fact, YAML is a superset of JSON: you can also write a barectf
+configuration in JSON.
+
+YAML has many features which are outside the scope of the barectf
+documentation. This page is a simple introduction to the
+https://yaml.org/spec/1.2/spec.html[YAML{nbsp}1.2] language.
+
+YAML uses indentation for scoping, much like Python.
+
+The root of a YAML document is a <<mapping,mapping>>.
+
+[[mapping]]
+== Mapping
+
+A YAML mapping is an unordered list of key-value pairs.
+
+Within a mapping, `:` delimits the value from the key.
+
+.A YAML mapping with four entries.
+====
+[source,yaml]
+----
+Castonguay: Huguette Delisle
+Létourneau: Gaétan Delisle
+Robitaille: Serge Paquette
+Gonthier-Hyndman: Micheline Paquette
+----
+====
+
+.A YAML mapping with a nested mapping.
+====
+[source,yaml]
+----
+title: C'est comme ça que je t'aime
+country: Canada
+language: French
+release-date: 6 March 2020
+cast:
+ Castonguay: Huguette Delisle
+ Létourneau: Gaétan Delisle
+ Robitaille: Serge Paquette
+ Gonthier-Hyndman: Micheline Paquette
+----
+====
+
+You can also write a mapping on a single line, delimiting key-value
+pairs with `,`, beginning with `{` and ending with `}`:
+
+.A single-line YAML mapping with four entries.
+====
+[source,yaml]
+----
+{Marilyn: Huguette, François: Gaétan, Karine: Micheline, Patrice: Serge}
+----
+====
+
+.A YAML mapping with a nested single-line mapping.
+====
+[source,yaml]
+----
+title: C'est comme ça que je t'aime
+country: Canada
+language: French
+release-date: 6 March 2020
+cast: {Marilyn: Huguette, François: Gaétan, Karine: Micheline, Patrice: Serge}
+----
+====
+
+Although the keys of a mapping can be any value, barectf only uses
+strings.
+
+Each key of a given mapping must be unique.
+
+[[sequence]]
+== Sequence
+
+A YAML sequence is an ordered list of values.
+
+Each item begins with `-`.
+
+.A YAML sequence with four items.
+====
+[source,yaml]
+----
+- Corvette Express
+- Québec Deli
+- Boulangerie Fanfare
+- Marché Méli-Mélo
+----
+====
+
+.A YAML sequence. The third item is a <<mapping,mapping>>.
+====
+[source,yaml]
+----
+- Le poète des temps gris
+- Aidez-moi
+- name: Granby
+ album: Toutte est temporaire
+ year: 2014
+- La patente
+----
+====
+
+You can also write a sequence on a single line, delimiting items
+with a comma (`,`), beginning with `[` and ending with `]`:
+
+.A single-line YAML sequence with four items.
+====
+[source,yaml]
+----
+[Corvette Express, Québec Deli, Boulangerie Fanfare, Marché Méli-Mélo]
+----
+====
+
+.A single-line YAML sequence. The third item is a single-line <<mapping,mapping>>.
+====
+[source,yaml]
+----
+[Le poète des temps gris, Aidez-moi, {name: Granby, year: 2014}, La patente]
+----
+====
+
+[[scalar]]
+== Null, boolean, integer, and string values
+
+The basic YAML scalar values which are of interest to write a barectf
+configuration are:
+
+Null::
+ `null`, `Null`, `NULL`, `+~+`, or nothing.
++
+In a barectf YAML configuration, a null value always means to use the
+default value.
+
+Boolean::
+ `true`, `True`, `TRUE`, `false`, `False`, or `FALSE`.
+
+Integer::
+ Anything matching:
++
+** `+[-+]?[0-9]++` (decimal)
+** `+0o[0-7]++` (octal)
+** `+0x[0-9a-fA-F]++` (hexadecimal)
+
++
+Examples: `23`, `0x45fc1`, `-17`, `0o644`.
+
+String::
+ Double-quoted or single-quoted sequence of characters, or unquoted
+ sequence of characters when it doesn't match the form of another
+ value.
++
+Examples:
++
+** `+"Whoever is happy will make others happy too."+`
+** `+'Life is either a daring adventure or nothing at all.'+`
+** `+Only a life lived for others is a life worthwhile.+`
+
+.A YAML mapping with null, boolean, integer, and string values.
+====
+[source,yaml]
+----
+'null': null
+booleans: [true, false]
+integers: [23, 0x45fc1, -17, 0o644]
+strings:
+ - "Whoever is happy will make others happy too."
+ - 'Life is either a daring adventure or nothing at all.'
+ - Only a life lived for others is a life worthwhile
+----
+====
+
+== Comment
+
+A YAML comment starts with `+#+` and ends at the end of the line.
+
+.A YAML mapping with comments.
+====
+[source,yaml]
+----
+title: C'est comme ça que je t'aime
+
+# This is actually a Québec production.
+country: Canada
+
+language: French
+release-date: 6 March 2020
+cast:
+ Castonguay: Huguette Delisle
+ Létourneau: Gaétan Delisle # also cowrote Série noire
+ Robitaille: Serge Paquette
+ Gonthier-Hyndman: Micheline Paquette
+----
+====
+
+== Tags
+
+Any YAML value has a tag to indicate its meaning.
+
+If you don't write any tag, it's implicit from the value's form.
+
+.A YAML value with a tag.
+====
+The second `true` value below is actually a string instead of a boolean
+because it has an explicit YAML string tag:
+
+[source,yaml]
+----
+a boolean: true
+actually a string: !<tag:yaml.org,2002:str> true
+----
+====
+
+In the example above, `tag:yaml.org,2002:str` is the standard YAML tag
+for string values.
+
+barectf requires that the configuration file's root <<mapping,mapping>>
+be tagged with `tag:barectf.org,2020/3/config` to identify the whole
+mapping as a barectf configuration object.
+
+You can tag the root mapping by tagging the YAML document itself:
+
+.A tagged YAML document.
+====
+[source,yaml]
+----
+--- !<tag:barectf.org,2020/3/config>
+trace:
+ type:
+ # ...
+----
+====
--- /dev/null
+|[[inherit-prop]]`$inherit`
+|String
+|Name of a xref:trace-type-obj.adoc#ft-aliases-prop[field type alias]
+from which to xref:ft-obj.adoc#inherit[inherit].
+|Yes if the <<class-prop,`class`>> property is not set.
--- /dev/null
+include::partial$ft-obj-inherit-prop.adoc[]
+|
+
+|[[size-prop]]`size`
+|Positive integer
+|Size of this field type's instances (bits).
+
+This property's value must be in the [1,{nbsp}64] range.
+|Yes
+|
+
+|[[align-prop]]`alignment`
+|Power-of-two integer
+|Alignment of the first bit of this field type's instances within a
+xref:how-barectf-works:ctf-primer.adoc#pkt[CTF{nbsp}packet] (bits).
+|No
+|8 if the <<size-prop,`size` property>> is a multiple of{nbsp}8,
+or{nbsp}1 otherwise.
+
+|[[pref-disp-base-prop]]`preferred-display-base`
+|String
+|
+The preferred base (radix) to use when displaying this field type's
+instances.
+
+The value of this property is only a _hint_ to CTF consumers; they don't
+have to consider it.
+
+This property's value must be one of:
+
+`bin`::
+`binary`::
+ Binary.
+
+`oct`::
+`octal`::
+ Octal.
+`dec`::
+`decimal`::
+ Decimal.
+
+`hex`::
+`hexadecimal`::
+ Hexadecimal.
+
+|No
+|Decimal preferred display base
--- /dev/null
+Depending on the signedness of the integer field type and on the
+value of its <<size-prop,`size` property>>:
+
+[%autowidth.stretch]
+|===
+|__Signedness__{nbsp}/{nbsp}__Size (bits)__ |[1,{nbsp}8] |[9,{nbsp}16] |[17,{nbsp}32] |[33,{nbsp}64]
+
+|**Unsigned**
+|`uint8_t`
+|`uint16_t`
+|`uint32_t`
+|`uint64_t`
+
+|**Signed**
+|`int8_t`
+|`int16_t`
+|`int32_t`
+|`int64_t`
+|===
--- /dev/null
+For a given property of __**A**__, the patching rules are:
+
+[%autowidth.stretch, cols="d,a,a"]
+|===
+|__**A**__'s property type |<em>A</em>'s property exists in <em>B</em> |<em>A</em>'s property doesn't exist in <em>B</em>
+
+|Null, boolean, integer, and string
+|Replace __**B**__'s property with __**A**__'s property.
+|Keep __**A**__'s property.
+
+|Sequence
+|
+__**B**__'s property is also a sequence::
+ Append the items of __**A**__'s property to __**B**__'s
+ property.
++
+A structure field type object's
+xref:struct-ft-obj.adoc#members-prop[`members` property] is an
+exception: __**A**__'s property is considered to be an _ordered
+mapping_, therefore apply the mapping patching rules.
+
+__**B**__'s property is _not_ a sequence::
+ Replace __**B**__'s property with __**A**__'s property.
+|Keep __**A**__'s property.
+
+|Mapping
+|
+__**B**__'s property is also a mapping::
+ Patch __**A**__'s property over __**B**__'s property according to
+ those rules.
+
+__**B**__'s property is _not_ a mapping::
+ Replace __**B**__'s property with __**A**__'s property.
+|Keep __**A**__'s property.
+|===
+
+NOTE: When __**A**__'s property replaces __**B**__'s property and the
+value of __**A**__'s property is null, this effectively "`resets`" the
+property to its default value.