[dpdk-dev] [PATCH v2 1/3] doc: add guide to use virtio_user for container networking

Jianfeng Tan jianfeng.tan at intel.com
Thu Feb 9 17:06:44 CET 2017


Signed-off-by: Jianfeng Tan <jianfeng.tan at intel.com>
---
 .../use_models_for_running_dpdk_in_containers.svg  | 574 ++++++++++++++++++
 .../img/virtio_user_for_container_networking.svg   | 638 +++++++++++++++++++++
 doc/guides/howto/index.rst                         |   1 +
 .../howto/virtio_user_for_container_networking.rst | 142 +++++
 4 files changed, 1355 insertions(+)
 create mode 100644 doc/guides/howto/img/use_models_for_running_dpdk_in_containers.svg
 create mode 100644 doc/guides/howto/img/virtio_user_for_container_networking.svg
 create mode 100644 doc/guides/howto/virtio_user_for_container_networking.rst

diff --git a/doc/guides/howto/img/use_models_for_running_dpdk_in_containers.svg b/doc/guides/howto/img/use_models_for_running_dpdk_in_containers.svg
new file mode 100644
index 0000000..2e3f8e2
--- /dev/null
+++ b/doc/guides/howto/img/use_models_for_running_dpdk_in_containers.svg
@@ -0,0 +1,574 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
+ width="968.000000pt" height="461.000000pt" viewBox="0 0 968.000000 461.000000"
+ preserveAspectRatio="xMidYMid meet">
+<metadata>
+Created by potrace 1.13, written by Peter Selinger 2001-2015
+</metadata>
+<g transform="translate(0.000000,461.000000) scale(0.100000,-0.100000)"
+fill="#000000" stroke="none">
+<path d="M4605 2455 c0 -1084 1 -1528 2 -988 2 540 2 1426 0 1970 -1 543 -2
+102 -2 -982z"/>
+<path d="M6982 4088 c-7 -7 -12 -40 -12 -80 0 -61 2 -68 20 -68 18 0 20 7 20
+80 0 79 -5 91 -28 68z"/>
+<path d="M7130 4080 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M7410 4080 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M7690 4080 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M7970 4080 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M8250 4080 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M8530 4080 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M8810 4080 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M9090 4080 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M9370 4080 c0 -17 7 -20 50 -20 28 0 50 -4 50 -10 0 -5 9 -10 20 -10
+14 0 20 7 20 24 0 29 -16 36 -86 36 -47 0 -54 -2 -54 -20z"/>
+<path d="M1700 3820 l0 -130 475 0 475 0 0 130 0 130 -475 0 -475 0 0 -130z"/>
+<path d="M2960 3815 l0 -135 475 0 475 0 0 135 0 135 -475 0 -475 0 0 -135z"/>
+<path d="M9470 3840 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M6970 3740 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M5000 3305 l0 -435 190 0 c105 0 190 -2 190 -5 0 -4 -7 -19 -15 -35
+-13 -24 -13 -29 0 -34 12 -4 15 -36 17 -163 l3 -158 1433 -3 c1274 -2 1432 -4
+1432 -17 0 -14 3 -14 30 0 39 20 40 20 40 -20 l0 -35 245 0 c135 0 245 -3 245
+-7 -1 -5 -7 -19 -15 -33 -18 -32 -18 -40 0 -40 8 0 15 -9 15 -20 0 -16 -7 -20
+-30 -20 -23 0 -30 -4 -30 -20 0 -16 7 -20 30 -20 29 0 30 -1 30 -50 l0 -50
+-1870 -2 -1870 -3 -32 -33 -33 -32 -3 -255 c-3 -281 1 -305 57 -338 27 -16
+154 -17 1895 -17 l1866 0 0 -60 c0 -47 -3 -60 -15 -60 -18 0 -18 -2 -3 -35 15
+-33 24 -32 43 5 14 27 14 30 0 30 -12 0 -15 13 -15 60 l0 60 290 0 c320 0 335
+3 365 60 12 24 15 76 15 285 l0 255 -34 38 -34 37 -306 3 -306 3 0 49 0 50 45
+0 c38 0 45 3 45 20 0 17 -7 20 -45 20 -38 0 -45 3 -45 20 0 11 7 20 15 20 18
+0 18 8 0 40 -8 14 -14 28 -15 33 0 4 113 7 250 7 l250 0 0 670 0 670 -500 0
+-500 0 0 -495 0 -496 -30 16 c-36 19 -40 19 -40 0 0 -13 -47 -15 -360 -15
+l-360 0 0 50 c0 32 5 52 14 57 12 7 12 13 -3 41 l-17 33 -16 -35 c-15 -29 -15
+-35 -2 -40 10 -4 14 -22 14 -61 l0 -55 365 0 c321 0 365 -2 365 -15 0 -14 3
+-14 30 0 16 8 31 15 35 15 3 0 5 -22 5 -50 0 -27 -2 -50 -5 -50 -4 0 -19 7
+-34 15 -27 13 -29 13 -34 -5 -3 -11 -3 -29 0 -40 l5 -21 34 20 34 20 0 -75 0
+-75 -32 17 c-28 15 -32 15 -40 0 -8 -15 -137 -16 -1433 -16 l-1425 0 0 155 c0
+128 3 157 15 161 13 5 13 9 0 34 -8 16 -15 31 -15 35 0 3 86 5 190 5 l190 0 0
+435 0 435 -385 0 -385 0 0 -435z m760 0 l0 -425 -375 0 -375 0 0 425 0 425
+375 0 375 0 0 -425z m3550 -235 l0 -660 -490 0 -490 0 0 660 0 660 490 0 490
+0 0 -660z m-498 -1032 l2 -93 3 93 4 93 304 -3 305 -3 27 -28 28 -27 3 -257
+c2 -182 0 -265 -9 -285 -23 -55 -40 -58 -359 -58 l-290 0 -2 163 -2 162 -3
+-162 -3 -163 -1870 0 -1870 0 -32 29 -33 29 -3 254 c-2 157 1 265 7 281 6 15
+25 36 43 47 33 20 52 20 1891 20 l1857 0 2 -92z"/>
+<path d="M5372 3628 c7 -15 15 -23 17 -17 2 6 -4 18 -13 27 -15 15 -15 15 -4
+-10z"/>
+<path d="M5522 3613 c2 -28 8 -38 21 -39 14 -2 14 -1 1 3 -12 4 -15 14 -12 39
+2 19 0 34 -5 34 -4 0 -7 -17 -5 -37z"/>
+<path d="M5630 3614 c0 -26 3 -34 9 -25 5 7 14 10 21 6 9 -6 -6 25 -27 54 -2
+2 -3 -13 -3 -35z"/>
+<path d="M5480 3632 c0 -7 -12 -13 -27 -13 -26 -2 -26 -2 -4 -6 24 -5 50 11
+38 24 -4 3 -7 1 -7 -5z"/>
+<path d="M5586 3603 c-6 -14 -5 -15 5 -6 7 7 10 15 7 18 -3 3 -9 -2 -12 -12z"/>
+<path d="M5320 3580 c0 -6 7 -10 15 -10 8 0 15 2 15 4 0 2 -7 6 -15 10 -8 3
+-15 1 -15 -4z"/>
+<path d="M5553 3400 c0 -30 2 -43 4 -27 2 15 2 39 0 55 -2 15 -4 2 -4 -28z"/>
+<path d="M5207 3395 c8 -25 19 -45 23 -45 4 0 15 21 24 47 9 25 13 43 8 39 -4
+-4 -12 -22 -18 -39 l-11 -32 -16 38 c-22 52 -29 47 -10 -8z"/>
+<path d="M5283 3385 c0 -22 2 -30 4 -17 2 12 2 30 0 40 -3 9 -5 -1 -4 -23z"/>
+<path d="M5311 3381 l1 -36 7 30 c5 25 13 31 41 36 34 7 34 7 -7 6 -43 -1 -43
+-1 -42 -36z"/>
+<path d="M5413 3388 c1 -26 7 -33 25 -34 19 -1 22 3 21 35 -1 35 -2 35 -8 7
+-8 -40 -28 -44 -35 -7 l-6 31 3 -32z"/>
+<path d="M5486 3411 c-3 -5 3 -7 14 -4 11 3 20 1 20 -5 0 -5 -9 -12 -20 -15
+-30 -8 -25 -37 6 -37 23 0 25 3 22 32 -3 32 -29 50 -42 29z m29 -41 c-3 -5
+-10 -10 -16 -10 -5 0 -9 5 -9 10 0 6 7 10 16 10 8 0 12 -4 9 -10z"/>
+<path d="M5370 3360 c0 -5 5 -10 11 -10 5 0 7 5 4 10 -3 6 -8 10 -11 10 -2 0
+-4 -4 -4 -10z"/>
+<path d="M5343 3230 c0 -30 2 -43 4 -27 2 15 2 39 0 55 -2 15 -4 2 -4 -28z"/>
+<path d="M5140 3260 c0 -5 5 -10 10 -10 6 0 10 -9 10 -20 0 -25 -17 -27 -22
+-2 -3 12 -7 8 -15 -15 -11 -31 -11 -32 8 -20 15 9 23 9 38 0 19 -12 19 -11 4
+32 -13 40 -33 61 -33 35z"/>
+<path d="M5201 3196 c1 -31 4 -43 7 -31 4 11 14 20 22 20 10 0 15 10 15 30 0
+24 -4 30 -22 31 -21 1 -23 -3 -22 -50z m39 19 c0 -26 -14 -33 -25 -15 -9 14 1
+40 15 40 5 0 10 -11 10 -25z"/>
+<path d="M5271 3196 c1 -31 4 -43 7 -31 4 11 14 20 22 20 10 0 15 10 15 30 0
+24 -4 30 -22 31 -21 1 -23 -3 -22 -50z m39 19 c0 -26 -14 -33 -25 -15 -9 14 1
+40 15 40 5 0 10 -11 10 -25z"/>
+<path d="M5373 3215 c0 -22 2 -30 4 -17 2 12 2 30 0 40 -3 9 -5 -1 -4 -23z"/>
+<path d="M5406 3241 c-3 -5 3 -7 14 -4 11 3 20 1 20 -5 0 -5 -9 -12 -20 -15
+-30 -8 -25 -37 6 -37 23 0 25 3 22 32 -3 32 -29 50 -42 29z m29 -41 c-3 -5
+-10 -10 -16 -10 -5 0 -9 5 -9 10 0 6 7 10 16 10 8 0 12 -4 9 -10z"/>
+<path d="M5471 3211 c1 -35 2 -35 8 -7 9 42 29 44 34 4 l5 -33 -2 35 c-1 29
+-5 35 -23 36 -20 1 -23 -3 -22 -35z"/>
+<path d="M5544 3236 c-9 -23 0 -51 16 -52 9 0 10 1 3 3 -20 7 -16 51 5 56 16
+4 16 5 -1 6 -10 0 -20 -5 -23 -13z"/>
+<path d="M5604 3236 c-11 -28 0 -51 26 -53 22 -1 22 -1 3 4 -29 6 -30 23 -2
+23 14 0 19 5 17 17 -4 23 -36 29 -44 9z m36 -6 c0 -5 -7 -10 -15 -10 -8 0 -15
+5 -15 10 0 6 7 10 15 10 8 0 15 -4 15 -10z"/>
+<path d="M8992 3265 c0 -42 2 -51 7 -30 3 17 13 30 21 30 8 0 18 -13 22 -30 6
+-29 6 -29 5 5 -2 28 -6 35 -22 35 -13 0 -22 9 -26 25 -4 15 -7 1 -7 -35z"/>
+<path d="M8653 3293 c-4 -11 1 -22 15 -31 28 -19 30 -46 2 -39 -11 3 -20 1
+-20 -5 0 -5 10 -8 22 -6 30 4 35 36 9 54 -27 19 -27 38 -1 31 11 -3 18 -1 14
+4 -9 15 -34 10 -41 -8z"/>
+<path d="M8830 3300 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M8868 3288 c-9 -28 7 -73 27 -75 11 -2 14 0 8 3 -16 7 -17 54 -2 54
+6 0 4 7 -5 15 -18 18 -23 19 -28 3z"/>
+<path d="M8584 3248 c19 -44 31 -45 43 -3 13 42 7 47 -9 8 l-11 -28 -10 28
+c-6 15 -14 27 -18 27 -5 0 -2 -14 5 -32z"/>
+<path d="M8721 3273 c-1 -6 3 -24 9 -38 11 -28 30 -26 30 3 0 13 -2 14 -9 3
+-6 -10 -11 -6 -19 15 -6 16 -11 24 -11 17z"/>
+<path d="M8765 3263 c4 -10 10 -26 12 -35 3 -10 9 -18 13 -18 10 0 32 61 25
+68 -4 5 -6 0 -18 -38 -3 -10 -8 -6 -16 13 -6 15 -13 27 -17 27 -3 0 -3 -8 1
+-17z"/>
+<path d="M8830 3245 c0 -19 5 -35 10 -35 6 0 10 16 10 35 0 19 -4 35 -10 35
+-5 0 -10 -16 -10 -35z"/>
+<path d="M8924 3266 c-10 -26 1 -51 24 -54 12 -2 22 1 22 6 0 5 -8 9 -17 8
+-12 -1 -18 6 -18 19 0 13 6 20 18 19 9 -1 17 2 17 7 0 15 -40 10 -46 -5z"/>
+<path d="M8764 3076 c-11 -29 0 -51 26 -51 21 0 25 5 25 30 0 24 -5 31 -23 33
+-13 2 -24 -3 -28 -12z m43 -12 c8 -21 -13 -42 -28 -27 -13 13 -5 43 11 43 6 0
+13 -7 17 -16z"/>
+<path d="M8841 3050 c1 -27 3 -29 6 -10 2 14 11 30 20 37 13 10 13 12 -6 10
+-17 -1 -21 -7 -20 -37z"/>
+<path d="M8661 2878 c1 -29 4 -43 6 -30 5 28 19 28 33 1 7 -11 14 -18 17 -16
+2 3 0 14 -6 25 -7 13 -7 22 1 30 15 15 -7 42 -33 42 -16 0 -19 -7 -18 -52z
+m39 22 c0 -11 -7 -20 -15 -20 -8 0 -15 9 -15 20 0 11 7 20 15 20 8 0 15 -9 15
+-20z"/>
+<path d="M8898 2908 c-9 -28 7 -73 27 -75 11 -2 14 0 8 3 -16 7 -17 54 -2 54
+6 0 4 7 -5 15 -18 18 -23 19 -28 3z"/>
+<path d="M8584 2868 c19 -44 31 -45 43 -3 13 42 7 47 -9 8 l-11 -28 -10 28
+c-6 15 -14 27 -18 27 -5 0 -2 -14 5 -32z"/>
+<path d="M8744 2886 c-11 -29 0 -51 26 -51 21 0 25 5 25 30 0 24 -5 31 -23 33
+-13 2 -24 -3 -28 -12z m43 -12 c8 -21 -13 -42 -28 -27 -13 13 -5 43 11 43 6 0
+13 -7 17 -16z"/>
+<path d="M8823 2870 c2 -31 5 -35 30 -36 25 -1 27 2 26 35 -1 36 -1 36 -8 6
+-3 -17 -13 -30 -21 -30 -8 0 -18 13 -22 30 -6 29 -6 29 -5 -5z"/>
+<path d="M8954 2886 c-12 -30 0 -51 31 -53 18 -1 22 1 10 4 -34 9 -41 23 -11
+23 21 0 27 4 24 18 -4 22 -46 29 -54 8z m46 -6 c0 -5 -9 -10 -21 -10 -11 0
+-17 5 -14 10 3 6 13 10 21 10 8 0 14 -4 14 -10z"/>
+<path d="M9031 2860 c1 -27 3 -29 6 -10 2 14 11 30 20 37 13 10 13 12 -6 10
+-17 -1 -21 -7 -20 -37z"/>
+<path d="M8548 2693 c7 -3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z"/>
+<path d="M8730 2595 c0 -54 1 -55 28 -54 23 2 24 2 5 6 -20 4 -23 11 -23 48 0
+40 2 44 28 48 25 4 25 4 -5 6 l-33 1 0 -55z"/>
+<path d="M8910 2641 c46 -8 48 -36 3 -36 -18 0 -33 -3 -33 -7 0 -14 57 -8 70
+7 21 25 4 45 -37 44 l-38 -2 35 -6z"/>
+<path d="M9004 2636 c-3 -8 -4 -31 -2 -52 2 -32 7 -40 26 -42 55 -8 93 55 56
+92 -19 20 -73 21 -80 2z m74 -8 c27 -27 1 -78 -39 -78 -16 0 -19 7 -19 45 0
+40 2 45 23 45 13 0 28 -5 35 -12z"/>
+<path d="M9153 2595 c0 -33 2 -48 4 -32 2 15 7 27 11 27 3 0 20 -12 36 -27
+l31 -28 -27 31 c-16 16 -28 35 -28 42 0 7 -4 12 -9 12 -5 0 -12 8 -14 18 -3 9
+-5 -10 -4 -43z"/>
+<path d="M9199 2633 c-13 -16 -12 -17 4 -4 16 13 21 21 13 21 -2 0 -10 -8 -17
+-17z"/>
+<path d="M8808 2609 c2 -16 -2 -37 -9 -47 -13 -15 -12 -16 4 -3 17 14 24 66 9
+75 -5 3 -6 -8 -4 -25z"/>
+<path d="M5241 2028 c-1 -12 -9 -18 -26 -18 -20 0 -25 -5 -24 -22 1 -17 2 -19
+6 -5 2 9 13 17 23 17 13 0 17 -6 14 -22 -4 -21 -4 -21 6 2 6 13 9 33 7 45 -3
+15 -5 16 -6 3z"/>
+<path d="M5474 2025 c-4 -8 -12 -15 -20 -15 -8 0 -14 -9 -13 -22 1 -20 2 -21
+6 -4 5 18 6 18 20 -5 14 -24 14 -24 8 -1 -5 15 -1 30 11 43 10 11 12 19 5 19
+-6 0 -14 -7 -17 -15z"/>
+<path d="M5375 2020 c-3 -5 1 -10 10 -10 9 0 13 5 10 10 -3 6 -8 10 -10 10 -2
+0 -7 -4 -10 -10z"/>
+<path d="M5265 2009 c-4 -6 -4 -13 -1 -16 3 -4 6 -1 6 5 0 6 8 13 18 15 15 4
+15 5 0 6 -9 0 -20 -4 -23 -10z"/>
+<path d="M5324 2008 c-4 -6 -2 -14 4 -16 18 -6 14 -20 -5 -25 -16 -4 -16 -5
+-1 -6 22 -1 32 17 18 33 -8 11 -8 15 2 19 9 4 9 6 1 6 -6 1 -15 -4 -19 -11z"/>
+<path d="M5507 2014 c-14 -14 -7 -25 13 -22 12 2 21 8 21 13 0 12 -24 18 -34
+9z m30 -10 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z"/>
+<path d="M5572 2011 c-8 -5 -12 -16 -10 -25 2 -12 6 -10 15 9 6 14 10 25 10
+25 -1 0 -8 -4 -15 -9z"/>
+<path d="M5601 1990 c0 -15 3 -19 6 -10 3 8 12 20 20 27 13 10 12 12 -6 10
+-16 -1 -21 -8 -20 -27z"/>
+<path d="M5667 2014 c-14 -14 -7 -25 13 -22 12 2 21 8 21 13 0 12 -24 18 -34
+9z m30 -10 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z"/>
+<path d="M5722 1990 c0 -14 2 -19 5 -12 2 6 2 18 0 25 -3 6 -5 1 -5 -13z"/>
+<path d="M5293 1984 c-3 -8 -12 -13 -19 -10 -8 3 -14 1 -14 -4 0 -18 29 -10
+40 10 6 11 8 20 5 20 -3 0 -8 -7 -12 -16z"/>
+<path d="M5370 1980 c0 -11 4 -20 9 -20 5 0 7 9 4 20 -3 11 -7 20 -9 20 -2 0
+-4 -9 -4 -20z"/>
+<path d="M5632 1980 c0 -14 2 -19 5 -12 2 6 2 18 0 25 -3 6 -5 1 -5 -13z"/>
+<path d="M5500 1969 c0 -5 9 -9 20 -9 11 0 20 2 20 4 0 2 -9 6 -20 9 -11 3
+-20 1 -20 -4z"/>
+<path d="M5660 1969 c0 -5 9 -9 20 -9 11 0 20 2 20 4 0 2 -9 6 -20 9 -11 3
+-20 1 -20 -4z"/>
+<path d="M6000 3295 l0 -435 190 0 c105 0 190 -2 190 -5 0 -4 -7 -19 -15 -35
+-13 -24 -13 -29 0 -34 10 -3 15 -27 18 -83 l3 -78 2 78 c1 58 6 79 17 83 13 5
+13 9 0 34 -8 16 -15 31 -15 35 0 3 86 5 190 5 l190 0 0 435 0 435 -385 0 -385
+0 0 -435z m760 0 l0 -425 -375 0 -375 0 0 425 0 425 375 0 375 0 0 -425z"/>
+<path d="M6342 3628 c7 -15 15 -23 17 -17 2 6 -4 18 -13 27 -15 15 -15 15 -4
+-10z"/>
+<path d="M6492 3613 c2 -28 8 -38 21 -39 14 -2 14 -1 1 3 -12 4 -15 14 -12 39
+2 19 0 34 -5 34 -4 0 -7 -17 -5 -37z"/>
+<path d="M6600 3614 c0 -26 3 -34 9 -25 5 7 14 10 21 6 9 -6 -6 25 -27 54 -2
+2 -3 -13 -3 -35z"/>
+<path d="M6450 3632 c0 -7 -12 -13 -27 -13 -26 -2 -26 -2 -4 -6 24 -5 50 11
+38 24 -4 3 -7 1 -7 -5z"/>
+<path d="M6556 3603 c-6 -14 -5 -15 5 -6 7 7 10 15 7 18 -3 3 -9 -2 -12 -12z"/>
+<path d="M6290 3580 c0 -6 7 -10 15 -10 8 0 15 2 15 4 0 2 -7 6 -15 10 -8 3
+-15 1 -15 -4z"/>
+<path d="M6040 3275 l0 -65 345 0 345 0 0 65 0 65 -55 0 c-42 0 -55 -3 -55
+-15 0 -23 -117 -19 -123 4 -4 14 -5 13 -6 -1 -1 -12 -9 -18 -25 -18 -15 0 -26
+7 -29 18 -4 16 -5 16 -6 0 -1 -13 -10 -18 -31 -18 -17 0 -34 7 -40 18 -10 14
+-11 14 -6 1 4 -14 -2 -17 -29 -17 -23 0 -35 5 -38 17 -4 14 -5 14 -6 0 -1 -14
+-14 -16 -77 -17 -56 -1 -77 3 -81 14 -3 9 -19 14 -44 14 l-39 0 0 -65z"/>
+<path d="M6145 3330 c3 -5 12 -7 20 -3 21 7 19 13 -6 13 -11 0 -18 -4 -14 -10z"/>
+<path d="M6205 3330 c4 -6 11 -8 16 -5 14 9 11 15 -7 15 -8 0 -12 -5 -9 -10z"/>
+<path d="M6560 3330 c0 -5 7 -10 15 -10 8 0 15 5 15 10 0 6 -7 10 -15 10 -8 0
+-15 -4 -15 -10z"/>
+<path d="M6341 3024 c0 -11 3 -14 6 -6 3 7 2 16 -1 19 -3 4 -6 -2 -5 -13z"/>
+<path d="M6631 3024 c0 -11 3 -14 6 -6 3 7 2 16 -1 19 -3 4 -6 -2 -5 -13z"/>
+<path d="M6114 3014 c3 -9 6 -27 6 -40 0 -35 13 -30 39 16 12 22 20 40 17 40
+-3 0 -13 -15 -22 -32 l-17 -33 -9 33 c-5 17 -11 32 -14 32 -4 0 -3 -7 0 -16z"/>
+<path d="M6184 2995 c-3 -20 -4 -39 0 -42 3 -4 6 6 6 20 0 15 5 27 10 27 6 0
+10 7 10 15 0 30 -19 14 -26 -20z"/>
+<path d="M6249 3009 c-7 -13 -7 -19 -1 -15 6 3 13 -4 15 -16 3 -16 4 -15 2 5
+-1 15 2 27 7 27 4 0 8 5 8 10 0 18 -19 11 -31 -11z"/>
+<path d="M6355 3000 c-4 -6 -11 -8 -16 -5 -5 4 -9 -4 -9 -16 0 -19 2 -21 13
+-8 6 8 19 20 27 27 8 7 9 12 3 12 -7 0 -15 -5 -18 -10z"/>
+<path d="M6397 3004 c-14 -14 -7 -25 13 -22 12 2 21 8 21 13 0 12 -24 18 -34
+9z m30 -10 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z"/>
+<path d="M6463 3003 c-7 -3 -13 -14 -12 -26 0 -22 0 -22 9 1 5 12 14 22 20 22
+5 0 10 -10 11 -22 l0 -23 9 23 c11 26 27 29 33 5 4 -14 5 -13 6 4 1 19 -4 22
+-31 21 -18 -1 -39 -3 -45 -5z"/>
+<path d="M6567 3004 c-14 -14 -7 -25 13 -22 12 2 21 8 21 13 0 12 -24 18 -34
+9z m30 -10 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z"/>
+<path d="M6622 2980 c0 -14 2 -19 5 -12 2 6 2 18 0 25 -3 6 -5 1 -5 -13z"/>
+<path d="M6211 2973 c-1 -26 14 -31 23 -7 3 8 2 13 -3 9 -5 -3 -12 1 -14 7 -3
+7 -6 3 -6 -9z"/>
+<path d="M6350 2971 c0 -6 4 -13 10 -16 6 -3 7 1 4 9 -7 18 -14 21 -14 7z"/>
+<path d="M6390 2959 c0 -5 9 -9 20 -9 11 0 20 2 20 4 0 2 -9 6 -20 9 -11 3
+-20 1 -20 -4z"/>
+<path d="M6560 2959 c0 -5 9 -9 20 -9 11 0 20 2 20 4 0 2 -9 6 -20 9 -11 3
+-20 1 -20 -4z"/>
+<path d="M2157 3645 c-21 -43 -21 -45 -2 -45 10 0 15 -11 15 -35 l0 -35 -986
+0 -986 0 -34 -34 -34 -34 0 -207 c0 -214 3 -235 44 -267 19 -16 62 -18 514
+-18 l492 0 0 -45 0 -44 -457 -3 c-359 -2 -463 -6 -481 -16 -35 -20 -22 -23 23
+-7 32 11 127 14 478 15 l437 0 0 -50 c0 -38 -4 -50 -15 -50 -19 0 -19 1 3 -49
+l19 -40 16 35 c21 43 21 54 2 54 -11 0 -15 12 -15 50 l0 50 495 0 495 0 0 -50
+c0 -37 -4 -50 -15 -50 -12 0 -13 -5 -3 -27 19 -45 25 -47 42 -15 20 38 20 42
+1 42 -11 0 -15 12 -15 50 l0 50 620 0 620 0 0 -50 c0 -37 -4 -50 -14 -50 -13
+0 -13 -5 1 -37 8 -21 14 -40 13 -43 -1 -2 3 -6 8 -8 5 -1 12 10 15 25 3 15 9
+36 12 46 5 12 2 17 -9 17 -13 0 -16 11 -16 51 l0 50 278 -3 279 -3 40 -27 c24
+-16 49 -44 62 -70 20 -43 21 -57 21 -459 0 -381 -2 -417 -19 -455 -22 -47 -59
+-80 -110 -94 -25 -8 -621 -10 -1882 -8 l-1845 3 -41 27 c-79 52 -78 47 -78
+534 l0 430 29 45 c16 24 22 38 13 31 -9 -8 -25 -33 -36 -56 -20 -41 -21 -59
+-21 -457 0 -410 0 -415 23 -459 12 -24 39 -58 60 -74 l39 -31 934 -3 c635 -1
+934 -6 934 -13 0 -5 -7 -23 -15 -39 -9 -17 -11 -30 -5 -30 13 0 13 -117 0
+-122 -10 -3 14 -78 25 -78 2 0 14 18 25 40 17 34 18 40 5 40 -12 0 -15 12 -15
+55 0 42 3 55 15 55 18 0 18 8 0 40 -8 14 -14 31 -15 38 0 9 190 12 919 12 626
+0 929 3 948 11 38 14 81 56 104 101 18 35 19 64 19 455 0 414 0 419 -23 463
+-13 26 -40 57 -65 75 l-44 30 -279 3 -279 3 0 44 0 45 314 0 314 0 31 31 31
+31 0 215 0 215 -34 34 -34 34 -311 0 -311 0 0 30 c0 20 5 30 15 30 18 0 19 -1
+-1 46 l-16 39 -19 -35 c-22 -43 -23 -50 -4 -50 10 0 15 -10 15 -30 l0 -30
+-625 0 -625 0 0 35 c0 24 5 35 15 35 8 0 15 2 15 4 0 7 -30 76 -33 76 -2 0
+-11 -16 -20 -35z m15 -182 l2 -58 3 58 4 57 624 0 625 0 0 -270 0 -270 -620 0
+-620 0 -2 158 -2 157 -3 -157 -4 -158 -494 0 -495 0 0 65 c0 51 3 65 15 65 19
+0 19 2 -2 45 l-17 36 -18 -33 c-21 -41 -22 -48 -3 -48 12 0 15 -14 15 -65 l0
+-65 -491 0 -491 0 -29 29 -29 29 0 212 0 212 29 29 29 29 986 0 986 0 2 -57z
+m1919 28 l29 -29 0 -215 0 -214 -26 -27 -27 -26 -313 0 -314 0 0 270 0 270
+311 0 311 0 29 -29z m-1911 -566 l0 -45 -495 0 -495 0 0 45 0 45 495 0 495 0
+0 -45z m1250 0 l0 -45 -620 0 -620 0 0 45 0 45 620 0 620 0 0 -45z"/>
+<path d="M231 3408 c-1 -12 -9 -18 -26 -18 -20 0 -25 -5 -24 -22 1 -17 2 -19
+6 -5 2 9 13 17 23 17 13 0 17 -6 14 -22 -4 -21 -4 -21 6 2 6 13 9 33 7 45 -3
+15 -5 16 -6 3z"/>
+<path d="M464 3405 c-4 -8 -12 -15 -20 -15 -8 0 -14 -9 -13 -22 1 -20 2 -21 6
+-4 5 18 6 18 20 -5 14 -24 14 -24 8 -1 -5 15 -1 30 11 43 10 11 12 19 5 19 -6
+0 -14 -7 -17 -15z"/>
+<path d="M365 3400 c-3 -5 1 -10 10 -10 9 0 13 5 10 10 -3 6 -8 10 -10 10 -2
+0 -7 -4 -10 -10z"/>
+<path d="M255 3389 c-4 -6 -4 -13 -1 -16 3 -4 6 -1 6 5 0 6 8 13 18 15 15 4
+15 5 0 6 -9 0 -20 -4 -23 -10z"/>
+<path d="M314 3388 c-4 -6 -2 -14 4 -16 18 -6 14 -20 -5 -25 -16 -4 -16 -5 -1
+-6 22 -1 32 17 18 33 -8 11 -8 15 2 19 9 4 9 6 1 6 -6 1 -15 -4 -19 -11z"/>
+<path d="M497 3394 c-14 -14 -7 -25 13 -22 12 2 21 8 21 13 0 12 -24 18 -34 9z
+m30 -10 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z"/>
+<path d="M562 3391 c-8 -5 -12 -16 -10 -25 2 -12 6 -10 15 9 6 14 10 25 10 25
+-1 0 -8 -4 -15 -9z"/>
+<path d="M591 3370 c0 -15 3 -19 6 -10 3 8 12 20 20 27 13 10 12 12 -6 10 -16
+-1 -21 -8 -20 -27z"/>
+<path d="M657 3394 c-14 -14 -7 -25 13 -22 12 2 21 8 21 13 0 12 -24 18 -34 9z
+m30 -10 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z"/>
+<path d="M712 3370 c0 -14 2 -19 5 -12 2 6 2 18 0 25 -3 6 -5 1 -5 -13z"/>
+<path d="M900 3341 c0 -28 5 -51 10 -51 6 0 10 8 10 19 0 10 9 21 21 24 32 9
+22 51 -13 55 -27 3 -28 2 -28 -47z m48 22 c-5 -25 -28 -28 -28 -4 0 12 6 21
+16 21 9 0 14 -7 12 -17z"/>
+<path d="M980 3340 c0 -27 5 -50 10 -50 6 0 10 9 10 19 0 11 8 22 18 24 16 4
+16 5 0 6 -27 2 -23 39 5 44 16 3 13 5 -10 6 l-33 1 0 -50z"/>
+<path d="M1090 3340 c0 -48 1 -50 28 -50 35 0 52 16 52 50 0 34 -17 50 -52 50
+-27 0 -28 -2 -28 -50z m64 18 c13 -21 -2 -51 -28 -56 -13 -3 -16 5 -16 38 0
+33 3 41 16 38 9 -2 22 -11 28 -20z"/>
+<path d="M1240 3380 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M283 3364 c-3 -8 -12 -13 -19 -10 -8 3 -14 1 -14 -4 0 -18 29 -10 40
+10 6 11 8 20 5 20 -3 0 -8 -7 -12 -16z"/>
+<path d="M360 3360 c0 -11 4 -20 9 -20 5 0 7 9 4 20 -3 11 -7 20 -9 20 -2 0
+-4 -9 -4 -20z"/>
+<path d="M622 3360 c0 -14 2 -19 5 -12 2 6 2 18 0 25 -3 6 -5 1 -5 -13z"/>
+<path d="M490 3349 c0 -5 9 -9 20 -9 11 0 20 2 20 4 0 2 -9 6 -20 9 -11 3 -20
+1 -20 -4z"/>
+<path d="M650 3349 c0 -5 9 -9 20 -9 11 0 20 2 20 4 0 2 -9 6 -20 9 -11 3 -20
+1 -20 -4z"/>
+<path d="M1191 3320 c1 -27 3 -29 6 -10 2 14 11 30 20 37 13 10 13 12 -6 10
+-17 -1 -21 -7 -20 -37z"/>
+<path d="M1240 3325 c0 -19 5 -35 10 -35 6 0 10 16 10 35 0 19 -4 35 -10 35
+-5 0 -10 -16 -10 -35z"/>
+<path d="M1284 3328 c19 -44 31 -45 43 -3 13 42 7 47 -9 8 l-11 -28 -10 28
+c-6 15 -14 27 -18 27 -5 0 -2 -14 5 -32z"/>
+<path d="M1354 3346 c-12 -30 0 -51 31 -53 18 -1 22 1 10 4 -34 9 -41 23 -11
+23 21 0 27 4 24 18 -4 22 -46 29 -54 8z m46 -6 c0 -5 -9 -10 -21 -10 -11 0
+-17 5 -14 10 3 6 13 10 21 10 8 0 14 -4 14 -10z"/>
+<path d="M1431 3320 c1 -27 3 -29 6 -10 2 14 11 30 20 37 13 10 13 12 -6 10
+-17 -1 -21 -7 -20 -37z"/>
+<path d="M9470 3560 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M6970 3460 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M9470 3280 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M6970 3180 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M9470 3000 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M7150 3005 l0 -65 370 0 370 0 0 65 0 65 -65 0 c-51 0 -65 -3 -65
+-15 0 -23 -117 -19 -123 4 -4 14 -5 13 -6 -1 -1 -12 -9 -18 -25 -18 -15 0 -26
+7 -29 18 -4 16 -5 16 -6 0 -1 -13 -10 -18 -31 -18 -17 0 -34 7 -40 18 -10 14
+-11 14 -6 1 4 -14 -2 -17 -29 -17 -23 0 -35 5 -38 17 -4 14 -5 14 -6 0 -1 -14
+-14 -16 -77 -17 -56 -1 -77 3 -81 14 -3 10 -21 14 -59 14 l-54 0 0 -65z"/>
+<path d="M7285 3060 c3 -5 12 -7 20 -3 21 7 19 13 -6 13 -11 0 -18 -4 -14 -10z"/>
+<path d="M7345 3060 c4 -6 11 -8 16 -5 14 9 11 15 -7 15 -8 0 -12 -5 -9 -10z"/>
+<path d="M7700 3060 c0 -5 7 -10 15 -10 8 0 15 5 15 10 0 6 -7 10 -15 10 -8 0
+-15 -4 -15 -10z"/>
+<path d="M6970 2900 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M9470 2720 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M590 2720 c0 -56 3 -70 15 -70 12 0 15 14 15 70 0 56 -3 70 -15 70
+-12 0 -15 -14 -15 -70z"/>
+<path d="M233 2773 c9 -2 25 -2 35 0 9 3 1 5 -18 5 -19 0 -27 -2 -17 -5z"/>
+<path d="M290 2765 c0 -10 10 -15 30 -15 20 0 30 5 30 15 0 10 -10 15 -30 15
+-20 0 -30 -5 -30 -15z"/>
+<path d="M360 2765 c0 -10 10 -15 30 -15 20 0 30 5 30 15 0 10 -10 15 -30 15
+-20 0 -30 -5 -30 -15z"/>
+<path d="M460 2715 l0 -65 45 0 45 0 0 65 0 65 -45 0 -45 0 0 -65z"/>
+<path d="M233 2733 c9 -2 25 -2 35 0 9 3 1 5 -18 5 -19 0 -27 -2 -17 -5z"/>
+<path d="M290 2720 c0 -16 7 -20 30 -20 23 0 30 4 30 20 0 16 -7 20 -30 20
+-23 0 -30 -4 -30 -20z"/>
+<path d="M360 2720 c0 -16 7 -20 30 -20 23 0 30 4 30 20 0 16 -7 20 -30 20
+-23 0 -30 -4 -30 -20z"/>
+<path d="M6970 2620 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M233 2683 c9 -2 25 -2 35 0 9 3 1 5 -18 5 -19 0 -27 -2 -17 -5z"/>
+<path d="M290 2675 c0 -10 10 -15 30 -15 20 0 30 5 30 15 0 10 -10 15 -30 15
+-20 0 -30 -5 -30 -15z"/>
+<path d="M360 2675 c0 -10 10 -15 30 -15 20 0 30 5 30 15 0 10 -10 15 -30 15
+-20 0 -30 -5 -30 -15z"/>
+<path d="M9470 2440 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M3220 2410 l0 -60 215 0 215 0 0 60 0 60 -215 0 -215 0 0 -60z"/>
+<path d="M970 2400 l0 -60 215 0 215 0 0 60 0 60 -215 0 -215 0 0 -60z"/>
+<path d="M1970 2405 l0 -55 220 0 220 0 0 55 0 55 -220 0 -220 0 0 -55z"/>
+<path d="M6970 2340 c0 -73 2 -80 20 -80 18 0 20 7 20 80 0 73 -2 80 -20 80
+-18 0 -20 -7 -20 -80z"/>
+<path d="M7070 2260 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M7350 2260 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M7630 2260 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M7910 2260 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M8190 2260 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M8470 2260 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M9030 2260 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M9310 2260 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M1670 2166 c0 -18 -4 -23 -18 -19 -25 6 -44 -20 -40 -54 3 -24 8 -28
+36 -29 l32 -1 0 64 c0 34 -2 63 -5 63 -3 0 -5 -11 -5 -24z m-5 -61 c0 -33 -28
+-47 -39 -19 -10 25 3 56 22 52 11 -2 17 -13 17 -33z"/>
+<path d="M2220 2180 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M2580 2125 c0 -37 4 -65 10 -65 6 0 10 28 10 65 0 37 -4 65 -10 65
+-6 0 -10 -28 -10 -65z"/>
+<path d="M2870 2180 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M3050 2125 c0 -69 17 -90 22 -27 2 25 8 37 18 37 10 0 16 -12 18 -37
+4 -44 22 -52 22 -10 0 37 -22 67 -44 59 -12 -5 -16 0 -16 18 0 14 -4 25 -10
+25 -6 0 -10 -28 -10 -65z"/>
+<path d="M1343 2120 c0 -36 2 -50 4 -32 4 28 8 32 33 32 25 0 29 -4 33 -32 2
+-18 4 -4 4 32 0 36 -2 53 -4 38 -4 -23 -9 -28 -33 -28 -24 0 -29 5 -33 28 -2
+15 -4 -2 -4 -38z"/>
+<path d="M2339 2161 c-2 -6 -21 -12 -42 -13 -37 -1 -37 -1 -37 -45 0 -53 18
+-57 22 -5 3 32 7 37 31 40 26 3 27 1 27 -37 0 -36 3 -41 23 -40 16 1 18 2 5 6
+-13 3 -18 15 -18 39 0 25 4 34 18 35 13 0 14 2 2 6 -8 3 -18 10 -21 16 -4 5
+-8 5 -10 -2z"/>
+<path d="M2912 2154 c-7 -8 -8 -14 -2 -14 5 0 10 -18 10 -40 0 -35 3 -40 23
+-39 16 1 18 2 5 6 -13 3 -18 15 -18 39 0 25 4 34 18 35 13 0 14 2 2 6 -8 3
+-17 9 -20 13 -3 4 -11 2 -18 -6z"/>
+<path d="M1456 2141 c-3 -4 6 -6 19 -3 18 3 25 0 25 -11 0 -9 -10 -17 -22 -19
+-15 -2 -23 -10 -23 -23 0 -16 7 -20 33 -22 30 -1 32 1 32 31 0 18 -5 37 -12
+44 -14 14 -44 16 -52 3z m44 -50 c0 -14 -18 -23 -30 -16 -6 4 -8 11 -5 16 8
+12 35 12 35 0z"/>
+<path d="M1540 2104 c0 -24 5 -44 10 -44 6 0 10 16 10 35 0 21 6 37 17 43 13
+8 11 10 -10 10 -25 0 -27 -4 -27 -44z"/>
+<path d="M1717 2105 c8 -25 18 -45 22 -45 5 0 13 15 18 33 l11 32 7 -32 c9
+-40 30 -43 38 -5 3 15 9 35 12 45 4 9 3 17 -3 17 -5 0 -13 -17 -18 -37 l-8
+-38 -10 38 c-12 45 -24 48 -32 7 -4 -16 -10 -30 -14 -30 -4 0 -10 14 -13 30
+-4 17 -11 30 -16 30 -5 0 -3 -20 6 -45z"/>
+<path d="M1856 2141 c-3 -4 6 -6 19 -3 18 3 25 0 25 -11 0 -9 -10 -17 -22 -19
+-15 -2 -23 -10 -23 -23 0 -16 7 -20 33 -22 30 -1 32 1 32 31 0 18 -5 37 -12
+44 -14 14 -44 16 -52 3z m44 -50 c0 -14 -18 -23 -30 -16 -6 4 -8 11 -5 16 8
+12 35 12 35 0z"/>
+<path d="M1940 2104 c0 -24 5 -44 10 -44 6 0 10 16 10 35 0 21 6 37 17 43 13
+8 11 10 -10 10 -25 0 -27 -4 -27 -44z"/>
+<path d="M2022 2138 c-7 -7 -12 -25 -12 -40 0 -21 6 -29 26 -34 14 -4 30 -2
+35 3 5 5 -2 9 -18 8 -14 0 -28 6 -30 13 -3 8 6 12 26 12 31 0 36 6 25 34 -7
+19 -35 21 -52 4z m42 -13 c4 -11 -1 -15 -19 -15 -18 0 -23 4 -19 15 4 8 12 15
+19 15 7 0 15 -7 19 -15z"/>
+<path d="M2137 2105 c21 -64 32 -60 58 24 5 15 4 21 -3 17 -6 -3 -13 -20 -17
+-36 -8 -36 -20 -32 -28 10 -4 16 -11 30 -16 30 -5 0 -3 -20 6 -45z"/>
+<path d="M2220 2105 c0 -25 5 -45 10 -45 6 0 10 20 10 45 0 25 -4 45 -10 45
+-5 0 -10 -20 -10 -45z"/>
+<path d="M2390 2118 c0 -45 11 -59 43 -56 25 2 27 5 26 48 l-2 45 -6 -40 c-4
+-27 -12 -41 -23 -43 -15 -3 -18 4 -18 37 0 23 -4 41 -10 41 -5 0 -10 -15 -10
+-32z"/>
+<path d="M2496 2141 c-3 -4 6 -6 19 -3 18 3 25 0 25 -11 0 -9 -10 -17 -22 -19
+-15 -2 -23 -10 -23 -23 0 -16 7 -20 33 -22 30 -1 32 1 32 31 0 18 -5 37 -12
+44 -14 14 -44 16 -52 3z m44 -50 c0 -14 -18 -23 -30 -16 -6 4 -8 11 -5 16 8
+12 35 12 35 0z"/>
+<path d="M2657 2143 c-15 -14 -6 -34 19 -43 28 -11 23 -35 -7 -27 -11 3 -19 1
+-19 -5 0 -5 12 -8 27 -6 38 4 43 35 8 48 -29 11 -24 35 6 27 11 -3 17 -1 13 4
+-6 10 -38 12 -47 2z"/>
+<path d="M2737 2105 c8 -25 18 -45 22 -45 5 0 13 15 18 33 l11 32 7 -32 c9
+-40 30 -43 38 -5 3 15 9 35 12 45 4 9 3 17 -3 17 -5 0 -13 -17 -18 -37 l-8
+-38 -10 38 c-12 45 -24 48 -32 7 -4 -16 -10 -30 -14 -30 -4 0 -10 14 -13 30
+-4 17 -11 30 -16 30 -5 0 -3 -20 6 -45z"/>
+<path d="M2870 2105 c0 -25 5 -45 10 -45 6 0 10 20 10 45 0 25 -4 45 -10 45
+-5 0 -10 -20 -10 -45z"/>
+<path d="M2981 2136 c-7 -8 -11 -27 -9 -43 2 -22 9 -29 31 -31 15 -2 27 1 27
+6 0 6 -8 8 -19 5 -21 -5 -35 20 -25 49 4 13 12 18 25 15 10 -3 19 -1 19 4 0
+14 -36 10 -49 -5z"/>
+<path d="M2015 1429 c-173 -12 -306 -53 -361 -110 l-29 -30 0 -205 0 -206 37
+-33 c24 -22 63 -42 116 -59 96 -30 188 -45 178 -27 -4 6 -1 11 6 11 180 2 447
+20 454 31 3 5 -109 9 -275 9 l-281 0 0 119 c0 116 1 120 23 124 l22 4 -23 2
+c-18 1 -23 6 -20 24 2 14 9 20 18 18 8 -2 94 -6 190 -8 147 -4 192 -1 278 16
+175 34 282 98 267 160 -13 56 -110 116 -220 137 l-38 7 23 -38 23 -38 -46 7
+c-43 7 -53 4 -112 -32 -45 -27 -73 -38 -90 -34 -37 7 -31 17 30 54 l55 33 -38
+11 c-35 10 -36 11 -12 17 14 3 57 9 95 13 l70 7 -50 8 c-85 12 -186 15 -290 8z
+m-157 -90 c93 -19 104 -19 124 -5 12 9 27 16 33 16 11 0 51 -67 44 -74 -9 -9
+-209 -32 -209 -24 0 4 4 8 8 8 5 0 16 6 26 13 17 12 8 16 -70 31 -49 9 -98 20
+-108 23 -19 5 -19 6 -1 19 25 18 34 18 153 -7z m532 -64 c0 -2 -12 -11 -27
+-18 l-27 -15 55 -11 c171 -36 164 -33 141 -52 -20 -15 -28 -15 -134 7 -112 22
+-113 22 -146 3 l-33 -19 -19 33 c-11 17 -20 37 -20 43 0 7 32 16 78 21 93 12
+132 15 132 8z m-282 -37 c-3 -7 -28 -27 -58 -45 l-53 -32 37 -6 c61 -12 41
+-23 -56 -30 l-92 -7 -23 28 c-13 16 -23 33 -23 37 0 4 22 5 48 1 44 -6 53 -3
+103 29 54 36 125 51 117 25z"/>
+<path d="M9030 1200 c0 -11 7 -20 15 -20 8 0 15 9 15 20 0 11 -7 20 -15 20 -8
+0 -15 -9 -15 -20z"/>
+<path d="M8850 1115 l0 -95 65 0 65 0 0 95 0 95 -65 0 -65 0 0 -95z"/>
+<path d="M8568 1193 c12 -2 32 -2 45 0 12 2 2 4 -23 4 -25 0 -35 -2 -22 -4z"/>
+<path d="M8640 1180 c0 -18 7 -20 80 -20 73 0 80 2 80 20 0 18 -7 20 -80 20
+-73 0 -80 -2 -80 -20z"/>
+<path d="M9030 1145 c0 -16 6 -25 15 -25 9 0 15 9 15 25 0 16 -6 25 -15 25 -9
+0 -15 -9 -15 -25z"/>
+<path d="M8550 1130 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M8640 1115 c0 -25 1 -25 80 -25 79 0 80 0 80 25 0 25 -1 25 -80 25
+-79 0 -80 0 -80 -25z"/>
+<path d="M9030 1085 c0 -16 6 -25 15 -25 9 0 15 9 15 25 0 16 -6 25 -15 25 -9
+0 -15 -9 -15 -25z"/>
+<path d="M8550 1070 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M8640 1055 c0 -25 1 -25 80 -25 79 0 80 0 80 25 0 25 -1 25 -80 25
+-79 0 -80 0 -80 -25z"/>
+<path d="M9030 1025 c0 -16 6 -25 15 -25 9 0 15 9 15 25 0 16 -6 25 -15 25 -9
+0 -15 -9 -15 -25z"/>
+<path d="M1996 950 c3 -14 8 -35 11 -47 3 -13 10 -23 15 -23 11 0 40 68 35 83
+-2 7 -10 -6 -17 -28 l-13 -40 -19 40 c-10 22 -16 29 -12 15z"/>
+<path d="M2082 963 c12 -3 18 -17 21 -46 l4 -42 1 42 c2 30 7 43 20 46 9 3 -1
+5 -23 5 -22 0 -32 -2 -23 -5z"/>
+<path d="M2150 925 c0 -44 0 -45 33 -44 30 2 30 2 5 6 -34 5 -37 30 -5 36 l22
+4 -22 2 c-33 2 -29 29 5 34 25 4 25 4 -5 6 -33 1 -33 0 -33 -44z"/>
+<path d="M2220 926 c0 -25 5 -46 10 -46 6 0 10 6 10 14 0 7 9 16 21 19 32 9
+22 51 -13 55 -27 3 -28 2 -28 -42z m48 17 c-5 -25 -28 -28 -28 -4 0 12 6 21
+16 21 9 0 14 -7 12 -17z"/>
+<path d="M2003 743 c9 -2 23 -2 30 0 6 3 -1 5 -18 5 -16 0 -22 -2 -12 -5z"/>
+<path d="M1829 283 c-12 -30 -6 -90 10 -106 7 -7 7 2 0 26 -6 24 -7 49 0 72
+11 42 5 46 -10 8z"/>
+<path d="M1960 276 c4 -20 4 -52 0 -72 -7 -28 -6 -34 3 -25 15 15 14 108 0
+122 -8 8 -9 2 -3 -25z"/>
+<path d="M2100 255 c0 -30 5 -55 10 -55 6 0 10 25 10 55 0 30 -4 55 -10 55 -5
+0 -10 -25 -10 -55z"/>
+<path d="M6939 283 c-12 -30 -6 -90 10 -106 7 -7 7 2 0 26 -6 24 -7 49 0 72
+11 42 5 46 -10 8z"/>
+<path d="M7070 276 c4 -20 4 -52 0 -72 -7 -28 -6 -34 3 -25 15 15 14 108 0
+122 -8 8 -9 2 -3 -25z"/>
+<path d="M1879 283 c-12 -15 -12 -16 4 -10 14 5 17 1 17 -28 0 -24 -5 -35 -17
+-38 -10 -3 -2 -5 17 -5 19 0 29 2 23 5 -8 3 -13 23 -13 49 0 47 -9 55 -31 27z"/>
+<path d="M2033 283 c-4 -11 1 -22 15 -31 28 -19 30 -46 2 -39 -11 3 -20 1 -20
+-5 0 -5 10 -8 22 -6 30 4 35 36 9 54 -27 19 -27 38 -1 31 11 -3 18 -1 14 4 -9
+15 -34 10 -41 -8z"/>
+<path d="M2140 290 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M2250 290 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M6986 291 c-4 -5 3 -7 14 -4 27 7 27 -27 0 -52 -28 -26 -25 -35 13
+-34 23 1 26 3 10 6 l-23 4 21 28 c12 16 17 34 13 44 -7 18 -39 23 -48 8z"/>
+<path d="M7163 283 c-3 -10 -12 -33 -19 -50 -7 -19 -9 -33 -3 -33 5 0 9 7 9
+15 0 21 40 19 56 -2 9 -13 8 -2 -3 35 -17 54 -29 64 -40 35z m27 -29 c0 -8 -7
+-14 -15 -14 -17 0 -18 2 -9 24 7 18 24 12 24 -10z"/>
+<path d="M7730 290 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M7678 278 c-9 -28 7 -73 27 -75 11 -2 14 0 8 3 -16 7 -17 54 -2 54 6
+0 4 7 -5 15 -18 18 -23 19 -28 3z"/>
+<path d="M2140 235 c0 -19 5 -35 10 -35 6 0 10 16 10 35 0 19 -4 35 -10 35 -5
+0 -10 -16 -10 -35z"/>
+<path d="M2184 256 c-10 -26 1 -51 24 -54 12 -2 22 1 22 6 0 5 -8 9 -17 8 -12
+-1 -18 6 -18 19 0 13 6 20 18 19 9 -1 17 2 17 7 0 15 -40 10 -46 -5z"/>
+<path d="M2250 235 c0 -19 5 -35 10 -35 6 0 10 16 10 35 0 19 -4 35 -10 35 -5
+0 -10 -16 -10 -35z"/>
+<path d="M2291 231 c1 -36 1 -36 8 -6 3 17 13 30 21 30 8 0 18 -13 22 -30 6
+-29 6 -29 5 5 -2 31 -5 35 -29 36 -26 1 -28 -2 -27 -35z"/>
+<path d="M2376 262 c-3 -5 -5 -27 -4 -51 0 -39 2 -42 27 -39 33 4 34 30 1 38
+-24 6 -24 6 -4 12 12 3 23 15 27 27 4 17 1 21 -18 21 -13 0 -26 -4 -29 -8z
+m34 -17 c0 -8 -7 -15 -15 -15 -8 0 -15 7 -15 15 0 8 7 15 15 15 8 0 15 -7 15
+-15z m10 -55 c0 -5 -9 -10 -20 -10 -11 0 -20 5 -20 10 0 6 9 10 20 10 11 0 20
+-4 20 -10z"/>
+<path d="M7236 262 c-3 -5 -5 -27 -4 -51 0 -39 2 -42 27 -39 33 4 34 30 1 38
+-24 6 -24 6 -4 12 12 3 23 15 27 27 4 17 1 21 -18 21 -13 0 -26 -4 -29 -8z
+m34 -17 c0 -8 -7 -15 -15 -15 -8 0 -15 7 -15 15 0 8 7 15 15 15 8 0 15 -7 15
+-15z m10 -55 c0 -5 -9 -10 -20 -10 -11 0 -20 5 -20 10 0 6 9 10 20 10 11 0 20
+-4 20 -10z"/>
+<path d="M7316 262 c-3 -5 -5 -27 -4 -51 0 -39 2 -42 27 -39 33 4 34 30 1 38
+-24 6 -24 6 -4 12 12 3 23 15 27 27 4 17 1 21 -18 21 -13 0 -26 -4 -29 -8z
+m34 -17 c0 -8 -7 -15 -15 -15 -8 0 -15 7 -15 15 0 8 7 15 15 15 8 0 15 -7 15
+-15z m10 -55 c0 -5 -9 -10 -20 -10 -11 0 -20 5 -20 10 0 6 9 10 20 10 11 0 20
+-4 20 -10z"/>
+<path d="M7391 230 c1 -27 3 -29 6 -10 2 14 11 30 20 37 13 10 13 12 -6 10
+-17 -1 -21 -7 -20 -37z"/>
+<path d="M7444 256 c-12 -30 0 -51 31 -53 18 -1 22 1 10 4 -34 9 -41 23 -11
+23 21 0 27 4 24 18 -4 22 -46 29 -54 8z m46 -6 c0 -5 -9 -10 -21 -10 -11 0
+-17 5 -14 10 3 6 13 10 21 10 8 0 14 -4 14 -10z"/>
+<path d="M7526 262 c-3 -5 -5 -27 -4 -51 0 -39 2 -42 27 -39 33 4 34 30 1 38
+-24 6 -24 6 -4 12 12 3 23 15 27 27 4 17 1 21 -18 21 -13 0 -26 -4 -29 -8z
+m34 -17 c0 -8 -7 -15 -15 -15 -8 0 -15 7 -15 15 0 8 7 15 15 15 8 0 15 -7 15
+-15z m10 -55 c0 -5 -9 -10 -20 -10 -11 0 -20 5 -20 10 0 6 9 10 20 10 11 0 20
+-4 20 -10z"/>
+<path d="M7605 261 c-3 -7 0 -8 9 -5 8 3 21 2 28 -2 9 -6 5 -10 -12 -14 -35
+-8 -32 -35 3 -36 26 -1 28 2 25 30 -2 23 -9 32 -25 34 -11 2 -24 -2 -28 -7z
+m40 -41 c-3 -5 -13 -10 -21 -10 -8 0 -14 5 -14 10 0 6 9 10 21 10 11 0 17 -4
+14 -10z"/>
+<path d="M7730 235 c0 -19 5 -35 10 -35 6 0 10 16 10 35 0 19 -4 35 -10 35 -5
+0 -10 -16 -10 -35z"/>
+<path d="M7774 256 c-11 -29 0 -51 26 -51 21 0 25 5 25 30 0 24 -5 31 -23 33
+-13 2 -24 -3 -28 -12z m43 -12 c8 -21 -13 -42 -28 -27 -13 13 -5 43 11 43 6 0
+13 -7 17 -16z"/>
+<path d="M7851 231 c1 -36 1 -36 8 -6 3 17 13 30 21 30 8 0 18 -13 22 -30 6
+-29 6 -29 5 5 -2 31 -5 35 -29 36 -26 1 -28 -2 -27 -35z"/>
+</g>
+</svg>
diff --git a/doc/guides/howto/img/virtio_user_for_container_networking.svg b/doc/guides/howto/img/virtio_user_for_container_networking.svg
new file mode 100644
index 0000000..e8decd0
--- /dev/null
+++ b/doc/guides/howto/img/virtio_user_for_container_networking.svg
@@ -0,0 +1,638 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+ "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
+ width="779.000000pt" height="461.000000pt" viewBox="0 0 779.000000 461.000000"
+ preserveAspectRatio="xMidYMid meet">
+<metadata>
+Created by potrace 1.13, written by Peter Selinger 2001-2015
+</metadata>
+<g transform="translate(0.000000,461.000000) scale(0.100000,-0.100000)"
+fill="#000000" stroke="none">
+<path d="M120 2640 l0 -1800 455 0 c297 0 455 3 455 10 0 7 -155 10 -445 10
+l-445 0 0 1780 0 1780 1890 0 1890 0 0 -655 0 -655 -60 0 -60 0 0 360 0 360
+-1755 0 -1755 0 0 -1395 0 -1395 1755 0 1755 0 0 210 c0 133 -4 210 -10 210
+-6 0 -10 -73 -10 -200 l0 -200 -1735 0 -1735 0 0 1375 0 1375 1735 0 1735 0 0
+-350 0 -350 -95 0 -95 0 0 -520 0 -520 95 0 95 0 0 -290 c0 -187 4 -290 10
+-290 6 0 10 103 10 290 l0 290 60 0 60 0 0 -290 c0 -187 4 -290 10 -290 6 0
+10 103 10 290 l0 290 100 0 100 0 0 255 0 256 30 -16 c36 -19 40 -19 40 0 0
+13 74 15 610 15 536 0 610 -2 610 -15 0 -19 4 -19 40 0 l30 16 0 -256 0 -255
+120 0 120 0 0 -195 0 -195 -115 0 -114 0 0 -205 0 -205 114 0 115 0 0 -115 0
+-115 485 0 c267 0 485 -3 485 -7 -1 -5 -7 -19 -15 -33 -18 -32 -18 -40 0 -40
+22 0 22 -247 1 -252 -12 -2 -11 -9 4 -37 l18 -35 16 32 c20 38 20 42 1 42 -13
+0 -15 21 -15 125 0 104 2 125 15 125 18 0 18 8 0 40 -8 14 -14 28 -15 33 0 4
+216 7 480 7 l480 0 0 1700 0 1700 -970 0 -970 0 0 -665 0 -665 -120 0 -120 0
+0 -260 c0 -143 -2 -260 -5 -260 -4 0 -19 7 -35 15 -27 14 -30 14 -30 0 0 -13
+-70 -15 -610 -15 -540 0 -610 2 -610 15 0 14 -3 14 -30 0 -16 -8 -31 -15 -35
+-15 -3 0 -5 117 -5 260 l0 260 -100 0 -100 0 0 665 0 665 -1910 0 -1910 0 0
+-1800z m7540 100 l0 -1680 -950 0 -950 0 0 105 0 105 455 0 455 0 0 205 0 205
+-455 0 -455 0 0 195 0 195 130 0 130 0 0 520 0 520 -130 0 -130 0 0 655 0 655
+950 0 950 0 0 -1680z m-3530 -150 l0 -510 -265 0 -265 0 0 510 0 510 265 0
+265 0 0 -510z m1880 0 l0 -510 -250 0 -250 0 0 510 0 510 250 0 250 0 0 -510z
+m640 -1115 l0 -185 -560 0 -560 0 0 185 0 185 560 0 560 0 0 -185z"/>
+<path d="M6238 4135 c-40 -22 -68 -75 -68 -129 0 -91 50 -146 133 -146 46 0
+54 4 89 40 37 40 44 61 40 123 -7 96 -112 156 -194 112z m126 -66 c44 -52 30
+-125 -30 -154 -60 -28 -119 16 -119 90 0 90 94 130 149 64z"/>
+<path d="M6335 4040 c-3 -5 -21 -11 -38 -11 l-32 -2 30 -4 c17 -3 35 -9 41
+-14 7 -6 16 -4 23 5 9 10 8 16 -3 25 -10 8 -16 9 -21 1z"/>
+<path d="M6235 3990 c-12 -19 7 -28 48 -23 41 6 51 23 13 23 -13 0 -31 3 -39
+6 -8 3 -18 0 -22 -6z"/>
+<path d="M6661 4126 c-16 -17 -22 -33 -19 -57 2 -28 11 -39 50 -64 49 -31 63
+-51 52 -78 -11 -29 -38 -30 -61 -3 -44 52 -75 16 -32 -38 46 -59 139 -19 139
+60 0 50 -9 63 -62 90 -35 18 -48 30 -44 40 3 9 6 18 6 20 0 9 47 3 58 -8 8 -8
+15 -8 27 2 14 12 13 15 -6 37 -30 31 -78 31 -108 -1z"/>
+<path d="M6460 4042 c0 -4 18 -48 40 -97 l39 -89 34 74 c51 111 53 120 27 120
+-16 0 -26 -11 -38 -40 -9 -22 -19 -40 -22 -40 -3 0 -13 18 -22 40 -12 28 -23
+40 -37 40 -12 0 -21 -4 -21 -8z"/>
+<path d="M6182 3818 c-7 -7 -12 -16 -12 -21 0 -5 7 -1 16 8 9 9 14 18 12 20
+-2 3 -10 -1 -16 -7z"/>
+<path d="M6515 3819 c-7 -11 25 -53 33 -44 3 3 -3 12 -14 20 -16 13 -17 16 -4
+25 9 6 10 10 3 10 -6 0 -15 -5 -18 -11z"/>
+<path d="M6752 3790 c0 -25 3 -35 5 -22 6 31 23 28 24 -5 2 -27 2 -27 6 -4 3
+15 -1 29 -9 35 -8 6 -17 18 -21 26 -3 8 -5 -5 -5 -30z"/>
+<path d="M6237 3797 c3 -15 0 -34 -7 -42 -7 -8 -9 -15 -5 -15 4 0 14 8 21 18
+12 15 13 13 14 -18 1 -28 3 -31 9 -15 5 11 6 25 4 32 -3 7 -2 17 2 23 9 15 36
+-7 29 -24 -3 -7 4 -12 15 -12 11 0 17 4 15 8 -3 4 0 16 5 25 6 10 11 12 11 6
+0 -7 5 -13 11 -13 8 0 8 5 -1 15 -9 11 -16 12 -26 4 -8 -7 -19 -7 -31 -1 -10
+5 -24 7 -31 5 -7 -3 -19 3 -27 13 -12 17 -13 16 -8 -9z"/>
+<path d="M7263 3778 c-24 -36 -36 -44 -78 -54 -28 -6 -65 -19 -84 -28 -18 -10
+-44 -16 -56 -13 -17 3 -22 0 -18 -11 4 -10 16 -13 39 -9 27 5 33 2 38 -16 3
+-12 1 -26 -4 -31 -6 -6 -10 -18 -10 -28 0 -14 -8 -18 -39 -18 -51 0 -85 -28
+-101 -85 -7 -25 -20 -50 -29 -55 -15 -9 -14 -11 2 -20 9 -6 17 -17 17 -25 0
+-11 -19 -15 -82 -17 -52 -2 -83 -7 -85 -15 -3 -9 20 -13 84 -15 70 -2 88 -6
+88 -18 0 -12 -22 -15 -127 -18 -71 -1 -128 -7 -128 -12 0 -5 42 -11 93 -12 84
+-3 92 -5 92 -23 0 -15 8 -21 29 -23 56 -7 73 4 86 56 10 42 16 50 45 61 32 11
+75 53 75 72 0 5 -16 9 -35 9 -35 0 -40 5 -29 34 5 12 20 16 58 16 55 0 78 15
+105 68 11 22 11 22 -44 22 -60 0 -70 13 -35 45 11 10 20 25 20 33 0 9 6 12 16
+8 43 -17 67 -18 75 -5 6 9 9 -7 9 -45 0 -42 -6 -68 -21 -92 l-21 -34 27 0 c18
+0 25 -4 23 -12 -3 -7 -15 -43 -27 -80 l-22 -67 -77 -3 c-74 -3 -77 -4 -99 -37
+-15 -22 -20 -38 -14 -44 6 -6 57 -8 120 -5 139 6 147 12 190 147 17 53 31 105
+31 114 0 30 -17 53 -56 76 -33 20 -36 25 -30 53 3 18 13 39 21 48 8 9 15 28
+15 42 0 14 9 36 19 50 l20 24 -29 17 -29 17 -28 -42z"/>
+<path d="M6401 3795 c1 -19 18 -51 18 -35 0 8 -4 22 -9 30 -5 8 -9 11 -9 5z"/>
+<path d="M6670 3784 c0 -8 5 -12 10 -9 6 3 10 10 10 16 0 5 -4 9 -10 9 -5 0
+-10 -7 -10 -16z"/>
+<path d="M6710 3790 c-8 -5 -12 -12 -9 -15 4 -3 12 1 19 10 14 17 11 19 -10 5z"/>
+<path d="M6571 3772 c8 -12 16 -17 17 -12 3 8 8 7 17 0 11 -9 16 -6 26 12 11
+20 10 21 -3 11 -11 -10 -17 -10 -26 -1 -9 9 -12 9 -12 -1 0 -11 -3 -11 -17 0
+-15 13 -15 12 -2 -9z"/>
+<path d="M6652 3765 c0 -16 2 -22 5 -12 2 9 2 23 0 30 -3 6 -5 -1 -5 -18z"/>
+<path d="M6170 3774 c0 -13 18 -39 24 -34 2 3 -2 14 -10 24 -8 11 -14 16 -14
+10z"/>
+<path d="M6467 3759 c3 -10 9 -16 14 -13 13 8 11 21 -5 27 -10 4 -12 0 -9 -14z"/>
+<path d="M6757 3494 c-16 -17 10 -24 89 -24 64 0 85 3 82 13 -5 13 -158 23
+-171 11z"/>
+<path d="M6680 3420 c0 -6 40 -10 100 -10 60 0 100 4 100 10 0 6 -40 10 -100
+10 -60 0 -100 -4 -100 -10z"/>
+<path d="M7390 3400 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M7390 3300 c0 -33 4 -60 10 -60 6 0 10 27 10 60 0 33 -4 60 -10 60
+-6 0 -10 -27 -10 -60z"/>
+<path d="M7456 3338 c-9 -12 -16 -33 -16 -45 0 -28 33 -63 60 -63 27 0 60 35
+60 63 0 36 -27 67 -60 67 -18 0 -34 -8 -44 -22z m74 -13 c26 -31 -8 -83 -45
+-69 -37 15 -25 84 15 84 10 0 23 -7 30 -15z"/>
+<path d="M6590 3290 c0 -5 14 -10 30 -10 17 0 30 5 30 10 0 6 -13 10 -30 10
+-16 0 -30 -4 -30 -10z"/>
+<path d="M7330 3251 c0 -6 5 -13 10 -16 6 -3 10 1 10 9 0 9 -4 16 -10 16 -5 0
+-10 -4 -10 -9z"/>
+<path d="M6740 2815 c0 -8 5 -15 10 -15 6 0 10 7 10 15 0 8 -4 15 -10 15 -5 0
+-10 -7 -10 -15z"/>
+<path d="M7000 2740 c0 -53 4 -90 10 -90 6 0 10 20 10 44 0 46 19 72 45 62 11
+-4 15 -20 15 -56 0 -28 5 -50 10 -50 7 0 10 22 8 56 -3 66 -23 88 -58 66 -19
+-11 -20 -10 -20 23 0 19 -4 35 -10 35 -6 0 -10 -37 -10 -90z"/>
+<path d="M6444 2813 c-34 -24 -17 -66 41 -99 13 -7 16 -16 12 -28 -6 -15 -14
+-17 -43 -13 -25 4 -34 2 -31 -6 6 -19 62 -20 81 -2 26 26 19 54 -19 76 -46 28
+-49 63 -5 57 19 -3 29 -1 27 6 -4 13 -48 19 -63 9z"/>
+<path d="M6810 2796 c0 -8 -6 -17 -12 -19 -10 -4 -10 -7 -1 -14 6 -5 13 -31
+15 -58 3 -43 6 -50 26 -53 12 -2 22 1 22 7 0 6 -7 11 -15 11 -11 0 -15 12 -15
+45 0 33 4 45 15 45 8 0 15 5 15 10 0 6 -7 10 -15 10 -8 0 -15 7 -15 15 0 8 -4
+15 -10 15 -5 0 -10 -6 -10 -14z"/>
+<path d="M6301 2768 c2 -32 37 -113 50 -116 10 -2 21 18 36 63 13 39 17 65 10
+62 -6 -2 -18 -25 -28 -53 l-17 -49 -11 28 c-6 15 -14 39 -17 52 -6 26 -25 35
+-23 13z"/>
+<path d="M6540 2775 c0 -27 36 -125 46 -125 7 0 19 21 27 48 l14 47 13 -47
+c15 -59 36 -62 50 -7 6 23 16 52 20 65 7 18 6 24 -4 24 -9 0 -17 -15 -21 -38
+-11 -65 -21 -69 -36 -13 -15 60 -29 61 -44 3 -14 -58 -20 -58 -34 -2 -7 28
+-17 50 -22 50 -5 0 -9 -2 -9 -5z"/>
+<path d="M6740 2715 c0 -37 4 -65 10 -65 6 0 10 28 10 65 0 37 -4 65 -10 65
+-6 0 -10 -28 -10 -65z"/>
+<path d="M6896 2758 c-32 -46 -6 -112 42 -106 14 2 27 9 30 17 3 9 -2 11 -17
+6 -27 -8 -51 10 -51 40 0 29 24 49 51 42 13 -3 19 -1 16 6 -7 23 -54 20 -71
+-5z"/>
+<path d="M3881 2786 c-60 -22 -49 -41 36 -62 17 -5 24 -3 19 4 -3 6 -20 13
+-36 17 -17 4 -30 10 -30 15 0 5 13 11 30 15 16 4 32 11 35 16 8 12 -12 10 -54
+-5z"/>
+<path d="M3840 2690 c0 -5 23 -10 50 -10 28 0 50 5 50 10 0 6 -22 10 -50 10
+-27 0 -50 -4 -50 -10z"/>
+<path d="M3960 2690 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M3840 2640 c0 -5 18 -10 40 -10 36 0 40 -2 40 -25 0 -22 -4 -25 -35
+-25 -35 0 -57 -22 -40 -38 4 -4 10 -1 12 6 6 16 60 16 65 0 3 -9 10 -7 24 6
+13 14 15 21 6 24 -6 2 -12 19 -12 38 l0 34 -50 0 c-27 0 -50 -4 -50 -10z"/>
+<path d="M3840 2500 c0 -5 23 -10 50 -10 28 0 50 5 50 10 0 6 -22 10 -50 10
+-27 0 -50 -4 -50 -10z"/>
+<path d="M3960 2500 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M3852 2458 c-7 -7 -12 -21 -12 -33 0 -28 19 -45 50 -45 31 0 50 17
+50 45 0 28 -19 45 -50 45 -14 0 -31 -5 -38 -12z m68 -33 c0 -21 -5 -25 -30
+-25 -25 0 -30 4 -30 25 0 21 5 25 30 25 25 0 30 -4 30 -25z"/>
+<path d="M5771 2796 c-60 -22 -49 -41 36 -62 17 -5 24 -3 19 4 -3 6 -20 13
+-36 17 -17 4 -30 10 -30 15 0 5 13 11 30 15 16 4 32 11 35 16 8 12 -12 10 -54
+-5z"/>
+<path d="M5730 2700 c0 -5 18 -10 40 -10 33 0 40 -3 40 -20 0 -17 -7 -20 -40
+-20 -22 0 -40 -5 -40 -11 0 -6 19 -9 48 -7 44 3 47 5 47 31 -1 22 4 27 22 27
+13 0 23 5 23 10 0 6 -30 10 -70 10 -40 0 -70 -4 -70 -10z"/>
+<path d="M5742 2598 c-7 -7 -12 -21 -12 -33 0 -28 19 -45 50 -45 31 0 50 17
+50 45 0 28 -19 45 -50 45 -14 0 -31 -5 -38 -12z m68 -33 c0 -21 -5 -25 -30
+-25 -25 0 -30 4 -30 25 0 21 5 25 30 25 25 0 30 -4 30 -25z"/>
+<path d="M5734 2486 c-18 -46 31 -73 51 -28 10 22 31 25 29 4 -1 -7 -2 -21 -2
+-32 -2 -16 -9 -20 -37 -20 -35 0 -57 -22 -40 -38 4 -4 10 -1 12 6 6 16 60 16
+65 0 3 -9 10 -8 23 5 12 13 15 21 7 26 -6 3 -12 24 -14 46 -4 49 -31 60 -50
+20 -13 -30 -34 -28 -30 3 4 25 -6 30 -14 8z"/>
+<path d="M6332 1400 c0 -25 2 -39 5 -32 4 10 8 10 21 0 15 -12 15 -11 0 12 -8
+14 -18 35 -21 45 -2 11 -5 0 -5 -25z"/>
+<path d="M5757 1424 c-9 -9 9 -58 21 -60 7 -1 8 0 2 3 -14 7 -13 40 2 45 8 3
+6 6 -4 10 -9 4 -18 4 -21 2z"/>
+<path d="M6437 1424 c-9 -9 9 -58 21 -60 7 -1 8 0 2 3 -14 7 -13 40 2 45 8 3
+6 6 -4 10 -9 4 -18 4 -21 2z"/>
+<path d="M5801 1388 c2 -28 3 -29 6 -7 3 21 10 26 33 26 23 0 30 -6 33 -24 4
+-19 4 -18 3 4 -1 25 -5 28 -38 31 -37 2 -38 1 -37 -30z"/>
+<path d="M5902 1380 c-1 -25 2 -40 6 -34 4 6 15 13 25 17 21 8 20 49 -1 53 -7
+1 -8 0 -2 -3 15 -7 12 -43 -4 -43 -8 0 -17 12 -19 28 -3 17 -4 11 -5 -18z"/>
+<path d="M6019 1408 c11 -15 11 -21 0 -35 -11 -15 -11 -16 1 -6 10 9 17 10 27
+2 9 -8 17 -8 26 0 10 8 17 7 27 -2 12 -10 12 -9 1 6 -11 14 -11 20 0 35 11 14
+11 15 -1 5 -10 -9 -17 -10 -27 -2 -9 8 -17 8 -26 0 -10 -8 -17 -7 -27 2 -12
+10 -12 9 -1 -5z m57 -9 c10 -17 -13 -36 -27 -22 -12 12 -4 33 11 33 5 0 12 -5
+16 -11z"/>
+<path d="M6150 1406 c0 -8 8 -17 18 -21 16 -7 15 -8 -3 -15 -19 -8 -19 -9 3
+-9 26 -1 30 24 5 34 -17 7 -16 8 2 15 19 8 19 9 -2 9 -13 1 -23 -5 -23 -13z"/>
+<path d="M6214 1406 c-9 -24 4 -48 23 -44 12 2 18 12 18 28 0 29 -32 41 -41
+16z m36 -16 c0 -11 -7 -20 -15 -20 -8 0 -15 9 -15 20 0 11 7 20 15 20 8 0 15
+-9 15 -20z"/>
+<path d="M6286 1411 c-4 -5 3 -7 14 -4 23 6 26 13 6 13 -8 0 -17 -4 -20 -9z"/>
+<path d="M6384 1406 c-10 -25 3 -46 28 -45 l23 2 -22 4 c-29 6 -30 23 -2 23
+12 0 19 5 17 13 -7 18 -37 21 -44 3z m33 -2 c-3 -3 -12 -4 -19 -1 -8 3 -5 6 6
+6 11 1 17 -2 13 -5z"/>
+<path d="M6280 1369 c0 -5 9 -9 20 -9 11 0 20 2 20 4 0 2 -9 6 -20 9 -11 3
+-20 1 -20 -4z"/>
+<path d="M1270 4266 c0 -2 -16 -47 -35 -100 -19 -53 -31 -96 -26 -96 7 0 31
+57 79 188 2 6 -1 12 -7 12 -6 0 -11 -2 -11 -4z"/>
+<path d="M251 4224 c-46 -58 -5 -136 65 -122 31 6 27 25 -4 20 -34 -5 -62 19
+-62 53 0 34 28 58 62 53 18 -3 27 0 25 6 -2 6 -17 12 -34 14 -24 2 -36 -3 -52
+-24z"/>
+<path d="M830 4240 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M1327 4218 c-25 -61 -39 -109 -33 -116 4 -3 9 4 13 16 8 30 72 32 80
+2 5 -20 23 -28 23 -11 0 20 -48 135 -58 139 -6 2 -17 -12 -25 -30z m43 -45 c0
+-7 -11 -13 -24 -13 -24 0 -24 2 -14 32 10 29 12 30 25 13 7 -11 13 -25 13 -32z"/>
+<path d="M630 4226 c0 -8 -6 -17 -12 -20 -10 -5 -10 -7 0 -12 6 -3 12 -18 12
+-34 0 -16 3 -35 6 -44 7 -17 44 -22 44 -6 0 6 -7 10 -15 10 -10 0 -15 11 -15
+35 0 24 5 35 15 35 8 0 15 5 15 10 0 6 -7 10 -15 10 -8 0 -15 7 -15 15 0 8 -4
+15 -10 15 -5 0 -10 -6 -10 -14z"/>
+<path d="M376 4188 c-20 -29 -20 -52 0 -72 33 -34 94 -7 94 42 0 49 -66 70
+-94 30z m69 -33 c0 -27 -3 -30 -30 -30 -21 0 -31 5 -33 18 -6 33 6 49 35 45
+24 -3 28 -8 28 -33z"/>
+<path d="M500 4153 c0 -63 17 -72 22 -10 2 35 7 43 26 45 20 3 22 -1 22 -42 0
+-25 5 -46 10 -46 15 0 12 86 -3 98 -7 6 -27 10 -45 10 -32 -1 -32 -1 -32 -55z"/>
+<path d="M717 4203 c-14 -14 -6 -19 23 -15 39 6 39 -14 0 -22 -60 -12 -46 -68
+16 -63 33 2 34 4 34 43 0 22 -5 45 -12 52 -13 13 -50 16 -61 5z m51 -65 c-5
+-15 -48 -24 -48 -10 0 14 12 22 33 22 10 0 17 -5 15 -12z"/>
+<path d="M830 4155 c0 -30 5 -55 10 -55 6 0 10 25 10 55 0 30 -4 55 -10 55 -5
+0 -10 -25 -10 -55z"/>
+<path d="M890 4153 c0 -63 17 -72 22 -10 2 35 7 43 26 45 20 3 22 -1 22 -42 0
+-25 5 -46 10 -46 15 0 12 86 -3 98 -7 6 -27 10 -45 10 -32 -1 -32 -1 -32 -55z"/>
+<path d="M1027 4192 c-35 -38 -8 -96 41 -90 37 4 38 23 0 23 -17 0 -33 6 -35
+13 -3 8 8 12 36 12 42 0 48 8 31 41 -13 24 -52 25 -73 1z m58 -12 c4 -6 -7
+-10 -25 -10 -18 0 -29 4 -25 10 3 6 15 10 25 10 10 0 22 -4 25 -10z"/>
+<path d="M1140 4153 c0 -29 5 -53 10 -53 6 0 10 18 10 41 0 32 4 42 20 46 31
+8 24 22 -10 20 -29 -2 -30 -3 -30 -54z"/>
+<path d="M1440 4133 c0 -42 4 -73 10 -73 6 0 10 12 10 26 0 15 4 23 11 19 22
+-14 57 5 64 34 10 48 -9 71 -55 69 l-40 -1 0 -74z m75 22 c0 -25 -4 -30 -25
+-30 -16 0 -26 6 -28 18 -6 30 6 49 30 45 18 -2 23 -9 23 -33z"/>
+<path d="M1570 4133 c0 -42 4 -73 10 -73 6 0 10 12 10 26 0 15 4 23 11 19 22
+-14 57 5 64 34 10 48 -9 71 -55 69 l-40 -1 0 -74z m75 22 c0 -25 -4 -30 -25
+-30 -16 0 -26 6 -28 18 -6 30 6 49 30 45 18 -2 23 -9 23 -33z"/>
+<path d="M400 3665 l0 -75 35 0 c43 0 85 37 85 73 0 13 -9 36 -21 51 -16 20
+-29 26 -60 26 l-39 0 0 -75z m84 39 c35 -34 9 -94 -40 -94 -22 0 -24 3 -24 55
+0 52 2 55 24 55 14 0 32 -7 40 -16z"/>
+<path d="M550 3665 c0 -43 4 -75 10 -75 6 0 10 13 10 29 0 24 5 30 30 34 21 5
+31 14 36 32 8 34 -11 55 -52 55 l-34 0 0 -75z m65 30 c0 -13 -8 -21 -22 -23
+-19 -3 -23 1 -23 23 0 22 4 26 23 23 14 -2 22 -10 22 -23z"/>
+<path d="M670 3665 l0 -75 35 0 c43 0 85 37 85 73 0 13 -9 36 -21 51 -16 20
+-29 26 -60 26 l-39 0 0 -75z m84 39 c35 -34 9 -94 -40 -94 -22 0 -24 3 -24 55
+0 52 2 55 24 55 14 0 32 -7 40 -16z"/>
+<path d="M820 3665 c0 -77 16 -105 22 -38 l3 37 25 -37 c14 -20 31 -37 38 -37
+8 0 1 16 -18 41 l-33 40 28 29 c16 17 25 33 22 37 -4 4 -21 -9 -37 -28 l-29
+-34 -1 33 c0 17 -4 32 -10 32 -6 0 -10 -32 -10 -75z"/>
+<path d="M490 3165 l0 -245 1515 0 1515 0 0 245 0 245 -1515 0 -1515 0 0 -245z
+m3010 0 l0 -225 -1495 0 -1495 0 0 225 0 225 1495 0 1495 0 0 -225z"/>
+<path d="M1710 3170 l0 -60 33 1 c30 2 30 2 5 6 -36 6 -40 49 -5 56 l22 4 -22
+2 c-35 2 -31 39 5 44 25 4 25 4 -5 6 l-33 1 0 -60z"/>
+<path d="M1797 3223 c19 -4 23 -12 26 -61 l3 -57 2 57 c2 50 5 57 25 61 12 2
+0 4 -28 4 -27 0 -40 -2 -28 -4z"/>
+<path d="M1893 3170 c0 -36 2 -50 4 -32 4 28 8 32 33 32 25 0 29 -4 33 -32 2
+-18 4 -4 4 32 0 36 -2 53 -4 38 -4 -23 -9 -28 -33 -28 -24 0 -29 5 -33 28 -2
+15 -4 -2 -4 -38z"/>
+<path d="M2010 3170 c0 -59 0 -60 28 -60 16 0 36 8 45 18 37 41 9 102 -46 102
+-26 0 -27 -2 -27 -60z m56 42 c35 -24 20 -92 -21 -92 -23 0 -25 3 -25 50 0 41
+3 50 18 50 9 0 22 -4 28 -8z"/>
+<path d="M2130 3170 l0 -60 33 1 c30 2 30 2 5 6 -36 6 -40 49 -5 56 l22 4 -22
+2 c-35 2 -31 39 5 44 25 4 25 4 -5 6 l-33 1 0 -60z"/>
+<path d="M2210 3225 c0 -25 35 -115 45 -115 12 0 50 108 42 117 -3 2 -13 -19
+-22 -48 l-18 -52 -18 48 c-18 47 -29 66 -29 50z"/>
+<path d="M4530 2974 c0 -8 -13 -20 -30 -25 -24 -9 -30 -17 -30 -39 0 -25 4
+-29 29 -28 26 1 30 6 36 37 3 20 8 44 11 54 3 9 1 17 -5 17 -6 0 -11 -7 -11
+-16z m-10 -54 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0 14 -5 14 -10z"/>
+<path d="M5033 2935 c-10 -58 -4 -71 15 -30 6 14 16 25 22 25 6 0 8 -10 4 -25
+-3 -14 -2 -25 4 -25 11 0 23 50 15 63 -3 5 -13 7 -22 4 -14 -3 -17 1 -13 19 2
+13 0 24 -5 24 -5 0 -14 -25 -20 -55z"/>
+<path d="M4639 2968 c0 -2 -2 -22 -5 -45 -4 -34 -2 -43 10 -43 8 0 18 5 21 10
+3 6 1 10 -4 10 -6 0 -11 7 -11 15 0 8 7 15 15 15 8 0 15 3 15 6 0 12 -38 42
+-41 32z"/>
+<path d="M4979 2968 c0 -2 -2 -22 -5 -45 -4 -34 -2 -43 10 -43 8 0 18 5 21 10
+3 6 1 10 -4 10 -6 0 -11 7 -11 15 0 8 7 15 15 15 8 0 15 3 15 6 0 12 -38 42
+-41 32z"/>
+<path d="M4563 2943 c-7 -2 -13 -18 -13 -34 0 -27 3 -29 27 -26 22 3 29 10 34
+35 6 28 4 32 -15 31 -11 0 -27 -3 -33 -6z m27 -28 c0 -8 -7 -15 -15 -15 -16 0
+-20 12 -8 23 11 12 23 8 23 -8z"/>
+<path d="M4703 2943 c-7 -2 -13 -18 -13 -34 0 -27 3 -29 27 -26 22 3 29 10 34
+35 6 28 4 32 -15 31 -11 0 -27 -3 -33 -6z m27 -28 c0 -8 -7 -15 -15 -15 -16 0
+-20 12 -8 23 11 12 23 8 23 -8z"/>
+<path d="M4815 2940 c-10 -18 -15 -90 -6 -90 6 0 11 7 11 15 0 8 9 15 20 15
+21 0 41 35 33 57 -5 12 -51 14 -58 3z m45 -19 c0 -12 -20 -25 -27 -18 -7 7 6
+27 18 27 5 0 9 -4 9 -9z"/>
+<path d="M4903 2943 c-7 -2 -13 -18 -13 -34 0 -27 3 -29 27 -26 22 3 29 10 34
+35 6 28 4 32 -15 31 -11 0 -27 -3 -33 -6z m27 -28 c0 -8 -7 -15 -15 -15 -16 0
+-20 12 -8 23 11 12 23 8 23 -8z"/>
+<path d="M5120 2940 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M5110 2890 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M490 2620 l0 -230 1515 0 1515 0 0 230 0 230 -1515 0 -1515 0 0 -230z
+m3010 0 l0 -210 -1495 0 -1495 0 0 210 0 210 1495 0 1495 0 0 -210z"/>
+<path d="M1690 2680 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M1860 2680 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M2051 2618 c1 -35 4 -51 6 -35 3 17 10 27 22 27 22 0 41 19 41 41 0
+18 -19 29 -51 29 -17 0 -19 -7 -18 -62z m52 40 c7 -21 -4 -38 -24 -38 -14 0
+-19 7 -19 25 0 18 5 25 19 25 11 0 21 -6 24 -12z"/>
+<path d="M2152 2618 l1 -63 6 54 6 55 19 -52 c10 -29 22 -52 26 -52 4 0 16 23
+26 52 l19 52 6 -55 6 -54 1 63 c2 74 -13 80 -37 14 -8 -23 -18 -42 -21 -42 -3
+0 -12 19 -20 42 -24 66 -40 61 -38 -14z"/>
+<path d="M2310 2620 c0 -59 0 -60 28 -60 16 0 36 8 45 18 37 41 9 102 -46 102
+-26 0 -27 -2 -27 -60z m56 42 c35 -24 20 -92 -21 -92 -23 0 -25 3 -25 50 0 41
+3 50 18 50 9 0 22 -4 28 -8z"/>
+<path d="M1802 2654 c-7 -8 -8 -14 -3 -14 5 0 11 -17 13 -37 2 -29 8 -38 23
+-40 16 -1 16 -1 3 3 -13 4 -18 16 -18 40 0 25 4 34 18 35 13 0 14 2 2 6 -8 3
+-17 9 -20 13 -3 4 -11 2 -18 -6z"/>
+<path d="M1609 2605 c18 -50 27 -56 40 -22 19 50 23 69 13 63 -5 -3 -12 -19
+-16 -36 -7 -37 -21 -32 -29 10 -4 16 -11 30 -16 30 -4 0 -1 -20 8 -45z"/>
+<path d="M1690 2605 c0 -25 5 -45 10 -45 6 0 10 20 10 45 0 25 -4 45 -10 45
+-5 0 -10 -20 -10 -45z"/>
+<path d="M1742 2600 c1 -40 2 -41 5 -10 2 19 11 40 20 47 13 10 13 12 -6 10
+-18 -1 -21 -7 -19 -47z"/>
+<path d="M1860 2605 c0 -25 5 -45 10 -45 6 0 10 20 10 45 0 25 -4 45 -10 45
+-5 0 -10 -20 -10 -45z"/>
+<path d="M1910 2636 c-28 -35 11 -93 48 -70 35 22 22 84 -18 84 -10 0 -23 -7
+-30 -14z m55 -15 c8 -26 -4 -51 -25 -51 -10 0 -21 7 -24 16 -10 25 3 54 24 54
+10 0 21 -8 25 -19z"/>
+<path d="M4533 2745 c-10 -58 -4 -71 15 -30 6 14 16 25 22 25 6 0 8 -10 4 -25
+-3 -14 -2 -25 4 -25 11 0 23 50 15 63 -3 5 -13 7 -22 4 -14 -3 -17 1 -13 19 2
+13 0 24 -5 24 -5 0 -14 -25 -20 -55z"/>
+<path d="M4794 2746 l-10 -53 29 -1 c20 0 30 5 36 21 10 27 4 47 -15 47 -8 0
+-14 9 -14 20 0 40 -17 19 -26 -34z m44 -18 c-6 -18 -28 -21 -28 -4 0 9 7 16
+16 16 9 0 14 -5 12 -12z"/>
+<path d="M5150 2784 c0 -8 -13 -20 -30 -25 -24 -9 -30 -17 -30 -39 0 -25 4
+-29 29 -28 26 1 30 6 36 37 3 20 8 44 11 54 3 9 1 17 -5 17 -6 0 -11 -7 -11
+-16z m-10 -54 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0 14 -5 14 -10z"/>
+<path d="M4475 2750 c-4 -6 -1 -18 7 -27 11 -15 11 -16 -5 -10 -13 5 -17 3
+-15 -5 3 -7 12 -14 21 -16 22 -4 34 27 16 39 -11 7 -11 9 4 9 9 0 17 5 17 10
+0 13 -37 13 -45 0z"/>
+<path d="M4620 2755 c0 0 -4 -15 -9 -33 -11 -38 1 -43 17 -7 6 14 16 25 22 25
+6 0 8 -10 4 -25 -4 -15 -2 -25 4 -25 6 0 12 10 14 22 2 12 9 23 17 26 10 3 13
+-2 9 -22 -6 -28 6 -36 16 -10 16 42 8 52 -44 51 -27 -1 -50 -1 -50 -2z"/>
+<path d="M4883 2753 c-7 -2 -13 -18 -13 -34 0 -27 3 -29 27 -26 22 3 29 10 34
+35 6 28 4 32 -15 31 -11 0 -27 -3 -33 -6z m27 -28 c0 -8 -7 -15 -15 -15 -16 0
+-20 12 -8 23 11 12 23 8 23 -8z"/>
+<path d="M4955 2750 c-4 -6 -1 -18 7 -27 11 -15 11 -16 -5 -10 -13 5 -17 3
+-15 -5 3 -7 12 -14 21 -16 22 -4 34 27 16 39 -11 7 -11 9 4 9 9 0 17 5 17 10
+0 13 -37 13 -45 0z"/>
+<path d="M5022 2748 c-6 -6 -12 -22 -12 -35 0 -18 6 -23 24 -23 35 0 43 20 9
+21 -28 1 -28 1 5 10 19 6 32 15 29 22 -5 17 -40 20 -55 5z m35 -14 c-3 -3 -12
+-4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z"/>
+<path d="M4740 2730 c0 -5 6 -10 14 -10 8 0 18 5 21 10 3 6 -3 10 -14 10 -12
+0 -21 -4 -21 -10z"/>
+<path d="M580 2300 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M720 2300 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M860 2300 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M1000 2300 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M1140 2300 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M1280 2300 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M1420 2300 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M1707 2293 c-4 -3 -7 -246 -7 -540 l0 -533 910 0 910 0 0 120 0 120
+-75 0 c-60 0 -75 3 -75 15 0 12 15 15 75 15 l75 0 -2 403 -3 402 -901 3 c-495
+1 -904 -1 -907 -5z m593 -373 c0 -5 -7 -10 -15 -10 -8 0 -15 5 -15 10 0 6 7
+10 15 10 8 0 15 -4 15 -10z m190 0 c0 -5 -7 -10 -15 -10 -8 0 -15 5 -15 10 0
+6 7 10 15 10 8 0 15 -4 15 -10z m-70 -15 c0 -8 8 -16 18 -16 16 -1 16 -2 0 -6
+-13 -3 -18 -15 -18 -43 0 -28 5 -40 18 -44 10 -3 6 -4 -8 -3 -22 2 -25 7 -28
+45 -2 32 -7 42 -21 42 -26 0 -41 -20 -41 -57 0 -18 -4 -33 -10 -33 -5 0 -10
+23 -10 50 l0 50 40 0 c29 0 40 4 40 15 0 8 5 15 10 15 6 0 10 -7 10 -15z
+m-215 -56 l12 -34 12 38 c14 41 37 52 27 12 -22 -88 -46 -98 -70 -28 -19 56
+-19 56 -4 51 6 -2 17 -20 23 -39z m95 -9 c0 -38 -4 -50 -15 -50 -11 0 -15 12
+-15 50 0 38 4 50 15 50 11 0 15 -12 15 -50z m190 0 c0 -38 -4 -50 -15 -50 -11
+0 -15 12 -15 50 0 38 4 50 15 50 11 0 15 -12 15 -50z m99 36 c16 -19 10 -66
+-10 -79 -9 -5 -28 -7 -42 -3 -22 5 -27 12 -27 39 0 18 5 38 12 45 16 16 53 15
+67 -2z m111 -18 c0 -18 4 -39 9 -47 15 -23 31 -2 31 40 0 28 4 39 15 39 11 0
+15 -12 15 -50 l0 -50 -39 0 c-26 0 -41 5 -45 16 -10 25 -7 84 4 84 6 0 10 -15
+10 -32z m146 21 c4 -8 0 -9 -15 -4 -15 4 -21 2 -21 -9 0 -8 9 -18 21 -21 29
+-9 22 -49 -10 -53 -13 -2 -28 2 -35 8 -8 9 -4 10 17 5 21 -6 27 -4 27 8 0 9
+-9 19 -20 22 -19 6 -27 35 -13 48 10 11 41 8 49 -4z m102 -16 c3 -20 -1 -23
+-28 -23 -25 0 -31 -4 -28 -17 3 -13 12 -17 31 -16 15 1 25 -2 22 -8 -8 -11
+-45 -12 -64 0 -8 5 -14 24 -14 41 0 36 17 51 53 48 17 -2 26 -10 28 -25z m64
+11 c-15 -11 -22 -25 -22 -50 0 -19 -4 -34 -10 -34 -5 0 -10 23 -10 50 0 50 0
+50 32 50 32 0 32 0 10 -16z m-354 -41 c-10 -2 -26 -2 -35 0 -10 3 -2 5 17 5
+19 0 27 -2 18 -5z m702 -358 l0 -195 -750 0 -750 0 0 195 0 195 750 0 750 0 0
+-195z"/>
+<path d="M2534 1866 c-11 -28 0 -61 21 -61 16 0 20 7 20 35 0 25 -5 36 -18 38
+-9 2 -20 -3 -23 -12z"/>
+<path d="M2897 1874 c-13 -13 -7 -24 14 -24 11 0 19 5 17 12 -5 14 -22 21 -31
+12z"/>
+<path d="M2102 1480 c0 -41 2 -47 7 -25 3 17 13 30 21 30 8 0 18 -13 22 -30 6
+-29 6 -29 5 5 -2 28 -6 35 -22 35 -11 0 -23 9 -27 20 -3 11 -6 -4 -6 -35z"/>
+<path d="M2830 1512 c0 -13 -7 -18 -22 -18 -19 1 -23 -4 -23 -29 0 -26 4 -30
+28 -31 26 -1 27 1 27 47 0 27 -2 49 -5 49 -3 0 -5 -8 -5 -18z m-5 -47 c0 -11
+-8 -21 -17 -23 -14 -3 -18 3 -18 23 0 20 4 26 18 23 9 -2 17 -12 17 -23z"/>
+<path d="M2322 1504 c-7 -8 -8 -14 -2 -14 5 0 10 -13 10 -30 0 -16 3 -30 8
+-30 7 0 8 78 0 85 -1 1 -9 -3 -16 -11z"/>
+<path d="M3012 1504 c-7 -8 -8 -14 -2 -14 5 0 10 -13 10 -30 0 -16 3 -30 8
+-30 7 0 8 78 0 85 -1 1 -9 -3 -16 -11z"/>
+<path d="M2032 1470 c14 -41 26 -46 38 -15 15 39 11 55 -4 20 l-13 -30 -8 28
+c-4 15 -11 27 -16 27 -4 0 -3 -14 3 -30z"/>
+<path d="M2184 1486 c-11 -29 0 -51 26 -51 21 0 25 5 25 30 0 24 -5 31 -23 33
+-13 2 -24 -3 -28 -12z m46 -21 c0 -25 -23 -35 -35 -15 -10 16 2 40 20 40 9 0
+15 -9 15 -25z"/>
+<path d="M2264 1488 c-4 -6 0 -16 9 -23 22 -16 21 -22 0 -28 -14 -4 -12 -5 5
+-6 25 -1 31 26 7 35 -20 8 -19 21 3 27 15 4 15 5 0 6 -9 0 -20 -4 -24 -11z"/>
+<path d="M2423 1470 c2 -31 5 -35 30 -36 25 -1 27 2 26 35 -1 36 -1 36 -8 6
+-3 -17 -13 -30 -21 -30 -8 0 -18 13 -22 30 -6 29 -6 29 -5 -5z"/>
+<path d="M2504 1488 c-4 -6 0 -16 9 -23 22 -16 21 -22 0 -28 -14 -4 -12 -5 5
+-6 25 -1 31 26 7 35 -20 8 -19 21 3 27 15 4 15 5 0 6 -9 0 -20 -4 -24 -11z"/>
+<path d="M2564 1486 c-11 -30 0 -51 29 -52 25 -1 25 -1 2 3 -33 6 -32 23 1 23
+19 0 25 5 22 18 -4 22 -46 29 -54 8z m46 -6 c0 -5 -9 -10 -21 -10 -11 0 -17 5
+-14 10 3 6 13 10 21 10 8 0 14 -4 14 -10z"/>
+<path d="M2641 1460 c1 -27 3 -29 6 -10 2 14 11 30 20 37 13 10 13 12 -6 10
+-17 -1 -21 -7 -20 -37z"/>
+<path d="M2716 1491 c-3 -5 3 -7 14 -4 11 3 20 1 20 -5 0 -5 -9 -12 -20 -15
+-30 -8 -25 -37 6 -37 23 0 25 3 22 32 -3 32 -29 50 -42 29z m29 -41 c-3 -5
+-10 -10 -16 -10 -5 0 -9 5 -9 10 0 6 7 10 16 10 8 0 12 -4 9 -10z"/>
+<path d="M2866 1491 c-3 -5 3 -7 14 -4 11 3 20 1 20 -5 0 -5 -9 -12 -20 -15
+-30 -8 -25 -37 6 -37 23 0 25 3 22 32 -3 32 -29 50 -42 29z m29 -41 c-3 -5
+-10 -10 -16 -10 -5 0 -9 5 -9 10 0 6 7 10 16 10 8 0 12 -4 9 -10z"/>
+<path d="M2931 1446 c1 -31 4 -43 7 -31 4 11 16 20 27 20 16 0 20 7 20 30 0
+26 -4 30 -27 31 -27 1 -28 -1 -27 -50z m49 19 c0 -25 -23 -35 -35 -15 -10 16
+2 40 20 40 9 0 15 -9 15 -25z"/>
+<path d="M3064 1486 c-11 -30 0 -51 29 -52 25 -1 25 -1 2 3 -33 6 -32 23 1 23
+19 0 25 5 22 18 -4 22 -46 29 -54 8z m46 -6 c0 -5 -9 -10 -21 -10 -11 0 -17 5
+-14 10 3 6 13 10 21 10 8 0 14 -4 14 -10z"/>
+<path d="M3141 1460 c1 -27 3 -29 6 -10 2 14 11 30 20 37 13 10 13 12 -6 10
+-17 -1 -21 -7 -20 -37z"/>
+<path d="M2378 1463 c7 -3 16 -2 19 1 4 3 -2 6 -13 5 -11 0 -14 -3 -6 -6z"/>
+<path d="M520 2250 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40 -5
+0 -10 -18 -10 -40z"/>
+<path d="M1510 2220 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40
+-5 0 -10 -18 -10 -40z"/>
+<path d="M520 2110 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40 -5
+0 -10 -18 -10 -40z"/>
+<path d="M1510 2080 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40
+-5 0 -10 -18 -10 -40z"/>
+<path d="M520 1970 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40 -5
+0 -10 -18 -10 -40z"/>
+<path d="M1510 1940 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40
+-5 0 -10 -18 -10 -40z"/>
+<path d="M520 1830 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40 -5
+0 -10 -18 -10 -40z"/>
+<path d="M1510 1800 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40
+-5 0 -10 -18 -10 -40z"/>
+<path d="M1030 1805 c0 -13 -31 -21 -62 -16 -5 0 -7 -23 -7 -51 1 -29 3 -42 6
+-28 10 63 13 70 38 70 21 0 24 -5 27 -42 2 -34 7 -43 23 -45 11 -2 14 0 8 3
+-7 3 -13 23 -13 44 0 21 6 41 13 43 10 4 10 6 0 6 -7 1 -13 8 -13 16 0 8 -4
+15 -10 15 -5 0 -10 -7 -10 -15z"/>
+<path d="M820 1743 c10 -26 22 -49 28 -51 5 -1 17 18 26 44 19 56 19 54 7 54
+-5 0 -12 -16 -15 -35 -10 -49 -21 -51 -35 -5 -6 22 -16 40 -20 40 -5 0 -1 -21
+9 -47z"/>
+<path d="M913 1740 c0 -30 2 -43 4 -27 2 15 2 39 0 55 -2 15 -4 2 -4 -28z"/>
+<path d="M1103 1740 c0 -30 2 -43 4 -27 2 15 2 39 0 55 -2 15 -4 2 -4 -28z"/>
+<path d="M1152 1778 c-15 -15 -15 -61 0 -76 7 -7 21 -12 33 -12 28 0 45 19 45
+50 0 31 -17 50 -45 50 -12 0 -26 -5 -33 -12z m53 -38 c0 -28 -4 -35 -20 -35
+-13 0 -21 8 -23 23 -5 34 5 54 25 50 13 -2 18 -13 18 -38z"/>
+<path d="M520 1690 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40 -5
+0 -10 -18 -10 -40z"/>
+<path d="M1510 1660 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40
+-5 0 -10 -18 -10 -40z"/>
+<path d="M520 1550 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40 -5
+0 -10 -18 -10 -40z"/>
+<path d="M1510 1520 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40
+-5 0 -10 -18 -10 -40z"/>
+<path d="M3920 1160 l0 -300 -587 0 c-324 0 -972 0 -1440 0 -568 0 -853 -3
+-853 -10 0 -7 480 -10 1450 -10 l1450 0 0 310 c0 200 -4 310 -10 310 -6 0 -10
+-107 -10 -300z"/>
+<path d="M520 1410 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40 -5
+0 -10 -18 -10 -40z"/>
+<path d="M1510 1380 c0 -22 5 -40 10 -40 6 0 10 18 10 40 0 22 -4 40 -10 40
+-5 0 -10 -18 -10 -40z"/>
+<path d="M4593 1325 c-5 -30 -6 -55 -2 -55 9 0 15 19 25 73 3 21 2 37 -3 37
+-5 0 -14 -25 -20 -55z"/>
+<path d="M4893 1325 c-10 -58 -4 -71 15 -30 6 14 16 25 22 25 6 0 8 -10 4 -25
+-3 -14 -2 -25 4 -25 11 0 23 50 15 63 -3 5 -13 7 -22 4 -14 -3 -17 1 -13 19 2
+13 0 24 -5 24 -5 0 -14 -25 -20 -55z"/>
+<path d="M4399 1358 c0 -2 -2 -22 -5 -45 -4 -34 -2 -43 10 -43 8 0 18 5 21 10
+3 6 1 10 -4 10 -6 0 -11 7 -11 15 0 8 7 15 15 15 8 0 15 3 15 6 0 12 -38 42
+-41 32z"/>
+<path d="M4839 1358 c0 -2 -2 -22 -5 -45 -4 -34 -2 -43 10 -43 8 0 18 5 21 10
+3 6 1 10 -4 10 -6 0 -11 7 -11 15 0 8 7 15 15 15 8 0 15 3 15 6 0 12 -38 42
+-41 32z"/>
+<path d="M4172 1328 c-6 -6 -12 -23 -12 -36 0 -18 5 -23 22 -20 12 2 23 9 26
+16 2 7 -2 10 -12 6 -11 -4 -16 -1 -16 10 0 9 6 16 14 14 8 -2 15 2 16 7 2 15
+-24 17 -38 3z"/>
+<path d="M4242 1328 c-7 -7 -12 -22 -12 -35 0 -18 6 -23 25 -23 27 0 48 30 39
+54 -7 19 -35 21 -52 4z m38 -18 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0
+14 -5 14 -10z"/>
+<path d="M4320 1336 c0 -1 -4 -16 -9 -34 -11 -38 1 -43 17 -7 6 14 16 25 22
+25 6 0 8 -10 4 -25 -4 -15 -2 -25 5 -25 6 0 12 9 13 20 0 11 1 26 2 33 1 6
+-11 12 -26 13 -16 1 -28 1 -28 0z"/>
+<path d="M4455 1325 c-17 -57 -8 -76 13 -30 6 14 16 25 22 25 5 0 10 4 10 9 0
+13 -42 9 -45 -4z"/>
+<path d="M4522 1328 c-7 -7 -12 -22 -12 -35 0 -18 6 -23 25 -23 27 0 48 30 39
+54 -7 19 -35 21 -52 4z m38 -18 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0
+14 -5 14 -10z"/>
+<path d="M4675 1330 c-10 -18 -15 -90 -6 -90 6 0 11 7 11 15 0 8 9 15 20 15
+21 0 41 35 33 57 -5 12 -51 14 -58 3z m45 -19 c0 -12 -20 -25 -27 -18 -7 7 6
+27 18 27 5 0 9 -4 9 -9z"/>
+<path d="M4763 1333 c-7 -2 -13 -18 -13 -34 0 -27 3 -29 27 -26 22 3 29 10 34
+35 6 28 4 32 -15 31 -11 0 -27 -3 -33 -6z m27 -28 c0 -8 -7 -15 -15 -15 -16 0
+-20 12 -8 23 11 12 23 8 23 -8z"/>
+<path d="M4980 1330 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M522 1268 c3 -40 5 -43 36 -46 18 -2 32 1 32 7 0 6 -11 11 -25 11
+-22 0 -25 4 -25 35 0 19 -5 35 -11 35 -6 0 -9 -17 -7 -42z"/>
+<path d="M4970 1280 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M1510 1260 c0 -11 -4 -20 -10 -20 -5 0 -10 -4 -10 -10 0 -5 9 -10 20
+-10 16 0 20 7 20 30 0 17 -4 30 -10 30 -5 0 -10 -9 -10 -20z"/>
+<path d="M650 1230 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M790 1230 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M930 1230 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M1070 1230 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M1210 1230 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M1350 1230 c0 -5 18 -10 40 -10 22 0 40 5 40 10 0 6 -18 10 -40 10
+-22 0 -40 -4 -40 -10z"/>
+<path d="M4243 1135 c-10 -58 -4 -71 15 -30 6 14 16 25 22 25 6 0 8 -10 4 -25
+-3 -14 -2 -25 4 -25 11 0 23 50 15 63 -3 5 -13 7 -22 4 -14 -3 -17 1 -13 19 2
+13 0 24 -5 24 -5 0 -14 -25 -20 -55z"/>
+<path d="M5393 1135 c-5 -30 -6 -55 -2 -55 9 0 15 19 25 73 3 21 2 37 -3 37
+-5 0 -14 -25 -20 -55z"/>
+<path d="M4469 1168 c0 -2 -2 -22 -5 -45 -4 -34 -2 -43 10 -43 8 0 18 5 21 10
+3 6 1 10 -4 10 -6 0 -11 7 -11 15 0 8 7 15 15 15 8 0 15 3 15 6 0 12 -38 42
+-41 32z"/>
+<path d="M5109 1168 c0 -2 -2 -22 -5 -45 -4 -34 -2 -43 10 -43 8 0 18 5 21 10
+3 6 1 10 -4 10 -6 0 -11 7 -11 15 0 8 7 15 15 15 8 0 15 3 15 6 0 12 -38 42
+-41 32z"/>
+<path d="M4164 1128 c3 -13 6 -29 6 -35 0 -23 25 -13 43 16 19 33 21 41 8 41
+-5 0 -13 -9 -16 -20 -3 -11 -11 -20 -16 -20 -5 0 -9 9 -9 20 0 11 -5 20 -11
+20 -7 0 -9 -9 -5 -22z"/>
+<path d="M4332 1138 c-7 -7 -12 -22 -12 -35 0 -18 6 -23 25 -23 27 0 48 30 39
+54 -7 19 -35 21 -52 4z m38 -18 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0
+14 -5 14 -10z"/>
+<path d="M4405 1140 c-4 -6 -1 -18 7 -27 11 -15 11 -16 -5 -10 -13 5 -17 3
+-15 -5 3 -7 12 -14 21 -16 22 -4 34 27 16 39 -11 7 -11 9 4 9 9 0 17 5 17 10
+0 13 -37 13 -45 0z"/>
+<path d="M4568 1137 c-16 -39 -10 -56 22 -55 17 1 30 6 30 12 0 6 3 21 6 34 4
+12 2 22 -4 22 -6 0 -12 -10 -14 -22 -5 -32 -26 -33 -30 -1 -2 23 -4 25 -10 10z"/>
+<path d="M4645 1140 c-4 -6 -1 -18 7 -27 11 -15 11 -16 -5 -10 -13 5 -17 3
+-15 -5 3 -7 12 -14 21 -16 22 -4 34 27 16 39 -11 7 -11 9 4 9 9 0 17 5 17 10
+0 13 -37 13 -45 0z"/>
+<path d="M4712 1138 c-6 -6 -12 -22 -12 -35 0 -18 6 -23 24 -23 35 0 43 20 9
+21 -27 2 -27 2 -3 7 24 4 24 5 5 13 -16 7 -14 8 8 4 21 -4 28 -2 25 7 -6 18
+-40 22 -56 6z"/>
+<path d="M4785 1135 c-17 -57 -8 -76 13 -30 6 14 16 25 22 25 5 0 10 4 10 9 0
+13 -42 9 -45 -4z"/>
+<path d="M4885 1140 c-10 -18 -15 -90 -6 -90 6 0 11 7 11 15 0 8 9 15 20 15
+21 0 41 35 33 57 -5 12 -51 14 -58 3z m45 -19 c0 -12 -20 -25 -27 -18 -7 7 6
+27 18 27 5 0 9 -4 9 -9z"/>
+<path d="M4965 1135 c-17 -57 -8 -76 13 -30 6 14 16 25 22 25 5 0 10 4 10 9 0
+13 -42 9 -45 -4z"/>
+<path d="M5032 1138 c-7 -7 -12 -22 -12 -35 0 -18 6 -23 25 -23 27 0 48 30 39
+54 -7 19 -35 21 -52 4z m38 -18 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0
+14 -5 14 -10z"/>
+<path d="M5172 1138 c-7 -7 -12 -22 -12 -35 0 -18 6 -23 25 -23 27 0 48 30 39
+54 -7 19 -35 21 -52 4z m38 -18 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0
+14 -5 14 -10z"/>
+<path d="M5252 1138 c-6 -6 -12 -23 -12 -36 0 -18 5 -23 22 -20 12 2 23 9 26
+16 2 7 -2 10 -12 6 -11 -4 -16 -1 -16 10 0 9 6 16 14 14 8 -2 15 2 16 7 2 15
+-24 17 -38 3z"/>
+<path d="M5322 1138 c-7 -7 -12 -22 -12 -35 0 -18 6 -23 25 -23 27 0 48 30 39
+54 -7 19 -35 21 -52 4z m38 -18 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0
+14 -5 14 -10z"/>
+<path d="M7080 510 c0 -23 4 -30 20 -30 16 0 20 7 20 30 0 23 -4 30 -20 30
+-16 0 -20 -7 -20 -30z"/>
+<path d="M6830 385 l0 -135 85 0 85 0 0 135 0 135 -85 0 -85 0 0 -135z"/>
+<path d="M6420 500 c0 -5 23 -10 50 -10 28 0 50 5 50 10 0 6 -22 10 -50 10
+-27 0 -50 -4 -50 -10z"/>
+<path d="M6540 480 c0 -30 1 -30 55 -30 54 0 55 0 55 30 0 30 -1 30 -55 30
+-54 0 -55 0 -55 -30z"/>
+<path d="M6660 480 c0 -30 1 -30 55 -30 54 0 55 0 55 30 0 30 -1 30 -55 30
+-54 0 -55 0 -55 -30z"/>
+<path d="M7080 430 c0 -23 4 -30 20 -30 16 0 20 7 20 30 0 23 -4 30 -20 30
+-16 0 -20 -7 -20 -30z"/>
+<path d="M6420 410 c0 -5 23 -10 50 -10 28 0 50 5 50 10 0 6 -22 10 -50 10
+-27 0 -50 -4 -50 -10z"/>
+<path d="M6540 390 c0 -30 1 -30 55 -30 54 0 55 0 55 30 0 30 -1 30 -55 30
+-54 0 -55 0 -55 -30z"/>
+<path d="M6660 390 c0 -30 1 -30 55 -30 54 0 55 0 55 30 0 30 -1 30 -55 30
+-54 0 -55 0 -55 -30z"/>
+<path d="M7080 350 c0 -23 4 -30 20 -30 16 0 20 7 20 30 0 23 -4 30 -20 30
+-16 0 -20 -7 -20 -30z"/>
+<path d="M1060 354 c0 -8 -13 -20 -30 -25 -24 -9 -30 -17 -30 -39 0 -25 4 -29
+29 -28 26 1 30 6 36 37 3 20 8 44 11 54 3 9 1 17 -5 17 -6 0 -11 -7 -11 -16z
+m-10 -54 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0 14 -5 14 -10z"/>
+<path d="M2953 315 c-5 -30 -6 -55 -2 -55 9 0 15 19 25 73 3 21 2 37 -3 37 -5
+0 -14 -25 -20 -55z"/>
+<path d="M3090 354 c0 -8 -13 -20 -30 -25 -24 -9 -30 -17 -30 -39 0 -25 4 -29
+29 -28 26 1 30 6 36 37 3 20 8 44 11 54 3 9 1 17 -5 17 -6 0 -11 -7 -11 -16z
+m-10 -54 c0 -12 -28 -25 -36 -17 -9 9 6 27 22 27 8 0 14 -5 14 -10z"/>
+<path d="M755 314 c-7 -48 2 -75 12 -36 3 12 13 22 23 22 23 0 44 26 36 45 -3
+9 -18 15 -35 15 -27 0 -29 -3 -36 -46z m55 16 c0 -5 -7 -10 -15 -10 -8 0 -15
+5 -15 10 0 6 7 10 15 10 8 0 15 -4 15 -10z"/>
+<path d="M857 342 c-36 -39 -13 -96 31 -76 15 7 14 8 -5 11 -14 3 -23 12 -23
+22 0 24 26 45 46 37 10 -4 14 -1 12 6 -7 21 -43 20 -61 0z"/>
+<path d="M930 348 c0 -7 -3 -31 -6 -53 -5 -27 -3 -37 4 -30 15 15 26 95 13 95
+-6 0 -11 -6 -11 -12z"/>
+<path d="M1250 350 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M2550 325 c0 -45 12 -71 29 -61 10 7 51 79 51 91 0 17 -19 0 -35 -32
+l-19 -38 -4 30 c-6 47 -22 55 -22 10z"/>
+<path d="M2640 350 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M3280 350 c0 -5 5 -10 10 -10 6 0 10 5 10 10 0 6 -4 10 -10 10 -5 0
+-10 -4 -10 -10z"/>
+<path d="M2739 348 c0 -2 -2 -22 -5 -45 -4 -34 -2 -43 10 -43 8 0 18 5 21 10
+3 6 1 10 -4 10 -6 0 -11 7 -11 15 0 8 7 15 15 15 8 0 15 3 15 6 0 12 -38 42
+-41 32z"/>
+<path d="M6420 330 c0 -5 23 -10 50 -10 28 0 50 5 50 10 0 6 -22 10 -50 10
+-27 0 -50 -4 -50 -10z"/>
+<path d="M6540 305 l0 -35 55 0 55 0 0 35 0 35 -55 0 -55 0 0 -35z"/>
+<path d="M6660 305 l0 -35 55 0 55 0 0 35 0 35 -55 0 -55 0 0 -35z"/>
+<path d="M1092 318 c-6 -6 -12 -22 -12 -35 0 -18 6 -23 24 -23 35 0 43 20 9
+21 -28 1 -28 1 5 10 19 6 32 15 29 22 -5 17 -40 20 -55 5z m35 -14 c-3 -3 -12
+-4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z"/>
+<path d="M1164 308 c3 -13 6 -29 6 -35 0 -23 25 -13 43 16 19 33 21 41 8 41
+-5 0 -13 -9 -16 -20 -3 -11 -11 -20 -16 -20 -5 0 -9 9 -9 20 0 11 -5 20 -11
+20 -7 0 -9 -9 -5 -22z"/>
+<path d="M1247 320 c-12 -34 -15 -60 -6 -60 11 0 23 45 16 62 -3 10 -6 9 -10
+-2z"/>
+<path d="M1292 318 c-6 -6 -12 -23 -12 -36 0 -18 5 -23 22 -20 12 2 23 9 26
+16 2 7 -2 10 -12 6 -11 -4 -16 -1 -16 10 0 9 6 16 14 14 8 -2 15 2 16 7 2 15
+-24 17 -38 3z"/>
+<path d="M1362 318 c-6 -6 -12 -22 -12 -35 0 -18 6 -23 24 -23 35 0 43 20 9
+21 -28 1 -28 1 5 10 19 6 32 15 29 22 -5 17 -40 20 -55 5z m35 -14 c-3 -3 -12
+-4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z"/>
+<path d="M2637 320 c-12 -34 -15 -60 -6 -60 11 0 23 45 16 62 -3 10 -6 9 -10
+-2z"/>
+<path d="M2675 315 c-17 -57 -8 -76 13 -30 6 14 16 25 22 25 5 0 10 4 10 9 0
+13 -42 9 -45 -4z"/>
+<path d="M2798 317 c-16 -39 -10 -56 22 -55 17 1 30 6 30 12 0 6 3 21 6 34 4
+12 2 22 -4 22 -6 0 -12 -10 -14 -22 -5 -32 -26 -33 -30 -1 -2 23 -4 25 -10 10z"/>
+<path d="M2883 323 c-7 -2 -13 -18 -13 -34 0 -27 3 -29 27 -26 22 3 29 10 34
+35 6 28 4 32 -15 31 -11 0 -27 -3 -33 -6z m27 -28 c0 -8 -7 -15 -15 -15 -16 0
+-20 12 -8 23 11 12 23 8 23 -8z"/>
+<path d="M3122 318 c-6 -6 -12 -22 -12 -35 0 -18 6 -23 24 -23 35 0 43 20 9
+21 -28 1 -28 1 5 10 19 6 32 15 29 22 -5 17 -40 20 -55 5z m35 -14 c-3 -3 -12
+-4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z"/>
+<path d="M3194 308 c3 -13 6 -29 6 -35 0 -23 25 -13 43 16 19 33 21 41 8 41
+-5 0 -13 -9 -16 -20 -3 -11 -11 -20 -16 -20 -5 0 -9 9 -9 20 0 11 -5 20 -11
+20 -7 0 -9 -9 -5 -22z"/>
+<path d="M3277 320 c-12 -34 -15 -60 -6 -60 11 0 23 45 16 62 -3 10 -6 9 -10
+-2z"/>
+<path d="M3322 318 c-6 -6 -12 -23 -12 -36 0 -18 5 -23 22 -20 12 2 23 9 26
+16 2 7 -2 10 -12 6 -11 -4 -16 -1 -16 10 0 9 6 16 14 14 8 -2 15 2 16 7 2 15
+-24 17 -38 3z"/>
+<path d="M3392 318 c-6 -6 -12 -22 -12 -35 0 -18 6 -23 24 -23 35 0 43 20 9
+21 -28 1 -28 1 5 10 19 6 32 15 29 22 -5 17 -40 20 -55 5z m35 -14 c-3 -3 -12
+-4 -19 -1 -8 3 -5 6 6 6 11 1 17 -2 13 -5z"/>
+<path d="M7080 270 c0 -23 4 -30 20 -30 16 0 20 7 20 30 0 23 -4 30 -20 30
+-16 0 -20 -7 -20 -30z"/>
+</g>
+</svg>
diff --git a/doc/guides/howto/index.rst b/doc/guides/howto/index.rst
index 712a9f3..db4016a 100644
--- a/doc/guides/howto/index.rst
+++ b/doc/guides/howto/index.rst
@@ -39,3 +39,4 @@ HowTo Guides
     lm_virtio_vhost_user
     flow_bifurcation
     pvp_reference_benchmark
+    virtio_user_for_container_networking
diff --git a/doc/guides/howto/virtio_user_for_container_networking.rst b/doc/guides/howto/virtio_user_for_container_networking.rst
new file mode 100644
index 0000000..9f06fdd
--- /dev/null
+++ b/doc/guides/howto/virtio_user_for_container_networking.rst
@@ -0,0 +1,142 @@
+..  BSD LICENSE
+    Copyright(c) 2016 Intel Corporation. All rights reserved.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of Intel Corporation nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+.. _virtio_user_for_container_networking:
+
+Virtio_user for Container Networking
+====================================
+
+Container becomes more and more popular for strengths, like low overhead, fast
+boot-up time, and easy to deploy, etc. How to use DPDK to accelerate container
+networking becomes a common question for users. There are two use models of
+running DPDK inside containers, as shown in
+:numref:`figure_use_models_for_running_dpdk_in_containers`.
+
+.. _figure_use_models_for_running_dpdk_in_containers:
+
+.. figure:: img/use_models_for_running_dpdk_in_containers.*
+
+   Use models of running DPDK inside container
+
+This page will only cover aggregation model.
+
+Overview
+--------
+
+The virtual device, virtio_user, with unmodified vhost-user backend, is designed
+for high performance user space container networking or inter-process
+communication (IPC).
+
+The overview of accelerating container networking by virtio_user is shown
+in :numref:`figure_virtio_user_for_container_networking`.
+
+.. _figure_virtio_user_for_container_networking:
+
+.. figure:: img/virtio_user_for_container_networking.*
+
+   Overview of accelerating container networking by virtio_user
+
+Different virtio PCI devices we usually use as a para-virtualization I/O in the
+context of QEMU/VM, the basic idea here is to present a kind of virtual devices,
+which can be attached and initialized by DPDK. The device emulation layer by
+QEMU in VM's context is saved by just registering a new kind of virtual device
+in DPDK's ether layer. And to minimize the change, we reuse already-existing
+virtio PMD code (driver/net/virtio/).
+
+Virtio, in essence, is a shm-based solution to transmit/receive packets. How is
+memory shared? In VM's case, qemu always shares the whole physical layout of VM
+to vhost backend. But it's not feasible for a container, as a process, to share
+all virtual memory regions to backend. So only those virtual memory regions
+(aka, hugepages initialized in DPDK) are sent to backend. It restricts that only
+addresses in these areas can be used to transmit or receive packets.
+
+Sample Usage
+------------
+
+Here we use Docker as container engine. It also applies to LXC, Rocket with
+some minor changes.
+
+#. Compile DPDK.
+
+    .. code-block:: console
+
+        make install RTE_SDK=`pwd` T=x86_64-native-linuxapp-gcc
+
+#. Write a Dockerfile like below.
+
+    .. code-block:: console
+
+	cat <<EOT >> Dockerfile
+	FROM ubuntu:latest
+	WORKDIR /usr/src/dpdk
+	COPY . /usr/src/dpdk
+	ENV PATH "$PATH:/usr/src/dpdk/x86_64-native-linuxapp-gcc/app/"
+	EOT
+
+#. Build a Docker image.
+
+    .. code-block:: console
+
+	docker build -t dpdk-app-testpmd .
+
+#. Start a testpmd on the host with a vhost-user port.
+
+    .. code-block:: console
+
+        $(testpmd) -c 0x3 -n 4 --socket-mem 1024,1024 \
+            --vdev 'eth_vhost0,iface=/tmp/sock0' --no-pci -- -i
+
+#. Start a container instance with a virtio_user port.
+
+    .. code-block:: console
+
+        docker run -i -t -v /tmp/sock0:/var/run/usvhost \
+            -v /dev/hugepages:/dev/hugepages \
+            dpdk-app-testpmd testpmd -c 0xc -n 4 -m 1024 --no-pci \
+            --vdev=virtio_user0,path=/var/run/usvhost \
+	    -- -i --txqflags=0xf00 --disable-hw-vlan
+
+Note: If we run all above setup on the host, it's a shm-based IPC.
+
+Limitations
+-----------
+
+We have below limitations in this solution:
+ * Cannot work with --huge-unlink option. As we need to reopen the hugepage
+   file to share with vhost backend.
+ * Cannot work with --no-huge option. Currently, DPDK uses anonymous mapping
+   under this option which cannot be reopened to share with vhost backend.
+ * Cannot work when there are more than VHOST_MEMORY_MAX_NREGIONS(8) hugepages.
+   In another word, do not use 2MB hugepage so far.
+ * Applications should not use file name like HUGEFILE_FMT ("%smap_%d"). That
+   will bring confusion when sharing hugepage files with backend by name.
+ * Root privilege is a must. DPDK resolves physical addresses of hugepages
+   which seems not necessary, and some discussions are going on to remove this
+   restriction.
-- 
2.7.4



More information about the dev mailing list