add typst document for bpv qrs

This commit is contained in:
Arthur Grisel-Davy 2023-06-13 14:44:19 -04:00
parent 1c4eee4a87
commit f20570f5d0
10 changed files with 4719 additions and 0 deletions

488
BPV/qrs/bibli.bib Normal file
View file

@ -0,0 +1,488 @@
@online{cve-firmware,
author = {mitre.org},
title = {cve.mitre.org},
year = 2021,
url = {https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=Firmware},
urldate = {2021-12-7}
}
@article{BASNIGHT201376,
title = {Firmware modification attacks on programmable logic controllers},
journal = {International Journal of Critical Infrastructure Protection},
volume = {6},
number = {2},
pages = {76-84},
year = {2013},
issn = {1874-5482},
doi = {https://doi.org/10.1016/j.ijcip.2013.04.004},
url = {https://www.sciencedirect.com/science/article/pii/S1874548213000231},
author = {Zachry Basnight and Jonathan Butts and Juan Lopez and Thomas Dube},
}
@misc{rieck2016attacks,
title={Attacks on Fitness Trackers Revisited: A Case-Study of Unfit Firmware Security},
author={Jakob Rieck},
year={2016},
eprint={1604.03313},
archivePrefix={arXiv},
primaryClass={cs.CR}
}
@inproceedings {185175,
author = {Jacob Maskiewicz and Benjamin Ellis and James Mouradian and Hovav Shacham},
title = {Mouse Trap: Exploiting Firmware Updates in {USB} Peripherals},
booktitle = {8th {USENIX} Workshop on Offensive Technologies ({WOOT} 14)},
year = {2014},
address = {San Diego, CA},
url = {https://www.usenix.org/conference/woot14/workshop-program/presentation/maskiewicz},
publisher = {{USENIX} Association},
month = aug,
}
@online{usb_killer,
author = {Dark Purple },
title = {USB Killer},
year = 2021,
url = {https://kukuruku.co/post/usb-killer/},
urldate = {2021-12-18}
}
@online{lan_turtle,
author = {Hack5},
title = {LAN Turtle},
year = 2021,
url = {https://hak5.org/collections/sale/products/lan-turtle},
urldate = {2021-12-18}
}
@online{rubber_ducky,
author = {Hack5},
title = {Rubber Ducky},
year = 2021,
url = {https://hak5.org/collections/sale/products/usb-rubber-ducky-deluxe},
urldate = {2021-12-18}
}
@online{key_croc,
author = {Hack5},
title = {Key Coc},
year = 2021,
url = {https://hak5.org/collections/sale/products/key-croc},
urldate = {2021-12-18}
}
@online{minio,
author = {MinIO},
title = {MinIO},
year = 2021,
url = {https://min.io/},
urldate = {2021-12-18}
}
@INPROCEEDINGS{firmware_blockchain,
author={Lim, Jea-Min and Kim, Youngpil and Yoo, Chuck},
booktitle={2018 IEEE International Conference on Internet of Things (iThings) and IEEE Green Computing and Communications (GreenCom) and IEEE Cyber, Physical and Social Computing (CPSCom) and IEEE Smart Data (SmartData)},
title={Chain Veri: Blockchain-Based Firmware Verification System for IoT Environment},
year={2018},
volume={},
number={},
pages={1050-1056},
doi={10.1109/Cybermatics_2018.2018.00194}}
@InProceedings{firmware_blockchain_2,
author="Lee, Boohyung
and Malik, Sehrish
and Wi, Sarang
and Lee, Jong-Hyouk",
editor="Lee, Jong-Hyouk
and Pack, Sangheon",
title="Firmware Verification of Embedded Devices Based on a Blockchain",
booktitle="Quality, Reliability, Security and Robustness in Heterogeneous Networks",
year="2017",
publisher="Springer International Publishing",
address="Cham",
pages="52--61",
isbn="978-3-319-60717-7"
}
@InProceedings{firmware_data,
author="McMinn, Lucille
and Butts, Jonathan",
editor="Butts, Jonathan
and Shenoi, Sujeet",
title="A Firmware Verification Tool for Programmable Logic Controllers",
booktitle="Critical Infrastructure Protection VI",
year="2012",
publisher="Springer Berlin Heidelberg",
address="Berlin, Heidelberg",
pages="59--69",
isbn="978-3-642-35764-0"
}
@INPROCEEDINGS{firmware_crypto,
author={Nilsson, Dennis K. and Sun, Lei and Nakajima, Tatsuo},
booktitle={2008 IEEE Globecom Workshops},
title={A Framework for Self-Verification of Firmware Updates over the Air in Vehicle ECUs},
year={2008},
volume={},
number={},
pages={1-5},
doi={10.1109/GLOCOMW.2008.ECP.56}}
@InProceedings{firmware_sign,
author="Jeong, Eunseon
and Park, Junyoung
and Son, Byeonggeun
and Kim, Myoungsu
and Yim, Kangbin",
editor="Barolli, Leonard
and Xhafa, Fatos
and Javaid, Nadeem
and Enokido, Tomoya",
title="Study on Signature Verification Process for the Firmware of an Android Platform",
booktitle="Innovative Mobile and Internet Services in Ubiquitous Computing",
year="2019",
publisher="Springer International Publishing",
address="Cham",
pages="540--545",
isbn="978-3-319-93554-6"
}
@misc{mitre,
title = {MITRE ATT&CK® T1542.001 Pre-OS Boot: System Firmware},
howpublished = {\url{https://attack.mitre.org/versions/v10/techniques/T1542/001/}},
note = {Accessed: 2022-03-31}
}
@misc{capec,
title = {CAPEC-532: Altered Installed BIOS},
howpublished = {\url{https://capec.mitre.org/data/definitions/532.html}},
note = {Accessed: 2022-03-31}
}
@misc{coreboot,
title = {Coreboot. Fast, secure and flexible OpenSource firmware},
howpublished = {\url{https://www.coreboot.org/}},
note = {Accessed: 2022-03-31}
}
@misc{owrt,
title = {OpenWrt},
howpublished = {\url{https://openwrt.org/}},
note = {Accessed: 2022-03-31}
}
@misc{ddwrt,
title = {DD-WRT},
howpublished = {\url{https://dd-wrt.com/}},
note = {Accessed: 2022-03-31}
}
@misc{freshtomato,
title = {FreshTomato},
howpublished = {\url{https://www.freshtomato.org/}},
note = {Accessed: 2022-03-31}
}
@misc{trustanchor,
title = {Cisco's Trustworthy Technology Datasheet},
howpublished = {\url{https://www.cisco.com/c/dam/en_us/about/doing_business/trust-center/docs/trustworthy-technologies-datasheet.pdf}},
note = {Accessed: 2022-04-06}
}
@misc{downtime,
title = {How to Calculate Data Center Downtime},
howpublished = {\url{https://datacenterfrontier.com/how-calculate-data-center-downtime/}},
note = {Accessed: 2022-04-06}
}
@misc{cryptoreview,
author = {YongBin Zhou and
DengGuo Feng},
title = {Side-Channel Attacks: Ten Years After Its Publication and the Impacts on Cryptographic Module Security Testing},
howpublished = {Cryptology ePrint Archive, Report 2005/388},
year = {2005},
note = {\url{https://ia.cr/2005/388}},
}
@misc{curveattack,
author = {Roberto M. Avanzi},
title = {Side Channel Attacks on Implementations of Curve-Based Cryptographic Primitives},
howpublished = {Cryptology ePrint Archive, Report 2005/017},
year = {2005},
note = {\url{https://ia.cr/2005/017}},
}
@InProceedings{keyboard,
author="Anand, S. Abhishek
and Saxena, Nitesh",
editor="Grossklags, Jens
and Preneel, Bart",
title="A Sound for a Sound: Mitigating Acoustic Side Channel Attacks on Password Keystrokes with Active Sounds",
booktitle="Financial Cryptography and Data Security",
year="2017",
publisher="Springer Berlin Heidelberg",
address="Berlin, Heidelberg",
pages="346--364",
}
@INPROCEEDINGS{printer,
author={Al Faruque, Mohammad Abdullah and Chhetri, Sujit Rokka and Canedo, Arquimedes and Wan, Jiang},
booktitle={2016 ACM/IEEE 7th International Conference on Cyber-Physical Systems (ICCPS)},
title={Acoustic Side-Channel Attacks on Additive Manufacturing Systems},
year={2016},
volume={},
number={},
pages={1-10},
doi={10.1109/ICCPS.2016.7479068}}
@inproceedings{iot_anoamly_sca,
author = {Devin Spatz and Devin Smarra and Igor Ternovskiy},
title = {{A review of anomaly detection techniques leveraging side-channel emissions}},
volume = {11011},
booktitle = {Cyber Sensing 2019},
editor = {Igor V. Ternovskiy and Peter Chin},
organization = {International Society for Optics and Photonics},
publisher = {SPIE},
pages = {48 -- 55},
keywords = {Rf emission, loT, Cyber security},
year = {2019},
doi = {10.1117/12.2521450},
URL = {https://doi.org/10.1117/12.2521450}
}
@INPROCEEDINGS{power-devices,
author={Konstantinou, Charalambos and Maniatakos, Michail},
booktitle={2015 IEEE International Conference on Smart Grid Communications (SmartGridComm)},
title={Impact of firmware modification attacks on power systems field devices},
year={2015},
volume={},
number={},
pages={283-288},
doi={10.1109/SmartGridComm.2015.7436314}}
@article{plc_firmware,
title = {Firmware modification attacks on programmable logic controllers},
journal = {International Journal of Critical Infrastructure Protection},
volume = {6},
number = {2},
pages = {76-84},
year = {2013},
issn = {1874-5482},
doi = {https://doi.org/10.1016/j.ijcip.2013.04.004},
url = {https://www.sciencedirect.com/science/article/pii/S1874548213000231},
author = {Zachry Basnight and Jonathan Butts and Juan Lopez and Thomas Dube},
keywords = {Industrial control systems, Programmable logic controllers, Firmware, Modification attacks, Reverse engineering},
}
@article{santamarta2012here,
title={Here be backdoors: A journey into the secrets of industrial firmware},
author={Santamarta, Ruben},
journal={Black Hat USA},
year={2012}
}
@ARTICLE{health_review, author={Yaqoob, Tahreem and Abbas, Haider and Atiquzzaman, Mohammed}, journal={IEEE Communications Surveys Tutorials}, title={Security Vulnerabilities, Attacks, Countermeasures, and Regulations of Networked Medical Devices—A Review}, year={2019}, volume={21}, number={4}, pages={3723-3768}, doi={10.1109/COMST.2019.2914094}}
@article{pacemaker,
author = {Adrian Baranchuk and Bryce Alexander and Debra Campbell and Sohaib Haseeb and Damian Redfearn and Chris Simpson and Ben Glover },
title = {Pacemaker Cybersecurity},
journal = {Circulation},
volume = {138},
number = {12},
pages = {1272-1273},
year = {2018},
doi = {10.1161/CIRCULATIONAHA.118.035261},
URL = {https://www.ahajournals.org/doi/abs/10.1161/CIRCULATIONAHA.118.035261},
eprint = {https://www.ahajournals.org/doi/pdf/10.1161/CIRCULATIONAHA.118.035261}
}
@article{medical_case_study,
author = {Ang Cui, Michael Costello and Salvatore J. Stolfo},
title = {When Firmware Modifications Attack: A Case Study of Embedded Exploitation},
journal = {20th Annual Network & Distributed System Security Symposium 2013},
year = {2013},
}
@InProceedings{railway,
author="B{\"a}ckman, Ronny
and Oliver, Ian
and Limonta, Gabriela",
editor="Casimiro, Ant{\'o}nio
and Ortmeier, Frank
and Schoitsch, Erwin
and Bitsch, Friedemann
and Ferreira, Pedro",
title="Integrity Checking of Railway Interlocking Firmware",
booktitle="Computer Safety, Reliability, and Security. SAFECOMP 2020 Workshops",year="2020",
publisher="Springer International Publishing",
address="Cham",
pages="161--175",}
@INPROCEEDINGS{cars, author={Nilsson, Dennis K. and Phung, Phu H. and Larson, Ulf E.}, booktitle={IET Road Transport Information and Control - RTIC 2008 and ITS United Kingdom Members' Conference}, title={Vehicle ECU classification based on safety-security characteristics}, year={2008}, volume={}, number={}, pages={1-7}, doi={10.1049/ic.2008.0810}}
@article{BASNIGHT201377,
title = {Firmware modification attacks on programmable logic controllers},
journal = {International Journal of Critical Infrastructure Protection},
volume = {6},
number = {2},
pages = {76-84},
year = {2013},
issn = {1874-5482},
doi = {https://doi.org/10.1016/j.ijcip.2013.04.004},
url = {https://www.sciencedirect.com/science/article/pii/S1874548213000231},
author = {Zachry Basnight and Jonathan Butts and Juan Lopez and Thomas Dube},
keywords = {Industrial control systems, Programmable logic controllers, Firmware, Modification attacks, Reverse engineering}
}
@INPROCEEDINGS{9065145, author={Gao, Chao and Luo, Lan and Zhang, Yue and Pearson, Bryan and Fu, Xinwen}, booktitle={2019 IEEE International Conference on Industrial Internet (ICII)}, title={Microcontroller Based IoT System Firmware Security: Case Studies}, year={2019}, volume={}, number={}, pages={200-209}, doi={10.1109/ICII.2019.00045}}
@article{thrangrycats,
title={Thrangrycat flaw lets attackers plant persistent backdoors on Cisco gear},
author={Cimpanu, C},
journal={Accessed: Sep},
volume={15},
pages={2019},
year={2019}
}
@article{hidden,
title={Source Hidden for Double Blind Review},
author={Jhon Doe},
journal = {Journal},
year = {2022},
}
@INPROCEEDINGS{blockchain1,
author={Dhakal, Samip and Jaafar, Fehmi and Zavarsky, Pavol},
booktitle={2019 IEEE 19th International Symposium on High Assurance Systems Engineering (HASE)},
title={Private Blockchain Network for IoT Device Firmware Integrity Verification and Update},
year={2019},
volume={},
number={},
pages={164-170},
doi={10.1109/HASE.2019.00033}}
@inproceedings{sca_attack,
author = {Liu, Yannan and Wei, Lingxiao and Zhou, Zhe and Zhang, Kehuan and Xu, Wenyuan and Xu, Qiang},
title = {On Code Execution Tracking via Power Side-Channel},
year = {2016},
isbn = {9781450341394},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/2976749.2978299},
doi = {10.1145/2976749.2978299},
booktitle = {Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security},
pages = {10191031},
numpages = {13},
keywords = {code execution tracking, power side-channel, embedded system, hardware security},
location = {Vienna, Austria},
series = {CCS '16}
}
@INPROCEEDINGS{7928948, author={Krishnankutty, Deepak and Robucci, Ryan and Banerjee, Nilanjan and Patel, Chintan}, booktitle={2017 IEEE 35th VLSI Test Symposium (VTS)}, title={Fiscal: Firmware identification using side-channel power analysis}, year={2017}, volume={}, number={}, pages={1-6}, doi={10.1109/VTS.2017.7928948}}
@inproceedings{ssd_firmware,
author = {Brown, Dane and Walker, Owens and Rakvic, Ryan and Ives, Robert W. and Ngo, Hau and Shey, James and Blanco, Justin},
title = {Towards Detection of Modified Firmware on Solid State Drives via Side Channel Analysis},
year = {2018},
isbn = {9781450364751},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3240302.3285860},
doi = {10.1145/3240302.3285860},
booktitle = {Proceedings of the International Symposium on Memory Systems},
pages = {315320},
numpages = {6},
keywords = {firmware, security, classification, embedded systems},
location = {Alexandria, Virginia, USA},
series = {MEMSYS '18}
}
@article{timing,
title = {Using timing-based side channels for anomaly detection in industrial control systems},
journal = {International Journal of Critical Infrastructure Protection},
volume = {15},
pages = {12-26},
year = {2016},
issn = {1874-5482},
doi = {https://doi.org/10.1016/j.ijcip.2016.07.003},
url = {https://www.sciencedirect.com/science/article/pii/S1874548216301111},
author = {Stephen Dunlap and Jonathan Butts and Juan Lopez and Mason Rice and Barry Mullins},
}
@INPROCEEDINGS{DTU, author={Xu, Aidong and Jiang, Yixin and Cao, Yang and Zhang, Guoming and Ji, Xiaoyu and Xu, Wenyuan}, booktitle={2019 IEEE 3rd Conference on Energy Internet and Energy System Integration (EI2)}, title={ADDP: Anomaly Detection for DTU Based on Power Consumption Side-Channel}, year={2019}, volume={}, number={}, pages={2659-2663}, doi={10.1109/EI247390.2019.9062014}}
@inproceedings {wud,
author = {Shane S. Clark and Benjamin Ransford and Amir Rahmati and Shane Guineau and Jacob Sorber and Wenyuan Xu and Kevin Fu},
title = {{WattsUpDoc}: Power Side Channels to Nonintrusively Discover Untargeted Malware on Embedded Medical Devices},
booktitle = {2013 USENIX Workshop on Health Information Technologies (HealthTech 13)},
year = {2013},
address = {Washington, D.C.},
url = {https://www.usenix.org/conference/healthtech13/workshop-program/presentation/clark},
publisher = {USENIX Association},
month = aug,
}
@dataset{dataset,
author = {Anonymous},
title = {{Dataset of bootup power consumption traces for
four networking equipments.}},
month = apr,
year = 2022,
publisher = {Zenodo},
doi = {10.5281/zenodo.6419214},
url = {https://doi.org/10.5281/zenodo.6419214}
}
@book{han2011data,
title={Data mining: concepts and techniques},
author={Han, Jiawei and Pei, Jian and Kamber, Micheline},
year={2011},
publisher={Elsevier}
}
@article{zimmering2021generating,
title={Generating Artificial Sensor Data for the Comparison of Unsupervised Machine Learning Methods},
author={Zimmering, Bernd and Niggemann, Oliver and Hasterok, Constanze and Pfannstiel, Erik and Ramming, Dario and Pfrommer, Julius},
journal={Sensors},
volume={21},
number={7},
pages={2397},
year={2021},
publisher={Multidisciplinary Digital Publishing Institute}
}

123
BPV/qrs/glossary.typ Normal file
View file

@ -0,0 +1,123 @@
// Glossary code by Hugo Cartigny (BlueskyFR) 🍉
#let glossary(indent-defs: false, doc) = {
// ✨ The glossary displays its items using level 99 headings
let glossary = state("wow", (:))
// Hide the numbering for level 99 titles
show heading.where(level: 99): it => text(weight: "regular", it.body)
let page-refs-color = rgb("#7630EA")
show terms: list => {
let terms-grid = ()
// Add terms to glossary
for item in list.children {
glossary.update(v => {
v.insert(
item.term.text,
(
// Holds the list of the locations referencing the term
ref-locs: (),
// The actual term definition
def: item.description,
)
)
// Return the new state with the added entry
v
})
if indent-defs {
// Term
terms-grid.push([
#heading(level: 99, numbering: "1")[*#item.term*]
#label(item.term.text)
])
// Definition
terms-grid.push([
#item.description
// Pages where the term is referenced
#show: text.with(page-refs-color)
#locate(loc => {
glossary.final(loc).at(item.term.text).ref-locs
.map(l => link(l, str(l.page)))
.join(", ")
})
])
} else [
// Display items directly one by one since
// we don't need to build a grid
// Use a level 99 title so it doesn't conflict with regular ones
// and it can be refered to by @citations
#heading(level: 99, numbering: "1")[
*#item.term*:~~#item.description
// Pages where the term is referenced
#show: text.with(page-refs-color)
#locate(loc => {
glossary.final(loc).at(item.term.text).ref-locs
.map(l => link(l, str(l.page)))
.join(", ")
})
]
#label(item.term.text) \
]
}
if indent-defs {
grid(
columns: (1fr, 4fr),
column-gutter: 2mm,
row-gutter: 8mm,
..terms-grid
)
}
// 🐛 Debug
//glossary.display()
}
show ref: r => {
locate(loc => {
// Search for the source of the ref
let term = str(r.target)
let res = query(r.target, loc)
// If the source exists and is the glossary (heading level 99)
if res.len() > 0 and res.first().level == 99 {
let entry = glossary.at(loc).at(term)
// Replace term by the user-specified supplement if not none
let custom-term = {
if r.citation.supplement != none { r.citation.supplement }
else { term }
}
// If it is the first reference to the term, display its definition too
link(res.first().location(), {
if entry.ref-locs.len() == 0 [*#entry.def* (#custom-term)]
else [#custom-term]
})
// Add location to the term's ref list if the current page
// is not already listed
glossary.update(v => {
// If this page is not in, push the loc in!
if v.at(term).ref-locs.all(l => l.page != loc.page()) {
v.at(term).ref-locs.push(
// Current page loc
loc.position()
)
}
v
})
}
else { r } // Otherwise just return the ref as it is
})
}
doc
}

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 116 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 1.5 MiB

220
BPV/qrs/images/bootup.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 62 KiB

View file

@ -0,0 +1,620 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="2292.759277pt" height="1347.896729pt" viewBox="0 0 2292.759277 1347.896729" version="1.1">
<defs>
<g>
<symbol overflow="visible" id="glyph0-0">
<path style="stroke:none;" d="M 5.9375 0 L 5.9375 -45.109375 L 31.90625 -45.109375 L 31.90625 0 Z M 9.15625 -3.21875 L 28.6875 -3.21875 L 28.6875 -41.890625 L 9.15625 -41.890625 Z M 9.15625 -3.21875 "/>
</symbol>
<symbol overflow="visible" id="glyph0-1">
<path style="stroke:none;" d="M 1.265625 0 L 15.921875 -45.3125 L 21.921875 -45.3125 L 36.65625 0 L 30.828125 0 L 26.53125 -13.84375 L 11.3125 -13.84375 L 7.015625 0 Z M 17.0625 -32.359375 L 12.890625 -18.890625 L 24.953125 -18.890625 L 20.78125 -32.359375 C 20.570312 -33.066406 20.273438 -34.070312 19.890625 -35.375 C 19.515625 -36.6875 19.179688 -37.992188 18.890625 -39.296875 C 18.640625 -37.992188 18.320312 -36.6875 17.9375 -35.375 C 17.5625 -34.070312 17.269531 -33.066406 17.0625 -32.359375 Z M 17.0625 -32.359375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-2">
<path style="stroke:none;" d="M 5.0625 0 L 5.0625 -33.875 L 9.609375 -33.875 L 10.421875 -28.875 L 10.734375 -28.875 C 11.703125 -30.8125 13.144531 -32.234375 15.0625 -33.140625 C 16.976562 -34.046875 19.222656 -34.5 21.796875 -34.5 C 25.210938 -34.5 27.960938 -33.539062 30.046875 -31.625 C 32.128906 -29.707031 33.171875 -26.707031 33.171875 -22.625 L 33.171875 0 L 27.484375 0 L 27.484375 -21.609375 C 27.484375 -24.472656 26.90625 -26.566406 25.75 -27.890625 C 24.59375 -29.222656 22.726562 -29.890625 20.15625 -29.890625 C 16.695312 -29.890625 14.257812 -28.789062 12.84375 -26.59375 C 11.4375 -24.40625 10.734375 -21.332031 10.734375 -17.375 L 10.734375 0 Z M 5.0625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-3">
<path style="stroke:none;" d="M 19.015625 0.625 C 16.066406 0.625 13.421875 -0.015625 11.078125 -1.296875 C 8.742188 -2.578125 6.890625 -4.535156 5.515625 -7.171875 C 4.148438 -9.804688 3.46875 -13.101562 3.46875 -17.0625 C 3.46875 -20.976562 4.128906 -24.21875 5.453125 -26.78125 C 6.785156 -29.351562 8.609375 -31.28125 10.921875 -32.5625 C 13.242188 -33.851562 15.878906 -34.5 18.828125 -34.5 C 21.773438 -34.5 24.425781 -33.851562 26.78125 -32.5625 C 29.144531 -31.28125 31.007812 -29.34375 32.375 -26.75 C 33.75 -24.164062 34.4375 -20.875 34.4375 -16.875 C 34.4375 -12.957031 33.757812 -9.703125 32.40625 -7.109375 C 31.0625 -4.515625 29.226562 -2.578125 26.90625 -1.296875 C 24.59375 -0.015625 21.960938 0.625 19.015625 0.625 Z M 18.953125 -3.984375 C 22.242188 -3.984375 24.6875 -5.148438 26.28125 -7.484375 C 27.882812 -9.828125 28.6875 -13 28.6875 -17 C 28.6875 -21 27.875 -24.144531 26.25 -26.4375 C 24.632812 -28.738281 22.179688 -29.890625 18.890625 -29.890625 C 15.609375 -29.890625 13.15625 -28.738281 11.53125 -26.4375 C 9.90625 -24.144531 9.09375 -21 9.09375 -17 C 9.09375 -13 9.914062 -9.828125 11.5625 -7.484375 C 13.207031 -5.148438 15.671875 -3.984375 18.953125 -3.984375 Z M 18.953125 -3.984375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-4">
<path style="stroke:none;" d="M 3.15625 0 L 3.15625 -33.875 L 7.078125 -33.875 L 7.90625 -30.140625 L 8.21875 -30.140625 C 9.0625 -31.828125 9.988281 -32.972656 11 -33.578125 C 12.007812 -34.191406 13.164062 -34.5 14.46875 -34.5 C 16.195312 -34.5 17.535156 -34.085938 18.484375 -33.265625 C 19.429688 -32.441406 20.15625 -31.234375 20.65625 -29.640625 L 20.859375 -29.640625 C 21.566406 -31.191406 22.457031 -32.390625 23.53125 -33.234375 C 24.613281 -34.078125 26.035156 -34.5 27.796875 -34.5 C 30.410156 -34.5 32.234375 -33.5 33.265625 -31.5 C 34.296875 -29.5 34.8125 -26.367188 34.8125 -22.109375 L 34.8125 0 L 29.765625 0 L 29.765625 -21.171875 C 29.765625 -23.828125 29.582031 -25.890625 29.21875 -27.359375 C 28.863281 -28.835938 27.90625 -29.578125 26.34375 -29.578125 C 23.144531 -29.578125 21.546875 -25.363281 21.546875 -16.9375 L 21.546875 0 L 16.484375 0 L 16.484375 -21.171875 C 16.484375 -23.867188 16.238281 -25.941406 15.75 -27.390625 C 15.269531 -28.847656 14.253906 -29.578125 12.703125 -29.578125 C 11.015625 -29.578125 9.84375 -28.4375 9.1875 -26.15625 C 8.539062 -23.882812 8.21875 -20.8125 8.21875 -16.9375 L 8.21875 0 Z M 3.15625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-5">
<path style="stroke:none;" d="M 15.546875 0.625 C 12.210938 0.625 9.523438 -0.191406 7.484375 -1.828125 C 5.441406 -3.472656 4.421875 -5.957031 4.421875 -9.28125 C 4.421875 -12.945312 5.738281 -15.6875 8.375 -17.5 C 11.007812 -19.3125 14.8125 -20.28125 19.78125 -20.40625 L 27.046875 -20.59375 L 27.046875 -21.984375 C 27.046875 -25.015625 26.285156 -27.085938 24.765625 -28.203125 C 23.253906 -29.328125 21.210938 -29.890625 18.640625 -29.890625 C 16.828125 -29.890625 15.097656 -29.65625 13.453125 -29.1875 C 11.816406 -28.726562 10.257812 -28.078125 8.78125 -27.234375 L 6.828125 -31.53125 C 8.421875 -32.332031 10.195312 -33.023438 12.15625 -33.609375 C 14.125 -34.203125 16.390625 -34.5 18.953125 -34.5 C 23.210938 -34.5 26.488281 -33.539062 28.78125 -31.625 C 31.070312 -29.707031 32.21875 -26.726562 32.21875 -22.6875 L 32.21875 0 L 27.671875 0 L 27.046875 -4.671875 L 26.796875 -4.671875 C 25.398438 -2.898438 23.796875 -1.570312 21.984375 -0.6875 C 20.171875 0.1875 18.023438 0.625 15.546875 0.625 Z M 16.484375 -3.984375 C 18.378906 -3.984375 20.128906 -4.328125 21.734375 -5.015625 C 23.335938 -5.710938 24.625 -6.765625 25.59375 -8.171875 C 26.5625 -9.585938 27.046875 -11.367188 27.046875 -13.515625 L 27.046875 -16.5625 L 20.984375 -16.359375 C 16.929688 -16.234375 14.050781 -15.582031 12.34375 -14.40625 C 10.644531 -13.226562 9.796875 -11.585938 9.796875 -9.484375 C 9.796875 -7.546875 10.40625 -6.144531 11.625 -5.28125 C 12.84375 -4.414062 14.460938 -3.984375 16.484375 -3.984375 Z M 16.484375 -3.984375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-6">
<path style="stroke:none;" d="M 5.0625 0 L 5.0625 -3.796875 L 17.4375 -4.734375 L 17.4375 -43.28125 L 5.4375 -44.109375 L 5.4375 -48.015625 L 23.125 -48.015625 L 23.125 -4.734375 L 34.125 -3.796875 L 34.125 0 Z M 5.0625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-7">
<path style="stroke:none;" d="M 8.59375 15.484375 C 7.75 15.484375 6.925781 15.429688 6.125 15.328125 C 5.320312 15.222656 4.628906 15.101562 4.046875 14.96875 L 4.046875 10.609375 C 4.546875 10.691406 5.144531 10.773438 5.84375 10.859375 C 6.539062 10.953125 7.226562 11 7.90625 11 C 9.84375 11 11.335938 10.523438 12.390625 9.578125 C 13.441406 8.628906 14.390625 7.078125 15.234375 4.921875 L 17.0625 0.3125 L 2.84375 -33.875 L 8.40625 -33.875 L 16.484375 -13.96875 C 17.035156 -12.65625 17.570312 -11.195312 18.09375 -9.59375 C 18.625 -8 19.101562 -6.460938 19.53125 -4.984375 L 19.71875 -4.984375 C 20.175781 -6.546875 20.65625 -8.113281 21.15625 -9.6875 C 21.664062 -11.269531 22.132812 -12.71875 22.5625 -14.03125 L 29.1875 -33.875 L 35 -33.875 L 20.78125 4.421875 C 19.988281 6.609375 19.117188 8.535156 18.171875 10.203125 C 17.222656 11.867188 16 13.164062 14.5 14.09375 C 13.007812 15.019531 11.039062 15.484375 8.59375 15.484375 Z M 8.59375 15.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph0-8">
<path style="stroke:none;" d="M 21.484375 0.625 C 15.335938 0.625 10.691406 -1.289062 7.546875 -5.125 C 4.410156 -8.957031 2.84375 -14.535156 2.84375 -21.859375 C 2.84375 -29.398438 4.484375 -35.265625 7.765625 -39.453125 C 11.054688 -43.648438 15.878906 -45.75 22.234375 -45.75 C 24.390625 -45.75 26.328125 -45.515625 28.046875 -45.046875 C 29.773438 -44.585938 31.421875 -43.9375 32.984375 -43.09375 L 30.96875 -38.359375 C 29.90625 -39.023438 28.65625 -39.566406 27.21875 -39.984375 C 25.789062 -40.410156 24.175781 -40.625 22.375 -40.625 C 17.78125 -40.625 14.34375 -39.015625 12.0625 -35.796875 C 9.789062 -32.578125 8.65625 -28.015625 8.65625 -22.109375 C 8.65625 -18.742188 9.066406 -15.722656 9.890625 -13.046875 C 10.710938 -10.367188 12.082031 -8.257812 14 -6.71875 C 15.914062 -5.1875 18.492188 -4.421875 21.734375 -4.421875 C 23.085938 -4.421875 24.269531 -4.523438 25.28125 -4.734375 C 26.289062 -4.953125 27.191406 -5.164062 27.984375 -5.375 L 27.984375 -18.765625 L 19.78125 -18.765625 L 19.78125 -23.828125 L 33.484375 -23.828125 L 33.484375 -1.703125 C 31.929688 -1.078125 30.128906 -0.53125 28.078125 -0.0625 C 26.035156 0.394531 23.835938 0.625 21.484375 0.625 Z M 21.484375 0.625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-9">
<path style="stroke:none;" d="M 21.296875 0.625 C 15.859375 0.625 11.582031 -0.878906 8.46875 -3.890625 C 5.351562 -6.898438 3.796875 -11.207031 3.796875 -16.8125 C 3.796875 -20.519531 4.46875 -23.6875 5.8125 -26.3125 C 7.15625 -28.945312 9.023438 -30.96875 11.421875 -32.375 C 13.828125 -33.789062 16.632812 -34.5 19.84375 -34.5 C 24.257812 -34.5 27.742188 -33.066406 30.296875 -30.203125 C 32.847656 -27.335938 34.125 -23.421875 34.125 -18.453125 L 34.125 -15.859375 L 9.546875 -15.859375 C 9.628906 -12.910156 10.1875 -10.570312 11.21875 -8.84375 C 12.25 -7.113281 13.660156 -5.878906 15.453125 -5.140625 C 17.242188 -4.410156 19.316406 -4.046875 21.671875 -4.046875 C 23.523438 -4.046875 25.359375 -4.296875 27.171875 -4.796875 C 28.984375 -5.304688 30.796875 -5.984375 32.609375 -6.828125 L 32.609375 -1.765625 C 30.671875 -0.921875 28.734375 -0.3125 26.796875 0.0625 C 24.859375 0.4375 23.023438 0.625 21.296875 0.625 Z M 28.4375 -20.40625 C 28.3125 -23.351562 27.519531 -25.671875 26.0625 -27.359375 C 24.613281 -29.046875 22.539062 -29.890625 19.84375 -29.890625 C 17.019531 -29.890625 14.734375 -29.035156 12.984375 -27.328125 C 11.234375 -25.617188 10.128906 -23.3125 9.671875 -20.40625 Z M 28.4375 -20.40625 "/>
</symbol>
<symbol overflow="visible" id="glyph0-10">
<path style="stroke:none;" d="M 3.921875 0 L 3.921875 -3.796875 L 14.21875 -4.734375 L 14.21875 -29.125 L 4.921875 -29.953125 L 4.921875 -33.875 L 18.765625 -33.875 L 19.53125 -27.671875 L 19.78125 -27.671875 C 20.957031 -29.910156 22.25 -31.609375 23.65625 -32.765625 C 25.070312 -33.921875 26.9375 -34.5 29.25 -34.5 C 30.6875 -34.5 31.960938 -34.367188 33.078125 -34.109375 C 34.191406 -33.859375 35.210938 -33.523438 36.140625 -33.109375 L 34.625 -28.125 C 33.945312 -28.5 33.144531 -28.820312 32.21875 -29.09375 C 31.289062 -29.375 30.300781 -29.515625 29.25 -29.515625 C 27.4375 -29.515625 25.835938 -28.941406 24.453125 -27.796875 C 23.066406 -26.660156 21.972656 -25.144531 21.171875 -23.25 C 20.367188 -21.351562 19.96875 -19.269531 19.96875 -17 L 19.96875 -4.734375 L 29.828125 -3.796875 L 29.828125 0 Z M 3.921875 0 "/>
</symbol>
<symbol overflow="visible" id="glyph0-11">
<path style="stroke:none;" d="M 25.40625 0.625 C 23 0.625 20.847656 0.3125 18.953125 -0.3125 C 17.054688 -0.945312 15.550781 -2.0625 14.4375 -3.65625 C 13.320312 -5.257812 12.765625 -7.472656 12.765625 -10.296875 L 12.765625 -29.125 L 3.53125 -29.125 L 3.53125 -33.046875 L 12.765625 -34.0625 L 13.90625 -42.90625 L 18.453125 -42.90625 L 18.453125 -33.875 L 31.65625 -33.875 L 31.65625 -29.125 L 18.453125 -29.125 L 18.453125 -11.375 C 18.453125 -8.800781 19.019531 -6.925781 20.15625 -5.75 C 21.289062 -4.570312 23.164062 -3.984375 25.78125 -3.984375 C 26.875 -3.984375 28.050781 -4.085938 29.3125 -4.296875 C 30.582031 -4.503906 31.679688 -4.710938 32.609375 -4.921875 L 32.609375 -0.375 C 31.597656 -0.125 30.476562 0.101562 29.25 0.3125 C 28.03125 0.519531 26.75 0.625 25.40625 0.625 Z M 25.40625 0.625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-0">
<path style="stroke:none;" d="M 5.953125 0 L 5.953125 -45.21875 L 31.984375 -45.21875 L 31.984375 0 Z M 9.1875 -3.234375 L 28.75 -3.234375 L 28.75 -41.984375 L 9.1875 -41.984375 Z M 9.1875 -3.234375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-1">
<path style="stroke:none;" d="M 4.4375 0 L 4.4375 -45.21875 L 15.390625 -45.21875 C 19.398438 -45.21875 22.878906 -44.375 25.828125 -42.6875 C 28.785156 -41 31.078125 -38.515625 32.703125 -35.234375 C 34.328125 -31.960938 35.140625 -27.898438 35.140625 -23.046875 C 35.140625 -15.410156 33.289062 -9.660156 29.59375 -5.796875 C 25.90625 -1.929688 20.75 0 14.125 0 Z M 13.546875 -4.9375 C 18.953125 -4.9375 22.929688 -6.457031 25.484375 -9.5 C 28.046875 -12.539062 29.328125 -16.992188 29.328125 -22.859375 C 29.328125 -28.859375 28.023438 -33.257812 25.421875 -36.0625 C 22.828125 -38.875 19.269531 -40.28125 14.75 -40.28125 L 10.125 -40.28125 L 10.125 -4.9375 Z M 13.546875 -4.9375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-2">
<path style="stroke:none;" d="M 15.578125 0.640625 C 12.242188 0.640625 9.550781 -0.179688 7.5 -1.828125 C 5.457031 -3.484375 4.4375 -5.976562 4.4375 -9.3125 C 4.4375 -12.976562 5.753906 -15.71875 8.390625 -17.53125 C 11.023438 -19.351562 14.835938 -20.328125 19.828125 -20.453125 L 27.109375 -20.640625 L 27.109375 -22.03125 C 27.109375 -25.070312 26.347656 -27.148438 24.828125 -28.265625 C 23.304688 -29.390625 21.257812 -29.953125 18.6875 -29.953125 C 16.863281 -29.953125 15.128906 -29.71875 13.484375 -29.25 C 11.835938 -28.789062 10.273438 -28.140625 8.796875 -27.296875 L 6.84375 -31.59375 C 8.445312 -32.394531 10.226562 -33.09375 12.1875 -33.6875 C 14.15625 -34.28125 16.425781 -34.578125 19 -34.578125 C 23.257812 -34.578125 26.539062 -33.613281 28.84375 -31.6875 C 31.144531 -29.769531 32.296875 -26.785156 32.296875 -22.734375 L 32.296875 0 L 27.734375 0 L 27.109375 -4.6875 L 26.84375 -4.6875 C 25.457031 -2.914062 23.851562 -1.582031 22.03125 -0.6875 C 20.21875 0.195312 18.066406 0.640625 15.578125 0.640625 Z M 16.53125 -3.984375 C 18.425781 -3.984375 20.175781 -4.332031 21.78125 -5.03125 C 23.382812 -5.726562 24.671875 -6.785156 25.640625 -8.203125 C 26.617188 -9.617188 27.109375 -11.398438 27.109375 -13.546875 L 27.109375 -16.59375 L 21.03125 -16.40625 C 16.976562 -16.28125 14.09375 -15.625 12.375 -14.4375 C 10.664062 -13.257812 9.8125 -11.613281 9.8125 -9.5 C 9.8125 -7.5625 10.421875 -6.15625 11.640625 -5.28125 C 12.867188 -4.414062 14.5 -3.984375 16.53125 -3.984375 Z M 16.53125 -3.984375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-3">
<path style="stroke:none;" d="M 25.453125 0.640625 C 23.046875 0.640625 20.894531 0.320312 19 -0.3125 C 17.101562 -0.945312 15.59375 -2.066406 14.46875 -3.671875 C 13.351562 -5.273438 12.796875 -7.492188 12.796875 -10.328125 L 12.796875 -29.1875 L 3.546875 -29.1875 L 3.546875 -33.125 L 12.796875 -34.140625 L 13.9375 -43 L 18.484375 -43 L 18.484375 -33.9375 L 31.734375 -33.9375 L 31.734375 -29.1875 L 18.484375 -29.1875 L 18.484375 -11.40625 C 18.484375 -8.820312 19.050781 -6.9375 20.1875 -5.75 C 21.332031 -4.570312 23.21875 -3.984375 25.84375 -3.984375 C 26.9375 -3.984375 28.113281 -4.085938 29.375 -4.296875 C 30.644531 -4.515625 31.742188 -4.726562 32.671875 -4.9375 L 32.671875 -0.375 C 31.660156 -0.125 30.539062 0.101562 29.3125 0.3125 C 28.09375 0.53125 26.804688 0.640625 25.453125 0.640625 Z M 25.453125 0.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-4">
<path style="stroke:none;" d="M 1.265625 0 L 15.953125 -45.40625 L 21.96875 -45.40625 L 36.734375 0 L 30.90625 0 L 26.59375 -13.875 L 11.328125 -13.875 L 7.03125 0 Z M 17.09375 -32.421875 L 12.921875 -18.9375 L 25.015625 -18.9375 L 20.828125 -32.421875 C 20.617188 -33.140625 20.320312 -34.148438 19.9375 -35.453125 C 19.5625 -36.765625 19.226562 -38.078125 18.9375 -39.390625 C 18.6875 -38.078125 18.367188 -36.765625 17.984375 -35.453125 C 17.609375 -34.148438 17.3125 -33.140625 17.09375 -32.421875 Z M 17.09375 -32.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph1-5">
<path style="stroke:none;" d="M 16.53125 0.640625 C 12.519531 0.640625 9.550781 -0.363281 7.625 -2.375 C 5.707031 -4.382812 4.75 -7.367188 4.75 -11.328125 L 4.75 -33.9375 L 10.453125 -33.9375 L 10.453125 -12.21875 C 10.453125 -9.519531 11.007812 -7.472656 12.125 -6.078125 C 13.25 -4.679688 15.179688 -3.984375 17.921875 -3.984375 C 21.421875 -3.984375 23.847656 -5.082031 25.203125 -7.28125 C 26.554688 -9.476562 27.234375 -12.539062 27.234375 -16.46875 L 27.234375 -33.9375 L 32.9375 -33.9375 L 32.9375 0 L 28.375 0 L 27.546875 -4.5625 L 27.234375 -4.5625 C 26.046875 -2.65625 24.554688 -1.3125 22.765625 -0.53125 C 20.972656 0.25 18.894531 0.640625 16.53125 0.640625 Z M 16.53125 0.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph1-6">
<path style="stroke:none;" d="M 17.484375 15.515625 C 15.160156 15.515625 12.972656 15.289062 10.921875 14.84375 C 8.878906 14.40625 6.988281 13.828125 5.25 13.109375 L 5.25 8.046875 C 6.945312 9.015625 8.898438 9.738281 11.109375 10.21875 C 13.328125 10.707031 15.382812 10.953125 17.28125 10.953125 C 21.125 10.953125 23.804688 10.054688 25.328125 8.265625 C 26.847656 6.472656 27.609375 4.015625 27.609375 0.890625 L 27.609375 -0.3125 C 27.609375 -0.820312 27.617188 -1.304688 27.640625 -1.765625 C 27.660156 -2.234375 27.710938 -2.953125 27.796875 -3.921875 L 27.546875 -3.921875 C 26.367188 -2.191406 24.988281 -1 23.40625 -0.34375 C 21.820312 0.3125 19.910156 0.640625 17.671875 0.640625 C 13.191406 0.640625 9.707031 -0.890625 7.21875 -3.953125 C 4.726562 -7.015625 3.484375 -11.289062 3.484375 -16.78125 C 3.484375 -22.3125 4.71875 -26.660156 7.1875 -29.828125 C 9.65625 -32.992188 13.046875 -34.578125 17.359375 -34.578125 C 19.628906 -34.578125 21.546875 -34.207031 23.109375 -33.46875 C 24.671875 -32.726562 26.066406 -31.492188 27.296875 -29.765625 L 27.609375 -29.765625 L 28.375 -33.9375 L 32.9375 -33.9375 L 32.9375 0.890625 C 32.9375 5.742188 31.6875 9.394531 29.1875 11.84375 C 26.695312 14.289062 22.796875 15.515625 17.484375 15.515625 Z M 18.75 -3.984375 C 21.570312 -3.984375 23.785156 -4.898438 25.390625 -6.734375 C 26.992188 -8.578125 27.796875 -11.523438 27.796875 -15.578125 L 27.796875 -16.90625 C 27.796875 -21.550781 26.972656 -24.882812 25.328125 -26.90625 C 23.679688 -28.9375 21.425781 -29.953125 18.5625 -29.953125 C 15.34375 -29.953125 12.992188 -28.820312 11.515625 -26.5625 C 10.046875 -24.300781 9.3125 -21.101562 9.3125 -16.96875 C 9.3125 -12.75 10.082031 -9.53125 11.625 -7.3125 C 13.164062 -5.09375 15.539062 -3.984375 18.75 -3.984375 Z M 18.75 -3.984375 "/>
</symbol>
<symbol overflow="visible" id="glyph1-7">
<path style="stroke:none;" d="M 3.171875 0 L 3.171875 -33.9375 L 7.09375 -33.9375 L 7.921875 -30.203125 L 8.234375 -30.203125 C 9.078125 -31.890625 10.003906 -33.039062 11.015625 -33.65625 C 12.023438 -34.269531 13.1875 -34.578125 14.5 -34.578125 C 16.226562 -34.578125 17.566406 -34.164062 18.515625 -33.34375 C 19.472656 -32.519531 20.203125 -31.304688 20.703125 -29.703125 L 20.890625 -29.703125 C 21.609375 -31.265625 22.503906 -32.46875 23.578125 -33.3125 C 24.660156 -34.15625 26.085938 -34.578125 27.859375 -34.578125 C 30.484375 -34.578125 32.3125 -33.570312 33.34375 -31.5625 C 34.375 -29.5625 34.890625 -26.429688 34.890625 -22.171875 L 34.890625 0 L 29.828125 0 L 29.828125 -21.21875 C 29.828125 -23.875 29.644531 -25.941406 29.28125 -27.421875 C 28.925781 -28.898438 27.96875 -29.640625 26.40625 -29.640625 C 23.195312 -29.640625 21.59375 -25.414062 21.59375 -16.96875 L 21.59375 0 L 16.53125 0 L 16.53125 -21.21875 C 16.53125 -23.914062 16.285156 -25.992188 15.796875 -27.453125 C 15.316406 -28.910156 14.296875 -29.640625 12.734375 -29.640625 C 11.046875 -29.640625 9.875 -28.5 9.21875 -26.21875 C 8.5625 -23.9375 8.234375 -20.851562 8.234375 -16.96875 L 8.234375 0 Z M 3.171875 0 "/>
</symbol>
<symbol overflow="visible" id="glyph1-8">
<path style="stroke:none;" d="M 21.34375 0.640625 C 15.894531 0.640625 11.609375 -0.867188 8.484375 -3.890625 C 5.359375 -6.910156 3.796875 -11.226562 3.796875 -16.84375 C 3.796875 -20.5625 4.472656 -23.738281 5.828125 -26.375 C 7.179688 -29.007812 9.0625 -31.035156 11.46875 -32.453125 C 13.875 -33.867188 16.679688 -34.578125 19.890625 -34.578125 C 24.316406 -34.578125 27.804688 -33.140625 30.359375 -30.265625 C 32.921875 -27.398438 34.203125 -23.472656 34.203125 -18.484375 L 34.203125 -15.890625 L 9.5625 -15.890625 C 9.644531 -12.941406 10.203125 -10.597656 11.234375 -8.859375 C 12.273438 -7.128906 13.691406 -5.894531 15.484375 -5.15625 C 17.273438 -4.414062 19.351562 -4.046875 21.71875 -4.046875 C 23.582031 -4.046875 25.421875 -4.300781 27.234375 -4.8125 C 29.046875 -5.320312 30.859375 -6 32.671875 -6.84375 L 32.671875 -1.765625 C 30.734375 -0.921875 28.789062 -0.3125 26.84375 0.0625 C 24.90625 0.445312 23.070312 0.640625 21.34375 0.640625 Z M 28.5 -20.453125 C 28.375 -23.410156 27.582031 -25.734375 26.125 -27.421875 C 24.664062 -29.109375 22.585938 -29.953125 19.890625 -29.953125 C 17.054688 -29.953125 14.765625 -29.097656 13.015625 -27.390625 C 11.265625 -25.679688 10.15625 -23.367188 9.6875 -20.453125 Z M 28.5 -20.453125 "/>
</symbol>
<symbol overflow="visible" id="glyph1-9">
<path style="stroke:none;" d="M 5.0625 0 L 5.0625 -33.9375 L 9.625 -33.9375 L 10.453125 -28.9375 L 10.765625 -28.9375 C 11.734375 -30.882812 13.175781 -32.3125 15.09375 -33.21875 C 17.019531 -34.125 19.269531 -34.578125 21.84375 -34.578125 C 25.269531 -34.578125 28.023438 -33.613281 30.109375 -31.6875 C 32.203125 -29.769531 33.25 -26.765625 33.25 -22.671875 L 33.25 0 L 27.546875 0 L 27.546875 -21.65625 C 27.546875 -24.53125 26.960938 -26.628906 25.796875 -27.953125 C 24.640625 -29.285156 22.773438 -29.953125 20.203125 -29.953125 C 16.742188 -29.953125 14.304688 -28.851562 12.890625 -26.65625 C 11.472656 -24.46875 10.765625 -21.390625 10.765625 -17.421875 L 10.765625 0 Z M 5.0625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph1-10">
<path style="stroke:none;" d="M 3.921875 0 L 3.921875 -3.796875 L 14.25 -4.75 L 14.25 -29.1875 L 4.9375 -30.015625 L 4.9375 -33.9375 L 18.8125 -33.9375 L 19.5625 -27.734375 L 19.828125 -27.734375 C 21.003906 -29.972656 22.300781 -31.671875 23.71875 -32.828125 C 25.132812 -33.992188 27.003906 -34.578125 29.328125 -34.578125 C 30.753906 -34.578125 32.023438 -34.445312 33.140625 -34.1875 C 34.265625 -33.9375 35.289062 -33.601562 36.21875 -33.1875 L 34.703125 -28.1875 C 34.023438 -28.5625 33.222656 -28.882812 32.296875 -29.15625 C 31.367188 -29.4375 30.378906 -29.578125 29.328125 -29.578125 C 27.503906 -29.578125 25.894531 -29.003906 24.5 -27.859375 C 23.113281 -26.722656 22.019531 -25.203125 21.21875 -23.296875 C 20.414062 -21.398438 20.015625 -19.3125 20.015625 -17.03125 L 20.015625 -4.75 L 29.890625 -3.796875 L 29.890625 0 Z M 3.921875 0 "/>
</symbol>
<symbol overflow="visible" id="glyph2-0">
<path style="stroke:none;" d="M 6.6875 0 L 6.6875 -50.8125 L 35.9375 -50.8125 L 35.9375 0 Z M 10.3125 -3.625 L 32.3125 -3.625 L 32.3125 -47.1875 L 10.3125 -47.1875 Z M 10.3125 -3.625 "/>
</symbol>
<symbol overflow="visible" id="glyph2-1">
<path style="stroke:none;" d="M 4.984375 0 L 4.984375 -50.8125 L 13.453125 -50.8125 L 31.953125 -8.46875 L 32.171875 -8.46875 C 31.929688 -11.269531 31.765625 -13.820312 31.671875 -16.125 C 31.578125 -18.425781 31.53125 -21.019531 31.53125 -23.90625 L 31.53125 -50.8125 L 37.71875 -50.8125 L 37.71875 0 L 29.96875 0 L 10.53125 -44.265625 L 10.25 -44.265625 C 10.488281 -41.609375 10.703125 -38.953125 10.890625 -36.296875 C 11.078125 -33.640625 11.171875 -30.984375 11.171875 -28.328125 L 11.171875 0 Z M 4.984375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph2-2">
<path style="stroke:none;" d="M 21.421875 0.71875 C 18.097656 0.71875 15.117188 -0.00390625 12.484375 -1.453125 C 9.859375 -2.898438 7.773438 -5.109375 6.234375 -8.078125 C 4.691406 -11.046875 3.921875 -14.757812 3.921875 -19.21875 C 3.921875 -23.625 4.664062 -27.273438 6.15625 -30.171875 C 7.644531 -33.066406 9.695312 -35.238281 12.3125 -36.6875 C 14.925781 -38.132812 17.890625 -38.859375 21.203125 -38.859375 C 24.523438 -38.859375 27.515625 -38.132812 30.171875 -36.6875 C 32.828125 -35.238281 34.925781 -33.054688 36.46875 -30.140625 C 38.007812 -27.222656 38.78125 -23.507812 38.78125 -19 C 38.78125 -14.59375 38.019531 -10.925781 36.5 -8 C 34.988281 -5.082031 32.925781 -2.898438 30.3125 -1.453125 C 27.707031 -0.00390625 24.742188 0.71875 21.421875 0.71875 Z M 21.34375 -4.484375 C 25.050781 -4.484375 27.804688 -5.800781 29.609375 -8.4375 C 31.410156 -11.070312 32.3125 -14.640625 32.3125 -19.140625 C 32.3125 -23.648438 31.394531 -27.195312 29.5625 -29.78125 C 27.738281 -32.375 24.976562 -33.671875 21.28125 -33.671875 C 17.582031 -33.671875 14.816406 -32.375 12.984375 -29.78125 C 11.160156 -27.195312 10.25 -23.648438 10.25 -19.140625 C 10.25 -14.640625 11.171875 -11.070312 13.015625 -8.4375 C 14.867188 -5.800781 17.644531 -4.484375 21.34375 -4.484375 Z M 21.34375 -4.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-3">
<path style="stroke:none;" d="M 4.40625 0 L 4.40625 -4.265625 L 16.015625 -5.34375 L 16.015625 -32.8125 L 5.546875 -33.734375 L 5.546875 -38.140625 L 21.140625 -38.140625 L 21.984375 -31.171875 L 22.28125 -31.171875 C 23.601562 -33.691406 25.054688 -35.601562 26.640625 -36.90625 C 28.234375 -38.207031 30.335938 -38.859375 32.953125 -38.859375 C 34.566406 -38.859375 36 -38.710938 37.25 -38.421875 C 38.507812 -38.140625 39.660156 -37.765625 40.703125 -37.296875 L 39 -31.671875 C 38.238281 -32.097656 37.335938 -32.460938 36.296875 -32.765625 C 35.253906 -33.078125 34.140625 -33.234375 32.953125 -33.234375 C 30.910156 -33.234375 29.101562 -32.59375 27.53125 -31.3125 C 25.96875 -30.03125 24.734375 -28.320312 23.828125 -26.1875 C 22.929688 -24.050781 22.484375 -21.703125 22.484375 -19.140625 L 22.484375 -5.34375 L 33.59375 -4.265625 L 33.59375 0 Z M 4.40625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph2-4">
<path style="stroke:none;" d="M 3.5625 0 L 3.5625 -38.140625 L 7.96875 -38.140625 L 8.890625 -33.953125 L 9.25 -33.953125 C 10.195312 -35.847656 11.238281 -37.140625 12.375 -37.828125 C 13.519531 -38.515625 14.828125 -38.859375 16.296875 -38.859375 C 18.242188 -38.859375 19.75 -38.394531 20.8125 -37.46875 C 21.882812 -36.539062 22.703125 -35.175781 23.265625 -33.375 L 23.484375 -33.375 C 24.296875 -35.132812 25.304688 -36.488281 26.515625 -37.4375 C 27.722656 -38.382812 29.320312 -38.859375 31.3125 -38.859375 C 34.257812 -38.859375 36.3125 -37.726562 37.46875 -35.46875 C 38.632812 -33.21875 39.21875 -29.695312 39.21875 -24.90625 L 39.21875 0 L 33.515625 0 L 33.515625 -23.84375 C 33.515625 -26.832031 33.3125 -29.15625 32.90625 -30.8125 C 32.507812 -32.476562 31.429688 -33.3125 29.671875 -33.3125 C 26.066406 -33.3125 24.265625 -28.566406 24.265625 -19.078125 L 24.265625 0 L 18.578125 0 L 18.578125 -23.84375 C 18.578125 -26.875 18.300781 -29.207031 17.75 -30.84375 C 17.207031 -32.488281 16.0625 -33.3125 14.3125 -33.3125 C 12.40625 -33.3125 11.082031 -32.03125 10.34375 -29.46875 C 9.613281 -26.90625 9.25 -23.441406 9.25 -19.078125 L 9.25 0 Z M 3.5625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph2-5">
<path style="stroke:none;" d="M 17.515625 0.71875 C 13.765625 0.71875 10.738281 -0.207031 8.4375 -2.0625 C 6.132812 -3.914062 4.984375 -6.71875 4.984375 -10.46875 C 4.984375 -14.59375 6.460938 -17.675781 9.421875 -19.71875 C 12.390625 -21.757812 16.675781 -22.847656 22.28125 -22.984375 L 30.46875 -23.203125 L 30.46875 -24.765625 C 30.46875 -28.179688 29.613281 -30.519531 27.90625 -31.78125 C 26.195312 -33.039062 23.894531 -33.671875 21 -33.671875 C 18.957031 -33.671875 17.007812 -33.40625 15.15625 -32.875 C 13.3125 -32.351562 11.554688 -31.617188 9.890625 -30.671875 L 7.6875 -35.515625 C 9.488281 -36.410156 11.492188 -37.191406 13.703125 -37.859375 C 15.910156 -38.523438 18.457031 -38.859375 21.34375 -38.859375 C 26.144531 -38.859375 29.835938 -37.78125 32.421875 -35.625 C 35.003906 -33.46875 36.296875 -30.109375 36.296875 -25.546875 L 36.296875 0 L 31.171875 0 L 30.46875 -5.265625 L 30.171875 -5.265625 C 28.609375 -3.273438 26.804688 -1.78125 24.765625 -0.78125 C 22.722656 0.21875 20.304688 0.71875 17.515625 0.71875 Z M 18.578125 -4.484375 C 20.710938 -4.484375 22.679688 -4.875 24.484375 -5.65625 C 26.285156 -6.4375 27.734375 -7.617188 28.828125 -9.203125 C 29.921875 -10.796875 30.46875 -12.804688 30.46875 -15.234375 L 30.46875 -18.640625 L 23.625 -18.4375 C 19.070312 -18.289062 15.832031 -17.550781 13.90625 -16.21875 C 11.988281 -14.894531 11.03125 -13.046875 11.03125 -10.671875 C 11.03125 -8.492188 11.71875 -6.914062 13.09375 -5.9375 C 14.46875 -4.96875 16.296875 -4.484375 18.578125 -4.484375 Z M 18.578125 -4.484375 "/>
</symbol>
<symbol overflow="visible" id="glyph2-6">
<path style="stroke:none;" d="M 5.6875 0 L 5.6875 -4.265625 L 19.640625 -5.34375 L 19.640625 -48.75 L 6.125 -49.671875 L 6.125 -54.09375 L 26.046875 -54.09375 L 26.046875 -5.34375 L 38.4375 -4.265625 L 38.4375 0 Z M 5.6875 0 "/>
</symbol>
<symbol overflow="visible" id="glyph2-7">
<path style="stroke:none;" d="M 4.984375 0 L 4.984375 -50.8125 L 17.296875 -50.8125 C 21.804688 -50.8125 25.71875 -49.863281 29.03125 -47.96875 C 32.351562 -46.070312 34.925781 -43.285156 36.75 -39.609375 C 38.582031 -35.929688 39.5 -31.363281 39.5 -25.90625 C 39.5 -17.320312 37.421875 -10.859375 33.265625 -6.515625 C 29.117188 -2.171875 23.320312 0 15.875 0 Z M 15.234375 -5.546875 C 21.304688 -5.546875 25.773438 -7.253906 28.640625 -10.671875 C 31.515625 -14.085938 32.953125 -19.09375 32.953125 -25.6875 C 32.953125 -32.425781 31.492188 -37.375 28.578125 -40.53125 C 25.660156 -43.6875 21.660156 -45.265625 16.578125 -45.265625 L 11.390625 -45.265625 L 11.390625 -5.546875 Z M 15.234375 -5.546875 "/>
</symbol>
<symbol overflow="visible" id="glyph2-8">
<path style="stroke:none;" d="M 28.609375 0.71875 C 25.898438 0.71875 23.476562 0.363281 21.34375 -0.34375 C 19.21875 -1.0625 17.523438 -2.320312 16.265625 -4.125 C 15.003906 -5.925781 14.375 -8.414062 14.375 -11.59375 L 14.375 -32.8125 L 3.984375 -32.8125 L 3.984375 -37.21875 L 14.375 -38.359375 L 15.65625 -48.328125 L 20.78125 -48.328125 L 20.78125 -38.140625 L 35.65625 -38.140625 L 35.65625 -32.8125 L 20.78125 -32.8125 L 20.78125 -12.8125 C 20.78125 -9.914062 21.421875 -7.800781 22.703125 -6.46875 C 23.984375 -5.144531 26.09375 -4.484375 29.03125 -4.484375 C 30.269531 -4.484375 31.597656 -4.601562 33.015625 -4.84375 C 34.441406 -5.082031 35.675781 -5.316406 36.71875 -5.546875 L 36.71875 -0.421875 C 35.582031 -0.140625 34.328125 0.117188 32.953125 0.359375 C 31.578125 0.597656 30.128906 0.71875 28.609375 0.71875 Z M 28.609375 0.71875 "/>
</symbol>
<symbol overflow="visible" id="glyph3-0">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph3-1">
<path style="stroke:none;" d="M 32.71875 -445.515625 L 30.9375 -435.40625 C 85.0625 -435.40625 111.828125 -409.828125 105.875 -364.625 L 93.984375 -269.453125 C 88.625 -227.21875 113.015625 -184.390625 150.484375 -171.3125 L 150.484375 -171.90625 C 112.421875 -160 88.625 -118.96875 93.390625 -76.734375 L 105.28125 28.546875 C 110.640625 76.140625 85.0625 102.3125 30.9375 102.3125 L 32.71875 112.421875 C 94.578125 112.421875 124.3125 80.296875 117.765625 22.609375 L 105.875 -82.671875 C 101.71875 -120.15625 124.90625 -155.25 161.78125 -164.765625 L 161.78125 -178.4375 C 124.90625 -186.765625 99.921875 -230.1875 105.875 -275.390625 L 117.765625 -370.5625 C 123.71875 -418.75 93.390625 -445.515625 32.71875 -445.515625 Z M 32.71875 -445.515625 "/>
</symbol>
<symbol overflow="visible" id="glyph4-0">
<path style="stroke:none;" d="M 6.03125 0 L 6.03125 -45.8125 L 32.40625 -45.8125 L 32.40625 0 Z M 9.3125 -3.265625 L 29.140625 -3.265625 L 29.140625 -42.546875 L 9.3125 -42.546875 Z M 9.3125 -3.265625 "/>
</symbol>
<symbol overflow="visible" id="glyph4-1">
<path style="stroke:none;" d="M 16.359375 0 L 16.359375 -40.6875 L 2.890625 -40.6875 L 2.890625 -45.8125 L 35.609375 -45.8125 L 35.609375 -40.6875 L 22.140625 -40.6875 L 22.140625 0 Z M 16.359375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph4-2">
<path style="stroke:none;" d="M 3.984375 0 L 3.984375 -3.84375 L 14.4375 -4.8125 L 14.4375 -29.578125 L 5 -30.421875 L 5 -34.390625 L 19.0625 -34.390625 L 19.828125 -28.109375 L 20.078125 -28.109375 C 21.273438 -30.378906 22.59375 -32.097656 24.03125 -33.265625 C 25.46875 -34.441406 27.363281 -35.03125 29.71875 -35.03125 C 31.164062 -35.03125 32.457031 -34.898438 33.59375 -34.640625 C 34.726562 -34.390625 35.765625 -34.050781 36.703125 -33.625 L 35.171875 -28.5625 C 34.484375 -28.945312 33.664062 -29.273438 32.71875 -29.546875 C 31.78125 -29.828125 30.78125 -29.96875 29.71875 -29.96875 C 27.875 -29.96875 26.242188 -29.390625 24.828125 -28.234375 C 23.421875 -27.078125 22.3125 -25.535156 21.5 -23.609375 C 20.6875 -21.691406 20.28125 -19.578125 20.28125 -17.265625 L 20.28125 -4.8125 L 30.296875 -3.84375 L 30.296875 0 Z M 3.984375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph4-3">
<path style="stroke:none;" d="M 15.78125 0.640625 C 12.40625 0.640625 9.675781 -0.191406 7.59375 -1.859375 C 5.519531 -3.523438 4.484375 -6.050781 4.484375 -9.4375 C 4.484375 -13.15625 5.820312 -15.929688 8.5 -17.765625 C 11.175781 -19.609375 15.035156 -20.597656 20.078125 -20.734375 L 27.46875 -20.921875 L 27.46875 -22.328125 C 27.46875 -25.410156 26.695312 -27.519531 25.15625 -28.65625 C 23.613281 -29.789062 21.539062 -30.359375 18.9375 -30.359375 C 17.09375 -30.359375 15.335938 -30.117188 13.671875 -29.640625 C 12.003906 -29.171875 10.421875 -28.507812 8.921875 -27.65625 L 6.9375 -32.015625 C 8.5625 -32.828125 10.367188 -33.53125 12.359375 -34.125 C 14.347656 -34.726562 16.644531 -35.03125 19.25 -35.03125 C 23.570312 -35.03125 26.898438 -34.054688 29.234375 -32.109375 C 31.566406 -30.171875 32.734375 -27.144531 32.734375 -23.03125 L 32.734375 0 L 28.109375 0 L 27.46875 -4.75 L 27.203125 -4.75 C 25.796875 -2.945312 24.171875 -1.597656 22.328125 -0.703125 C 20.492188 0.191406 18.3125 0.640625 15.78125 0.640625 Z M 16.75 -4.046875 C 18.675781 -4.046875 20.453125 -4.394531 22.078125 -5.09375 C 23.703125 -5.800781 25.003906 -6.867188 25.984375 -8.296875 C 26.972656 -9.734375 27.46875 -11.546875 27.46875 -13.734375 L 27.46875 -16.8125 L 21.3125 -16.625 C 17.195312 -16.488281 14.273438 -15.820312 12.546875 -14.625 C 10.816406 -13.425781 9.953125 -11.757812 9.953125 -9.625 C 9.953125 -7.65625 10.570312 -6.234375 11.8125 -5.359375 C 13.050781 -4.484375 14.695312 -4.046875 16.75 -4.046875 Z M 16.75 -4.046875 "/>
</symbol>
<symbol overflow="visible" id="glyph4-4">
<path style="stroke:none;" d="M 19.703125 -40.625 C 18.585938 -40.625 17.632812 -40.960938 16.84375 -41.640625 C 16.050781 -42.328125 15.65625 -43.332031 15.65625 -44.65625 C 15.65625 -46.070312 16.050781 -47.109375 16.84375 -47.765625 C 17.632812 -48.429688 18.585938 -48.765625 19.703125 -48.765625 C 20.816406 -48.765625 21.769531 -48.429688 22.5625 -47.765625 C 23.351562 -47.109375 23.75 -46.070312 23.75 -44.65625 C 23.75 -43.332031 23.351562 -42.328125 22.5625 -41.640625 C 21.769531 -40.960938 20.816406 -40.625 19.703125 -40.625 Z M 5.140625 0 L 5.140625 -3.84375 L 17.390625 -4.8125 L 17.390625 -29.578125 L 6.15625 -30.421875 L 6.15625 -34.390625 L 23.171875 -34.390625 L 23.171875 -4.8125 L 34.65625 -3.84375 L 34.65625 0 Z M 5.140625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph4-5">
<path style="stroke:none;" d="M 5.140625 0 L 5.140625 -34.390625 L 9.75 -34.390625 L 10.59375 -29.328125 L 10.90625 -29.328125 C 11.894531 -31.296875 13.359375 -32.738281 15.296875 -33.65625 C 17.242188 -34.570312 19.523438 -35.03125 22.140625 -35.03125 C 25.609375 -35.03125 28.398438 -34.054688 30.515625 -32.109375 C 32.628906 -30.171875 33.6875 -27.125 33.6875 -22.96875 L 33.6875 0 L 27.921875 0 L 27.921875 -21.953125 C 27.921875 -24.859375 27.332031 -26.984375 26.15625 -28.328125 C 24.976562 -29.679688 23.082031 -30.359375 20.46875 -30.359375 C 16.957031 -30.359375 14.484375 -29.242188 13.046875 -27.015625 C 11.617188 -24.785156 10.90625 -21.660156 10.90625 -17.640625 L 10.90625 0 Z M 5.140625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph4-6">
<path style="stroke:none;" d="M 17.71875 15.71875 C 15.363281 15.71875 13.144531 15.492188 11.0625 15.046875 C 8.988281 14.597656 7.078125 14.007812 5.328125 13.28125 L 5.328125 8.15625 C 7.035156 9.132812 9.007812 9.867188 11.25 10.359375 C 13.5 10.859375 15.585938 11.109375 17.515625 11.109375 C 21.410156 11.109375 24.128906 10.195312 25.671875 8.375 C 27.210938 6.550781 27.984375 4.054688 27.984375 0.890625 L 27.984375 -0.328125 C 27.984375 -0.835938 27.992188 -1.328125 28.015625 -1.796875 C 28.035156 -2.265625 28.085938 -2.992188 28.171875 -3.984375 L 27.921875 -3.984375 C 26.722656 -2.222656 25.320312 -1.007812 23.71875 -0.34375 C 22.113281 0.3125 20.175781 0.640625 17.90625 0.640625 C 13.375 0.640625 9.84375 -0.90625 7.3125 -4 C 4.789062 -7.101562 3.53125 -11.4375 3.53125 -17 C 3.53125 -22.601562 4.78125 -27.007812 7.28125 -30.21875 C 9.78125 -33.425781 13.210938 -35.03125 17.578125 -35.03125 C 19.890625 -35.03125 21.835938 -34.65625 23.421875 -33.90625 C 25.003906 -33.164062 26.414062 -31.914062 27.65625 -30.15625 L 27.984375 -30.15625 L 28.75 -34.390625 L 33.375 -34.390625 L 33.375 0.890625 C 33.375 5.816406 32.109375 9.519531 29.578125 12 C 27.054688 14.476562 23.101562 15.71875 17.71875 15.71875 Z M 19 -4.046875 C 21.863281 -4.046875 24.109375 -4.972656 25.734375 -6.828125 C 27.359375 -8.691406 28.171875 -11.675781 28.171875 -15.78125 L 28.171875 -17.140625 C 28.171875 -21.835938 27.335938 -25.210938 25.671875 -27.265625 C 24.003906 -29.328125 21.710938 -30.359375 18.796875 -30.359375 C 15.546875 -30.359375 13.171875 -29.210938 11.671875 -26.921875 C 10.179688 -24.628906 9.4375 -21.390625 9.4375 -17.203125 C 9.4375 -12.921875 10.21875 -9.65625 11.78125 -7.40625 C 13.34375 -5.164062 15.75 -4.046875 19 -4.046875 Z M 19 -4.046875 "/>
</symbol>
<symbol overflow="visible" id="glyph4-7">
<path style="stroke:none;" d="M 4.484375 0 L 4.484375 -45.8125 L 15.59375 -45.8125 C 19.65625 -45.8125 23.179688 -44.957031 26.171875 -43.25 C 29.171875 -41.539062 31.492188 -39.023438 33.140625 -35.703125 C 34.785156 -32.390625 35.609375 -28.273438 35.609375 -23.359375 C 35.609375 -15.617188 33.738281 -9.789062 30 -5.875 C 26.257812 -1.957031 21.03125 0 14.3125 0 Z M 13.734375 -5 C 19.210938 -5 23.242188 -6.539062 25.828125 -9.625 C 28.421875 -12.707031 29.71875 -17.222656 29.71875 -23.171875 C 29.71875 -29.242188 28.398438 -33.703125 25.765625 -36.546875 C 23.128906 -39.390625 19.523438 -40.8125 14.953125 -40.8125 L 10.265625 -40.8125 L 10.265625 -5 Z M 13.734375 -5 "/>
</symbol>
<symbol overflow="visible" id="glyph4-8">
<path style="stroke:none;" d="M 25.796875 0.640625 C 23.359375 0.640625 21.175781 0.320312 19.25 -0.3125 C 17.320312 -0.957031 15.789062 -2.09375 14.65625 -3.71875 C 13.53125 -5.34375 12.96875 -7.585938 12.96875 -10.453125 L 12.96875 -29.578125 L 3.59375 -29.578125 L 3.59375 -33.5625 L 12.96875 -34.59375 L 14.125 -43.578125 L 18.734375 -43.578125 L 18.734375 -34.390625 L 32.15625 -34.390625 L 32.15625 -29.578125 L 18.734375 -29.578125 L 18.734375 -11.546875 C 18.734375 -8.941406 19.3125 -7.039062 20.46875 -5.84375 C 21.625 -4.644531 23.53125 -4.046875 26.1875 -4.046875 C 27.289062 -4.046875 28.484375 -4.148438 29.765625 -4.359375 C 31.054688 -4.578125 32.171875 -4.789062 33.109375 -5 L 33.109375 -0.390625 C 32.085938 -0.128906 30.953125 0.101562 29.703125 0.3125 C 28.460938 0.53125 27.160156 0.640625 25.796875 0.640625 Z M 25.796875 0.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph4-9">
<path style="stroke:none;" d="M 17.90625 0.640625 C 15.769531 0.640625 13.726562 0.445312 11.78125 0.0625 C 9.832031 -0.320312 8.148438 -0.859375 6.734375 -1.546875 L 6.734375 -6.859375 C 8.234375 -6.179688 9.890625 -5.550781 11.703125 -4.96875 C 13.523438 -4.394531 15.695312 -4.109375 18.21875 -4.109375 C 21.039062 -4.109375 23.039062 -4.546875 24.21875 -5.421875 C 25.394531 -6.296875 25.984375 -7.566406 25.984375 -9.234375 C 25.984375 -10.140625 25.78125 -10.878906 25.375 -11.453125 C 24.96875 -12.035156 24.1875 -12.625 23.03125 -13.21875 C 21.882812 -13.820312 20.195312 -14.59375 17.96875 -15.53125 C 15.738281 -16.507812 13.832031 -17.425781 12.25 -18.28125 C 10.664062 -19.144531 9.445312 -20.164062 8.59375 -21.34375 C 7.738281 -22.519531 7.3125 -24.023438 7.3125 -25.859375 C 7.3125 -28.898438 8.476562 -31.1875 10.8125 -32.71875 C 13.144531 -34.257812 16.382812 -35.03125 20.53125 -35.03125 C 22.414062 -35.03125 24.210938 -34.859375 25.921875 -34.515625 C 27.640625 -34.179688 29.414062 -33.628906 31.25 -32.859375 L 29.515625 -28.359375 C 27.804688 -29.085938 26.234375 -29.578125 24.796875 -29.828125 C 23.367188 -30.085938 21.945312 -30.21875 20.53125 -30.21875 C 17.882812 -30.21875 15.953125 -29.875 14.734375 -29.1875 C 13.515625 -28.507812 12.90625 -27.441406 12.90625 -25.984375 C 12.90625 -25.046875 13.171875 -24.253906 13.703125 -23.609375 C 14.234375 -22.972656 15.109375 -22.351562 16.328125 -21.75 C 17.546875 -21.15625 19.160156 -20.429688 21.171875 -19.578125 C 23.441406 -18.628906 25.367188 -17.75 26.953125 -16.9375 C 28.535156 -16.125 29.734375 -15.148438 30.546875 -14.015625 C 31.359375 -12.890625 31.765625 -11.34375 31.765625 -9.375 C 31.765625 -6.113281 30.597656 -3.628906 28.265625 -1.921875 C 25.929688 -0.210938 22.476562 0.640625 17.90625 0.640625 Z M 17.90625 0.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph4-10">
<path style="stroke:none;" d="M 21.625 0.640625 C 16.101562 0.640625 11.757812 -0.882812 8.59375 -3.9375 C 5.425781 -7 3.84375 -11.375 3.84375 -17.0625 C 3.84375 -20.832031 4.523438 -24.050781 5.890625 -26.71875 C 7.265625 -29.394531 9.171875 -31.445312 11.609375 -32.875 C 14.046875 -34.3125 16.894531 -35.03125 20.15625 -35.03125 C 24.644531 -35.03125 28.179688 -33.578125 30.765625 -30.671875 C 33.359375 -27.765625 34.65625 -23.785156 34.65625 -18.734375 L 34.65625 -16.109375 L 9.6875 -16.109375 C 9.769531 -13.109375 10.335938 -10.734375 11.390625 -8.984375 C 12.441406 -7.234375 13.875 -5.984375 15.6875 -5.234375 C 17.507812 -4.484375 19.617188 -4.109375 22.015625 -4.109375 C 23.890625 -4.109375 25.75 -4.363281 27.59375 -4.875 C 29.4375 -5.382812 31.273438 -6.070312 33.109375 -6.9375 L 33.109375 -1.796875 C 31.140625 -0.941406 29.171875 -0.320312 27.203125 0.0625 C 25.234375 0.445312 23.375 0.640625 21.625 0.640625 Z M 28.875 -20.734375 C 28.75 -23.722656 27.945312 -26.070312 26.46875 -27.78125 C 24.988281 -29.5 22.882812 -30.359375 20.15625 -30.359375 C 17.28125 -30.359375 14.957031 -29.488281 13.1875 -27.75 C 11.414062 -26.019531 10.289062 -23.679688 9.8125 -20.734375 Z M 28.875 -20.734375 "/>
</symbol>
<symbol overflow="visible" id="glyph5-0">
<path style="stroke:none;" d="M 5.140625 0 L 5.140625 -39.015625 L 27.59375 -39.015625 L 27.59375 0 Z M 7.921875 -2.78125 L 24.8125 -2.78125 L 24.8125 -36.234375 L 7.921875 -36.234375 Z M 7.921875 -2.78125 "/>
</symbol>
<symbol overflow="visible" id="glyph5-1">
<path style="stroke:none;" d="M 15.359375 0.546875 C 13.273438 0.546875 11.257812 0.359375 9.3125 -0.015625 C 7.363281 -0.398438 5.804688 -0.882812 4.640625 -1.46875 L 4.640625 -6.015625 C 5.992188 -5.429688 7.632812 -4.890625 9.5625 -4.390625 C 11.488281 -3.898438 13.457031 -3.65625 15.46875 -3.65625 C 21.070312 -3.65625 23.875 -5.929688 23.875 -10.484375 C 23.875 -11.722656 23.617188 -12.707031 23.109375 -13.4375 C 22.597656 -14.164062 21.695312 -14.867188 20.40625 -15.546875 C 19.113281 -16.222656 17.300781 -17.070312 14.96875 -18.09375 C 13.4375 -18.78125 11.941406 -19.539062 10.484375 -20.375 C 9.035156 -21.21875 7.84375 -22.332031 6.90625 -23.71875 C 5.976562 -25.101562 5.515625 -26.921875 5.515625 -29.171875 C 5.515625 -32.523438 6.625 -35.09375 8.84375 -36.875 C 11.070312 -38.664062 14.117188 -39.5625 17.984375 -39.5625 C 19.941406 -39.5625 21.796875 -39.347656 23.546875 -38.921875 C 25.296875 -38.503906 26.828125 -37.988281 28.140625 -37.375 L 26.5625 -33.28125 C 25.320312 -33.863281 23.9375 -34.328125 22.40625 -34.671875 C 20.875 -35.015625 19.363281 -35.1875 17.875 -35.1875 C 15.757812 -35.1875 14.007812 -34.726562 12.625 -33.8125 C 11.238281 -32.90625 10.546875 -31.320312 10.546875 -29.0625 C 10.546875 -27.789062 10.804688 -26.753906 11.328125 -25.953125 C 11.859375 -25.148438 12.707031 -24.445312 13.875 -23.84375 C 15.039062 -23.25 16.535156 -22.550781 18.359375 -21.75 C 20.429688 -20.875 22.257812 -19.988281 23.84375 -19.09375 C 25.4375 -18.207031 26.675781 -17.109375 27.5625 -15.796875 C 28.457031 -14.484375 28.90625 -12.695312 28.90625 -10.4375 C 28.90625 -6.976562 27.765625 -4.28125 25.484375 -2.34375 C 23.210938 -0.414062 19.835938 0.546875 15.359375 0.546875 Z M 15.359375 0.546875 "/>
</symbol>
<symbol overflow="visible" id="glyph5-2">
<path style="stroke:none;" d="M 13.9375 0 L 1.359375 -39.015625 L 6.5 -39.015625 L 14.09375 -13.65625 C 14.601562 -12.050781 15.050781 -10.492188 15.4375 -8.984375 C 15.820312 -7.472656 16.160156 -6.0625 16.453125 -4.75 L 16.609375 -4.75 C 16.898438 -6.03125 17.234375 -7.441406 17.609375 -8.984375 C 17.992188 -10.535156 18.425781 -12.148438 18.90625 -13.828125 L 26.234375 -39.015625 L 31.421875 -39.015625 L 19.0625 0 Z M 13.9375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph5-3">
<path style="stroke:none;" d="M 2.734375 0 L 2.734375 -39.015625 L 9.78125 -39.015625 L 16.28125 -16.125 L 16.453125 -16.125 L 22.953125 -39.015625 L 30.046875 -39.015625 L 30.046875 0 L 25.40625 0 L 25.40625 -21.140625 C 25.40625 -23.296875 25.453125 -25.507812 25.546875 -27.78125 C 25.640625 -30.0625 25.8125 -32.164062 26.0625 -34.09375 L 25.84375 -34.09375 L 18.625 -9.71875 L 14.09375 -9.71875 L 6.828125 -34.15625 L 6.609375 -34.15625 C 6.796875 -33.09375 6.941406 -31.804688 7.046875 -30.296875 C 7.160156 -28.785156 7.242188 -27.226562 7.296875 -25.625 C 7.347656 -24.019531 7.375 -22.523438 7.375 -21.140625 L 7.375 0 Z M 2.734375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph5-4">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph5-5">
<path style="stroke:none;" d="M 13.9375 0 L 13.9375 -34.640625 L 2.453125 -34.640625 L 2.453125 -39.015625 L 30.328125 -39.015625 L 30.328125 -34.640625 L 18.84375 -34.640625 L 18.84375 0 Z M 13.9375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph5-6">
<path style="stroke:none;" d="M 4.375 0 L 4.375 -41.53125 L 9.28125 -41.53125 L 9.28125 -29.71875 C 9.28125 -29.03125 9.253906 -28.15625 9.203125 -27.09375 C 9.148438 -26.039062 9.109375 -25.207031 9.078125 -24.59375 L 9.34375 -24.59375 C 10.289062 -26.40625 11.554688 -27.726562 13.140625 -28.5625 C 14.722656 -29.40625 16.515625 -29.828125 18.515625 -29.828125 C 21.546875 -29.828125 24 -28.976562 25.875 -27.28125 C 27.75 -25.59375 28.6875 -22.875 28.6875 -19.125 L 28.6875 0 L 23.765625 0 L 23.765625 -18.140625 C 23.765625 -20.796875 23.195312 -22.742188 22.0625 -23.984375 C 20.9375 -25.222656 19.335938 -25.84375 17.265625 -25.84375 C 14.828125 -25.84375 12.882812 -24.90625 11.4375 -23.03125 C 10 -21.15625 9.28125 -18.539062 9.28125 -15.1875 L 9.28125 0 Z M 4.375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph5-7">
<path style="stroke:none;" d="M 3.390625 0 L 3.390625 -3.28125 L 12.296875 -4.09375 L 12.296875 -25.1875 L 4.265625 -25.90625 L 4.265625 -29.28125 L 16.234375 -29.28125 L 16.890625 -23.9375 L 17.109375 -23.9375 C 18.117188 -25.863281 19.234375 -27.328125 20.453125 -28.328125 C 21.679688 -29.328125 23.296875 -29.828125 25.296875 -29.828125 C 26.535156 -29.828125 27.632812 -29.71875 28.59375 -29.5 C 29.5625 -29.28125 30.445312 -28.988281 31.25 -28.625 L 29.9375 -24.3125 C 29.351562 -24.644531 28.660156 -24.925781 27.859375 -25.15625 C 27.066406 -25.394531 26.210938 -25.515625 25.296875 -25.515625 C 23.734375 -25.515625 22.347656 -25.019531 21.140625 -24.03125 C 19.941406 -23.050781 18.992188 -21.742188 18.296875 -20.109375 C 17.609375 -18.472656 17.265625 -16.671875 17.265625 -14.703125 L 17.265625 -4.09375 L 25.796875 -3.28125 L 25.796875 0 Z M 3.390625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph5-8">
<path style="stroke:none;" d="M 18.40625 0.546875 C 13.707031 0.546875 10.007812 -0.753906 7.3125 -3.359375 C 4.625 -5.960938 3.28125 -9.6875 3.28125 -14.53125 C 3.28125 -17.738281 3.863281 -20.476562 5.03125 -22.75 C 6.195312 -25.03125 7.816406 -26.78125 9.890625 -28 C 11.960938 -29.21875 14.382812 -29.828125 17.15625 -29.828125 C 20.976562 -29.828125 23.988281 -28.585938 26.1875 -26.109375 C 28.394531 -23.640625 29.5 -20.253906 29.5 -15.953125 L 29.5 -13.71875 L 8.25 -13.71875 C 8.320312 -11.164062 8.800781 -9.140625 9.6875 -7.640625 C 10.582031 -6.148438 11.804688 -5.085938 13.359375 -4.453125 C 14.910156 -3.816406 16.703125 -3.5 18.734375 -3.5 C 20.335938 -3.5 21.921875 -3.71875 23.484375 -4.15625 C 25.054688 -4.59375 26.625 -5.175781 28.1875 -5.90625 L 28.1875 -1.53125 C 26.519531 -0.800781 24.847656 -0.273438 23.171875 0.046875 C 21.492188 0.378906 19.90625 0.546875 18.40625 0.546875 Z M 24.59375 -17.65625 C 24.476562 -20.195312 23.789062 -22.195312 22.53125 -23.65625 C 21.28125 -25.113281 19.488281 -25.84375 17.15625 -25.84375 C 14.71875 -25.84375 12.742188 -25.101562 11.234375 -23.625 C 9.722656 -22.15625 8.765625 -20.164062 8.359375 -17.65625 Z M 24.59375 -17.65625 "/>
</symbol>
<symbol overflow="visible" id="glyph5-9">
<path style="stroke:none;" d="M 15.25 0.546875 C 13.425781 0.546875 11.6875 0.378906 10.03125 0.046875 C 8.375 -0.273438 6.941406 -0.726562 5.734375 -1.3125 L 5.734375 -5.84375 C 7.015625 -5.257812 8.425781 -4.722656 9.96875 -4.234375 C 11.519531 -3.742188 13.367188 -3.5 15.515625 -3.5 C 17.921875 -3.5 19.625 -3.867188 20.625 -4.609375 C 21.625 -5.359375 22.125 -6.445312 22.125 -7.875 C 22.125 -8.632812 21.953125 -9.257812 21.609375 -9.75 C 21.265625 -10.238281 20.597656 -10.738281 19.609375 -11.25 C 18.628906 -11.757812 17.191406 -12.414062 15.296875 -13.21875 C 13.398438 -14.0625 11.78125 -14.847656 10.4375 -15.578125 C 9.09375 -16.304688 8.054688 -17.171875 7.328125 -18.171875 C 6.597656 -19.171875 6.234375 -20.453125 6.234375 -22.015625 C 6.234375 -24.609375 7.222656 -26.554688 9.203125 -27.859375 C 11.191406 -29.171875 13.953125 -29.828125 17.484375 -29.828125 C 19.085938 -29.828125 20.617188 -29.679688 22.078125 -29.390625 C 23.535156 -29.097656 25.046875 -28.625 26.609375 -27.96875 L 25.140625 -24.15625 C 23.679688 -24.769531 22.335938 -25.1875 21.109375 -25.40625 C 19.890625 -25.625 18.679688 -25.734375 17.484375 -25.734375 C 15.222656 -25.734375 13.570312 -25.441406 12.53125 -24.859375 C 11.5 -24.273438 10.984375 -23.363281 10.984375 -22.125 C 10.984375 -21.320312 11.207031 -20.644531 11.65625 -20.09375 C 12.113281 -19.550781 12.863281 -19.023438 13.90625 -18.515625 C 14.945312 -18.015625 16.320312 -17.398438 18.03125 -16.671875 C 19.957031 -15.867188 21.59375 -15.117188 22.9375 -14.421875 C 24.289062 -13.734375 25.3125 -12.90625 26 -11.9375 C 26.695312 -10.96875 27.046875 -9.648438 27.046875 -7.984375 C 27.046875 -5.210938 26.050781 -3.097656 24.0625 -1.640625 C 22.082031 -0.179688 19.144531 0.546875 15.25 0.546875 Z M 15.25 0.546875 "/>
</symbol>
<symbol overflow="visible" id="glyph5-10">
<path style="stroke:none;" d="M 16.453125 0.546875 C 13.898438 0.546875 11.613281 -0.00390625 9.59375 -1.109375 C 7.570312 -2.222656 5.96875 -3.914062 4.78125 -6.1875 C 3.59375 -8.46875 3 -11.320312 3 -14.75 C 3 -18.132812 3.570312 -20.9375 4.71875 -23.15625 C 5.875 -25.382812 7.453125 -27.050781 9.453125 -28.15625 C 11.453125 -29.269531 13.726562 -29.828125 16.28125 -29.828125 C 18.832031 -29.828125 21.128906 -29.269531 23.171875 -28.15625 C 25.210938 -27.050781 26.820312 -25.378906 28 -23.140625 C 29.1875 -20.898438 29.78125 -18.050781 29.78125 -14.59375 C 29.78125 -11.195312 29.195312 -8.378906 28.03125 -6.140625 C 26.863281 -3.898438 25.273438 -2.222656 23.265625 -1.109375 C 21.265625 -0.00390625 18.992188 0.546875 16.453125 0.546875 Z M 16.390625 -3.4375 C 19.234375 -3.4375 21.347656 -4.445312 22.734375 -6.46875 C 24.117188 -8.488281 24.8125 -11.234375 24.8125 -14.703125 C 24.8125 -18.160156 24.109375 -20.878906 22.703125 -22.859375 C 21.296875 -24.847656 19.175781 -25.84375 16.34375 -25.84375 C 13.5 -25.84375 11.375 -24.847656 9.96875 -22.859375 C 8.570312 -20.878906 7.875 -18.160156 7.875 -14.703125 C 7.875 -11.234375 8.582031 -8.488281 10 -6.46875 C 11.414062 -4.445312 13.546875 -3.4375 16.390625 -3.4375 Z M 16.390625 -3.4375 "/>
</symbol>
<symbol overflow="visible" id="glyph5-11">
<path style="stroke:none;" d="M 4.375 0 L 4.375 -3.28125 L 15.078125 -4.09375 L 15.078125 -37.421875 L 4.703125 -38.140625 L 4.703125 -41.53125 L 20 -41.53125 L 20 -4.09375 L 29.5 -3.28125 L 29.5 0 Z M 4.375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph5-12">
<path style="stroke:none;" d="M 14.96875 0.546875 C 11.363281 0.546875 8.46875 -0.71875 6.28125 -3.25 C 4.09375 -5.78125 3 -9.632812 3 -14.8125 C 3 -19.6875 4.035156 -23.40625 6.109375 -25.96875 C 8.191406 -28.539062 11.328125 -29.828125 15.515625 -29.828125 C 17.554688 -29.828125 19.234375 -29.425781 20.546875 -28.625 C 21.859375 -27.820312 22.859375 -26.804688 23.546875 -25.578125 L 23.875 -25.578125 C 23.800781 -26.085938 23.726562 -26.757812 23.65625 -27.59375 C 23.582031 -28.425781 23.546875 -29.191406 23.546875 -29.890625 L 23.546875 -41.53125 L 28.40625 -41.53125 L 28.40625 0 L 24.375 0 L 23.828125 -3.9375 L 23.609375 -3.9375 C 22.804688 -2.625 21.71875 -1.546875 20.34375 -0.703125 C 18.976562 0.128906 17.1875 0.546875 14.96875 0.546875 Z M 15.90625 -3.4375 C 18.488281 -3.4375 20.40625 -4.335938 21.65625 -6.140625 C 22.914062 -7.953125 23.546875 -10.40625 23.546875 -13.5 L 23.546875 -14.59375 C 23.546875 -16.738281 23.304688 -18.65625 22.828125 -20.34375 C 22.359375 -22.039062 21.578125 -23.378906 20.484375 -24.359375 C 19.390625 -25.347656 17.914062 -25.84375 16.0625 -25.84375 C 13.507812 -25.84375 11.53125 -24.894531 10.125 -23 C 8.726562 -21.101562 8.03125 -18.207031 8.03125 -14.3125 C 8.03125 -7.0625 10.65625 -3.4375 15.90625 -3.4375 Z M 15.90625 -3.4375 "/>
</symbol>
<symbol overflow="visible" id="glyph6-0">
<path style="stroke:none;" d="M 5.765625 0 L 5.765625 -43.765625 L 30.953125 -43.765625 L 30.953125 0 Z M 8.890625 -3.125 L 27.828125 -3.125 L 27.828125 -40.640625 L 8.890625 -40.640625 Z M 8.890625 -3.125 "/>
</symbol>
<symbol overflow="visible" id="glyph6-1">
<path style="stroke:none;" d="M 4.296875 0 L 4.296875 -43.765625 L 14.890625 -43.765625 C 18.773438 -43.765625 22.144531 -42.945312 25 -41.3125 C 27.863281 -39.675781 30.082031 -37.273438 31.65625 -34.109375 C 33.226562 -30.941406 34.015625 -27.007812 34.015625 -22.3125 C 34.015625 -14.914062 32.226562 -9.347656 28.65625 -5.609375 C 25.082031 -1.867188 20.085938 0 13.671875 0 Z M 13.125 -4.78125 C 18.351562 -4.78125 22.203125 -6.25 24.671875 -9.1875 C 27.140625 -12.132812 28.375 -16.445312 28.375 -22.125 C 28.375 -27.925781 27.117188 -32.1875 24.609375 -34.90625 C 22.097656 -37.625 18.65625 -38.984375 14.28125 -38.984375 L 9.8125 -38.984375 L 9.8125 -4.78125 Z M 13.125 -4.78125 "/>
</symbol>
<symbol overflow="visible" id="glyph6-2">
<path style="stroke:none;" d="M 18.453125 0.609375 C 15.585938 0.609375 13.019531 -0.0078125 10.75 -1.25 C 8.488281 -2.5 6.691406 -4.398438 5.359375 -6.953125 C 4.035156 -9.503906 3.375 -12.703125 3.375 -16.546875 C 3.375 -20.347656 4.015625 -23.492188 5.296875 -25.984375 C 6.585938 -28.484375 8.351562 -30.351562 10.59375 -31.59375 C 12.84375 -32.84375 15.398438 -33.46875 18.265625 -33.46875 C 21.128906 -33.46875 23.703125 -32.84375 25.984375 -31.59375 C 28.273438 -30.351562 30.082031 -28.472656 31.40625 -25.953125 C 32.738281 -23.441406 33.40625 -20.242188 33.40625 -16.359375 C 33.40625 -12.566406 32.75 -9.410156 31.4375 -6.890625 C 30.132812 -4.378906 28.359375 -2.5 26.109375 -1.25 C 23.859375 -0.0078125 21.304688 0.609375 18.453125 0.609375 Z M 18.390625 -3.859375 C 21.578125 -3.859375 23.945312 -4.992188 25.5 -7.265625 C 27.050781 -9.535156 27.828125 -12.609375 27.828125 -16.484375 C 27.828125 -20.367188 27.039062 -23.425781 25.46875 -25.65625 C 23.894531 -27.882812 21.515625 -29 18.328125 -29 C 15.140625 -29 12.757812 -27.882812 11.1875 -25.65625 C 9.613281 -23.425781 8.828125 -20.367188 8.828125 -16.484375 C 8.828125 -12.609375 9.625 -9.535156 11.21875 -7.265625 C 12.8125 -4.992188 15.203125 -3.859375 18.390625 -3.859375 Z M 18.390625 -3.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph6-3">
<path style="stroke:none;" d="M 3.0625 0 L 3.0625 -32.859375 L 6.859375 -32.859375 L 7.65625 -29.234375 L 7.96875 -29.234375 C 8.78125 -30.867188 9.675781 -31.984375 10.65625 -32.578125 C 11.644531 -33.171875 12.769531 -33.46875 14.03125 -33.46875 C 15.707031 -33.46875 17.003906 -33.066406 17.921875 -32.265625 C 18.847656 -31.472656 19.554688 -30.300781 20.046875 -28.75 L 20.234375 -28.75 C 20.921875 -30.257812 21.785156 -31.421875 22.828125 -32.234375 C 23.867188 -33.054688 25.25 -33.46875 26.96875 -33.46875 C 29.5 -33.46875 31.265625 -32.492188 32.265625 -30.546875 C 33.273438 -28.609375 33.78125 -25.578125 33.78125 -21.453125 L 33.78125 0 L 28.875 0 L 28.875 -20.53125 C 28.875 -23.101562 28.695312 -25.101562 28.34375 -26.53125 C 28 -27.96875 27.070312 -28.6875 25.5625 -28.6875 C 22.457031 -28.6875 20.90625 -24.597656 20.90625 -16.421875 L 20.90625 0 L 16 0 L 16 -20.53125 C 16 -23.144531 15.765625 -25.15625 15.296875 -26.5625 C 14.828125 -27.976562 13.835938 -28.6875 12.328125 -28.6875 C 10.691406 -28.6875 9.554688 -27.582031 8.921875 -25.375 C 8.285156 -23.164062 7.96875 -20.179688 7.96875 -16.421875 L 7.96875 0 Z M 3.0625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph6-4">
<path style="stroke:none;" d="M 15.078125 0.609375 C 11.847656 0.609375 9.242188 -0.1875 7.265625 -1.78125 C 5.285156 -3.375 4.296875 -5.785156 4.296875 -9.015625 C 4.296875 -12.566406 5.570312 -15.21875 8.125 -16.96875 C 10.675781 -18.726562 14.363281 -19.671875 19.1875 -19.796875 L 26.234375 -19.984375 L 26.234375 -21.328125 C 26.234375 -24.273438 25.5 -26.289062 24.03125 -27.375 C 22.5625 -28.457031 20.578125 -29 18.078125 -29 C 16.328125 -29 14.65625 -28.769531 13.0625 -28.3125 C 11.46875 -27.863281 9.953125 -27.234375 8.515625 -26.421875 L 6.625 -30.59375 C 8.175781 -31.363281 9.898438 -32.035156 11.796875 -32.609375 C 13.703125 -33.179688 15.898438 -33.46875 18.390625 -33.46875 C 22.515625 -33.46875 25.691406 -32.535156 27.921875 -30.671875 C 30.148438 -28.816406 31.265625 -25.925781 31.265625 -22 L 31.265625 0 L 26.84375 0 L 26.234375 -4.53125 L 25.984375 -4.53125 C 24.640625 -2.820312 23.085938 -1.535156 21.328125 -0.671875 C 19.578125 0.179688 17.492188 0.609375 15.078125 0.609375 Z M 16 -3.859375 C 17.832031 -3.859375 19.523438 -4.195312 21.078125 -4.875 C 22.640625 -5.550781 23.890625 -6.570312 24.828125 -7.9375 C 25.765625 -9.300781 26.234375 -11.03125 26.234375 -13.125 L 26.234375 -16.0625 L 20.34375 -15.875 C 16.425781 -15.75 13.640625 -15.113281 11.984375 -13.96875 C 10.328125 -12.832031 9.5 -11.238281 9.5 -9.1875 C 9.5 -7.3125 10.09375 -5.953125 11.28125 -5.109375 C 12.46875 -4.273438 14.039062 -3.859375 16 -3.859375 Z M 16 -3.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph6-5">
<path style="stroke:none;" d="M 18.8125 -38.796875 C 17.75 -38.796875 16.835938 -39.125 16.078125 -39.78125 C 15.328125 -40.4375 14.953125 -41.394531 14.953125 -42.65625 C 14.953125 -44.007812 15.328125 -45 16.078125 -45.625 C 16.835938 -46.257812 17.75 -46.578125 18.8125 -46.578125 C 19.875 -46.578125 20.785156 -46.257812 21.546875 -45.625 C 22.304688 -45 22.6875 -44.007812 22.6875 -42.65625 C 22.6875 -41.394531 22.304688 -40.4375 21.546875 -39.78125 C 20.785156 -39.125 19.875 -38.796875 18.8125 -38.796875 Z M 4.90625 0 L 4.90625 -3.671875 L 16.609375 -4.59375 L 16.609375 -28.265625 L 5.890625 -29.0625 L 5.890625 -32.859375 L 22.125 -32.859375 L 22.125 -4.59375 L 33.09375 -3.671875 L 33.09375 0 Z M 4.90625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph6-6">
<path style="stroke:none;" d="M 4.90625 0 L 4.90625 -32.859375 L 9.3125 -32.859375 L 10.109375 -28.015625 L 10.421875 -28.015625 C 11.359375 -29.890625 12.753906 -31.265625 14.609375 -32.140625 C 16.472656 -33.023438 18.648438 -33.46875 21.140625 -33.46875 C 24.453125 -33.46875 27.117188 -32.535156 29.140625 -30.671875 C 31.171875 -28.816406 32.1875 -25.90625 32.1875 -21.9375 L 32.1875 0 L 26.671875 0 L 26.671875 -20.96875 C 26.671875 -23.738281 26.109375 -25.769531 24.984375 -27.0625 C 23.859375 -28.351562 22.046875 -29 19.546875 -29 C 16.203125 -29 13.84375 -27.9375 12.46875 -25.8125 C 11.101562 -23.6875 10.421875 -20.703125 10.421875 -16.859375 L 10.421875 0 Z M 4.90625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph6-7">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph6-8">
<path style="stroke:none;" d="M 4.296875 0 L 4.296875 -43.765625 L 9.8125 -43.765625 L 9.8125 -20.234375 C 10.5 -21.335938 11.210938 -22.457031 11.953125 -23.59375 C 12.691406 -24.738281 13.488281 -25.882812 14.34375 -27.03125 L 26.84375 -43.765625 L 33.15625 -43.765625 L 18.515625 -23.96875 L 33.71875 0 L 27.40625 0 L 14.765625 -20.234375 L 9.8125 -14.53125 L 9.8125 0 Z M 4.296875 0 "/>
</symbol>
<symbol overflow="visible" id="glyph6-9">
<path style="stroke:none;" d="M 6.25 0 L 0.984375 -32.859375 L 6.125 -32.859375 L 8.515625 -16.609375 C 8.765625 -15.097656 8.9375 -13.75 9.03125 -12.5625 C 9.132812 -11.375 9.238281 -10.164062 9.34375 -8.9375 C 9.445312 -7.71875 9.539062 -6.269531 9.625 -4.59375 L 9.8125 -4.59375 C 9.925781 -5.289062 10.097656 -6.257812 10.328125 -7.5 C 10.554688 -8.75 10.820312 -10.097656 11.125 -11.546875 C 11.425781 -13.003906 11.765625 -14.34375 12.140625 -15.5625 L 15.328125 -26.671875 L 21.390625 -26.671875 L 24.453125 -15.5625 C 24.828125 -14.34375 25.175781 -13.023438 25.5 -11.609375 C 25.820312 -10.203125 26.113281 -8.875 26.375 -7.625 C 26.644531 -6.382812 26.820312 -5.375 26.90625 -4.59375 L 27.09375 -4.59375 C 27.21875 -6.226562 27.316406 -7.648438 27.390625 -8.859375 C 27.472656 -10.066406 27.578125 -11.257812 27.703125 -12.4375 C 27.828125 -13.625 28.015625 -15.015625 28.265625 -16.609375 L 30.828125 -32.859375 L 35.859375 -32.859375 L 30.46875 0 L 23.84375 0 L 20.90625 -11.53125 C 20.5 -13.195312 20.066406 -14.867188 19.609375 -16.546875 C 19.160156 -18.222656 18.773438 -19.878906 18.453125 -21.515625 L 18.265625 -21.515625 C 17.941406 -19.878906 17.539062 -18.222656 17.0625 -16.546875 C 16.59375 -14.867188 16.132812 -13.195312 15.6875 -11.53125 L 12.6875 0 Z M 6.25 0 "/>
</symbol>
<symbol overflow="visible" id="glyph6-10">
<path style="stroke:none;" d="M 4.90625 0 L 4.90625 -3.671875 L 16.921875 -4.59375 L 16.921875 -41.984375 L 5.265625 -42.78125 L 5.265625 -46.578125 L 22.4375 -46.578125 L 22.4375 -4.59375 L 33.09375 -3.671875 L 33.09375 0 Z M 4.90625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph6-11">
<path style="stroke:none;" d="M 20.65625 0.609375 C 15.382812 0.609375 11.234375 -0.847656 8.203125 -3.765625 C 5.179688 -6.691406 3.671875 -10.875 3.671875 -16.3125 C 3.671875 -19.90625 4.320312 -22.976562 5.625 -25.53125 C 6.9375 -28.082031 8.757812 -30.039062 11.09375 -31.40625 C 13.425781 -32.78125 16.144531 -33.46875 19.25 -33.46875 C 23.539062 -33.46875 26.921875 -32.078125 29.390625 -29.296875 C 31.859375 -26.515625 33.09375 -22.71875 33.09375 -17.90625 L 33.09375 -15.390625 L 9.25 -15.390625 C 9.332031 -12.523438 9.875 -10.253906 10.875 -8.578125 C 11.875 -6.898438 13.242188 -5.703125 14.984375 -4.984375 C 16.722656 -4.273438 18.738281 -3.921875 21.03125 -3.921875 C 22.820312 -3.921875 24.597656 -4.164062 26.359375 -4.65625 C 28.117188 -5.144531 29.875 -5.800781 31.625 -6.625 L 31.625 -1.71875 C 29.75 -0.894531 27.867188 -0.300781 25.984375 0.0625 C 24.109375 0.425781 22.332031 0.609375 20.65625 0.609375 Z M 27.578125 -19.796875 C 27.460938 -22.660156 26.695312 -24.910156 25.28125 -26.546875 C 23.875 -28.179688 21.863281 -29 19.25 -29 C 16.507812 -29 14.289062 -28.171875 12.59375 -26.515625 C 10.894531 -24.859375 9.820312 -22.617188 9.375 -19.796875 Z M 27.578125 -19.796875 "/>
</symbol>
<symbol overflow="visible" id="glyph6-12">
<path style="stroke:none;" d="M 16.796875 0.609375 C 12.753906 0.609375 9.503906 -0.804688 7.046875 -3.640625 C 4.597656 -6.484375 3.375 -10.804688 3.375 -16.609375 C 3.375 -22.085938 4.535156 -26.265625 6.859375 -29.140625 C 9.191406 -32.023438 12.707031 -33.46875 17.40625 -33.46875 C 19.695312 -33.46875 21.578125 -33.015625 23.046875 -32.109375 C 24.515625 -31.210938 25.640625 -30.070312 26.421875 -28.6875 L 26.78125 -28.6875 C 26.707031 -29.257812 26.628906 -30.015625 26.546875 -30.953125 C 26.460938 -31.890625 26.421875 -32.75 26.421875 -33.53125 L 26.421875 -46.578125 L 31.875 -46.578125 L 31.875 0 L 27.34375 0 L 26.71875 -4.40625 L 26.484375 -4.40625 C 25.578125 -2.9375 24.359375 -1.734375 22.828125 -0.796875 C 21.296875 0.140625 19.285156 0.609375 16.796875 0.609375 Z M 17.84375 -3.859375 C 20.738281 -3.859375 22.890625 -4.867188 24.296875 -6.890625 C 25.710938 -8.921875 26.421875 -11.671875 26.421875 -15.140625 L 26.421875 -16.359375 C 26.421875 -18.773438 26.15625 -20.929688 25.625 -22.828125 C 25.09375 -24.734375 24.210938 -26.238281 22.984375 -27.34375 C 21.753906 -28.445312 20.097656 -29 18.015625 -29 C 15.160156 -29 12.945312 -27.9375 11.375 -25.8125 C 9.800781 -23.6875 9.015625 -20.4375 9.015625 -16.0625 C 9.015625 -7.925781 11.957031 -3.859375 17.84375 -3.859375 Z M 17.84375 -3.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph6-13">
<path style="stroke:none;" d="M 16.921875 15.015625 C 14.671875 15.015625 12.550781 14.800781 10.5625 14.375 C 8.582031 13.945312 6.757812 13.382812 5.09375 12.6875 L 5.09375 7.78125 C 6.726562 8.71875 8.613281 9.421875 10.75 9.890625 C 12.894531 10.367188 14.890625 10.609375 16.734375 10.609375 C 20.453125 10.609375 23.046875 9.738281 24.515625 8 C 25.984375 6.257812 26.71875 3.878906 26.71875 0.859375 L 26.71875 -0.3125 C 26.71875 -0.800781 26.726562 -1.269531 26.75 -1.71875 C 26.769531 -2.164062 26.820312 -2.859375 26.90625 -3.796875 L 26.671875 -3.796875 C 25.523438 -2.117188 24.179688 -0.960938 22.640625 -0.328125 C 21.109375 0.296875 19.265625 0.609375 17.109375 0.609375 C 12.773438 0.609375 9.398438 -0.867188 6.984375 -3.828125 C 4.578125 -6.796875 3.375 -10.9375 3.375 -16.25 C 3.375 -21.601562 4.566406 -25.8125 6.953125 -28.875 C 9.347656 -31.9375 12.628906 -33.46875 16.796875 -33.46875 C 19.003906 -33.46875 20.863281 -33.109375 22.375 -32.390625 C 23.882812 -31.679688 25.234375 -30.488281 26.421875 -28.8125 L 26.71875 -28.8125 L 27.46875 -32.859375 L 31.875 -32.859375 L 31.875 0.859375 C 31.875 5.554688 30.664062 9.085938 28.25 11.453125 C 25.84375 13.828125 22.066406 15.015625 16.921875 15.015625 Z M 18.140625 -3.859375 C 20.878906 -3.859375 23.023438 -4.742188 24.578125 -6.515625 C 26.128906 -8.296875 26.90625 -11.148438 26.90625 -15.078125 L 26.90625 -16.359375 C 26.90625 -20.859375 26.109375 -24.085938 24.515625 -26.046875 C 22.921875 -28.015625 20.734375 -29 17.953125 -29 C 14.847656 -29 12.582031 -27.90625 11.15625 -25.71875 C 9.726562 -23.53125 9.015625 -20.429688 9.015625 -16.421875 C 9.015625 -12.335938 9.757812 -9.222656 11.25 -7.078125 C 12.738281 -4.929688 15.035156 -3.859375 18.140625 -3.859375 Z M 18.140625 -3.859375 "/>
</symbol>
<symbol overflow="visible" id="glyph7-0">
<path style="stroke:none;" d="M 6.828125 0 L 6.828125 -51.890625 L 36.703125 -51.890625 L 36.703125 0 Z M 10.53125 -3.703125 L 33 -3.703125 L 33 -48.1875 L 10.53125 -48.1875 Z M 10.53125 -3.703125 "/>
</symbol>
<symbol overflow="visible" id="glyph7-1">
<path style="stroke:none;" d="M 6.90625 0 L 6.90625 -51.890625 L 37.421875 -51.890625 L 37.421875 -46.078125 L 13.4375 -46.078125 L 13.4375 -27.765625 L 36.046875 -27.765625 L 36.046875 -21.953125 L 13.4375 -21.953125 L 13.4375 0 Z M 6.90625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph8-0">
<path style="stroke:none;" d="M 4.4375 0 L 4.4375 -33.71875 L 23.859375 -33.71875 L 23.859375 0 Z M 6.84375 -2.40625 L 21.4375 -2.40625 L 21.4375 -31.3125 L 6.84375 -31.3125 Z M 6.84375 -2.40625 "/>
</symbol>
<symbol overflow="visible" id="glyph8-1">
<path style="stroke:none;" d="M 6.28125 0 L 6.28125 -2.828125 L 13.375 -3.3125 L 13.375 -21.0625 C 13.375 -22.382812 13.394531 -23.84375 13.4375 -25.4375 C 13.488281 -27.03125 13.53125 -28.34375 13.5625 -29.375 C 13.050781 -29.09375 12.59375 -28.859375 12.1875 -28.671875 C 11.78125 -28.484375 11.164062 -28.1875 10.34375 -27.78125 L 6.421875 -25.75 L 4.578125 -28.953125 L 13.984375 -33.71875 L 17.421875 -33.71875 L 17.421875 -3.3125 L 24.5625 -2.828125 L 24.5625 0 Z M 6.28125 0 "/>
</symbol>
<symbol overflow="visible" id="glyph9-0">
<path style="stroke:none;" d="M 6.28125 0 L 6.28125 -47.65625 L 33.703125 -47.65625 L 33.703125 0 Z M 9.671875 -3.40625 L 30.296875 -3.40625 L 30.296875 -44.25 L 9.671875 -44.25 Z M 9.671875 -3.40625 "/>
</symbol>
<symbol overflow="visible" id="glyph9-1">
<path style="stroke:none;" d="M 1.328125 0 L 16.828125 -47.859375 L 23.15625 -47.859375 L 38.71875 0 L 32.578125 0 L 28.03125 -14.625 L 11.953125 -14.625 L 7.40625 0 Z M 18.015625 -34.171875 L 13.609375 -19.953125 L 26.359375 -19.953125 L 21.953125 -34.171875 C 21.734375 -34.929688 21.421875 -36 21.015625 -37.375 C 20.617188 -38.757812 20.265625 -40.140625 19.953125 -41.515625 C 19.691406 -40.140625 19.359375 -38.757812 18.953125 -37.375 C 18.554688 -36 18.242188 -34.929688 18.015625 -34.171875 Z M 18.015625 -34.171875 "/>
</symbol>
<symbol overflow="visible" id="glyph9-2">
<path style="stroke:none;" d="M 21.953125 0.671875 C 19.328125 0.671875 17.113281 0.148438 15.3125 -0.890625 C 13.507812 -1.941406 12.097656 -3.15625 11.078125 -4.53125 L 10.6875 -4.53125 L 10.140625 0 L 5.34375 0 L 5.34375 -50.734375 L 11.140625 -50.734375 L 11.140625 -38.453125 C 11.140625 -37.203125 11.128906 -35.972656 11.109375 -34.765625 C 11.085938 -33.566406 11.007812 -32.347656 10.875 -31.109375 L 11.140625 -31.109375 C 12.078125 -32.523438 13.4375 -33.769531 15.21875 -34.84375 C 17 -35.914062 19.242188 -36.453125 21.953125 -36.453125 C 26.273438 -36.453125 29.757812 -34.890625 32.40625 -31.765625 C 35.050781 -28.648438 36.375 -24.046875 36.375 -17.953125 C 36.375 -11.816406 35.039062 -7.175781 32.375 -4.03125 C 29.707031 -0.894531 26.234375 0.671875 21.953125 0.671875 Z M 20.828125 -4.203125 C 24.078125 -4.203125 26.457031 -5.378906 27.96875 -7.734375 C 29.476562 -10.097656 30.234375 -13.503906 30.234375 -17.953125 C 30.234375 -22.316406 29.476562 -25.675781 27.96875 -28.03125 C 26.457031 -30.394531 24.054688 -31.578125 20.765625 -31.578125 C 17.691406 -31.578125 15.316406 -30.40625 13.640625 -28.0625 C 11.972656 -25.726562 11.140625 -22.40625 11.140625 -18.09375 C 11.140625 -13.59375 11.929688 -10.148438 13.515625 -7.765625 C 15.097656 -5.390625 17.535156 -4.203125 20.828125 -4.203125 Z M 20.828125 -4.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph9-3">
<path style="stroke:none;" d="M 5.34375 0 L 5.34375 -35.78125 L 10.140625 -35.78125 L 11.015625 -30.5 L 11.34375 -30.5 C 12.363281 -32.550781 13.882812 -34.054688 15.90625 -35.015625 C 17.9375 -35.972656 20.3125 -36.453125 23.03125 -36.453125 C 26.632812 -36.453125 29.535156 -35.4375 31.734375 -33.40625 C 33.941406 -31.382812 35.046875 -28.210938 35.046875 -23.890625 L 35.046875 0 L 29.03125 0 L 29.03125 -22.828125 C 29.03125 -25.859375 28.414062 -28.070312 27.1875 -29.46875 C 25.96875 -30.875 24.003906 -31.578125 21.296875 -31.578125 C 17.640625 -31.578125 15.066406 -30.414062 13.578125 -28.09375 C 12.085938 -25.78125 11.34375 -22.535156 11.34375 -18.359375 L 11.34375 0 Z M 5.34375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph9-4">
<path style="stroke:none;" d="M 20.09375 0.671875 C 16.976562 0.671875 14.1875 -0.00390625 11.71875 -1.359375 C 9.25 -2.722656 7.289062 -4.796875 5.84375 -7.578125 C 4.394531 -10.359375 3.671875 -13.835938 3.671875 -18.015625 C 3.671875 -22.160156 4.367188 -25.585938 5.765625 -28.296875 C 7.171875 -31.015625 9.097656 -33.050781 11.546875 -34.40625 C 13.992188 -35.769531 16.773438 -36.453125 19.890625 -36.453125 C 23.003906 -36.453125 25.804688 -35.769531 28.296875 -34.40625 C 30.796875 -33.050781 32.765625 -31.003906 34.203125 -28.265625 C 35.648438 -25.523438 36.375 -22.046875 36.375 -17.828125 C 36.375 -13.679688 35.660156 -10.238281 34.234375 -7.5 C 32.816406 -4.769531 30.882812 -2.722656 28.4375 -1.359375 C 25.988281 -0.00390625 23.207031 0.671875 20.09375 0.671875 Z M 20.03125 -4.203125 C 23.5 -4.203125 26.078125 -5.4375 27.765625 -7.90625 C 29.453125 -10.375 30.296875 -13.722656 30.296875 -17.953125 C 30.296875 -22.179688 29.441406 -25.507812 27.734375 -27.9375 C 26.023438 -30.363281 23.429688 -31.578125 19.953125 -31.578125 C 16.484375 -31.578125 13.890625 -30.363281 12.171875 -27.9375 C 10.460938 -25.507812 9.609375 -22.179688 9.609375 -17.953125 C 9.609375 -13.722656 10.472656 -10.375 12.203125 -7.90625 C 13.941406 -5.4375 16.550781 -4.203125 20.03125 -4.203125 Z M 20.03125 -4.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph9-5">
<path style="stroke:none;" d="M 4.140625 0 L 4.140625 -4 L 15.015625 -5 L 15.015625 -30.765625 L 5.203125 -31.640625 L 5.203125 -35.78125 L 19.828125 -35.78125 L 20.625 -29.234375 L 20.890625 -29.234375 C 22.140625 -31.597656 23.507812 -33.390625 25 -34.609375 C 26.488281 -35.835938 28.457031 -36.453125 30.90625 -36.453125 C 32.414062 -36.453125 33.757812 -36.316406 34.9375 -36.046875 C 36.125 -35.773438 37.207031 -35.421875 38.1875 -34.984375 L 36.578125 -29.703125 C 35.867188 -30.097656 35.023438 -30.441406 34.046875 -30.734375 C 33.066406 -31.023438 32.019531 -31.171875 30.90625 -31.171875 C 28.988281 -31.171875 27.296875 -30.566406 25.828125 -29.359375 C 24.359375 -28.160156 23.203125 -26.5625 22.359375 -24.5625 C 21.515625 -22.5625 21.09375 -20.359375 21.09375 -17.953125 L 21.09375 -5 L 31.5 -4 L 31.5 0 Z M 4.140625 0 "/>
</symbol>
<symbol overflow="visible" id="glyph9-6">
<path style="stroke:none;" d="M 3.34375 0 L 3.34375 -35.78125 L 7.46875 -35.78125 L 8.34375 -31.84375 L 8.671875 -31.84375 C 9.566406 -33.625 10.546875 -34.835938 11.609375 -35.484375 C 12.679688 -36.128906 13.90625 -36.453125 15.28125 -36.453125 C 17.101562 -36.453125 18.515625 -36.015625 19.515625 -35.140625 C 20.523438 -34.273438 21.296875 -33 21.828125 -31.3125 L 22.03125 -31.3125 C 22.78125 -32.957031 23.722656 -34.222656 24.859375 -35.109375 C 25.992188 -36.003906 27.5 -36.453125 29.375 -36.453125 C 32.132812 -36.453125 34.054688 -35.394531 35.140625 -33.28125 C 36.234375 -31.164062 36.78125 -27.859375 36.78125 -23.359375 L 36.78125 0 L 31.4375 0 L 31.4375 -22.359375 C 31.4375 -25.160156 31.242188 -27.335938 30.859375 -28.890625 C 30.484375 -30.453125 29.472656 -31.234375 27.828125 -31.234375 C 24.453125 -31.234375 22.765625 -26.785156 22.765625 -17.890625 L 22.765625 0 L 17.421875 0 L 17.421875 -22.359375 C 17.421875 -25.210938 17.164062 -27.40625 16.65625 -28.9375 C 16.144531 -30.46875 15.066406 -31.234375 13.421875 -31.234375 C 11.640625 -31.234375 10.398438 -30.03125 9.703125 -27.625 C 9.015625 -25.226562 8.671875 -21.984375 8.671875 -17.890625 L 8.671875 0 Z M 3.34375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph9-7">
<path style="stroke:none;" d="M 16.421875 0.671875 C 12.898438 0.671875 10.0625 -0.191406 7.90625 -1.921875 C 5.75 -3.660156 4.671875 -6.289062 4.671875 -9.8125 C 4.671875 -13.6875 6.0625 -16.578125 8.84375 -18.484375 C 11.625 -20.398438 15.640625 -21.425781 20.890625 -21.5625 L 28.5625 -21.765625 L 28.5625 -23.234375 C 28.5625 -26.429688 27.757812 -28.617188 26.15625 -29.796875 C 24.5625 -30.984375 22.40625 -31.578125 19.6875 -31.578125 C 17.78125 -31.578125 15.957031 -31.332031 14.21875 -30.84375 C 12.476562 -30.351562 10.832031 -29.660156 9.28125 -28.765625 L 7.203125 -33.3125 C 8.898438 -34.15625 10.78125 -34.890625 12.84375 -35.515625 C 14.914062 -36.140625 17.3125 -36.453125 20.03125 -36.453125 C 24.519531 -36.453125 27.976562 -35.4375 30.40625 -33.40625 C 32.832031 -31.382812 34.046875 -28.238281 34.046875 -23.96875 L 34.046875 0 L 29.234375 0 L 28.5625 -4.9375 L 28.296875 -4.9375 C 26.828125 -3.070312 25.132812 -1.671875 23.21875 -0.734375 C 21.3125 0.203125 19.046875 0.671875 16.421875 0.671875 Z M 17.421875 -4.203125 C 19.421875 -4.203125 21.265625 -4.566406 22.953125 -5.296875 C 24.648438 -6.035156 26.007812 -7.148438 27.03125 -8.640625 C 28.050781 -10.128906 28.5625 -12.007812 28.5625 -14.28125 L 28.5625 -17.484375 L 22.15625 -17.28125 C 17.882812 -17.15625 14.847656 -16.46875 13.046875 -15.21875 C 11.242188 -13.96875 10.34375 -12.234375 10.34375 -10.015625 C 10.34375 -7.960938 10.988281 -6.476562 12.28125 -5.5625 C 13.570312 -4.65625 15.285156 -4.203125 17.421875 -4.203125 Z M 17.421875 -4.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph9-8">
<path style="stroke:none;" d="M 5.34375 0 L 5.34375 -4 L 18.421875 -5 L 18.421875 -45.71875 L 5.734375 -46.59375 L 5.734375 -50.734375 L 24.4375 -50.734375 L 24.4375 -5 L 36.046875 -4 L 36.046875 0 Z M 5.34375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph9-9">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph9-10">
<path style="stroke:none;" d="M 4.671875 0 L 4.671875 -47.65625 L 16.21875 -47.65625 C 20.445312 -47.65625 24.117188 -46.765625 27.234375 -44.984375 C 30.347656 -43.203125 32.757812 -40.585938 34.46875 -37.140625 C 36.1875 -33.691406 37.046875 -29.410156 37.046875 -24.296875 C 37.046875 -16.242188 35.097656 -10.179688 31.203125 -6.109375 C 27.304688 -2.035156 21.867188 0 14.890625 0 Z M 14.28125 -5.203125 C 19.976562 -5.203125 24.171875 -6.800781 26.859375 -10 C 29.554688 -13.207031 30.90625 -17.90625 30.90625 -24.09375 C 30.90625 -30.414062 29.535156 -35.054688 26.796875 -38.015625 C 24.054688 -40.972656 20.304688 -42.453125 15.546875 -42.453125 L 10.6875 -42.453125 L 10.6875 -5.203125 Z M 14.28125 -5.203125 "/>
</symbol>
<symbol overflow="visible" id="glyph9-11">
<path style="stroke:none;" d="M 26.828125 0.671875 C 24.296875 0.671875 22.023438 0.335938 20.015625 -0.328125 C 18.015625 -0.992188 16.425781 -2.171875 15.25 -3.859375 C 14.070312 -5.554688 13.484375 -7.894531 13.484375 -10.875 L 13.484375 -30.765625 L 3.734375 -30.765625 L 3.734375 -34.90625 L 13.484375 -35.984375 L 14.6875 -45.328125 L 19.484375 -45.328125 L 19.484375 -35.78125 L 33.4375 -35.78125 L 33.4375 -30.765625 L 19.484375 -30.765625 L 19.484375 -12.015625 C 19.484375 -9.296875 20.082031 -7.3125 21.28125 -6.0625 C 22.488281 -4.820312 24.472656 -4.203125 27.234375 -4.203125 C 28.390625 -4.203125 29.632812 -4.3125 30.96875 -4.53125 C 32.300781 -4.757812 33.457031 -4.984375 34.4375 -5.203125 L 34.4375 -0.40625 C 33.375 -0.132812 32.195312 0.109375 30.90625 0.328125 C 29.613281 0.554688 28.253906 0.671875 26.828125 0.671875 Z M 26.828125 0.671875 "/>
</symbol>
<symbol overflow="visible" id="glyph10-0">
<path style="stroke:none;" d="M 6.328125 0 L 6.328125 -48.03125 L 33.984375 -48.03125 L 33.984375 0 Z M 9.75 -3.4375 L 30.546875 -3.4375 L 30.546875 -44.609375 L 9.75 -44.609375 Z M 9.75 -3.4375 "/>
</symbol>
<symbol overflow="visible" id="glyph10-1">
<path style="stroke:none;" d="M 24.21875 0 L 24.21875 -10.765625 L 3.359375 -10.765625 L 3.359375 -15.75 L 23.140625 -48.3125 L 30 -48.3125 L 30 -15.953125 L 37 -15.953125 L 37 -10.765625 L 30 -10.765625 L 30 0 Z M 9.21875 -15.953125 L 24.21875 -15.953125 L 24.21875 -27.921875 C 24.21875 -29.578125 24.238281 -31.300781 24.28125 -33.09375 C 24.332031 -34.894531 24.390625 -36.601562 24.453125 -38.21875 C 24.523438 -39.832031 24.582031 -41.132812 24.625 -42.125 L 24.359375 -42.125 C 24.046875 -41.269531 23.582031 -40.257812 22.96875 -39.09375 C 22.363281 -37.925781 21.835938 -36.960938 21.390625 -36.203125 Z M 9.21875 -15.953125 "/>
</symbol>
<symbol overflow="visible" id="glyph10-2">
<path style="stroke:none;" d="M 10.09375 -15.46875 L 10.09375 -20.859375 L 30.28125 -20.859375 L 30.28125 -15.46875 Z M 10.09375 -15.46875 "/>
</symbol>
<symbol overflow="visible" id="glyph10-3">
<path style="stroke:none;" d="M 4.703125 0 L 4.703125 -5.109375 L 17.5 -17.6875 C 20.8125 -21.007812 23.398438 -24.015625 25.265625 -26.703125 C 27.128906 -29.398438 28.0625 -32.25 28.0625 -35.25 C 28.0625 -38.125 27.273438 -40.195312 25.703125 -41.46875 C 24.128906 -42.75 22.132812 -43.390625 19.71875 -43.390625 C 17.601562 -43.390625 15.613281 -42.960938 13.75 -42.109375 C 11.894531 -41.265625 10.160156 -40.191406 8.546875 -38.890625 L 5.1875 -43.0625 C 7.019531 -44.632812 9.144531 -45.96875 11.5625 -47.0625 C 13.988281 -48.164062 16.773438 -48.71875 19.921875 -48.71875 C 24.222656 -48.71875 27.660156 -47.570312 30.234375 -45.28125 C 32.816406 -42.988281 34.109375 -39.710938 34.109375 -35.453125 C 34.109375 -31.816406 33.144531 -28.441406 31.21875 -25.328125 C 29.289062 -22.210938 26.597656 -18.992188 23.140625 -15.671875 L 12.84375 -5.65625 L 12.84375 -5.375 L 36.671875 -5.375 L 36.671875 0 Z M 4.703125 0 "/>
</symbol>
<symbol overflow="visible" id="glyph10-4">
<path style="stroke:none;" d="M 20.109375 0.671875 C 14.503906 0.671875 10.421875 -1.515625 7.859375 -5.890625 C 5.304688 -10.265625 4.03125 -16.332031 4.03125 -24.09375 C 4.03125 -29.289062 4.566406 -33.71875 5.640625 -37.375 C 6.722656 -41.03125 8.441406 -43.832031 10.796875 -45.78125 C 13.148438 -47.738281 16.253906 -48.71875 20.109375 -48.71875 C 25.765625 -48.71875 29.878906 -46.5625 32.453125 -42.25 C 35.035156 -37.945312 36.328125 -31.894531 36.328125 -24.09375 C 36.328125 -18.925781 35.789062 -14.492188 34.71875 -10.796875 C 33.644531 -7.097656 31.914062 -4.257812 29.53125 -2.28125 C 27.15625 -0.3125 24.015625 0.671875 20.109375 0.671875 Z M 9.6875 -24.09375 C 9.6875 -22.113281 9.765625 -20.257812 9.921875 -18.53125 C 10.078125 -16.8125 10.3125 -15.253906 10.625 -13.859375 L 26.578125 -40.84375 C 24.921875 -42.539062 22.765625 -43.390625 20.109375 -43.390625 C 16.484375 -43.390625 13.835938 -41.804688 12.171875 -38.640625 C 10.515625 -35.484375 9.6875 -30.632812 9.6875 -24.09375 Z M 20.109375 -4.640625 C 23.796875 -4.640625 26.507812 -6.21875 28.25 -9.375 C 30 -12.539062 30.875 -17.445312 30.875 -24.09375 C 30.875 -28.75 30.425781 -32.5625 29.53125 -35.53125 L 13.1875 -7.9375 C 14.84375 -5.738281 17.148438 -4.640625 20.109375 -4.640625 Z M 20.109375 -4.640625 "/>
</symbol>
<symbol overflow="visible" id="glyph11-0">
<path style="stroke:none;" d="M 6.8125 0 L 6.8125 -51.75 L 36.59375 -51.75 L 36.59375 0 Z M 10.515625 -3.703125 L 32.90625 -3.703125 L 32.90625 -48.046875 L 10.515625 -48.046875 Z M 10.515625 -3.703125 "/>
</symbol>
<symbol overflow="visible" id="glyph11-1">
<path style="stroke:none;" d="M 18.484375 0 L 18.484375 -45.9375 L 3.265625 -45.9375 L 3.265625 -51.75 L 40.21875 -51.75 L 40.21875 -45.9375 L 25 -45.9375 L 25 0 Z M 18.484375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph11-2">
<path style="stroke:none;" d="M 24.421875 0.71875 C 18.191406 0.71875 13.285156 -1.003906 9.703125 -4.453125 C 6.128906 -7.910156 4.34375 -12.851562 4.34375 -19.28125 C 4.34375 -23.53125 5.113281 -27.164062 6.65625 -30.1875 C 8.207031 -33.207031 10.359375 -35.523438 13.109375 -37.140625 C 15.867188 -38.753906 19.082031 -39.5625 22.75 -39.5625 C 27.820312 -39.5625 31.820312 -37.921875 34.75 -34.640625 C 37.675781 -31.359375 39.140625 -26.863281 39.140625 -21.15625 L 39.140625 -18.1875 L 10.9375 -18.1875 C 11.039062 -14.800781 11.679688 -12.117188 12.859375 -10.140625 C 14.046875 -8.160156 15.664062 -6.75 17.71875 -5.90625 C 19.769531 -5.0625 22.148438 -4.640625 24.859375 -4.640625 C 26.984375 -4.640625 29.082031 -4.925781 31.15625 -5.5 C 33.238281 -6.082031 35.316406 -6.859375 37.390625 -7.828125 L 37.390625 -2.03125 C 35.171875 -1.0625 32.945312 -0.363281 30.71875 0.0625 C 28.5 0.5 26.398438 0.71875 24.421875 0.71875 Z M 32.609375 -23.40625 C 32.460938 -26.789062 31.554688 -29.445312 29.890625 -31.375 C 28.222656 -33.3125 25.84375 -34.28125 22.75 -34.28125 C 19.519531 -34.28125 16.898438 -33.300781 14.890625 -31.34375 C 12.890625 -29.382812 11.625 -26.738281 11.09375 -23.40625 Z M 32.609375 -23.40625 "/>
</symbol>
<symbol overflow="visible" id="glyph11-3">
<path style="stroke:none;" d="M 20.21875 0.71875 C 17.800781 0.71875 15.492188 0.5 13.296875 0.0625 C 11.097656 -0.363281 9.203125 -0.960938 7.609375 -1.734375 L 7.609375 -7.75 C 9.296875 -6.976562 11.164062 -6.265625 13.21875 -5.609375 C 15.28125 -4.960938 17.734375 -4.640625 20.578125 -4.640625 C 23.765625 -4.640625 26.019531 -5.132812 27.34375 -6.125 C 28.675781 -7.113281 29.34375 -8.550781 29.34375 -10.4375 C 29.34375 -11.445312 29.113281 -12.273438 28.65625 -12.921875 C 28.195312 -13.578125 27.316406 -14.242188 26.015625 -14.921875 C 24.710938 -15.597656 22.804688 -16.46875 20.296875 -17.53125 C 17.773438 -18.644531 15.617188 -19.6875 13.828125 -20.65625 C 12.046875 -21.625 10.671875 -22.769531 9.703125 -24.09375 C 8.742188 -25.425781 8.265625 -27.128906 8.265625 -29.203125 C 8.265625 -32.628906 9.578125 -35.210938 12.203125 -36.953125 C 14.835938 -38.691406 18.5 -39.5625 23.1875 -39.5625 C 25.3125 -39.5625 27.335938 -39.367188 29.265625 -38.984375 C 31.203125 -38.597656 33.210938 -37.972656 35.296875 -37.109375 L 33.328125 -32.03125 C 31.398438 -32.851562 29.625 -33.40625 28 -33.6875 C 26.382812 -33.976562 24.78125 -34.125 23.1875 -34.125 C 20.195312 -34.125 18.007812 -33.738281 16.625 -32.96875 C 15.25 -32.195312 14.5625 -30.988281 14.5625 -29.34375 C 14.5625 -28.28125 14.863281 -27.382812 15.46875 -26.65625 C 16.070312 -25.9375 17.0625 -25.238281 18.4375 -24.5625 C 19.820312 -23.882812 21.648438 -23.066406 23.921875 -22.109375 C 26.472656 -21.046875 28.644531 -20.050781 30.4375 -19.125 C 32.226562 -18.207031 33.582031 -17.109375 34.5 -15.828125 C 35.414062 -14.546875 35.875 -12.796875 35.875 -10.578125 C 35.875 -6.910156 34.554688 -4.109375 31.921875 -2.171875 C 29.285156 -0.242188 25.382812 0.71875 20.21875 0.71875 Z M 20.21875 0.71875 "/>
</symbol>
<symbol overflow="visible" id="glyph11-4">
<path style="stroke:none;" d="M 29.125 0.71875 C 26.375 0.71875 23.910156 0.359375 21.734375 -0.359375 C 19.566406 -1.085938 17.84375 -2.367188 16.5625 -4.203125 C 15.28125 -6.035156 14.640625 -8.570312 14.640625 -11.8125 L 14.640625 -33.40625 L 4.0625 -33.40625 L 4.0625 -37.90625 L 14.640625 -39.0625 L 15.9375 -49.203125 L 21.15625 -49.203125 L 21.15625 -38.84375 L 36.3125 -38.84375 L 36.3125 -33.40625 L 21.15625 -33.40625 L 21.15625 -13.046875 C 21.15625 -10.097656 21.804688 -7.945312 23.109375 -6.59375 C 24.421875 -5.238281 26.570312 -4.5625 29.5625 -4.5625 C 30.820312 -4.5625 32.175781 -4.679688 33.625 -4.921875 C 35.070312 -5.171875 36.328125 -5.414062 37.390625 -5.65625 L 37.390625 -0.4375 C 36.234375 -0.144531 34.953125 0.117188 33.546875 0.359375 C 32.148438 0.597656 30.675781 0.71875 29.125 0.71875 Z M 29.125 0.71875 "/>
</symbol>
<symbol overflow="visible" id="glyph11-5">
<path style="stroke:none;" d="M 22.25 -45.875 C 20.988281 -45.875 19.910156 -46.257812 19.015625 -47.03125 C 18.128906 -47.800781 17.6875 -48.9375 17.6875 -50.4375 C 17.6875 -52.03125 18.128906 -53.203125 19.015625 -53.953125 C 19.910156 -54.703125 20.988281 -55.078125 22.25 -55.078125 C 23.5 -55.078125 24.570312 -54.703125 25.46875 -53.953125 C 26.363281 -53.203125 26.8125 -52.03125 26.8125 -50.4375 C 26.8125 -48.9375 26.363281 -47.800781 25.46875 -47.03125 C 24.570312 -46.257812 23.5 -45.875 22.25 -45.875 Z M 5.796875 0 L 5.796875 -4.34375 L 19.640625 -5.4375 L 19.640625 -33.40625 L 6.953125 -34.34375 L 6.953125 -38.84375 L 26.15625 -38.84375 L 26.15625 -5.4375 L 39.140625 -4.34375 L 39.140625 0 Z M 5.796875 0 "/>
</symbol>
<symbol overflow="visible" id="glyph11-6">
<path style="stroke:none;" d="M 5.796875 0 L 5.796875 -38.84375 L 11.015625 -38.84375 L 11.953125 -33.125 L 12.3125 -33.125 C 13.425781 -35.34375 15.082031 -36.96875 17.28125 -38 C 19.476562 -39.039062 22.050781 -39.5625 25 -39.5625 C 28.914062 -39.5625 32.066406 -38.460938 34.453125 -36.265625 C 36.847656 -34.066406 38.046875 -30.625 38.046875 -25.9375 L 38.046875 0 L 31.53125 0 L 31.53125 -24.78125 C 31.53125 -28.070312 30.863281 -30.476562 29.53125 -32 C 28.195312 -33.519531 26.0625 -34.28125 23.125 -34.28125 C 19.15625 -34.28125 16.359375 -33.019531 14.734375 -30.5 C 13.117188 -27.988281 12.3125 -24.460938 12.3125 -19.921875 L 12.3125 0 Z M 5.796875 0 "/>
</symbol>
<symbol overflow="visible" id="glyph11-7">
<path style="stroke:none;" d="M 20 17.75 C 17.34375 17.75 14.84375 17.492188 12.5 16.984375 C 10.15625 16.484375 7.992188 15.820312 6.015625 15 L 6.015625 9.203125 C 7.941406 10.316406 10.171875 11.148438 12.703125 11.703125 C 15.242188 12.253906 17.601562 12.53125 19.78125 12.53125 C 24.175781 12.53125 27.242188 11.503906 28.984375 9.453125 C 30.722656 7.398438 31.59375 4.585938 31.59375 1.015625 L 31.59375 -0.359375 C 31.59375 -0.941406 31.601562 -1.5 31.625 -2.03125 C 31.65625 -2.5625 31.71875 -3.382812 31.8125 -4.5 L 31.53125 -4.5 C 30.175781 -2.507812 28.59375 -1.140625 26.78125 -0.390625 C 24.96875 0.347656 22.78125 0.71875 20.21875 0.71875 C 15.09375 0.71875 11.101562 -1.03125 8.25 -4.53125 C 5.40625 -8.03125 3.984375 -12.921875 3.984375 -19.203125 C 3.984375 -25.535156 5.394531 -30.507812 8.21875 -34.125 C 11.050781 -37.75 14.929688 -39.5625 19.859375 -39.5625 C 22.460938 -39.5625 24.65625 -39.140625 26.4375 -38.296875 C 28.226562 -37.453125 29.828125 -36.039062 31.234375 -34.0625 L 31.59375 -34.0625 L 32.46875 -38.84375 L 37.6875 -38.84375 L 37.6875 1.015625 C 37.6875 6.566406 36.257812 10.742188 33.40625 13.546875 C 30.550781 16.347656 26.082031 17.75 20 17.75 Z M 21.453125 -4.5625 C 24.691406 -4.5625 27.226562 -5.613281 29.0625 -7.71875 C 30.894531 -9.820312 31.8125 -13.191406 31.8125 -17.828125 L 31.8125 -19.34375 C 31.8125 -24.664062 30.867188 -28.484375 28.984375 -30.796875 C 27.097656 -33.117188 24.515625 -34.28125 21.234375 -34.28125 C 17.554688 -34.28125 14.875 -32.988281 13.1875 -30.40625 C 11.5 -27.820312 10.65625 -24.160156 10.65625 -19.421875 C 10.65625 -14.585938 11.535156 -10.898438 13.296875 -8.359375 C 15.054688 -5.828125 17.773438 -4.5625 21.453125 -4.5625 Z M 21.453125 -4.5625 "/>
</symbol>
<symbol overflow="visible" id="glyph11-8">
<path style="stroke:none;" d="M 5.078125 0 L 5.078125 -51.75 L 17.609375 -51.75 C 22.203125 -51.75 26.1875 -50.78125 29.5625 -48.84375 C 32.945312 -46.90625 35.566406 -44.066406 37.421875 -40.328125 C 39.285156 -36.585938 40.21875 -31.9375 40.21875 -26.375 C 40.21875 -17.632812 38.101562 -11.050781 33.875 -6.625 C 29.644531 -2.207031 23.738281 0 16.15625 0 Z M 15.515625 -5.65625 C 21.691406 -5.65625 26.238281 -7.394531 29.15625 -10.875 C 32.082031 -14.351562 33.546875 -19.445312 33.546875 -26.15625 C 33.546875 -33.019531 32.0625 -38.054688 29.09375 -41.265625 C 26.125 -44.484375 22.054688 -46.09375 16.890625 -46.09375 L 11.59375 -46.09375 L 11.59375 -5.65625 Z M 15.515625 -5.65625 "/>
</symbol>
<symbol overflow="visible" id="glyph11-9">
<path style="stroke:none;" d="M 17.828125 0.71875 C 14.015625 0.71875 10.9375 -0.21875 8.59375 -2.09375 C 6.25 -3.976562 5.078125 -6.832031 5.078125 -10.65625 C 5.078125 -14.851562 6.582031 -17.988281 9.59375 -20.0625 C 12.613281 -22.144531 16.976562 -23.257812 22.6875 -23.40625 L 31.015625 -23.625 L 31.015625 -25.21875 C 31.015625 -28.695312 30.144531 -31.078125 28.40625 -32.359375 C 26.664062 -33.640625 24.320312 -34.28125 21.375 -34.28125 C 19.300781 -34.28125 17.320312 -34.015625 15.4375 -33.484375 C 13.550781 -32.953125 11.765625 -32.203125 10.078125 -31.234375 L 7.828125 -36.15625 C 9.660156 -37.070312 11.695312 -37.867188 13.9375 -38.546875 C 16.1875 -39.222656 18.785156 -39.5625 21.734375 -39.5625 C 26.617188 -39.5625 30.375 -38.460938 33 -36.265625 C 35.632812 -34.066406 36.953125 -30.648438 36.953125 -26.015625 L 36.953125 0 L 31.734375 0 L 31.015625 -5.359375 L 30.734375 -5.359375 C 29.128906 -3.328125 27.289062 -1.804688 25.21875 -0.796875 C 23.144531 0.210938 20.679688 0.71875 17.828125 0.71875 Z M 18.921875 -4.5625 C 21.085938 -4.5625 23.085938 -4.957031 24.921875 -5.75 C 26.765625 -6.550781 28.238281 -7.757812 29.34375 -9.375 C 30.457031 -11 31.015625 -13.046875 31.015625 -15.515625 L 31.015625 -18.984375 L 24.0625 -18.765625 C 19.425781 -18.617188 16.128906 -17.867188 14.171875 -16.515625 C 12.210938 -15.171875 11.234375 -13.289062 11.234375 -10.875 C 11.234375 -8.644531 11.929688 -7.035156 13.328125 -6.046875 C 14.734375 -5.054688 16.597656 -4.5625 18.921875 -4.5625 Z M 18.921875 -4.5625 "/>
</symbol>
<symbol overflow="visible" id="glyph12-0">
<path style="stroke:none;" d="M 5.09375 0 L 5.09375 -38.71875 L 27.390625 -38.71875 L 27.390625 0 Z M 7.859375 -2.765625 L 24.625 -2.765625 L 24.625 -35.953125 L 7.859375 -35.953125 Z M 7.859375 -2.765625 "/>
</symbol>
<symbol overflow="visible" id="glyph12-1">
<path style="stroke:none;" d="M 5.96875 0 L 5.96875 -3.359375 L 13.78125 -4.0625 L 13.78125 -34.65625 L 5.96875 -35.359375 L 5.96875 -38.71875 L 26.578125 -38.71875 L 26.578125 -35.359375 L 18.65625 -34.65625 L 18.65625 -4.0625 L 26.578125 -3.359375 L 26.578125 0 Z M 5.96875 0 "/>
</symbol>
<symbol overflow="visible" id="glyph12-2">
<path style="stroke:none;" d="M 16.21875 0.546875 C 13 0.546875 10.375 -0.285156 8.34375 -1.953125 C 6.320312 -3.617188 4.832031 -5.953125 3.875 -8.953125 C 2.914062 -11.953125 2.4375 -15.421875 2.4375 -19.359375 C 2.4375 -23.335938 2.914062 -26.828125 3.875 -29.828125 C 4.832031 -32.828125 6.332031 -35.164062 8.375 -36.84375 C 10.414062 -38.53125 13.046875 -39.375 16.265625 -39.375 C 19.484375 -39.375 22.113281 -38.539062 24.15625 -36.875 C 26.195312 -35.21875 27.695312 -32.894531 28.65625 -29.90625 C 29.613281 -26.925781 30.09375 -23.445312 30.09375 -19.46875 C 30.09375 -15.238281 29.550781 -11.566406 28.46875 -8.453125 C 27.382812 -5.347656 25.703125 -3.019531 23.421875 -1.46875 L 29.34375 9.765625 L 23.921875 9.765625 L 19.140625 0.265625 C 18.234375 0.453125 17.257812 0.546875 16.21875 0.546875 Z M 16.328125 -3.796875 C 19.578125 -3.796875 21.851562 -5.175781 23.15625 -7.9375 C 24.457031 -10.707031 25.109375 -14.535156 25.109375 -19.421875 C 25.109375 -24.335938 24.457031 -28.164062 23.15625 -30.90625 C 21.851562 -33.65625 19.59375 -35.03125 16.375 -35.03125 C 13.082031 -35.03125 10.769531 -33.640625 9.4375 -30.859375 C 8.101562 -28.078125 7.4375 -24.265625 7.4375 -19.421875 C 7.4375 -14.535156 8.101562 -10.707031 9.4375 -7.9375 C 10.769531 -5.175781 13.066406 -3.796875 16.328125 -3.796875 Z M 16.328125 -3.796875 "/>
</symbol>
<symbol overflow="visible" id="glyph12-3">
<path style="stroke:none;" d="M 5.15625 0 L 5.15625 -38.71875 L 14.203125 -38.71875 C 23.285156 -38.71875 27.828125 -35.101562 27.828125 -27.875 C 27.828125 -25.851562 27.5 -24.144531 26.84375 -22.75 C 26.195312 -21.351562 25.320312 -20.210938 24.21875 -19.328125 C 23.113281 -18.441406 21.875 -17.75 20.5 -17.25 L 30.859375 0 L 25.4375 0 L 16.109375 -15.84375 L 10.03125 -15.84375 L 10.03125 0 Z M 14.046875 -20.0625 C 17.222656 -20.0625 19.472656 -20.6875 20.796875 -21.9375 C 22.117188 -23.1875 22.78125 -25.019531 22.78125 -27.4375 C 22.78125 -30.007812 22.082031 -31.828125 20.6875 -32.890625 C 19.300781 -33.960938 17.050781 -34.5 13.9375 -34.5 L 10.03125 -34.5 L 10.03125 -20.0625 Z M 14.046875 -20.0625 "/>
</symbol>
<symbol overflow="visible" id="glyph12-4">
<path style="stroke:none;" d=""/>
</symbol>
<symbol overflow="visible" id="glyph12-5">
<path style="stroke:none;" d="M 13.828125 0 L 13.828125 -34.390625 L 2.4375 -34.390625 L 2.4375 -38.71875 L 30.09375 -38.71875 L 30.09375 -34.390625 L 18.703125 -34.390625 L 18.703125 0 Z M 13.828125 0 "/>
</symbol>
<symbol overflow="visible" id="glyph12-6">
<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -41.21875 L 9.21875 -41.21875 L 9.21875 -29.5 C 9.21875 -28.8125 9.191406 -27.941406 9.140625 -26.890625 C 9.085938 -25.847656 9.039062 -25.019531 9 -24.40625 L 9.28125 -24.40625 C 10.21875 -26.207031 11.472656 -27.523438 13.046875 -28.359375 C 14.617188 -29.191406 16.398438 -29.609375 18.390625 -29.609375 C 21.390625 -29.609375 23.816406 -28.765625 25.671875 -27.078125 C 27.535156 -25.398438 28.46875 -22.703125 28.46875 -18.984375 L 28.46875 0 L 23.59375 0 L 23.59375 -18 C 23.59375 -20.644531 23.03125 -22.582031 21.90625 -23.8125 C 20.789062 -25.039062 19.203125 -25.65625 17.140625 -25.65625 C 14.710938 -25.65625 12.785156 -24.722656 11.359375 -22.859375 C 9.929688 -20.992188 9.21875 -18.398438 9.21875 -15.078125 L 9.21875 0 Z M 4.34375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph12-7">
<path style="stroke:none;" d="M 3.359375 0 L 3.359375 -3.25 L 12.203125 -4.0625 L 12.203125 -25 L 4.234375 -25.703125 L 4.234375 -29.0625 L 16.109375 -29.0625 L 16.765625 -23.75 L 16.96875 -23.75 C 17.988281 -25.664062 19.101562 -27.117188 20.3125 -28.109375 C 21.519531 -29.109375 23.117188 -29.609375 25.109375 -29.609375 C 26.335938 -29.609375 27.429688 -29.5 28.390625 -29.28125 C 29.347656 -29.070312 30.222656 -28.785156 31.015625 -28.421875 L 29.71875 -24.140625 C 29.144531 -24.460938 28.457031 -24.738281 27.65625 -24.96875 C 26.863281 -25.207031 26.015625 -25.328125 25.109375 -25.328125 C 23.554688 -25.328125 22.179688 -24.835938 20.984375 -23.859375 C 19.796875 -22.890625 18.859375 -21.585938 18.171875 -19.953125 C 17.484375 -18.328125 17.140625 -16.539062 17.140625 -14.59375 L 17.140625 -4.0625 L 25.59375 -3.25 L 25.59375 0 Z M 3.359375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph12-8">
<path style="stroke:none;" d="M 18.28125 0.546875 C 13.613281 0.546875 9.941406 -0.742188 7.265625 -3.328125 C 4.585938 -5.921875 3.25 -9.617188 3.25 -14.421875 C 3.25 -17.609375 3.828125 -20.332031 4.984375 -22.59375 C 6.140625 -24.851562 7.75 -26.585938 9.8125 -27.796875 C 11.875 -29.003906 14.28125 -29.609375 17.03125 -29.609375 C 20.820312 -29.609375 23.8125 -28.378906 26 -25.921875 C 28.1875 -23.460938 29.28125 -20.101562 29.28125 -15.84375 L 29.28125 -13.609375 L 8.1875 -13.609375 C 8.257812 -11.078125 8.738281 -9.070312 9.625 -7.59375 C 10.507812 -6.113281 11.71875 -5.054688 13.25 -4.421875 C 14.789062 -3.785156 16.578125 -3.46875 18.609375 -3.46875 C 20.191406 -3.46875 21.757812 -3.679688 23.3125 -4.109375 C 24.875 -4.546875 26.429688 -5.128906 27.984375 -5.859375 L 27.984375 -1.515625 C 26.316406 -0.796875 24.648438 -0.273438 22.984375 0.046875 C 21.328125 0.378906 19.757812 0.546875 18.28125 0.546875 Z M 24.40625 -17.515625 C 24.300781 -20.046875 23.625 -22.035156 22.375 -23.484375 C 21.125 -24.929688 19.34375 -25.65625 17.03125 -25.65625 C 14.601562 -25.65625 12.640625 -24.921875 11.140625 -23.453125 C 9.640625 -21.992188 8.691406 -20.015625 8.296875 -17.515625 Z M 24.40625 -17.515625 "/>
</symbol>
<symbol overflow="visible" id="glyph12-9">
<path style="stroke:none;" d="M 15.125 0.546875 C 13.320312 0.546875 11.597656 0.378906 9.953125 0.046875 C 8.304688 -0.273438 6.882812 -0.722656 5.6875 -1.296875 L 5.6875 -5.796875 C 6.957031 -5.222656 8.359375 -4.691406 9.890625 -4.203125 C 11.429688 -3.710938 13.269531 -3.46875 15.40625 -3.46875 C 17.789062 -3.46875 19.476562 -3.835938 20.46875 -4.578125 C 21.46875 -5.316406 21.96875 -6.394531 21.96875 -7.8125 C 21.96875 -8.570312 21.796875 -9.191406 21.453125 -9.671875 C 21.109375 -10.160156 20.445312 -10.660156 19.46875 -11.171875 C 18.488281 -11.679688 17.0625 -12.332031 15.1875 -13.125 C 13.300781 -13.957031 11.691406 -14.734375 10.359375 -15.453125 C 9.023438 -16.179688 7.992188 -17.039062 7.265625 -18.03125 C 6.546875 -19.03125 6.1875 -20.304688 6.1875 -21.859375 C 6.1875 -24.421875 7.171875 -26.351562 9.140625 -27.65625 C 11.109375 -28.957031 13.847656 -29.609375 17.359375 -29.609375 C 18.941406 -29.609375 20.457031 -29.460938 21.90625 -29.171875 C 23.351562 -28.890625 24.851562 -28.421875 26.40625 -27.765625 L 24.953125 -23.96875 C 23.503906 -24.582031 22.171875 -25 20.953125 -25.21875 C 19.742188 -25.4375 18.546875 -25.546875 17.359375 -25.546875 C 15.117188 -25.546875 13.484375 -25.253906 12.453125 -24.671875 C 11.421875 -24.097656 10.90625 -23.195312 10.90625 -21.96875 C 10.90625 -21.164062 11.128906 -20.492188 11.578125 -19.953125 C 12.023438 -19.410156 12.765625 -18.882812 13.796875 -18.375 C 14.828125 -17.875 16.191406 -17.265625 17.890625 -16.546875 C 19.804688 -15.742188 21.429688 -15 22.765625 -14.3125 C 24.109375 -13.625 25.125 -12.800781 25.8125 -11.84375 C 26.5 -10.882812 26.84375 -9.578125 26.84375 -7.921875 C 26.84375 -5.171875 25.859375 -3.070312 23.890625 -1.625 C 21.921875 -0.175781 19 0.546875 15.125 0.546875 Z M 15.125 0.546875 "/>
</symbol>
<symbol overflow="visible" id="glyph12-10">
<path style="stroke:none;" d="M 16.328125 0.546875 C 13.796875 0.546875 11.523438 -0.00390625 9.515625 -1.109375 C 7.515625 -2.210938 5.925781 -3.894531 4.75 -6.15625 C 3.570312 -8.414062 2.984375 -11.242188 2.984375 -14.640625 C 2.984375 -18.003906 3.550781 -20.785156 4.6875 -22.984375 C 5.832031 -25.191406 7.394531 -26.847656 9.375 -27.953125 C 11.363281 -29.054688 13.625 -29.609375 16.15625 -29.609375 C 18.6875 -29.609375 20.960938 -29.054688 22.984375 -27.953125 C 25.015625 -26.847656 26.617188 -25.179688 27.796875 -22.953125 C 28.972656 -20.734375 29.5625 -17.910156 29.5625 -14.484375 C 29.5625 -11.117188 28.984375 -8.320312 27.828125 -6.09375 C 26.671875 -3.875 25.097656 -2.210938 23.109375 -1.109375 C 21.117188 -0.00390625 18.859375 0.546875 16.328125 0.546875 Z M 16.265625 -3.421875 C 19.085938 -3.421875 21.1875 -4.421875 22.5625 -6.421875 C 23.9375 -8.429688 24.625 -11.15625 24.625 -14.59375 C 24.625 -18.019531 23.925781 -20.71875 22.53125 -22.6875 C 21.144531 -24.664062 19.039062 -25.65625 16.21875 -25.65625 C 13.394531 -25.65625 11.285156 -24.664062 9.890625 -22.6875 C 8.503906 -20.71875 7.8125 -18.019531 7.8125 -14.59375 C 7.8125 -11.15625 8.515625 -8.429688 9.921875 -6.421875 C 11.335938 -4.421875 13.453125 -3.421875 16.265625 -3.421875 Z M 16.265625 -3.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph12-11">
<path style="stroke:none;" d="M 4.34375 0 L 4.34375 -3.25 L 14.96875 -4.0625 L 14.96875 -37.15625 L 4.671875 -37.859375 L 4.671875 -41.21875 L 19.84375 -41.21875 L 19.84375 -4.0625 L 29.28125 -3.25 L 29.28125 0 Z M 4.34375 0 "/>
</symbol>
<symbol overflow="visible" id="glyph12-12">
<path style="stroke:none;" d="M 14.859375 0.546875 C 11.273438 0.546875 8.398438 -0.707031 6.234375 -3.21875 C 4.066406 -5.738281 2.984375 -9.566406 2.984375 -14.703125 C 2.984375 -19.546875 4.015625 -23.238281 6.078125 -25.78125 C 8.140625 -28.332031 11.25 -29.609375 15.40625 -29.609375 C 17.425781 -29.609375 19.085938 -29.207031 20.390625 -28.40625 C 21.691406 -27.613281 22.6875 -26.601562 23.375 -25.375 L 23.703125 -25.375 C 23.628906 -25.882812 23.554688 -26.554688 23.484375 -27.390625 C 23.410156 -28.222656 23.375 -28.984375 23.375 -29.671875 L 23.375 -41.21875 L 28.203125 -41.21875 L 28.203125 0 L 24.1875 0 L 23.640625 -3.90625 L 23.421875 -3.90625 C 22.628906 -2.601562 21.554688 -1.535156 20.203125 -0.703125 C 18.847656 0.128906 17.066406 0.546875 14.859375 0.546875 Z M 15.78125 -3.421875 C 18.34375 -3.421875 20.25 -4.3125 21.5 -6.09375 C 22.75 -7.882812 23.375 -10.316406 23.375 -13.390625 L 23.375 -14.484375 C 23.375 -16.617188 23.140625 -18.523438 22.671875 -20.203125 C 22.203125 -21.878906 21.421875 -23.207031 20.328125 -24.1875 C 19.242188 -25.164062 17.78125 -25.65625 15.9375 -25.65625 C 13.414062 -25.65625 11.457031 -24.710938 10.0625 -22.828125 C 8.664062 -20.953125 7.96875 -18.078125 7.96875 -14.203125 C 7.96875 -7.015625 10.570312 -3.421875 15.78125 -3.421875 Z M 15.78125 -3.421875 "/>
</symbol>
<symbol overflow="visible" id="glyph12-13">
<path style="stroke:none;" d="M 2.71875 0 L 2.71875 -38.71875 L 9.703125 -38.71875 L 16.15625 -16 L 16.328125 -16 L 22.78125 -38.71875 L 29.828125 -38.71875 L 29.828125 0 L 25.21875 0 L 25.21875 -20.984375 C 25.21875 -23.117188 25.257812 -25.316406 25.34375 -27.578125 C 25.4375 -29.835938 25.613281 -31.925781 25.875 -33.84375 L 25.65625 -33.84375 L 18.5 -9.65625 L 14 -9.65625 L 6.78125 -33.890625 L 6.5625 -33.890625 C 6.738281 -32.847656 6.878906 -31.578125 6.984375 -30.078125 C 7.097656 -28.578125 7.179688 -27.03125 7.234375 -25.4375 C 7.296875 -23.84375 7.328125 -22.359375 7.328125 -20.984375 L 7.328125 0 Z M 2.71875 0 "/>
</symbol>
</g>
<clipPath id="clip1">
<path d="M 1992 351 L 2292.757812 351 L 2292.757812 416 L 1992 416 Z M 1992 351 "/>
</clipPath>
<clipPath id="clip2">
<path d="M 1361 1314 L 1382 1314 L 1382 1347.898438 L 1361 1347.898438 Z M 1361 1314 "/>
</clipPath>
<clipPath id="clip3">
<path d="M 1770 1314 L 1791 1314 L 1791 1347.898438 L 1770 1347.898438 Z M 1770 1314 "/>
</clipPath>
</defs>
<g id="surface1">
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 1671.78125 962.679688 L 1917.539062 962.679688 C 1936.96875 962.679688 1952.609375 978.320312 1952.609375 997.75 L 1952.609375 1145.539062 C 1952.609375 1164.96875 1936.96875 1180.609375 1917.539062 1180.609375 L 1671.78125 1180.609375 C 1652.351562 1180.609375 1636.710938 1164.96875 1636.710938 1145.539062 L 1636.710938 997.75 C 1636.710938 978.320312 1652.351562 962.679688 1671.78125 962.679688 Z M 1671.78125 962.679688 "/>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:11.338583,2.834646;stroke-miterlimit:4;" d="M 1122.175781 1054.636719 L 1627.96875 1054.636719 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -1599.621094 -1054.636719 L -1588.285156 -1065.976562 L -1627.96875 -1054.636719 L -1588.285156 -1043.296875 Z M -1599.621094 -1054.636719 " transform="matrix(-1,0,0,-1,0,0)"/>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-dasharray:11.338583,2.834646;stroke-miterlimit:4;" d="M 1125.386719 1099.636719 L 1628.054688 1099.636719 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -1599.707031 -1099.636719 L -1588.371094 -1110.976562 L -1628.054688 -1099.636719 L -1588.371094 -1088.296875 Z M -1599.707031 -1099.636719 " transform="matrix(-1,0,0,-1,0,0)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 1102.292969 206.066406 L 1417.292969 206.066406 C 1433.910156 206.066406 1447.292969 219.445312 1447.292969 236.066406 L 1447.292969 362.496094 C 1447.292969 379.113281 1433.910156 392.496094 1417.292969 392.496094 L 1102.292969 392.496094 C 1085.671875 392.496094 1072.292969 379.113281 1072.292969 362.496094 L 1072.292969 236.066406 C 1072.292969 219.445312 1085.671875 206.066406 1102.292969 206.066406 Z M 1102.292969 206.066406 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 1232.601562 962.679688 L 1478.359375 962.679688 C 1497.789062 962.679688 1513.429688 978.320312 1513.429688 997.75 L 1513.429688 1145.539062 C 1513.429688 1164.96875 1497.789062 1180.609375 1478.359375 1180.609375 L 1232.601562 1180.609375 C 1213.171875 1180.609375 1197.53125 1164.96875 1197.53125 1145.539062 L 1197.53125 997.75 C 1197.53125 978.320312 1213.171875 962.679688 1232.601562 962.679688 Z M 1232.601562 962.679688 "/>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 351.429688 296.066406 L 1052.144531 296.066406 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -1023.796875 -296.066406 L -1012.457031 -307.402344 L -1052.144531 -296.066406 L -1012.457031 -284.726562 Z M -1023.796875 -296.066406 " transform="matrix(-1,0,0,-1,0,0)"/>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 280.714844 368.921875 L 280.714844 514.636719 L 486.429688 514.636719 L 486.429688 1054.636719 L 1122.175781 1054.636719 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -1093.832031 -1054.636719 L -1082.492188 -1065.976562 L -1122.175781 -1054.636719 L -1082.492188 -1043.296875 Z M -1093.832031 -1054.636719 " transform="matrix(-1,0,0,-1,0,0)"/>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 375 1099.636719 L 1125.386719 1099.636719 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -1097.042969 -1099.636719 L -1085.703125 -1110.976562 L -1125.386719 -1099.636719 L -1085.703125 -1088.296875 Z M -1097.042969 -1099.636719 " transform="matrix(-1,0,0,-1,0,0)"/>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 1259.792969 83.921875 L 1259.792969 188.921875 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -160.578125 1259.792969 L -149.238281 1248.453125 L -188.921875 1259.792969 L -149.238281 1271.128906 Z M -160.578125 1259.792969 " transform="matrix(0,-1,1,0,0,0)"/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50.195312%,0%,0%);fill-opacity:1;" d="M 1603.929688 161.066406 L 1807.5 161.066406 L 1807.5 172.851562 L 1603.929688 172.851562 Z M 1603.929688 161.066406 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50.195312%,0%,0%);fill-opacity:1;" d="M 1603.929688 189.390625 L 1807.5 189.390625 L 1807.5 201.175781 L 1603.929688 201.175781 Z M 1603.929688 189.390625 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50.195312%,0%,0%);fill-opacity:1;" d="M 1603.929688 217.71875 L 1807.5 217.71875 L 1807.5 229.503906 L 1603.929688 229.503906 Z M 1603.929688 217.71875 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50.195312%,0%,0%);fill-opacity:1;" d="M 1603.929688 274.371094 L 1807.5 274.371094 L 1807.5 286.15625 L 1603.929688 286.15625 Z M 1603.929688 274.371094 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50.195312%,0%,0%);fill-opacity:1;" d="M 1603.929688 331.019531 L 1807.5 331.019531 L 1807.5 342.808594 L 1603.929688 342.808594 Z M 1603.929688 331.019531 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50.195312%,0%,0%);fill-opacity:1;" d="M 1603.929688 359.347656 L 1807.5 359.347656 L 1807.5 371.132812 L 1603.929688 371.132812 Z M 1603.929688 359.347656 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50.195312%,0%,0%);fill-opacity:1;" d="M 1603.929688 387.671875 L 1807.5 387.671875 L 1807.5 399.457031 L 1603.929688 399.457031 Z M 1603.929688 387.671875 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50.195312%,0%,0%);fill-opacity:1;" d="M 1603.929688 302.695312 L 1807.5 302.695312 L 1807.5 314.480469 L 1603.929688 314.480469 Z M 1603.929688 302.695312 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(50.195312%,0%,0%);fill-opacity:1;" d="M 1603.929688 246.042969 L 1807.5 246.042969 L 1807.5 257.828125 L 1603.929688 257.828125 Z M 1603.929688 246.042969 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,50.195312%,0%);fill-opacity:1;" d="M 1603.929688 432.292969 L 1807.5 432.292969 L 1807.5 444.078125 L 1603.929688 444.078125 Z M 1603.929688 432.292969 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,50.195312%,0%);fill-opacity:1;" d="M 1603.929688 460.617188 L 1807.5 460.617188 L 1807.5 472.402344 L 1603.929688 472.402344 Z M 1603.929688 460.617188 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,50.195312%,0%);fill-opacity:1;" d="M 1603.929688 488.945312 L 1807.5 488.945312 L 1807.5 500.730469 L 1603.929688 500.730469 Z M 1603.929688 488.945312 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,50.195312%,0%);fill-opacity:1;" d="M 1603.929688 545.59375 L 1807.5 545.59375 L 1807.5 557.378906 L 1603.929688 557.378906 Z M 1603.929688 545.59375 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,50.195312%,0%);fill-opacity:1;" d="M 1603.929688 602.246094 L 1807.5 602.246094 L 1807.5 614.03125 L 1603.929688 614.03125 Z M 1603.929688 602.246094 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,50.195312%,0%);fill-opacity:1;" d="M 1603.929688 630.574219 L 1807.5 630.574219 L 1807.5 642.359375 L 1603.929688 642.359375 Z M 1603.929688 630.574219 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,50.195312%,0%);fill-opacity:1;" d="M 1603.929688 658.898438 L 1807.5 658.898438 L 1807.5 670.683594 L 1603.929688 670.683594 Z M 1603.929688 658.898438 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,50.195312%,0%);fill-opacity:1;" d="M 1603.929688 573.921875 L 1807.5 573.921875 L 1807.5 585.707031 L 1603.929688 585.707031 Z M 1603.929688 573.921875 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(0%,50.195312%,0%);fill-opacity:1;" d="M 1603.929688 517.269531 L 1807.5 517.269531 L 1807.5 529.054688 L 1603.929688 529.054688 Z M 1603.929688 517.269531 "/>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 1102.292969 451.53125 L 1417.292969 451.53125 C 1433.910156 451.53125 1447.292969 464.914062 1447.292969 481.53125 L 1447.292969 607.960938 C 1447.292969 624.582031 1433.910156 637.960938 1417.292969 637.960938 L 1102.292969 637.960938 C 1085.671875 637.960938 1072.292969 624.582031 1072.292969 607.960938 L 1072.292969 481.53125 C 1072.292969 464.914062 1085.671875 451.53125 1102.292969 451.53125 Z M 1102.292969 451.53125 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-1" x="1085.730128" y="283.508877"/>
<use xlink:href="#glyph0-2" x="1123.637959" y="283.508877"/>
<use xlink:href="#glyph0-3" x="1161.54579" y="283.508877"/>
<use xlink:href="#glyph0-4" x="1199.45362" y="283.508877"/>
<use xlink:href="#glyph0-5" x="1237.361451" y="283.508877"/>
<use xlink:href="#glyph0-6" x="1275.269282" y="283.508877"/>
<use xlink:href="#glyph0-7" x="1313.177113" y="283.508877"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph0-8" x="1085.730128" y="362.483524"/>
<use xlink:href="#glyph0-9" x="1123.637959" y="362.483524"/>
<use xlink:href="#glyph0-2" x="1161.54579" y="362.483524"/>
<use xlink:href="#glyph0-9" x="1199.45362" y="362.483524"/>
<use xlink:href="#glyph0-10" x="1237.361451" y="362.483524"/>
<use xlink:href="#glyph0-5" x="1275.269282" y="362.483524"/>
<use xlink:href="#glyph0-11" x="1313.177113" y="362.483524"/>
<use xlink:href="#glyph0-3" x="1351.084944" y="362.483524"/>
<use xlink:href="#glyph0-10" x="1388.992774" y="362.483524"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-1" x="1090.466809" y="520.848025"/>
<use xlink:href="#glyph1-2" x="1128.463418" y="520.848025"/>
<use xlink:href="#glyph1-3" x="1166.460027" y="520.848025"/>
<use xlink:href="#glyph1-2" x="1204.456637" y="520.848025"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph1-4" x="1090.466809" y="600.007627"/>
<use xlink:href="#glyph1-5" x="1128.463418" y="600.007627"/>
<use xlink:href="#glyph1-6" x="1166.460027" y="600.007627"/>
<use xlink:href="#glyph1-7" x="1204.456637" y="600.007627"/>
<use xlink:href="#glyph1-8" x="1242.453246" y="600.007627"/>
<use xlink:href="#glyph1-9" x="1280.449855" y="600.007627"/>
<use xlink:href="#glyph1-3" x="1318.446464" y="600.007627"/>
<use xlink:href="#glyph1-8" x="1356.443073" y="600.007627"/>
<use xlink:href="#glyph1-10" x="1394.439683" y="600.007627"/>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 30 206.066406 L 345 206.066406 C 361.621094 206.066406 375 219.445312 375 236.066406 L 375 362.496094 C 375 379.113281 361.621094 392.496094 345 392.496094 L 30 392.496094 C 13.378906 392.496094 0 379.113281 0 362.496094 L 0 236.066406 C 0 219.445312 13.378906 206.066406 30 206.066406 Z M 30 206.066406 "/>
<g style="fill:rgb(0%,50.195312%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-1" x="26.684061" y="281.509555"/>
<use xlink:href="#glyph2-2" x="69.390321" y="281.509555"/>
<use xlink:href="#glyph2-3" x="112.096581" y="281.509555"/>
<use xlink:href="#glyph2-4" x="154.802841" y="281.509555"/>
<use xlink:href="#glyph2-5" x="197.509101" y="281.509555"/>
<use xlink:href="#glyph2-6" x="240.215361" y="281.509555"/>
</g>
<g style="fill:rgb(0%,50.195312%,0%);fill-opacity:1;">
<use xlink:href="#glyph2-7" x="26.684061" y="370.48093"/>
<use xlink:href="#glyph2-5" x="69.390321" y="370.48093"/>
<use xlink:href="#glyph2-8" x="112.096581" y="370.48093"/>
<use xlink:href="#glyph2-5" x="154.802841" y="370.48093"/>
</g>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 941.058594 296.066406 L 941.058594 549.714844 L 1051.871094 549.714844 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -1023.523438 -549.714844 L -1012.183594 -561.054688 L -1051.871094 -549.714844 L -1012.183594 -538.378906 Z M -1023.523438 -549.714844 " transform="matrix(-1,0,0,-1,0,0)"/>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 1463.570312 548.386719 L 1580.355469 548.386719 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -1552.011719 -548.386719 L -1540.671875 -559.726562 L -1580.355469 -548.386719 L -1540.671875 -537.046875 Z M -1552.011719 -548.386719 " transform="matrix(-1,0,0,-1,0,0)"/>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 1463.570312 291.78125 L 1580.355469 291.78125 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -1552.011719 -291.78125 L -1540.671875 -303.117188 L -1580.355469 -291.78125 L -1540.671875 -280.441406 Z M -1552.011719 -291.78125 " transform="matrix(-1,0,0,-1,0,0)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph3-1" x="1818.552967" y="587.913287"/>
</g>
<g clip-path="url(#clip1)" clip-rule="nonzero">
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph4-1" x="1989.902834" y="400.211449"/>
<use xlink:href="#glyph4-2" x="2028.401517" y="400.211449"/>
<use xlink:href="#glyph4-3" x="2066.900199" y="400.211449"/>
<use xlink:href="#glyph4-4" x="2105.398882" y="400.211449"/>
<use xlink:href="#glyph4-5" x="2143.897564" y="400.211449"/>
<use xlink:href="#glyph4-4" x="2182.396247" y="400.211449"/>
<use xlink:href="#glyph4-5" x="2220.89493" y="400.211449"/>
<use xlink:href="#glyph4-6" x="2259.393612" y="400.211449"/>
</g>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph4-7" x="1989.902834" y="480.417038"/>
<use xlink:href="#glyph4-3" x="2028.401517" y="480.417038"/>
<use xlink:href="#glyph4-8" x="2066.900199" y="480.417038"/>
<use xlink:href="#glyph4-3" x="2105.398882" y="480.417038"/>
<use xlink:href="#glyph4-9" x="2143.897564" y="480.417038"/>
<use xlink:href="#glyph4-10" x="2182.396247" y="480.417038"/>
<use xlink:href="#glyph4-8" x="2220.89493" y="480.417038"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph5-1" x="1207.30691" y="1022.120354"/>
<use xlink:href="#glyph5-2" x="1240.092308" y="1022.120354"/>
<use xlink:href="#glyph5-3" x="1272.877706" y="1022.120354"/>
<use xlink:href="#glyph5-4" x="1305.663104" y="1022.120354"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph5-5" x="1207.30691" y="1090.423266"/>
<use xlink:href="#glyph5-6" x="1240.092308" y="1090.423266"/>
<use xlink:href="#glyph5-7" x="1272.877706" y="1090.423266"/>
<use xlink:href="#glyph5-8" x="1305.663104" y="1090.423266"/>
<use xlink:href="#glyph5-9" x="1338.448502" y="1090.423266"/>
<use xlink:href="#glyph5-6" x="1371.2339" y="1090.423266"/>
<use xlink:href="#glyph5-10" x="1404.019298" y="1090.423266"/>
<use xlink:href="#glyph5-11" x="1436.804696" y="1090.423266"/>
<use xlink:href="#glyph5-12" x="1469.590094" y="1090.423266"/>
<use xlink:href="#glyph5-4" x="1502.375492" y="1090.423266"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph5-3" x="1207.30691" y="1158.726179"/>
<use xlink:href="#glyph5-10" x="1240.092308" y="1158.726179"/>
<use xlink:href="#glyph5-12" x="1272.877706" y="1158.726179"/>
<use xlink:href="#glyph5-8" x="1305.663104" y="1158.726179"/>
<use xlink:href="#glyph5-11" x="1338.448502" y="1158.726179"/>
</g>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 2127.855469 521.066406 L 2127.855469 863.921875 L 1347.855469 863.921875 L 1347.855469 960.753906 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -932.40625 1347.855469 L -921.066406 1336.519531 L -960.753906 1347.855469 L -921.066406 1359.195312 Z M -932.40625 1347.855469 " transform="matrix(0,-1,1,0,0,0)"/>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 1765.714844 863.921875 L 1765.714844 959.492188 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -931.144531 1765.714844 L -919.804688 1754.375 L -959.492188 1765.714844 L -919.804688 1777.054688 Z M -931.144531 1765.714844 " transform="matrix(0,-1,1,0,0,0)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph6-1" x="974.502443" y="46.586969"/>
<use xlink:href="#glyph6-2" x="1011.28163" y="46.586969"/>
<use xlink:href="#glyph6-3" x="1048.060817" y="46.586969"/>
<use xlink:href="#glyph6-4" x="1084.840004" y="46.586969"/>
<use xlink:href="#glyph6-5" x="1121.619191" y="46.586969"/>
<use xlink:href="#glyph6-6" x="1158.398378" y="46.586969"/>
<use xlink:href="#glyph6-7" x="1195.177565" y="46.586969"/>
<use xlink:href="#glyph6-8" x="1231.956752" y="46.586969"/>
<use xlink:href="#glyph6-6" x="1268.735939" y="46.586969"/>
<use xlink:href="#glyph6-2" x="1305.515126" y="46.586969"/>
<use xlink:href="#glyph6-9" x="1342.294313" y="46.586969"/>
<use xlink:href="#glyph6-10" x="1379.0735" y="46.586969"/>
<use xlink:href="#glyph6-11" x="1415.852687" y="46.586969"/>
<use xlink:href="#glyph6-12" x="1452.631874" y="46.586969"/>
<use xlink:href="#glyph6-13" x="1489.411061" y="46.586969"/>
<use xlink:href="#glyph6-11" x="1526.190248" y="46.586969"/>
</g>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 1351.40625 1180.609375 L 1351.40625 1260.359375 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -1232.011719 1351.40625 L -1220.675781 1340.066406 L -1260.359375 1351.40625 L -1220.675781 1362.746094 Z M -1232.011719 1351.40625 " transform="matrix(0,-1,1,0,0,0)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph7-1" x="1313.136241" y="1333.361905"/>
</g>
<g clip-path="url(#clip2)" clip-rule="nonzero">
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph8-1" x="1356.740885" y="1347.896776"/>
</g>
</g>
<path style=" stroke:none;fill-rule:nonzero;fill:rgb(79.998779%,79.998779%,79.998779%);fill-opacity:1;" d="M 30 978.429688 L 345 978.429688 C 361.621094 978.429688 375 991.8125 375 1008.429688 L 375 1134.859375 C 375 1151.480469 361.621094 1164.859375 345 1164.859375 L 30 1164.859375 C 13.378906 1164.859375 0 1151.480469 0 1134.859375 L 0 1008.429688 C 0 991.8125 13.378906 978.429688 30 978.429688 Z M 30 978.429688 "/>
<g style="fill:rgb(50.195312%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph9-1" x="22.479325" y="1054.983229"/>
<use xlink:href="#glyph9-2" x="62.525387" y="1054.983229"/>
<use xlink:href="#glyph9-3" x="102.571448" y="1054.983229"/>
<use xlink:href="#glyph9-4" x="142.61751" y="1054.983229"/>
<use xlink:href="#glyph9-5" x="182.663571" y="1054.983229"/>
<use xlink:href="#glyph9-6" x="222.709633" y="1054.983229"/>
<use xlink:href="#glyph9-7" x="262.755695" y="1054.983229"/>
<use xlink:href="#glyph9-8" x="302.801756" y="1054.983229"/>
<use xlink:href="#glyph9-9" x="342.847818" y="1054.983229"/>
</g>
<g style="fill:rgb(50.195312%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph9-10" x="22.479325" y="1138.412524"/>
<use xlink:href="#glyph9-7" x="62.525387" y="1138.412524"/>
<use xlink:href="#glyph9-11" x="102.571448" y="1138.412524"/>
<use xlink:href="#glyph9-7" x="142.61751" y="1138.412524"/>
</g>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 605.894531 315.886719 L 645.269531 276.511719 "/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph10-1" x="568.893481" y="259.367206"/>
<use xlink:href="#glyph10-2" x="609.261158" y="259.367206"/>
<use xlink:href="#glyph10-3" x="649.628835" y="259.367206"/>
<use xlink:href="#glyph10-4" x="689.996513" y="259.367206"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph11-1" x="715.064543" y="927.45882"/>
<use xlink:href="#glyph11-2" x="758.54228" y="927.45882"/>
<use xlink:href="#glyph11-3" x="802.020017" y="927.45882"/>
<use xlink:href="#glyph11-4" x="845.497754" y="927.45882"/>
<use xlink:href="#glyph11-5" x="888.975491" y="927.45882"/>
<use xlink:href="#glyph11-6" x="932.453228" y="927.45882"/>
<use xlink:href="#glyph11-7" x="975.930965" y="927.45882"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph11-8" x="715.064543" y="1018.037439"/>
<use xlink:href="#glyph11-9" x="758.54228" y="1018.037439"/>
<use xlink:href="#glyph11-4" x="802.020017" y="1018.037439"/>
<use xlink:href="#glyph11-9" x="845.497754" y="1018.037439"/>
<use xlink:href="#glyph11-3" x="888.975491" y="1018.037439"/>
<use xlink:href="#glyph11-2" x="932.453228" y="1018.037439"/>
<use xlink:href="#glyph11-4" x="975.930965" y="1018.037439"/>
</g>
<path style="fill:none;stroke-width:2.834646;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M 1762.835938 1180.609375 L 1762.835938 1260.359375 "/>
<path style="fill-rule:evenodd;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:3.023622;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:4;" d="M -1232.011719 1762.835938 L -1220.675781 1751.496094 L -1260.359375 1762.835938 L -1220.675781 1774.171875 Z M -1232.011719 1762.835938 " transform="matrix(0,-1,1,0,0,0)"/>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph12-1" x="1651.377299" y="1022.509719"/>
<use xlink:href="#glyph12-2" x="1683.91336" y="1022.509719"/>
<use xlink:href="#glyph12-3" x="1716.449422" y="1022.509719"/>
<use xlink:href="#glyph12-4" x="1748.985483" y="1022.509719"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph12-5" x="1651.377299" y="1090.29318"/>
<use xlink:href="#glyph12-6" x="1683.91336" y="1090.29318"/>
<use xlink:href="#glyph12-7" x="1716.449422" y="1090.29318"/>
<use xlink:href="#glyph12-8" x="1748.985483" y="1090.29318"/>
<use xlink:href="#glyph12-9" x="1781.521545" y="1090.29318"/>
<use xlink:href="#glyph12-6" x="1814.057606" y="1090.29318"/>
<use xlink:href="#glyph12-10" x="1846.593667" y="1090.29318"/>
<use xlink:href="#glyph12-11" x="1879.129729" y="1090.29318"/>
<use xlink:href="#glyph12-12" x="1911.66579" y="1090.29318"/>
<use xlink:href="#glyph12-4" x="1944.201852" y="1090.29318"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph12-13" x="1651.377299" y="1158.076642"/>
<use xlink:href="#glyph12-10" x="1683.91336" y="1158.076642"/>
<use xlink:href="#glyph12-12" x="1716.449422" y="1158.076642"/>
<use xlink:href="#glyph12-8" x="1748.985483" y="1158.076642"/>
<use xlink:href="#glyph12-11" x="1781.521545" y="1158.076642"/>
</g>
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph7-1" x="1722.286694" y="1333.361905"/>
</g>
<g clip-path="url(#clip3)" clip-rule="nonzero">
<g style="fill:rgb(0%,0%,0%);fill-opacity:1;">
<use xlink:href="#glyph8-1" x="1765.891339" y="1347.896776"/>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 126 KiB

2176
BPV/qrs/images/training.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 137 KiB

377
BPV/qrs/main.typ Normal file
View file

@ -0,0 +1,377 @@
#import "utils.typ": *
#import "template.typ": *
#show: ieee.with(
title: "Firmware Integrity Verification with Side-Channel Power Consumption Analysis",
abstract: [
],
authors: (
(
name: "Arthur Grisel-Davy",
department: "Electrical and Computer Engineering",
organization: "University of Waterloo",
location: [Waterloo, Canada],
email: "agriseld@uwaterloo.ca"
),
(
name: "Sebastian Fischmeister",
department: "Electrical and Computer Engineering",
organization: "University of Waterloo",
location: [Waterloo, Canada],
email: "sfischme@uwaterloo.ca"
),
),
index-terms: (),
bibliography-file: "bibli.bib",
)
// #let agd(content) = {
// text(blue, size:15pt)[#sym.star.filled]
// [#footnote[agd: #content]]
// }
// #let cn = text(purple,size:15pt)[ #super[citation needed]]
// #let ps_counter = counter("ps_counter")
// #let ps(title: none, content: none) = block[
// #ps_counter.step()
// *Problem Statement #ps_counter.display() (#title)*:
// #content
// ]
// // Define acronyms
// #let acronyms=(
// "IDS": "Intrusion Detection System",
// "SVM": "Support Vector Machine",
// )
// // use heading 99 to display acronyms
// #show heading.where(level: 99): it => text(weight: "regular", it.body)
// #let refs=state("plop",acronyms)
// // Initialize the expansion list to keep track of the expansions
// // #let exp = ("dummy": 0)
// // #for key in acronyms.keys(){
// // exp.insert(key,0)
// // }
// // function to call an acronym. Expands it on first encounter.
// #let acr(a: none) = {
// // if exp.at(a) == 0{
// let long = acronyms.at(a)
// heading(level: 99)[#long (#a)]
// // exp.insert(a,1)
// //}
// }
#let acronyms = (
"IDS": "Intrusion Detection System",
"SVM": "Support Vector Machine",
"PLC": "Programable Logic Controlers",
"DC": "Direct Current",
"AC": "Alternating Current",
"APT": "Advanced Persistent Threats",
)
#show ref: r =>{
if str(r.target) in acronyms{
locate(loc =>{
let term = str(r.target)
let res = query(ref.where(target: r.target).before(loc),loc)
if res.len() == 1{
[#acronyms.at(term) (#term)]
}else{
term
}
})
}else{
r
}
}
= Introduction
The firmware of any embedded system is susceptible to attacks. Since firmware provides many security features, it is always of major interest to attackers. Every year, a steady number of new vulnerabilities are discovered. Any device that requires firmware, such as computers @185175, @PLC @BASNIGHT201376, or IoT devices @rieck2016attacks, is vulnerable to these attacks. There are multiple ways to leverage a firmware attack. Reverting firmware to an older version allows an attacker to reopen discovered and documented flaws. Cancelling an update can ensure that previously deployed attacks remain available. Finally, implementing custom firmware enables full access to the machine.
The issue of malicious firmware is not recent. The oldest firmware vulnerability recorded on #link("cve.mitre.org") related to firmware dates back to 1999. Over the years, many solutions have been proposed to mitigate this issue. The first and most common countermeasure is verifying the integrity of the firmware before applying an update. The methods to verify a firmware typically include but are not limited to cryptography @firmware_crypto, blockchain technology @firmware_blockchain @firmware_blockchain_2 or direct data comparison @firmware_data. Depending on the complexity, the manufacturer can provide a tag @firmware_sign of the firmware or encrypt it to provide trust that it is genuine. The integrity verification can also be performed at run-time as part of the firmware itself or with dedicated hardware @trustanchor.
The above solutions to firmware attacks share the common flaw of being applied to the same machine they are installed on. This allows an attacker to bypass these countermeasures after infecting the machine. An attacker that could avoid triggering a verification, tamper with the verification mechanism, feed forged data to the verification mechanism, or falsify the verification report could render any defense useless. @IDS are subjected to a trade-off between having access to relevant and meaningful information and keeping the detection mechanism separated from the target machine. Our solution addresses this trade-off by leveraging side-channel information.
= Contributions
This paper presents a novel solution for firmware verification using side-channel analysis. Building on the assumption that every security mechanism operating on a host is vulnerable to being bypassed, we propose using the device's power consumption signature during the firmware execution to assess its integrity. Because of the intrinsic properties of side-channel information, the integrity evaluation is based on unforgeable data and does not involve any communication with the host. A distance-based outlier detector that uses power traces of an unaltered boot-up sequence can learn the expected pattern and detect any variation in a new boot-up sequence. This novel solution could detect various attacks centred around manipulating firmware. In addition to its versatility of detection, it is also easily retrofittable to almost any embedded system with @DC input and a consistent boot sequence. It requires minimal training examples and minor hardware modification in most cases, especially for @DC powered devices.
//% What we propose in this context: detecting firmware manipulations with power consumption
== Paper Organization
We elaborate on the type of attacks that our method aims to mitigate in the threat model section \ref{threat} and the technology we leverage to capture relevant information in section \ref{sca}. The models developed for this study are detailed in section \ref{feature_eng}. Finally, we present the experiment designed to illustrate the performance of our novel detector in section \ref{experiment}.
// % Reminder of how the paper is organized
= Overview
There are plenty of attack points on an ordinary machine. Depending on the machine's vulnerability and the attacker's skill, variable intrusion levels are possible. A successful firmware attack can remain undetected by common \glspl{ids} as the attacker can deceive detection methods at multiple levels. Moreover, firmware tampering is not necessarily a complex operation.
== Threat Model<threat>
The range of attacks that can be performed by tampering with the boot process is extensive. Because the firmware is responsible for the initialization of the components, the low-level communications, and some in-depth security features, executing adversary code in place of the expected firmware is a powerful capability @mitre @capec. If given enough time, information or access, an attacker could take complete control of the machine and pave the way to future @APT.
A firmware modification is defined as implementing any change in the firmware code. Modifications include implementing custom functions, removing security features, or changing the firmware for a different version (downgrade or upgrade). As long as the firmware is different from the one expected by the system administrator, we consider that it has been modified.
Downgrading the firmware to an older version is an efficient way to render a machine vulnerable to attacks. Opposite to writing custom firmware, it requires little information about the machine. All the documentation and resources are easily accessible online from the manufacturer. Even the reopened exploits are likely to be documented as they are the reason for the firmware upgrade. An attacker would only need to wait for vulnerabilities to be discovered and then revert the firmware to an older version. These properties make the firmware downgrade a powerful first step to performing future attacks. Custom firmware could need to be written for more subtle or advanced attacks. This requires more work and information as firmware codes are not open source and are challenging to reverse engineer. Moreover, the firmware is tailored for a specific machine, and it can be difficult for an attacker to test a custom firmware attack. Although, if a custom firmware can be successfully implemented, almost any attack can be performed. Finally, a firmware upgrade could also be used to open a newly discovered vulnerability.
A complete firmware change is another form of firmware manipulation. The manufacturer's firmware is replaced by another available firmware that supports the same machine. Such alternatives can be found for computers @coreboot, routers @owrt @ddwrt @freshtomato, but also video game consoles or various embedded machines. These alternative firmware are often open-source and provide more features, capabilities and performances as they are often updated and optimized by their community. Implementing an alternative firmware on a machine could allow an attacker to gain control of it without necessarily alerting the end-user.
The last firmware manipulation is to write custom firmware for a specific machine. This is generally very hard to perform as the firmware is particular to the machine it is applied on. Writing custom firmware allows for unlimited access to the machine at the cost of a more complex attack.
== Side Channel Analysis<sca>
\gls{sca} leverages the emissions of a system to gain information about its operations. Side channels are defined as any involuntary emission from a system. Historically, the main side channels are sound, power consumption or electromagnetic. The common use of side-channel is in the context of attacks. The machine state is leveraged to extract critical information, allowing powerful and difficult to mitigate attacks. \gls{sca} attacks are commonly applied to cryptography @cryptoreview @curveattack, keyboard typing @keyboard, printers @printer and many more. Side-channel attacks can be easy to implement depending on the chosen channel. Power consumption is a reliable source of information but requires physical access to the machine. Sound and electromagnetic fields can be measured for a distance but are also typically more susceptible to measurement location @iot_anoamly_sca.
Electrical power consumption is especially appropriate for side-channel analysis for many reasons. First, it is easy to measure in a reproducible manner. Then, it can be easy to get access to relevant power cables with little tampering from the machine when the power conversion from \gls{ac} to \gls{dc} power is performed outside the machine. It is also a common side channel to all embedded systems as they all consume electricity. Finally, it is hard to fake from the developer's point of view. Because of the multiple abstraction layers between the code of a program and its implementation at the hardware level, any change in the code will likely result in a different power consumption pattern (see \ref{fig:boot-up}). This is especially true when considering firmware or machines with low computation capabilities or highly specialized devices that have deterministic and stable execution patterns at boot-up.
$ a + b = gamma $
== Related Work
Historically, the firmware was written on a \gls{rom}, and it was impossible to change. With the growing complexity of embedded systems, manufacturers developed procedures to allow remote firmware upgrades. Firmware upgrades can address performances or security flaws or, less frequently, add features. Unfortunately, these firmware upgrade mechanisms can also be leveraged by an attacker to implement unauthorized or malicious pieces of software in the machine. Almost all embedded systems are vulnerable to firmware attacks. In industrial applications, control systems such as power systems field devices @power-devices, \glspl{plc} @plc_firmware, or any other industrial embedded system @santamarta2012here. Safety-critical environment are also prime targets including medical devices @health_review @pacemaker @medical_case_study, railway systems @railway or automotive systems @cars.
Different security mechanisms have been implemented by manufacturers to guarantee the integrity of the firmware. The first and most common protection is code signing. The firmware code is cryptographically signed or a checksum is computed. This software signature is provided by the manufacturer and is checked against the signature of the installed firmware. This method suffers many possible bypasses. First, the firmware can be modified at the manufacturer level @BASNIGHT201376, generating a trusted signature of the modified firmware. Second, the verification can simply be bypassed @9065145. Finally, the result of the test can be forged to report a valid firmware, even with dedicated hardware @thrangrycats. Blockchain technology is also considered for guaranteeing firmware integrity @blockchain1. Blockchain is a cryptographic chain of trust where each link is integrated in the next to guarantee that the information in the chain have not been modified. This technology could provide software integrity verification at each point where a supply chain attack is possible. However, the blockchain still needs to be verified at some point and this verification can still be bypassed or forged. A complementary approach to software verification is to leverage side-channel information produced by the machine at runtime.
Historically, \gls{sca} in general and power analysis is mainly used by attackers @sca_attack. Power consumption generally leaks execution information about the running software that can be leveraged to perform various attacks. However, defense is also a promising application for this technology with runtime anomaly detection @timing or specific attack detection @DTU. Notably, Clark et al. @wud proposed in 2013 a power consumption-based malware detector for medical devices. These defense mechanisms are powerful at enabling the protection of systems that cannot host defense software. Unfortunately, common methods usually rely on a lot of training data and neural network algorithms to perform detection. These models can yield excellent performances for classifications at the cost of expensive data collection and anomalous trace examples.
= Boot Process Verification
Verifying the firmware of the machine using its power consumption represents a time series classification problem described in the problem statement:
#ps(title: "Boot Process Verification")[
Given a set of N time series $T=(t_1,...,t_N)$ corresponding to the power consumption of known-good bootup sequence and a new unlabeled time series $u$, predict whether $u$ was generated by a nominal boot sequence.
]
The training time series in $T$ are discretized, mono-variate, real-valued time series of length $L$.
The length of the captured time series is a parameter of the detector, tuned for each machine.
The number of training time series $N$ is considered small relative to the usual size of training datasets in time series classification problems #cn.
All time series considered in this problem ($T union u$) are all of length $L$ and synchronized at capture time; see section @sds for more details about the synchronization process.
== Detection Models<detector>
// The \gls{bpv} is responsible for detecting anomalies in a boot sequence power trace. The training phase is based on a few normal traces that are leveraged to train two types of distance-based detectors. After training, any new boot-up trace can be evaluated to verify the integrity of the firmware. An overview of the \gls{bpv} is presented in @fig-overview #footnote[The source code for the BPV is made available upon request].
// #figure(
// image("images/schematic.svg", width: 90%),
// caption: [Overview of the \gls{bpv} model training and evaluation.],
// )<fig-overview>
// #agd["Update figure to remove anomaly generation"]
The BPV performs classification of the boot traces using a distance-based detector and a threshold.
The core of the detection is the computation of the distance between the new trace $u$ and the training traces $T$.
If this distance is greater than the pre-computed threshold, then the BPV classifies the new trace as anomalous.
Otherwise, the new trace is nominal.
The training phase consists in computing the threshold based on the known good training traces.
Two main specificities of this problem make the computation of the threshold difficult.
First, the training dataset only contains nominal traces.
This assumption is important as there are a near inifinite ways how a boot sequence can be altered to create a malicious or malfunctining device.
The BPV aims at fingerprinting the nominal sequence, not recognizing the possible abnormal sequences.
Thus, the model can only describe the nominal traces statistically, based on the available examples, and assume that outliers to this statistical model correspond to abnormal boot sequences.
Second, the number of training sample is small.
In this case, small is relative to the usual number of training samples leveraged for time series classification #cn.
We assume that the training dataset contains between ten and 100 samples.
This assumption is important for realisme.
To keep the detector non-disruptive, the nominal boot sequences are captured during normal operation of the device.
However, the boot of a machine is a rare event and thus the training dataset must remain small.
The training sequence of the BPV computes the distance threshold based on a statistical description of the distribution of distance between each pair of normal traces.
The training sequence folows two steps.
+ The sequence compute the distance between all pairs of training traces $D = {d(t_i,t_j) forall i,j in [1,...,N]^2; i eq.not j }$.
+ The sequence computes the threshold as $"thresh" = 1.5 dot "IQR"(D)$ with IQR the Inter-Quartile Range of the distances set $D$.
The \gls{iqr} is a measure of the dispersion of samples.
It is based on the first and third quartiles and defined as $ "IQR" = Q_3 - Q_1$ with $Q_3$ the third quartile and $Q_1$ the first quartile.
This value is commonly used @han2011data to detect outliers as a similar but more robust alternative to the $3"sigma"$ interval of a Gaussian distribution.
To apply the \gls{iqr} to the times series, we compute first compute the average of the NORMAL traces.
This average serves as a reference for computing the distance of each trace.
The Euclidean distance is computed between each trace and the reference, and the \gls{iqr} of these distances are computed.
The distance threshold takes the value $1.5 * "IQR"$. For the detection, the distance of each new trace to the reference is computed and compared to the threshold.
If the distance is above the threshold, the new trace is considered anomalous.
=== Support For Multi-Modal Boot-up Sequences
#agd[Add image from drone with multiple modes]
Some machines can boot following multiple different boot-up sequence that are considered normal.
There can exists various reason for such behavior.
For example, a machine can perform recovery operations if the power can interupted while the machine was off, or perform heath check on component that may pass or fail and trigger deeper inspections procedure.
Because the machines are trated as black boxes, it is important for the BPV to deal with these multiple modes during training.
Our approach is to developp one model per mode following the same procedure as for a single mode, presented in section @detector.
Then, the detection logic evolves to consider the new trace nominal if it mached any of the models.
If the new trace does not match any model, then it does not follow any of the nominal modes and is considered anbormal.
@fig:modes illustrate the trained BPV models when two modes are present in the bootup sequence.
#figure(
image("images/training.svg", width:100%),
caption: ["BPV model trained with two modes."]
)<fig:modes>
= Test Case 1: Network Devices<exp-network>
To verify the performance of the proposed detector, we design an experiment that aims at detecting firmware modifications on different devices .
Networking devices are a vital component of any IT organization, from individual houses to complete data centers @downtime.
A network failure can result in significant downtime that is extremely expensive to data centers.
Compromised network devices can also result in data breaches.
These devices are generally highly specialized in processing and transmitting information as fast as possible.
We consider four machines that represent consumer-available products for different prices and performance range.
- Asus Router RT-N12 D1. This router is a low-end product that provides switch, router and wireless access point capabilities for home usage.
- Linksys Router MR8300 v1.1. This router is a mid-range product that offers the same capabilities as the Asus router with better performance at a higher price.
- TP-Link Switch T1500G-10PS. This 8-port switch offers some security features for low-load usage.
- HP Switch Procurve 2650 J4899B. This product is enterprise-oriented and provides more performance than the TP-Link switch. This is the only product of the selection that required hardware modification, as the power supply is internal to the machine. The modification consists in cutting the 5V cables to implement the capture system.
None of the selected devices supports the installation of host-based @IDS or firmware integrity verification. Firmware is verified only during updates with a non-public mechanism. This experiment is designed to illustrate the firmware verification capability of a side-channel @IDS for these machines where common @IDS may not be applicable.
//% \spabs{The text above connects with the listing of devices, but the text below is not connected and was written to be at the start and refers to the experiment we must have explained above as "this study"}
//% \spabs{Suggested to just continue the previous text and explain that we are trying to perform an experiment that can do that (firmware verif) for the mentioned hardware that lacks it, and for that bla bla... we use a capture box.......}
== Experimental Setup
Although this experiment is conducted in a controlled environment, the setup is representative of an actual deployment. We use a hardware device referred to as the capture box @hidden} placed in series with the primary power cable of the target device. The capture box's shunt resistor generates a voltage drop representative of the global power consumption of the machine. This voltage drop value is recorded at a sampling rate of \numprint[KSPS]{10}. These samples are packaged in small fixed-size chunks and sent to a data aggregation server on a private \gls{vlan}. The data aggregation server is responsible for gathering data from all of our capture boxes and sending it via a \gls{vpn} tunnel to a storage server as \numprint[s]{10} time series files.
We gather data from the four networking equipment which are connected to a managed \gls{pdu}. This \gls{pdu}'s output can be controlled by sending instructions on a telnet interface and enables turning each machine on or off automatically. Each machine will undergo firmware change or version change to represent a firmware attack.
#figure(
table(
columns: (auto,auto,auto,auto),
align: horizon,
[*Equipment*], [*Original \ Firmware*], [*Modification 1*], [*Modification 2*],
[TP-Link\ Switch], [20200805], [20200109], [],
[HP Procurve\ Switch], [H.10.119], [H.10.117], [],
[Asus Router], [Latest EOM], [OpenWrt\ v21.02.2], [OpenWrt\ v21.02.0],
[Linksys\ Router], [Latest EOM], [OpenWrt\ v21.02.2], [OpenWrt\ v21.02.0]
),
caption: [Machines used for the experiments and their modifications.],
)<tab:machines>
This experiment aims to simulate an attack situation by performing firmware modifications on the target devices and recording the boot-up power trace data for each version. For the switches, we flash different firmware versions provided by the \gle{oem}. For wireless routers, their firmware is changed from the \gls{oem} to different versions of OpenWrt. In this study, we consider the latest \gls{oem} firmware version to be the \textit{NORMAL} version, expected to be installed on the machine by default. Any other version or firmware is considered anomalous and represents an attack.
== Experiment procedure
To account for randomness and gather representative boot-up sequences of the device, we performed \numprint{500} boot iterations for each machine. This cannot reasonably be performed manually with consistency. Therefore, an automation script controls the \gls{pdu} with precise timings to perform the boots without human intervention.
The exact experimental procedure followed for each target has minor variations depending on the target's boot-up requirements. Overall, they all follow the same template with different timings.
- Step 1: Turn ON the power to the machine.
- Step 2: Wait for a predetermined period (depending on the specific target) for the target to boot up completely.
- Step 3: Turn OFF the power to the machine and wait for a few seconds to ensure proper shutdown of the machine.
== Boot-up Sequence Extraction<sds>
A threshold-based algorithm extracts the boot-up sequences from the complete trace. The extraction is not performed manually because of the large number of samples and to ensure a consistent detection of the boot-up pattern and a precise alignment of the different sequences extracted. Because the boot-up sequence usually begins with a sharp increase in power consumption from the device, the algorithm leverages this rising edge to detect the start time accurately. Two parameters control the extraction. $T$ is the consumption threshold, and $L$ is the length of the boot-up sequence. To extract all the boot-up sequences in a power trace, the algorithm evaluates consecutive samples against $T$. If sample $s_{i-1}<T$ and $s_i>T$ then $s_i$ is the first sample of a boot-up sequence and the next $L$ samples are extracted. The power trace is resampled at $50"ms"$ using a median aggregating function to avoid any incorrect detections. This pre-processing removes most of the \textit{salt-and-pepper} noise that could falsely trigger the detection method. The final step of the detection is to store all the boot sequences under the same label for evaluation. The complete dataset corresponding to the experiments presented in this paper can be found online @dataset}.
== Results<results>
We obtain the result per machine and per model. The training dataset is generated by injecting artificial anomalies, but the evaluation is performed on actual anomalous traces collected in a controlled environment. For each evaluation, a random set of $10$ consecutive traces is selected from the \textit{NORMAL} label to serve as the seed for the anomaly generation. The anomaly generator returns a training dataset composed of normal traces on one side and anomalous artificial traces on the other. The models train using this dataset and are evaluated against a balanced dataset combining $M\in[20,50]$ consecutive anomalous traces selected at random across all non \textit{NON-NORMAL} classes and as many \textit{NORMAL} traces. The testing set is balanced between \textit{NORMAL} and \textit{NON-NORMAL} traces. The training requires only a few \textit{NORMAL} traces. This evaluation is repeated $50$ times, and the $F_1$ score is computed for each iteration. The final score is the average of these $F_1$ scores. The results are presented in @tab:results.
// \begin{table}[h]
// \centering
// %\begin{tabular}{|p{0.32\linewidth} |p{0.32\linewidth}| p{0.32\linewidth}|}
// \begin{tabularx}{\linewidth}{|X|X|X|}
// \hline
// \textbf{Machine} & \textbf{AIM Model} & \textbf{IQR Model}\\
// \hline
// \hline
// TP-Link switch & 0.993 & 0.866\\
// \hline
// HP switch & 0.73 & 0.983\\
// \hline
// Asus router & 0.995 & 1\\
// \hline
// Linksys router & 0.899 & 0.921\\
// \hline
// \end{tabularx}
// \caption{Results of detection.}
// \label{tab:results}
// \end{table}
#figure(
table(
columns: 3,
[*Machine*], [*AIM Model*], [*IQR Model*],
[TP-Link switch], [0.993], [0.866],
[HP switch], [0.73], [0.983],
[Asus router], [0.995], [1],
[Linksys router], [0.899], [0.921]
),
caption: [Results of detection.]
)<tab:results>
There are two hyper-parameters to tune to obtain the best performances. First, the length of the trace considered is essential. The trace needs to cover the whole boot-up sequence to be sure to detect any possible change. It is better to avoid extending the trace too much after the firmware sequence is done, as the typical operation of the machine can produce noisy power consumption that interferes with the optimal placement of the threshold. Secondly, the number of training traces can be optimized. A minimum of four traces is required for the \gls{iqr} method based on quartiles. A minimum of two traces are necessary for the \gls{svm} Threshold method as anomalous traces need to be generated based on the average and standard deviation of the normal dataset. Collecting additional traces after these lower boundaries offers marginal performance improvements as the number of traces has little impact on the threshold placement of both models. Moreover, collecting many boot-up sequences can be difficult to achieve in practice. Finally, tuning the sampling rate is important to ensure the best performances. A machine boot-up in two seconds will require a higher sampling rate than a machine booting in thirty seconds. All these parameters are machine-specific and need to be manually tuned before deployment of the side-channel \gls{ids}.
= Test Case 2: Drone
== Experimental Setup
== Experiment Procedure
== Results
= Test Case 3: Aggregated Power Measurements
Results from L3 experiment. Present following the same model as for the previous ones.
= Specific Case Study: Anomaly Infused Model
When training a model to detect outliers, it is often expected to have examples of possible anomalies. In some cases, gathering anomalies can be difficult, costly, or impossible. In the context of this study, it would be impractical to measure power consumption patterns for a wide range of firmware anomalies. Such data collection would require modifying firmware parameters, suspending equipment usage, or infecting machines with malicious firmware. These modifications are impossible for production equipment and would still lead to an incomplete training dataset. To circumvent this limitation, we leveraged the specificity of the distance-based detectors. Distance-based detectors produce results based solely on the distance between two traces and a learned threshold. The threshold is chosen to separate normal and anomalous traces as well as possible. The actual pattern of the traces is not important for this type of detector as only the aggregated distance of each sample matters. This implies that a distance-based detector that relies on a distance threshold can be trained the same way with either actual anomalous traces or with artificial traces that present the same distance to the reference. The idea behind an \gls{aim} is to leverage this property and generate artificial anomalous traces to form the training set. This training is generated from only normal traces, which circumvents the need for extensive data collection.
The generation of anomalies from normal traces is based on the modification of the global pattern. Data augmentation can leverage different time series modification methods to help a model generalize. The kind of modification applied to a trace is highly dependent on the application and the model @zimmering2021generating and requires domain knowledge about the system. In this case, we want to generate adversarial traces with patterns similar to actual anomalous traces from a machine. The first step of this process is to extract domain knowledge from all the traces collected. The type of modification an anomalous trace present compared to a normal trace help us design anomaly generation functions that apply the same type of transformation to normal traces with varying parameters. The goal is not the reproduce exact anomalous traces but to generate a wide variety of possible anomalous traces given a small set of normal traces. The domain knowledge extracted from the study of anomalous traces is of two kinds:
- The trace is shifted along the $y$ axis. In this case, the anomalous firmware consumes significantly more or less power than the normal one. This shift can affect the whole trace or only a part of it. This can be the result of a different usage of the machine's components or a significant change in the firmware instructions.
- The trace is delayed or in advance along the $x$ axis. The anomalous trace present the same patterns and amplitude as the normal trace but at different points in time. This shift can occur when parts of the firmware are added or removed by updates.
An example of anomalous trace can be found in @fig:boot-up_traces_TPLINK.
#figure(
image("images/Bootup_traces_TPLINK.svg", width: 80%),
caption: [
Example of TP-Link switch boot-up traces for different firmware versions. The anomalous firmware (FIRMWARE V2) present both a $y$ and $x$ shift.
],
)<fig:boot-up_traces_TPLINK>
The anomaly generation function combines the domain knowledge observations and applies anomalies to generate examples of anomalous traces from normal traces. The transformations include:
- Shifting the time domain. The direction of the shift can be forward (introducing a delay) or backward (removing a delay). The parameters of the shift are the amplitude and the start time. Both parameters are randomly selected for each new trace. The boundaries of these values do not include very large shifts as these would not contribute to the threshold placement for the models selected. The missing parts of the trace after shifting are recreated based on the average and standard deviation value of the previous \numprint[s]{0.5} assuming a Gaussian noise.
- Shifting the $y$ axis. The direction of the shift can be upward (more energy consumed) or downward (less energy consumed). The amplitude is chosen between $4$ and $5$ times the standard deviation for each sample. These values ensure not creating an anomalous trace that conflicts with the normal traces and removing any shift too large that would not contribute to the threshold placement. The start time is chosen randomly in the trace.
- Shifting both the $x$ and $y$ axis. Anomalous always presents a combination of $x$ shift, $y$ shift, or both.
The algorithm for the anomaly generation function is presented in Algorithm \ref{algo}.
// \begin{algorithm}[h]
// \caption{Anomaly Generation Procedure}\label{algo}
// \begin{algorithmic}[1]
// \State $x_{amp} \gets \text{random float} \in[-4,-2]\cup[4,2]$
// \State $y_{amp} \gets \text{random float} \in[-5,-4]\cup[4,5]$
// \State Generate a new trace using the data augmenter.
// \State Select the direction of the shift: $x$,$y$ or both.
// \If{$y$ shift selected}
// \State Add standard deviation multiplied with $y_{amp}$ to the new trace.
// \EndIf
// \If{$x$ shift selected}
// \State Select start time of shift.
// \State Shift new trace by $x_{amp}$ seconds.
// \State Recreate missing part based on previous $0.5$ seconds.
// \EndIf
// \Return new anomalous trace
// \end{algorithmic}
// \end{algorithm}
// #figure(caption: [Anomaly Generation Procedure],
// ```
// ```
// )<algo>
The resulting dataset does not precisely resemble the anomalous traces that are collected but presents traces with the same range of distance as normal traces (see @fig:Synthetic_vs_Normal_TPLINK).
The dataset is balanced to avoid training bias by including new normal traces that are generated using the average and standard deviation of the available normal traces.
#figure(
image("images/Synthetic_vs_Normal_TPLINK.svg"),
caption: [Example of generated synthetic anomalous traces vs normal traces for TP-Link switch.],
)<fig:Synthetic_vs_Normal_TPLINK>
= Discussion<discussion>
#agd["Add subsection"]
This study only evaluates the performance of this method on a mix of consumer and enterprise networking devices. The results give us great confidence that a side-channel \gls{ids} can be deployed to other types of equipment. This technology is, in theory, applicable to any embedded system. Depending on the type of machine, taping the power consumption or identifying a reliable boot-up sequence can be difficult. Further studies will aim at illustrating the potential of side-channel firmware verification on a wider range of machines. There are studies to be conducted on the detection decision from the model's output in order to provide a more reliable and generic detection model by leveraging the output of multiple models focused on specific time-series features.
== Limitations of Anomaly Generation
= Conclusion<conclusion>
This study illustrates the applicability of side-channel analysis to detect firmware attacks. The proposed side-channel-based \gls{ids} can reliably detect firmware tampering from the power consumption trace. Moreover, distance-based models leveraged in this study allow minimal training data and training time requirements. Anomaly generation is leveraged to enhance the training set without additional anomalous data capture. Finally, deploying this technology to production networking equipment requires minimal downtime and hardware intrusion, and it is applicable to clientless equipment.

165
BPV/qrs/template.typ Normal file
View file

@ -0,0 +1,165 @@
// This function gets your whole document as its `body` and formats
// it as an article in the style of the IEEE.
#let ieee(
// The paper's title.
title: "Paper Title",
// An array of authors. For each author you can specify a name,
// department, organization, location, and email. Everything but
// but the name is optional.
authors: (),
// The paper's abstract. Can be omitted if you don't have one.
abstract: none,
// A list of index terms to display after the abstract.
index-terms: (),
// The article's paper size. Also affects the margins.
paper-size: "us-letter",
// The path to a bibliography file if you want to cite some external
// works.
bibliography-file: none,
// The paper's content.
body
) = {
// Set document metdata.
set document(title: title, author: authors.map(author => author.name))
// Set the body font.
set text(font: "STIX Two Text", size: 10pt)
// Configure the page.
set page(
paper: paper-size,
numbering: "1",
// The margins depend on the paper size.
margin: if paper-size == "a4" {
(x: 41.5pt, top: 80.51pt, bottom: 89.51pt)
} else {
(
x: (50pt / 216mm) * 100%,
top: (55pt / 279mm) * 100%,
bottom: (64pt / 279mm) * 100%,
)
}
)
// Configure equation numbering and spacing.
set math.equation(numbering: "(1)")
show math.equation: set block(spacing: 0.65em)
// Configure lists.
set enum(indent: 10pt, body-indent: 9pt)
set list(indent: 10pt, body-indent: 9pt)
// Configure headings.
set heading(numbering: "I.A.1.")
show heading: it => locate(loc => {
// Find out the final number of the heading counter.
let levels = counter(heading).at(loc)
let deepest = if levels != () {
levels.last()
} else {
1
}
set text(10pt, weight: 400)
if it.level == 1 [
// First-level headings are centered smallcaps.
// We don't want to number of the acknowledgment section.
#let is-ack = it.body in ([Acknowledgment], [Acknowledgement])
#set align(center)
#set text(if is-ack { 10pt } else { 12pt })
#show: smallcaps
#v(20pt, weak: true)
#if it.numbering != none and not is-ack {
numbering("I.", deepest)
h(7pt, weak: true)
}
#it.body
#v(13.75pt, weak: true)
] else if it.level == 2 [
// Second-level headings are run-ins.
#set par(first-line-indent: 0pt)
#set text(style: "italic")
#v(10pt, weak: true)
#if it.numbering != none {
numbering("A.", deepest)
h(7pt, weak: true)
}
#it.body
#v(10pt, weak: true)
] else [
// Third level headings are run-ins too, but different.
#if it.level == 3 {
numbering("1)", deepest)
[ ]
}
_#(it.body):_
]
})
// Display the paper's title.
v(3pt, weak: true)
align(center, text(18pt, title))
v(8.35mm, weak: true)
// Display the authors list.
for i in range(calc.ceil(authors.len() / 3)) {
let end = calc.min((i + 1) * 3, authors.len())
let is-last = authors.len() == end
let slice = authors.slice(i * 3, end)
grid(
columns: slice.len() * (1fr,),
gutter: 12pt,
..slice.map(author => align(center, {
text(12pt, author.name)
if "department" in author [
\ #emph(author.department)
]
if "organization" in author [
\ #emph(author.organization)
]
if "location" in author [
\ #author.location
]
if "email" in author [
\ #link("mailto:" + author.email)
]
}))
)
if not is-last {
v(16pt, weak: true)
}
}
v(40pt, weak: true)
// Start two column mode and configure paragraph properties.
show: columns.with(2, gutter: 12pt)
set par(justify: true, first-line-indent: 1em)
show par: set block(spacing: 0.65em)
// Display abstract and index terms.
if abstract != none [
#set text(weight: 700)
#h(1em) _Abstract_---#abstract
#if index-terms != () [
#h(1em)_Index terms_---#index-terms.join(", ")
]
#v(2pt)
]
// Display the paper's contents.
body
// Display bibliography.
if bibliography-file != none {
show bibliography: set text(8pt)
bibliography(bibliography-file, title: text(10pt)[References], style: "ieee")
}
}

22
BPV/qrs/utils.typ Normal file
View file

@ -0,0 +1,22 @@
// Comment macros
#let agd(content) = {
text(blue, size:15pt)[#sym.star.filled]
[#footnote[agd: #content]]
}
#let cn = text(purple,size:15pt)[ #super[citation needed]]
// problem statement environment
// Usage:
// #ps(title: "Boot Process Verification",
// content: "Given a set of time series..."
// )<ps:label>
#let ps_counter = counter("ps_counter")
#let ps(content, title: none) = [
#ps_counter.step()
#pad(y: 10pt,[
*Problem Statement #ps_counter.display() (#title)*:
#content
])
]