view notes/hgsubversion.svg @ 1467:53e306a6086b

maps: implement sqlite revmap This patch adds the SqliteRevMap, which has a same interface with RevMap but is backed by a sqlite database. It uses database indexes to accelerate all kinds of queries and disables iteration to prevent slow code being written in the future. In practise, it should be faster on large repos with millions of svn revisions but slower on small repos due to the overhead introduced.
author Jun Wu <quark@fb.com>
date Wed, 15 Jun 2016 18:23:07 +0100
parents f98717473abc
children
line wrap: on
line source

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   sodipodi:docbase="G:\MyDocs\temp\svnlogo"
   sodipodi:docname="hgsubversion.svg"
   inkscape:version="0.46"
   sodipodi:version="0.32"
   version="1.0"
   x="0.00000000"
   y="0.00000000"
   width="1024"
   height="1024"
   viewBox="0 0 157.009 94.082"
   id="svg2"
   xml:space="preserve"
   inkscape:output_extension="org.inkscape.output.svg.inkscape"
   inkscape:export-filename="/Users/danchr/Downloads/hgsubversion.png"
   inkscape:export-xdpi="90"
   inkscape:export-ydpi="90"><metadata
   id="metadata24"><rdf:RDF><cc:Work
       rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
         rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><sodipodi:namedview
   inkscape:current-layer="Layer_1"
   inkscape:window-y="0"
   inkscape:window-x="144"
   inkscape:cy="536.26439"
   inkscape:cx="460.62218"
   inkscape:zoom="0.55664062"
   id="base"
   pagecolor="#ffffff"
   bordercolor="#666666"
   borderopacity="1.0"
   inkscape:pageopacity="0.0"
   inkscape:pageshadow="2"
   inkscape:window-width="1152"
   inkscape:window-height="785"
   showgrid="false"
   showguides="false"><inkscape:grid
     type="xygrid"
     id="grid5424"
     visible="true"
     enabled="true" /></sodipodi:namedview>
   <defs
   id="defs84"><linearGradient
   id="linearGradient5650"><stop
     style="stop-color:#526482;stop-opacity:1;"
     offset="0"
     id="stop5652" /><stop
     id="stop5660"
     offset="0.75"
     style="stop-color:#526482;stop-opacity:0.74452555;" /><stop
     style="stop-color:#526482;stop-opacity:0;"
     offset="1"
     id="stop5654" /></linearGradient><inkscape:perspective
   sodipodi:type="inkscape:persp3d"
   inkscape:vp_x="0 : 47.041 : 1"
   inkscape:vp_y="0 : 1000 : 0"
   inkscape:vp_z="157.009 : 47.041 : 1"
   inkscape:persp3d-origin="78.504501 : 31.360667 : 1"
   id="perspective5232" />

		<filter
   inkscape:collect="always"
   id="filter5646"><feGaussianBlur
     inkscape:collect="always"
     stdDeviation="1.2513068"
     id="feGaussianBlur5648" /></filter><filter
   inkscape:collect="always"
   id="filter5686"><feGaussianBlur
     inkscape:collect="always"
     stdDeviation="0.41579211"
     id="feGaussianBlur5688" /></filter><filter
   inkscape:collect="always"
   id="filter5710"><feGaussianBlur
     inkscape:collect="always"
     stdDeviation="0.55954644"
     id="feGaussianBlur5712" /></filter></defs>

		<g
   id="g46">
				<g
   id="Layer_1">
					
					
					
					
					
					
					
					
					
					
					
					
					
					
				<path
   id="path49"
   style="fill:#809cc9"
   d="M 156.07994,-30.712905 L 0.9276555,-30.712905 L 0.9276555,104.78678 L 156.08134,104.78678 L 156.08134,-30.712905 L 156.07994,-30.712905 z" /><g
   id="g5907"
   transform="translate(-0.3822713,0)"><path
     d="M 10.394451,115.96731 C 10.394451,116.58957 10.23494,117.1486 9.914463,117.64439 C 9.593997,118.14019 9.1255086,118.5282 8.5075566,118.80987 C 7.8910476,119.09011 7.1595656,119.23094 6.3159966,119.23094 C 5.3014166,119.23094 4.4650276,119.03837 3.8068486,118.6561 C 3.3383506,118.38162 2.9575246,118.01229 2.6657946,117.55098 C 2.3726296,117.08967 2.2260526,116.64131 2.2260526,116.20587 C 2.2260526,115.95294 2.3137136,115.73738 2.4904706,115.55631 C 2.6643606,115.37667 2.8885426,115.28613 3.1601506,115.28613 C 3.3800306,115.28613 3.5654106,115.35656 3.7191776,115.49595 C 3.8729526,115.63535 4.0008506,115.84516 4.1086356,116.12252 C 4.2394106,116.45018 4.3802436,116.72323 4.5340096,116.94309 C 4.6849076,117.16297 4.8990336,117.34404 5.1763866,117.48775 C 5.4508716,117.63146 5.8144526,117.70188 6.2657036,117.70188 C 6.8836466,117.70188 7.3851916,117.55673 7.7717726,117.26932 C 8.1583436,116.9819 8.3509126,116.62119 8.3509126,116.1915 C 8.3509126,115.84947 8.2474396,115.57068 8.0376256,115.35799 C 7.8292546,115.14674 7.5605146,114.98291 7.2299816,114.87081 C 6.8994576,114.75873 6.4582726,114.63944 5.9049916,114.51298 C 5.1648956,114.3391 4.5469436,114.13646 4.0468426,113.90366 C 3.5481656,113.67372 3.1529706,113.35612 2.8612406,112.95662 C 2.5680756,112.5571 2.4214886,112.05844 2.4214886,111.46492 C 2.4214886,110.89727 2.5752646,110.39429 2.8842316,109.95454 C 3.1932076,109.51335 3.6387046,109.17564 4.2235996,108.93852 C 4.8084946,108.70284 5.4954196,108.585 6.2872606,108.585 C 6.9167036,108.585 7.4627966,108.66404 7.9240956,108.81924 C 8.3839696,108.97588 8.7676736,109.1857 9.0708946,109.44438 C 9.3755596,109.70593 9.596874,109.97754 9.737706,110.26351 C 9.878538,110.54806 9.947521,110.8283 9.947521,111.09846 C 9.947521,111.34708 9.859859,111.56983 9.68597,111.76958 C 9.510646,111.96934 9.2936426,112.0685 9.0320916,112.0685 C 8.7949756,112.0685 8.6138976,112.00814 8.4917446,111.88886 C 8.3681586,111.76958 8.2345146,111.57414 8.0908056,111.30253 C 7.9025476,110.91308 7.6783556,110.61129 7.4153706,110.39286 C 7.1523866,110.17442 6.7313146,110.06663 6.1507306,110.06663 C 5.6132606,110.06663 5.1778296,110.18448 4.8487306,110.42016 C 4.5196416,110.65727 4.3529406,110.94183 4.3529406,111.27379 C 4.3529406,111.48073 4.4089796,111.65893 4.5210756,111.80839 C 4.6331716,111.95784 4.7883716,112.08575 4.9838176,112.19497 C 5.1792636,112.30418 5.3790216,112.38753 5.5816466,112.44788 C 5.7842726,112.50969 6.1148056,112.59735 6.5789816,112.71519 C 7.1566976,112.85171 7.6812336,113.00117 8.1497206,113.165 C 8.6182086,113.32882 9.0177236,113.52714 9.3453796,113.76138 C 9.67447,113.99563 9.931709,114.29167 10.115655,114.64951 C 10.299601,115.00735 10.394451,115.44853 10.394451,115.96731 z"
     style="fill:#809cc9"
     id="path5859" /><path
     d="M 18.660578,114.79897 L 18.660578,109.84963 C 18.660578,109.42857 18.755428,109.11241 18.94512,108.9026 C 19.134821,108.69278 19.384871,108.58643 19.693847,108.58643 C 20.018626,108.58643 20.274431,108.69134 20.464122,108.9026 C 20.653823,109.11385 20.748664,109.43 20.748664,109.85251 L 20.748664,114.92399 C 20.748664,115.50026 20.813335,115.98169 20.941233,116.3697 C 21.06914,116.75771 21.2962,117.05806 21.623856,117.27075 C 21.950068,117.48344 22.407065,117.59122 22.994838,117.59122 C 23.805349,117.59122 24.378753,117.37422 24.713588,116.94022 C 25.048433,116.50623 25.218011,115.84804 25.218011,114.9671 L 25.218011,109.85251 C 25.218011,109.42569 25.311418,109.10666 25.498241,108.89829 C 25.686498,108.68991 25.936549,108.58643 26.249837,108.58643 C 26.563124,108.58643 26.81892,108.68991 27.012932,108.89829 C 27.206935,109.1081 27.304663,109.42426 27.304663,109.85107 L 27.304663,114.80615 C 27.304663,115.61235 27.225624,116.28348 27.06898,116.82238 C 26.912336,117.36129 26.616295,117.83552 26.17942,118.24366 C 25.805774,118.58568 25.371777,118.83573 24.877421,118.99238 C 24.380187,119.14902 23.802481,119.2295 23.138547,119.2295 C 22.348149,119.2295 21.669838,119.14183 21.09932,118.97227 C 20.530227,118.80124 20.063173,118.53682 19.703904,118.17899 C 19.344635,117.82115 19.080207,117.36272 18.912072,116.80226 C 18.743928,116.24467 18.660578,115.57643 18.660578,114.79897 z"
     style="fill:#809cc9"
     id="path5861" /><path
     d="M 40.413773,119.04986 L 37.266549,119.04986 C 36.81243,119.04986 36.487651,118.94783 36.293639,118.74376 C 36.098193,118.5397 36.001909,118.21635 36.001909,117.7723 L 36.001909,110.04077 C 36.001909,109.58809 36.101071,109.26187 36.300828,109.06211 C 36.499142,108.86235 36.821052,108.76463 37.266549,108.76463 L 40.604908,108.76463 C 41.096387,108.76463 41.523204,108.79481 41.883907,108.85373 C 42.24462,108.91266 42.567964,109.0305 42.853949,109.20151 C 43.096811,109.34665 43.310937,109.5306 43.49776,109.75191 C 43.684584,109.97323 43.82685,110.21897 43.926012,110.48771 C 44.02373,110.75787 44.074033,111.04098 44.074033,111.3399 C 44.074033,112.36885 43.560988,113.12044 42.532039,113.59756 C 43.881464,114.02868 44.558332,114.86795 44.558332,116.1139 C 44.558332,116.69017 44.410311,117.21039 44.115703,117.67026 C 43.821104,118.13156 43.424467,118.47359 42.924365,118.69347 C 42.609644,118.82424 42.248931,118.91477 41.840803,118.96795 C 41.432665,119.02399 40.956988,119.04986 40.413773,119.04986 z M 38.088561,110.31525 L 38.088561,112.9868 L 39.99989,112.9868 C 40.51868,112.9868 40.921063,112.9365 41.204171,112.83734 C 41.487279,112.73818 41.704273,112.55136 41.855171,112.27256 C 41.971569,112.07568 42.030494,111.85438 42.030494,111.61007 C 42.030494,111.0884 41.845114,110.74207 41.474345,110.56961 C 41.105009,110.3986 40.540237,110.31237 39.781453,110.31237 L 38.088561,110.31237 L 38.088561,110.31525 z M 40.260007,114.46987 L 38.088561,114.46987 L 38.088561,117.50069 L 40.330423,117.50069 C 41.740198,117.50069 42.445811,116.98764 42.445811,115.963 C 42.445811,115.43991 42.263299,115.05907 41.898285,114.82339 C 41.531827,114.58771 40.985734,114.46987 40.260007,114.46987 z"
     style="fill:#809cc9"
     id="path5863" /><path
     d="M 54.344895,109.9531 L 56.670107,116.84968 L 59.003952,109.90425 C 59.126076,109.53922 59.215209,109.28486 59.276975,109.14403 C 59.337334,109.00175 59.436496,108.87385 59.577365,108.75745 C 59.718141,108.64105 59.909342,108.58643 60.152185,108.58643 C 60.328952,108.58643 60.49419,108.62955 60.646494,108.71864 C 60.797392,108.80775 60.916705,108.92702 61.002933,109.07361 C 61.090566,109.22163 61.13368,109.36965 61.13368,109.52054 C 61.13368,109.62257 61.11934,109.73467 61.092066,109.85251 C 61.063292,109.97323 61.028801,110.08962 60.987093,110.2046 C 60.945479,110.31813 60.902365,110.4374 60.860657,110.55812 L 58.37449,117.28512 C 58.285357,117.54236 58.196317,117.7881 58.107184,118.01947 C 58.018051,118.25084 57.916059,118.45491 57.798218,118.63023 C 57.68181,118.80556 57.52661,118.95071 57.332598,119.06279 C 57.138595,119.17346 56.901469,119.23094 56.622682,119.23094 C 56.342442,119.23094 56.105326,119.17489 55.911323,119.06567 C 55.715877,118.95645 55.560667,118.80987 55.441392,118.63023 C 55.322117,118.4506 55.218643,118.24509 55.129548,118.01516 C 55.040443,117.78666 54.952781,117.54236 54.862252,117.28512 L 52.417764,110.61417 C 52.376084,110.49345 52.331536,110.37418 52.286989,110.25634 C 52.243875,110.13993 52.205072,110.01346 52.176327,109.87694 C 52.146156,109.74186 52.130345,109.62688 52.130345,109.53348 C 52.130345,109.29492 52.225195,109.07792 52.417764,108.88104 C 52.608889,108.68416 52.850327,108.58643 53.13918,108.58643 C 53.494138,108.58643 53.745632,108.69422 53.89221,108.91266 C 54.038796,109.13109 54.191129,109.47599 54.344895,109.9531 z"
     style="fill:#999999"
     id="path5865" /><path
     d="M 75.962957,110.36124 L 71.26805,110.36124 L 71.26805,112.89914 L 75.590772,112.89914 C 75.908408,112.89914 76.14694,112.96955 76.303556,113.11182 C 76.458769,113.25553 76.537869,113.44235 76.537869,113.6766 C 76.537869,113.91084 76.460269,114.10197 76.306461,114.24856 C 76.152657,114.39514 75.914126,114.46987 75.590772,114.46987 L 71.26805,114.46987 L 71.26805,117.41158 L 76.123977,117.41158 C 76.451639,117.41158 76.697389,117.48631 76.865539,117.63577 C 77.030769,117.78666 77.114099,117.98642 77.114099,118.23647 C 77.114099,118.4779 77.030769,118.67478 76.865539,118.82424 C 76.698799,118.9737 76.451639,119.04986 76.123977,119.04986 L 70.460416,119.04986 C 70.006315,119.04986 69.67865,118.94926 69.478827,118.74664 C 69.279097,118.54545 69.179936,118.2221 69.179936,117.7723 L 69.179936,110.04077 C 69.179936,109.74186 69.224455,109.49755 69.313589,109.30785 C 69.402722,109.11816 69.542092,108.98019 69.731792,108.89398 C 69.921493,108.80775 70.164336,108.76463 70.460416,108.76463 L 75.962957,108.76463 C 76.294933,108.76463 76.542179,108.83793 76.703109,108.98307 C 76.865539,109.12966 76.945949,109.31935 76.945949,109.55647 C 76.945949,109.7979 76.865539,109.99191 76.703109,110.13705 C 76.542179,110.28795 76.294933,110.36124 75.962957,110.36124 z"
     style="fill:#999999"
     id="path5867" /><path
     d="M 88.025919,114.64951 L 87.297299,114.64951 L 87.297299,117.95912 C 87.297299,118.39455 87.202449,118.71358 87.008429,118.92053 C 86.817329,119.12747 86.565859,119.23094 86.256849,119.23094 C 85.924869,119.23094 85.667689,119.12315 85.483709,118.90759 C 85.301219,118.69203 85.210679,118.37587 85.210679,117.95912 L 85.210679,110.04364 C 85.210679,109.59527 85.311249,109.26905 85.512479,109.06642 C 85.713609,108.86523 86.038369,108.76607 86.488259,108.76607 L 89.875409,108.76607 C 90.342539,108.76607 90.743399,108.78619 91.075379,108.82499 C 91.405949,108.8638 91.706249,108.94427 91.973549,109.06354 C 92.295499,109.20007 92.581459,109.39408 92.828609,109.647 C 93.077269,109.89993 93.265559,110.1931 93.393399,110.5265 C 93.522739,110.86134 93.587409,111.21487 93.587409,111.58995 C 93.587409,112.35736 93.371849,112.96955 92.939299,113.42798 C 92.506759,113.88641 91.850019,114.21264 90.971909,114.40376 C 91.341279,114.60064 91.693409,114.89094 92.029599,115.2732 C 92.365889,115.65834 92.666279,116.06647 92.932079,116.50048 C 93.196579,116.93304 93.402029,117.32392 93.548609,117.6717 C 93.698099,118.02091 93.769989,118.26091 93.769989,118.39168 C 93.769989,118.5282 93.726879,118.66185 93.640649,118.7955 C 93.552919,118.92915 93.435109,119.03406 93.285619,119.11165 C 93.136219,119.18926 92.963759,119.22806 92.768349,119.22806 C 92.534029,119.22806 92.337209,119.17201 92.179089,119.06279 C 92.019569,118.95358 91.883009,118.81274 91.769509,118.64461 C 91.654599,118.47647 91.499389,118.22785 91.303879,117.89876 L 90.468969,116.50766 C 90.170079,115.99749 89.901279,115.60948 89.665649,115.34075 C 89.429929,115.07345 89.189989,114.89237 88.947059,114.79322 C 88.704209,114.69406 88.395199,114.64951 88.025919,114.64951 z M 89.218669,110.31525 L 87.298699,110.31525 L 87.298699,113.16643 L 89.162629,113.16643 C 89.662749,113.16643 90.083859,113.12188 90.424449,113.03422 C 90.764959,112.94656 91.026549,112.79854 91.206219,112.58873 C 91.385799,112.37891 91.476339,112.08861 91.476339,111.72072 C 91.476339,111.4333 91.403039,111.17894 91.259359,110.9605 C 91.115679,110.74207 90.914449,110.5768 90.657179,110.46758 C 90.412929,110.36699 89.934359,110.31525 89.218669,110.31525 z"
     style="fill:#999999"
     id="path5869" /><path
     d="M 109.84376,115.96731 C 109.84376,116.58957 109.68424,117.1486 109.36379,117.64439 C 109.04334,118.14019 108.57481,118.5282 107.95828,118.80987 C 107.34035,119.09011 106.61032,119.23094 105.76388,119.23094 C 104.75071,119.23094 103.91439,119.03837 103.25616,118.6561 C 102.78771,118.38162 102.40681,118.01229 102.11514,117.55098 C 101.82197,117.08967 101.67538,116.64131 101.67538,116.20587 C 101.67538,115.95294 101.76451,115.73738 101.93837,115.55631 C 102.11514,115.37667 102.33783,115.28613 102.60945,115.28613 C 102.82933,115.28613 103.01612,115.35656 103.16852,115.49595 C 103.32083,115.63535 103.45017,115.84516 103.55795,116.12252 C 103.6887,116.45018 103.82957,116.72323 103.98187,116.94309 C 104.13427,117.16297 104.34975,117.34404 104.62427,117.48775 C 104.9016,117.63146 105.26376,117.70188 105.71355,117.70188 C 106.33298,117.70188 106.8331,117.55673 107.22113,117.26932 C 107.60765,116.9819 107.80026,116.62119 107.80026,116.1915 C 107.80026,115.84947 107.69678,115.57068 107.48693,115.35799 C 107.27858,115.14674 107.00987,114.98291 106.6793,114.87081 C 106.35023,114.75873 105.90906,114.63944 105.3557,114.51298 C 104.61565,114.3391 103.99771,114.13646 103.499,113.90366 C 102.99897,113.67372 102.60373,113.35612 102.31196,112.95662 C 102.01879,112.5571 101.8723,112.05844 101.8723,111.46492 C 101.8723,110.89727 102.02601,110.39429 102.33502,109.95454 C 102.64394,109.51335 103.08942,109.17564 103.67436,108.93852 C 104.25921,108.70284 104.94762,108.585 105.73661,108.585 C 106.36747,108.585 106.91352,108.66404 107.37484,108.81924 C 107.83475,108.97588 108.21846,109.1857 108.52166,109.44438 C 108.82627,109.70593 109.04765,109.97754 109.18843,110.26351 C 109.3293,110.54806 109.39828,110.8283 109.39828,111.09846 C 109.39828,111.34708 109.31065,111.56983 109.13529,111.76958 C 108.96142,111.96934 108.74436,112.0685 108.48286,112.0685 C 108.24574,112.0685 108.06606,112.00814 107.94253,111.88886 C 107.81891,111.76958 107.68385,111.57414 107.54157,111.30253 C 107.35328,110.91308 107.12909,110.61129 106.86609,110.39286 C 106.6031,110.17442 106.18208,110.06663 105.60145,110.06663 C 105.06262,110.06663 104.62858,110.18448 104.29951,110.42016 C 103.96894,110.65727 103.8037,110.94183 103.8037,111.27379 C 103.8037,111.48073 103.85975,111.65893 103.97184,111.80839 C 104.08394,111.95784 104.23915,112.08575 104.43597,112.19497 C 104.63289,112.30274 104.83122,112.38753 105.03244,112.44788 C 105.23358,112.50969 105.56556,112.59735 106.02978,112.71519 C 106.60741,112.85171 107.13199,113.00117 107.60043,113.165 C 108.06897,113.32882 108.46852,113.52714 108.79759,113.76138 C 109.12666,113.99563 109.38103,114.29167 109.56642,114.64951 C 109.75181,115.00878 109.84376,115.44853 109.84376,115.96731 z"
     style="fill:#999999"
     id="path5871" /><path
     d="M 118.17747,117.95912 L 118.17747,109.84963 C 118.17747,109.42857 118.27232,109.11241 118.46483,108.9026 C 118.65744,108.69278 118.906,108.58643 119.21211,108.58643 C 119.52543,108.58643 119.7798,108.68991 119.97382,108.89829 C 120.16923,109.1081 120.26549,109.42282 120.26549,109.84963 L 120.26549,117.95912 C 120.26549,118.38593 120.16923,118.70353 119.97382,118.91334 C 119.7784,119.12315 119.52543,119.23094 119.21211,119.23094 C 118.91181,119.23094 118.66316,119.12459 118.46914,118.91046 C 118.27373,118.69634 118.17747,118.38018 118.17747,117.95912 z"
     style="fill:#999999"
     id="path5873" /><path
     d="M 133.57585,108.58643 C 134.64076,108.58643 135.55468,108.802 136.31779,109.23457 C 137.08091,109.66856 137.66004,110.28364 138.05238,111.08121 C 138.44321,111.88023 138.64013,112.81579 138.64013,113.8936 C 138.64013,114.68831 138.53234,115.4126 138.31678,116.0636 C 138.10261,116.71316 137.78076,117.27794 137.35103,117.75505 C 136.91998,118.23216 136.39249,118.59862 135.76594,118.85155 C 135.13938,119.10304 134.42229,119.23094 133.61606,119.23094 C 132.81133,119.23094 132.09273,119.10016 131.45896,118.84149 C 130.82378,118.58137 130.29208,118.21491 129.86816,117.74212 C 129.44423,117.26932 129.12229,116.70023 128.90531,116.03629 C 128.68834,115.37093 128.57905,114.65238 128.57905,113.88067 C 128.57905,113.08883 128.69115,112.3631 128.91825,111.70348 C 129.14525,111.04242 129.47291,110.48052 129.90405,110.01778 C 130.33378,109.55503 130.85546,109.20007 131.47339,108.95433 C 132.09133,108.70859 132.79118,108.58643 133.57585,108.58643 z M 136.52905,113.88067 C 136.52905,113.12332 136.40833,112.46657 136.16399,111.91186 C 135.92255,111.35714 135.57624,110.93607 135.12504,110.65296 C 134.67525,110.36842 134.15639,110.22616 133.57435,110.22616 C 133.15905,110.22616 132.77534,110.30519 132.4219,110.46184 C 132.07118,110.61848 131.76657,110.84984 131.5122,111.1502 C 131.25783,111.45055 131.0581,111.83569 130.91001,112.30418 C 130.76202,112.77267 130.69013,113.29721 130.69013,113.8821 C 130.69013,114.46843 130.76342,115.00016 130.91001,115.47583 C 131.0581,115.95007 131.26504,116.34384 131.53375,116.65711 C 131.80247,116.96896 132.10998,117.2032 132.4578,117.35841 C 132.80552,117.51218 133.18783,117.59122 133.60312,117.59122 C 134.13483,117.59122 134.62351,117.45613 135.0704,117.18883 C 135.51738,116.92154 135.87082,116.50623 136.13381,115.9472 C 136.3983,115.38817 136.52905,114.69693 136.52905,113.88067 z"
     style="fill:#999999"
     id="path5875" /><path
     d="M 149.61662,109.83526 L 153.63755,115.90696 L 153.63755,109.77921 C 153.63755,109.38258 153.72237,109.08367 153.89342,108.88391 C 154.06297,108.68416 154.29147,108.58643 154.58174,108.58643 C 154.88063,108.58643 155.11485,108.68416 155.28881,108.88391 C 155.45976,109.08367 155.54749,109.38114 155.54749,109.77921 L 155.54749,117.87433 C 155.54749,118.77825 155.17381,119.2295 154.42653,119.2295 C 154.23974,119.2295 154.07159,119.20076 153.9221,119.14759 C 153.7727,119.09297 153.63183,119.00819 153.50108,118.89035 C 153.37024,118.77394 153.24812,118.63599 153.13602,118.47934 C 153.02393,118.3227 152.91324,118.16174 152.80114,117.99791 L 148.87938,111.99808 L 148.87938,118.0324 C 148.87938,118.42617 148.78884,118.72365 148.60635,118.92484 C 148.42237,119.12747 148.18956,119.22806 147.9036,119.22806 C 147.60902,119.22806 147.37189,119.12603 147.19363,118.92196 C 147.01546,118.71789 146.92642,118.42186 146.92642,118.03385 L 146.92642,110.09394 C 146.92642,109.75766 146.96231,109.49324 147.03851,109.30067 C 147.12755,109.09086 147.27414,108.91697 147.48249,108.78476 C 147.68803,108.6511 147.91082,108.585 148.15075,108.585 C 148.33755,108.585 148.49857,108.61518 148.63222,108.67554 C 148.76588,108.73589 148.88228,108.8178 148.98285,108.92128 C 149.08342,109.02475 149.18689,109.15696 149.29327,109.32078 C 149.39534,109.48749 149.50303,109.6585 149.61662,109.83526 z"
     style="fill:#999999"
     id="path5877" /></g><path
   id="path5879"
   style="fill:none;stroke:#809cc9;stroke-width:1.43708742"
   d="M 0.71854451,124.82695 L 156.29046,124.82695" /><path
   d="M 23.128208,80.247192 C 24.989875,79.550002 26.968166,79.201759 28.868711,79.201759 C 30.6915,79.201759 31.855159,79.581523 32.514298,80.374035 C 33.910323,79.582244 35.810868,79.201759 37.284649,79.201759 C 41.706874,79.201759 41.861511,80.722255 41.861511,85.189103 L 41.861511,95.071417 C 41.861511,95.514885 41.939258,95.514885 39.728591,95.514885 L 39.728591,84.998475 C 39.728591,81.76765 39.650827,80.785312 37.130904,80.785312 C 36.006132,80.785312 34.842482,81.006674 33.601076,81.703894 L 33.601076,95.292757 C 33.562198,95.419629 33.484451,95.451107 33.214073,95.482635 C 33.174303,95.482635 33.136318,95.514156 33.096556,95.514156 L 31.467264,95.514156 L 31.467264,84.998475 C 31.467264,81.894434 31.467264,80.753747 28.830717,80.753747 C 27.705936,80.753747 26.581163,80.943617 25.262002,81.48251 L 25.262002,95.071417 C 25.262002,95.514885 25.339766,95.514885 23.129091,95.514885 L 23.129091,80.247192 M 52.287543,79.201759 C 48.990973,79.201759 45.345394,79.993514 45.345394,88.451434 C 45.345394,94.976801 48.020828,95.989984 51.706151,95.989984 C 54.536212,95.989984 56.980155,95.198238 56.980155,94.817724 C 56.980155,94.342705 56.902399,93.613972 56.708893,93.201959 C 55.506365,93.899149 53.799318,94.278876 51.899665,94.278876 C 49.301103,94.278876 47.556061,93.645485 47.5163,88.735853 C 49.223356,88.735853 53.567826,88.704281 56.786649,88.165491 C 57.057911,87.120096 57.173652,85.599578 57.173652,84.269704 C 57.173652,81.102011 55.660993,79.201759 52.287543,79.201759 M 52.093162,80.785312 C 54.420462,80.785312 55.040741,82.083599 55.07961,84.61799 C 55.07961,85.282872 55.040741,86.074656 54.924107,86.834889 C 52.75231,87.27843 49.066953,87.27843 47.515416,87.27843 C 47.788445,81.514001 50.114862,80.785312 52.093162,80.785312 M 60.548852,80.595427 C 62.370767,79.581523 64.03982,79.201759 65.745984,79.201759 C 67.64652,79.201759 68.538918,79.645301 68.538918,80.184179 C 68.538918,80.500841 68.42141,81.039711 68.227904,81.35641 C 67.684515,81.102724 67.065137,80.88134 66.055223,80.88134 C 64.814709,80.88134 63.651042,81.165781 62.72065,81.862964 L 62.72065,95.072174 C 62.72065,95.515672 62.759536,95.515672 60.548852,95.515672 L 60.548852,80.595427 M 80.129509,80.247192 C 80.129509,79.835172 78.5011,79.201759 76.871808,79.201759 C 73.728974,79.201759 69.88989,80.120356 69.88989,87.944085 C 69.88989,95.355822 72.218074,96.021476 76.289541,96.021476 C 78.305828,96.021476 80.129509,95.102938 80.129509,94.596339 C 80.129509,94.311125 80.052637,93.867598 79.857364,93.487143 C 79.042722,93.993713 77.802209,94.469482 76.483931,94.469482 C 73.691872,94.469482 72.062571,93.804563 72.062571,88.039413 C 72.062571,81.672373 74.738005,80.785312 77.065305,80.785312 C 78.383583,80.785312 79.120478,81.102011 79.857364,81.514001 C 80.052637,81.13426 80.129509,80.595427 80.129509,80.247192 M 94.986626,94.976801 C 93.279578,95.705513 91.030908,95.990698 89.091486,95.990698 C 84.126746,95.990698 83.389851,94.217341 83.389851,90.004134 L 83.389851,80.089571 C 83.389851,79.678323 83.351857,79.678323 85.562541,79.678323 L 85.562541,90.194799 C 85.562541,93.362537 86.105046,94.43952 89.013721,94.43952 C 90.138511,94.43952 91.690047,94.249627 92.853697,93.679265 L 92.853697,80.090328 C 92.853697,79.679051 92.77595,79.679051 94.986626,79.679051 L 94.986626,94.976801 M 99.409735,80.595427 C 101.23163,79.581523 102.8998,79.201759 104.60597,79.201759 C 106.5065,79.201759 107.3989,79.645301 107.3989,80.184179 C 107.3989,80.500841 107.28227,81.039711 107.08876,81.35641 C 106.54537,81.102724 105.92513,80.88134 104.9161,80.88134 C 103.67557,80.88134 102.51192,81.165781 101.58065,81.862964 L 101.58065,95.072174 C 101.58065,95.515672 101.6204,95.515672 99.409735,95.515672 L 99.409735,80.595427 M 112.37865,79.676837 C 110.67162,79.676837 110.16799,79.676837 110.16799,80.532362 L 110.16799,95.514885 C 112.33979,95.514885 112.37865,95.514885 112.37865,95.071417 L 112.37865,79.676837 M 110.09023,74.102249 C 110.09023,75.147682 110.47812,75.527445 111.253,75.558937 C 112.14541,75.558937 112.57216,75.020854 112.57216,74.070015 C 112.61103,73.088368 112.30002,72.644848 111.4085,72.644848 C 110.55589,72.644848 110.1291,73.183689 110.09023,74.102249 M 116.05782,80.595427 C 116.05782,80.247192 116.13557,80.056586 116.29108,79.962 C 117.02797,79.613765 119.85979,79.201759 123.07862,79.201759 C 125.52254,79.201759 127.0732,80.184179 127.0732,83.034445 L 127.0732,85.093024 C 127.0732,90.731353 126.87969,94.944574 126.87969,94.944574 C 125.98732,95.355822 124.32001,95.989984 121.60394,95.989984 C 118.81189,96.021476 116.01982,95.800077 116.01982,91.111874 C 116.01982,86.645768 118.88964,85.948593 121.75946,85.948593 C 122.84535,85.948593 124.12563,86.04387 124.97915,86.329062 C 124.97915,86.329062 124.97915,84.269704 124.97915,83.382687 C 124.97915,81.324131 123.73863,80.880597 122.26397,80.880597 C 120.28654,80.880597 117.53336,81.197303 116.33083,81.672373 C 116.09759,81.324131 116.05782,80.785312 116.05782,80.595427 M 124.97826,87.628114 C 124.24138,87.405972 123.19436,87.311423 122.45746,87.311423 C 120.24678,87.311423 118.22962,87.691186 118.22962,91.175652 C 118.22962,94.43796 119.89779,94.470247 121.87518,94.470247 C 123.11659,94.470247 124.35801,94.185084 124.78389,93.805328 C 124.78476,93.804563 124.97826,90.003377 124.97826,87.628114 M 133.20865,95.071417 C 133.20865,95.514885 133.24753,95.514885 131.07484,95.514885 L 131.07484,73.088368 C 131.07484,72.232821 131.5016,72.232821 133.20865,72.232821 L 133.20865,95.071417"
   style="fill:#010101;stroke-width:2.02999997;stroke-miterlimit:4;stroke-dasharray:none"
   id="text2611" /><g
   transform="matrix(0.9797274,0,0,0.832158,170.37768,-31.752119)"
   id="g4503"><path
     d="M -45.749655,92.691592 C -25.709638,59.370739 -49.98206,5.3291313 -94.363693,10.819389 C -134.46337,15.776665 -135.10949,57.983708 -99.76917,68.010455 C -69.186498,76.695132 -93.451029,96.093536 -92.742037,109.01138 C -92.030055,121.92728 -66.155038,126.61324 -45.749655,92.691592 z"
     style="fill:#1b1a1b"
     id="path2339" /><circle
     cx="33.728001"
     cy="85.363998"
     r="15.414"
     transform="matrix(1.0917947,-0.2858168,0.2858168,1.0917947,-180.30817,13.494135)"
     style="fill:#1b1a1b"
     id="circle2341"
     sodipodi:cx="33.728001"
     sodipodi:cy="85.363998"
     sodipodi:rx="15.414"
     sodipodi:ry="15.414" /><path
     d="M -140.06215,48.935849 C -146.31997,49.541603 -150.90082,55.100456 -150.29507,61.358275 C -149.68817,67.620461 -144.12955,72.20487 -137.87064,71.59883 C -131.61373,70.985148 -127.02904,65.427621 -127.63726,59.169282 C -128.24543,52.915596 -133.80324,48.329809 -140.06215,48.935849 z"
     style="fill:#1b1a1b"
     id="path2343" /><path
     d="M -44.99294,91.339709 C -24.951831,58.018571 -49.224253,3.976963 -93.605885,9.4672202 C -133.70556,14.424496 -134.35249,56.632918 -99.012168,66.659664 C -68.429497,75.344341 -92.694028,94.742745 -91.984749,107.66168 C -91.271961,120.5762 -65.398322,125.26135 -44.99294,91.339709 z"
     style="fill:#bfbfbf"
     id="path2561" /><path
     d="M -86.84228,112.75985 C -88.056751,110.79004 -86.19955,108.60176 -84.290569,108.76815 C -81.251858,109.03428 -74.635637,108.73252 -69.415044,105.77341 C -56.372412,98.379694 -36.300952,62.803704 -46.395841,40.365295 C -50.915249,30.320886 -53.115898,27.444964 -57.770162,22.531645 C -58.719625,21.529587 -58.174556,21.584053 -57.531623,21.923221 C -55.014762,23.244092 -50.592026,28.36035 -46.055478,36.687677 C -38.390628,50.757116 -38.788117,67.483141 -41.638835,77.975343 C -43.624548,85.27439 -50.464117,101.78644 -60.480639,108.92577 C -70.5197,116.0815 -82.266433,120.18559 -86.84228,112.75985 z"
     style="fill:#000000"
     id="path2563" /><path
     d="M -95.930347,66.591355 C -102.76341,64.562985 -111.57238,61.738267 -116.66758,55.073789 C -120.42371,50.15984 -122.3305,44.796759 -122.81745,41.755703 C -122.99069,40.670602 -123.13785,39.765332 -122.82526,39.515509 C -122.68064,39.399486 -120.02045,45.412302 -116.04367,50.451645 C -112.06769,55.492366 -106.51047,58.440379 -101.88092,59.511496 C -97.763206,60.46345 -89.233623,62.555175 -86.347769,65.013729 C -83.380949,67.540918 -83.133309,73.00119 -84.131664,73.617197 C -85.138469,74.236583 -87.180025,69.187603 -95.930347,66.591355 z"
     style="fill:#000000"
     id="path2565" /><path
     d="M -81.840812,113.72311 C -81.972699,115.28707 -80.176315,115.59377 -77.75828,115.23141 C -74.658947,114.76654 -72.037923,114.41754 -68.470623,112.62971 C -63.63582,110.20674 -58.742752,106.74072 -55.159223,102.06476 C -44.467444,88.115271 -40.681354,71.610444 -41.264404,69.236185 C -41.459242,71.196944 -44.040349,81.489071 -49.943268,90.767882 C -57.52457,102.68631 -63.022197,109.03464 -75.701416,112.1124 C -79.230011,112.96964 -81.668137,111.66432 -81.840812,113.72311 z"
     style="fill:#ffffff"
     id="path2567" /><path
     d="M -109.96233,59.479354 C -108.51822,60.704238 -105.55938,62.336389 -99.737455,64.245644 C -92.705873,66.551032 -89.282274,68.550326 -87.848506,69.508429 C -86.329222,70.525809 -85.366279,72.795951 -85.27115,70.779631 C -85.17194,68.761076 -86.416123,67.025373 -89.192166,66.104839 C -91.070345,65.481234 -94.229847,63.996111 -97.258539,63.398373 C -99.204694,63.014221 -102.37098,62.251845 -105.08636,61.420426 C -106.57454,60.963046 -108.09089,60.161888 -109.96233,59.479354 z"
     style="fill:#ffffff"
     id="path2569" /><circle
     cx="34.681"
     cy="84.375"
     r="15.414"
     transform="matrix(1.0917947,-0.2858168,0.2858168,1.0917947,-180.30817,13.494135)"
     style="fill:#bfbfbf"
     id="circle2577"
     sodipodi:cx="34.681"
     sodipodi:cy="84.375"
     sodipodi:rx="15.414"
     sodipodi:ry="15.414" /><path
     d="M -128.68413,108.37945 C -115.15301,120.91784 -94.786007,103.69471 -103.75445,88.482597 C -104.76154,86.774656 -106.06907,85.474351 -105.63906,86.782721 C -102.77288,95.529828 -105.42141,102.44941 -110.3632,106.01451 C -115.20857,109.5112 -121.86847,110.09622 -127.20028,107.33186 C -128.76601,106.5203 -129.41538,107.70291 -128.68413,108.37945 z"
     style="fill:#000000"
     id="path2579" /><path
     d="M -118.06686,110.95477 C -116.34413,110.59244 -106.32442,107.99742 -103.97055,99.756195 C -103.23743,97.186709 -103.1058,97.702893 -103.31295,99.095232 C -104.37035,106.20143 -111.08741,111.44338 -116.80312,111.63773 C -117.963,111.75704 -119.48484,111.25131 -118.06686,110.95477 z"
     style="fill:#ffffff"
     id="path2585" /><path
     d="M -139.30435,47.583681 C -145.56216,48.189435 -150.14301,53.748288 -149.53726,60.006106 C -148.93065,66.2672 -143.37174,70.852702 -137.11392,70.246948 C -130.85592,69.632979 -126.27151,64.074361 -126.88083,57.816308 C -127.48791,51.562336 -133.04544,46.977641 -139.30435,47.583681 z"
     style="fill:#bfbfbf"
     id="path2589" /><path
     d="M -144.46878,67.571208 C -144.39939,68.375508 -143.29781,69.408789 -141.56718,69.883196 C -140.08038,70.290771 -136.24758,71.332594 -131.32372,68.224839 C -126.39986,65.117084 -125.8321,56.804464 -128.07041,54.35955 C -128.76326,53.121154 -129.66426,52.21957 -128.94737,54.195974 C -127.13695,59.186468 -130.65487,63.854586 -133.68917,66.0162 C -136.72238,68.177528 -140.56932,67.154692 -142.14014,66.675779 C -143.71095,66.196867 -144.53929,66.740369 -144.46878,67.571208 z"
     style="fill:#000000"
     id="path2591" /><path
     d="M -138.11472,68.687851 C -137.66344,68.281557 -135.37889,68.447629 -133.31622,67.338341 C -131.25464,66.229338 -128.80419,63.798254 -128.36692,60.343756 C -128.10933,58.315237 -128.03197,58.824631 -127.92942,59.929403 C -128.24939,65.67243 -133.53086,68.844638 -136.55132,69.263202 C -137.36636,69.376239 -138.8007,69.307247 -138.11472,68.687851 z"
     style="fill:#ffffff"
     id="path2597" /><path
     d="M -47.767489,69.693822 C -39.234739,45.099506 -57.090457,7.9576459 -93.212919,12.425552 C -125.85191,16.461012 -126.37823,50.814524 -97.613495,58.976486 C -65.031338,63.908526 -84.650966,88.487524 -87.434101,100.88229 C -89.929232,111.99304 -61.102889,113.82164 -47.767489,69.693822 z"
     style="fill:#999999"
     id="path2561_1_" /><path
     d="M -70.093288,88.904346 C -78.920045,87.812046 -91.622267,107.74061 -79.645446,105.40671 C -67.670523,103.07448 -91.622267,107.74061 -79.645446,105.40671 C -73.888849,104.55302 -69.119803,102.52058 -64.850547,97.64761 C -59.283982,91.295233 -50.968477,77.5735 -48.563483,68.707586 C -46.537563,61.232354 -47.555881,49.650767 -49.644305,60.532553 C -51.786232,71.700167 -61.266532,89.996647 -70.093288,88.904346 z"
     style="fill:#f3f3f3"
     id="path2571" /><path
     d="M -129.3854,104.84502 C -127.34184,104.87935 -126.10573,105.16706 -124.03635,106.61908 C -119.94568,108.31891 -112.42648,107.24179 -108.9543,102.67081 C -105.48212,98.099823 -105.36811,91.801741 -106.69103,87.996073 C -109.92728,78.682039 -123.67593,78.846722 -129.81795,86.579362 C -136.46216,95.2146 -131.42897,104.81069 -129.3854,104.84502 z"
     style="fill:#999999"
     id="path2581" /><path
     d="M -147.63565,61.683628 C -147.22833,62.966318 -146.18754,64.837882 -143.9897,65.149887 C -141.05481,65.566524 -140.45479,66.892551 -136.9892,66.204631 C -133.52361,65.516711 -130.89674,62.676625 -129.84557,59.535064 C -128.64212,55.188187 -130.44406,52.944024 -133.15599,50.940416 C -135.86791,48.936808 -141.83359,49.152263 -145.3938,52.39768 C -147.92393,54.702631 -148.62733,58.560726 -147.63565,61.683628 z"
     style="fill:#999999"
     id="path2593_2_" /><path
     d="M -136.11009,64.55822 C -133.44721,63.861113 -129.92545,60.232613 -131.67381,57.462279 C -133.83086,54.048798 -139.84051,56.970651 -140.04374,60.77103 C -140.24777,64.572786 -138.93238,65.297057 -136.11009,64.55822 z"
     style="fill:#f3f3f3"
     id="path256" /><path
     d="M -116.11512,105.50904 C -113.8431,104.91425 -106.88259,102.0818 -108.18994,91.962983 C -108.85161,86.83742 -111.64725,98.324328 -116.82409,100.04237 C -124.66721,102.64507 -123.78607,107.51719 -116.11512,105.50904 z"
     style="fill:#f3f3f3"
     id="path258" /></g></g>
			</g>
	</svg>