strelka 0.18.0 → 0.19.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/History.rdoc +24 -0
  5. data/IDEAS.rdoc +0 -1
  6. data/README.rdoc +12 -6
  7. data/Rakefile +4 -94
  8. data/lib/strelka.rb +1 -1
  9. data/lib/strelka/app.rb +2 -3
  10. data/lib/strelka/app/parameters.rb +3 -12
  11. data/lib/strelka/app/restresources.rb +0 -3
  12. data/lib/strelka/cookie.rb +1 -1
  13. data/lib/strelka/mixins.rb +1 -1
  14. data/lib/strelka/multirunner.rb +34 -11
  15. data/lib/strelka/paramvalidator.rb +22 -45
  16. data/lib/strelka/session/default.rb +1 -1
  17. data/spec/strelka/app/parameters_spec.rb +1 -27
  18. data/spec/strelka/app_spec.rb +0 -12
  19. data/spec/strelka/mixins_spec.rb +0 -10
  20. data/spec/strelka/paramvalidator_spec.rb +4 -54
  21. metadata +51 -143
  22. metadata.gz.sig +0 -0
  23. data/.gemtest +0 -0
  24. data/ChangeLog +0 -3824
  25. data/MILESTONES.rdoc +0 -24
  26. data/Manifest.txt +0 -144
  27. data/contrib/hoetemplate/History.rdoc.erb +0 -4
  28. data/contrib/hoetemplate/Manifest.txt.erb +0 -8
  29. data/contrib/hoetemplate/README.rdoc.erb +0 -35
  30. data/contrib/hoetemplate/Rakefile.erb +0 -24
  31. data/contrib/hoetemplate/data/project/apps/file_name_app +0 -37
  32. data/contrib/hoetemplate/data/project/templates/layout.tmpl.erb +0 -13
  33. data/contrib/hoetemplate/data/project/templates/top.tmpl.erb +0 -8
  34. data/contrib/hoetemplate/lib/file_name.rb.erb +0 -15
  35. data/contrib/hoetemplate/spec/file_name_spec.rb.erb +0 -21
  36. data/contrib/strelka-dogs/doggie6.svg +0 -271
  37. data/contrib/strelka-dogs/doggie7.svg +0 -49
  38. data/examples/Procfile +0 -9
  39. data/examples/apps/auth-demo +0 -29
  40. data/examples/apps/auth-demo2 +0 -37
  41. data/examples/apps/hello-world +0 -30
  42. data/examples/apps/sessions-demo +0 -42
  43. data/examples/apps/upload-demo +0 -74
  44. data/examples/apps/ws-chat +0 -69
  45. data/examples/apps/ws-echo +0 -61
  46. data/examples/config.yml +0 -33
  47. data/examples/gen-config.rb +0 -52
  48. data/examples/static/examples.css +0 -4
  49. data/examples/static/examples.html +0 -33
  50. data/examples/strelka.conf.example +0 -51
  51. data/examples/templates/auth-form.tmpl +0 -14
  52. data/examples/templates/auth-success.tmpl +0 -5
  53. data/examples/templates/layout.tmpl +0 -31
  54. data/examples/templates/upload-form.tmpl +0 -17
  55. data/examples/templates/upload-success.tmpl +0 -13
@@ -1,24 +0,0 @@
1
- = Strelka Milestones
2
-
3
- == v0.0.1
4
-
5
- === Documentation
6
-
7
- [√] Ensure the README is up to date
8
- [ ] Update the IDEAS doc
9
- [ ] Extract the rest of the tutorial part of the manual out into RDoc for the app classes
10
- [ ] Lay out the framework for the 'cookbook' section of the manual
11
-
12
- === Code
13
-
14
- [ ] Finish the 'setup' task in bin/strelka
15
- [ ] Add support for Mongrel2's async uploads. Might require some Ruby-Mongrel2 work as well.
16
-
17
-
18
- == v0.1.0
19
-
20
- === Features
21
-
22
- [ ] Add WebSocketService and plugins
23
-
24
-
@@ -1,144 +0,0 @@
1
- .gemtest
2
- ChangeLog
3
- Deploying.rdoc
4
- History.rdoc
5
- IDEAS.rdoc
6
- MILESTONES.rdoc
7
- Manifest.txt
8
- Plugins.rdoc
9
- README.rdoc
10
- Rakefile
11
- Tutorial.rdoc
12
- bin/strelka
13
- contrib/hoetemplate/History.rdoc.erb
14
- contrib/hoetemplate/Manifest.txt.erb
15
- contrib/hoetemplate/README.rdoc.erb
16
- contrib/hoetemplate/Rakefile.erb
17
- contrib/hoetemplate/data/project/apps/file_name_app
18
- contrib/hoetemplate/data/project/templates/layout.tmpl.erb
19
- contrib/hoetemplate/data/project/templates/top.tmpl.erb
20
- contrib/hoetemplate/lib/file_name.rb.erb
21
- contrib/hoetemplate/spec/file_name_spec.rb.erb
22
- contrib/strelka-dogs/doggie6.svg
23
- contrib/strelka-dogs/doggie7.svg
24
- examples/Procfile
25
- examples/apps/auth-demo
26
- examples/apps/auth-demo2
27
- examples/apps/hello-world
28
- examples/apps/sessions-demo
29
- examples/apps/upload-demo
30
- examples/apps/ws-chat
31
- examples/apps/ws-echo
32
- examples/config.yml
33
- examples/gen-config.rb
34
- examples/static/examples.css
35
- examples/static/examples.html
36
- examples/strelka.conf.example
37
- examples/templates/auth-form.tmpl
38
- examples/templates/auth-success.tmpl
39
- examples/templates/layout.tmpl
40
- examples/templates/upload-form.tmpl
41
- examples/templates/upload-success.tmpl
42
- lib/strelka.rb
43
- lib/strelka/app.rb
44
- lib/strelka/app/auth.rb
45
- lib/strelka/app/errors.rb
46
- lib/strelka/app/filters.rb
47
- lib/strelka/app/negotiation.rb
48
- lib/strelka/app/parameters.rb
49
- lib/strelka/app/restresources.rb
50
- lib/strelka/app/routing.rb
51
- lib/strelka/app/sessions.rb
52
- lib/strelka/app/templating.rb
53
- lib/strelka/authprovider.rb
54
- lib/strelka/authprovider/basic.rb
55
- lib/strelka/authprovider/hostaccess.rb
56
- lib/strelka/behavior/plugin.rb
57
- lib/strelka/cli.rb
58
- lib/strelka/command/config.rb
59
- lib/strelka/command/discover.rb
60
- lib/strelka/command/start.rb
61
- lib/strelka/constants.rb
62
- lib/strelka/cookie.rb
63
- lib/strelka/cookieset.rb
64
- lib/strelka/discovery.rb
65
- lib/strelka/exceptions.rb
66
- lib/strelka/httprequest.rb
67
- lib/strelka/httprequest/acceptparams.rb
68
- lib/strelka/httprequest/auth.rb
69
- lib/strelka/httprequest/negotiation.rb
70
- lib/strelka/httprequest/session.rb
71
- lib/strelka/httpresponse.rb
72
- lib/strelka/httpresponse/negotiation.rb
73
- lib/strelka/httpresponse/session.rb
74
- lib/strelka/mixins.rb
75
- lib/strelka/multipartparser.rb
76
- lib/strelka/multirunner.rb
77
- lib/strelka/paramvalidator.rb
78
- lib/strelka/plugins.rb
79
- lib/strelka/router.rb
80
- lib/strelka/router/default.rb
81
- lib/strelka/router/exclusive.rb
82
- lib/strelka/session.rb
83
- lib/strelka/session/db.rb
84
- lib/strelka/session/default.rb
85
- lib/strelka/signal_handling.rb
86
- lib/strelka/testing.rb
87
- lib/strelka/websocketserver.rb
88
- lib/strelka/websocketserver/heartbeat.rb
89
- lib/strelka/websocketserver/routing.rb
90
- spec/constants.rb
91
- spec/data/error.tmpl
92
- spec/data/forms/2_images.form
93
- spec/data/forms/singleupload.form
94
- spec/data/forms/testform.form
95
- spec/data/forms/testform_bad.form
96
- spec/data/forms/testform_badheaders.form
97
- spec/data/forms/testform_metadataonly.form
98
- spec/data/forms/testform_msie.form
99
- spec/data/forms/testform_multivalue.form
100
- spec/data/forms/testform_truncated_metadata.form
101
- spec/data/layout.tmpl
102
- spec/data/main.tmpl
103
- spec/helpers.rb
104
- spec/strelka/app/auth_spec.rb
105
- spec/strelka/app/errors_spec.rb
106
- spec/strelka/app/filters_spec.rb
107
- spec/strelka/app/negotiation_spec.rb
108
- spec/strelka/app/parameters_spec.rb
109
- spec/strelka/app/restresources_spec.rb
110
- spec/strelka/app/routing_spec.rb
111
- spec/strelka/app/sessions_spec.rb
112
- spec/strelka/app/templating_spec.rb
113
- spec/strelka/app_spec.rb
114
- spec/strelka/authprovider/basic_spec.rb
115
- spec/strelka/authprovider/hostaccess_spec.rb
116
- spec/strelka/authprovider_spec.rb
117
- spec/strelka/cli_spec.rb
118
- spec/strelka/cookie_spec.rb
119
- spec/strelka/cookieset_spec.rb
120
- spec/strelka/discovery_spec.rb
121
- spec/strelka/exceptions_spec.rb
122
- spec/strelka/httprequest/acceptparams_spec.rb
123
- spec/strelka/httprequest/auth_spec.rb
124
- spec/strelka/httprequest/negotiation_spec.rb
125
- spec/strelka/httprequest/session_spec.rb
126
- spec/strelka/httprequest_spec.rb
127
- spec/strelka/httpresponse/negotiation_spec.rb
128
- spec/strelka/httpresponse/session_spec.rb
129
- spec/strelka/httpresponse_spec.rb
130
- spec/strelka/mixins_spec.rb
131
- spec/strelka/multipartparser_spec.rb
132
- spec/strelka/paramvalidator_spec.rb
133
- spec/strelka/plugins_spec.rb
134
- spec/strelka/router/default_spec.rb
135
- spec/strelka/router/exclusive_spec.rb
136
- spec/strelka/router_spec.rb
137
- spec/strelka/session/db_spec.rb
138
- spec/strelka/session/default_spec.rb
139
- spec/strelka/session_spec.rb
140
- spec/strelka/testing_spec.rb
141
- spec/strelka/websocketserver/heartbeat_spec.rb
142
- spec/strelka/websocketserver/routing_spec.rb
143
- spec/strelka/websocketserver_spec.rb
144
- spec/strelka_spec.rb
@@ -1,4 +0,0 @@
1
- ## 0.0.1 [<%= Time.now.strftime("%Y-%m-%d") %>] Michael Granger <ged@FaerieMUD.org>
2
-
3
- Initial release.
4
-
@@ -1,8 +0,0 @@
1
- History.rdoc
2
- README.rdoc
3
- Rakefile
4
- data/<%= file_name %>/apps/<%= file_name %>_app
5
- data/<%= file_name %>/templates/layout.tmpl
6
- data/<%= file_name %>/templates/top.tmpl
7
- lib/<%= file_name %>.rb
8
- spec/<%= file_name %>_spec.rb
@@ -1,35 +0,0 @@
1
- = <%= project %>
2
-
3
- * <%= XIF %> (url)
4
-
5
- == Description
6
-
7
- <%= XIF %> (describe your package)
8
-
9
- == Installation
10
-
11
- gem install <%= project %>
12
-
13
- == License
14
-
15
- Copyright (c) <%= Time.now.strftime("%Y") %>, <%= XIF %>
16
- All rights reserved.
17
- <%
18
-
19
- # Okay, this is admittedly super-gross, but sow is pretty inflexible
20
- # about its project templates. C'est la vie.
21
- require 'pathname'
22
- projectdir = Pathname( path ).dirname
23
- olddir = projectdir + 'data/project'
24
- datadir = projectdir + 'data' + project
25
-
26
- # Rename the datadir to match the project name
27
- mv olddir, datadir, :verbose => true
28
-
29
- # ... then change all of the paths to match before sow moves
30
- # 'em all.
31
- paths.each do |path|
32
- path.sub!( %r{/project/}, "/#{project}/" )
33
- end
34
-
35
- %>
@@ -1,24 +0,0 @@
1
- #!/usr/bin/env rake
2
-
3
- begin
4
- require 'hoe'
5
- rescue LoadError
6
- abort "This Rakefile requires 'hoe' (gem install hoe)"
7
- end
8
-
9
- # Sign gems
10
- Hoe.plugin :signing
11
-
12
- Hoe.spec '<%= project %>' do
13
- self.readme_file = 'README.rdoc'
14
- self.history_file = 'History.rdoc'
15
- self.extra_rdoc_files = FileList[ '*.rdoc' ]
16
-
17
- self.developer '<%= XIF %>', '<%= XIF %>' # (name, email)
18
-
19
- self.dependency 'strelka', '~> 0.1'
20
- self.dependency 'rspec', '~> 2.7', :developer
21
-
22
- self.require_ruby_version( '~> 1.9' )
23
- end
24
-
@@ -1,37 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #encoding: utf-8
3
-
4
- require 'strelka'
5
-
6
-
7
- # The main <%= project %> application
8
- class <%= klass %>::Application < Strelka::App
9
-
10
- # Uncomment this if you need an appid other than
11
- # '<%= klass.gsub(/[^[:alnum:]]+/, '-').downcase %>-application'.
12
- #ID = '<%= XIF %>' # (set the app id of the main application)
13
-
14
- # Load some plugins
15
- plugins :templating, :routing
16
-
17
- # By default, responses are HTML
18
- default_type 'text/html'
19
-
20
- # Templating -- wrap everything in the layout
21
- layout 'layout.tmpl'
22
- templates \
23
- :top => 'top.tmpl'
24
-
25
-
26
- # GET request handler -- handles all GET requests
27
- get do |req|
28
- # Use the 'top' template for the body, wrapped in the 'layout' template
29
- return :top
30
- end
31
-
32
-
33
- end # class <%= klass %>::Application
34
-
35
-
36
- <%= klass %>::Application.run if __FILE__ == $0
37
-
@@ -1,13 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>
5
- <%= XIF %> (application title)
6
- </title>
7
- </head>
8
- <body>
9
- <!-- <%= XIF %> (set up the main layout template) -->
10
- <?attr body ?>
11
- </body>
12
- </html>
13
-
@@ -1,8 +0,0 @@
1
- <!-- <%= XIF %> (set up the main content template) -->
2
-
3
- <p>Your request looked this:</p>
4
-
5
- <pre><code>
6
- <?prettyprint request ?>
7
- </code></pre>
8
-
@@ -1,15 +0,0 @@
1
- # -*- ruby -*-
2
- # vim: set nosta noet ts=4 sw=4:
3
- # frozen-string-literal: true
4
-
5
- # <%= XIF %> (top-level documentation)
6
- module <%= klass %>
7
-
8
- # Library version constant
9
- VERS<%# this is just here so Hoe doesn't see this constant %>ION = '0.0.1'
10
-
11
- # Version-control revision constant
12
- REVISION = %q$Revision$
13
-
14
- end # module <%= klass %>
15
-
@@ -1,21 +0,0 @@
1
- #!/usr/bin/env rspec -cfd -b
2
-
3
- BEGIN {
4
- require 'pathname'
5
- basedir = Pathname( __FILE__ ).dirname.parent
6
- libdir = basedir + 'lib'
7
-
8
- $LOAD_PATH.unshift( libdir.to_s ) unless $LOAD_PATH.include?( libdir.to_s )
9
- }
10
-
11
- require 'rspec'
12
- require '<%= file_name %>'
13
-
14
- RSpec.describe <%= klass %> do
15
-
16
- it "is well-tested" do
17
- fail "it isn't"
18
- end
19
-
20
- end
21
-
@@ -1,271 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
- <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
-
4
- <svg
5
- xmlns:dc="http://purl.org/dc/elements/1.1/"
6
- xmlns:cc="http://creativecommons.org/ns#"
7
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
8
- xmlns:svg="http://www.w3.org/2000/svg"
9
- xmlns="http://www.w3.org/2000/svg"
10
- xmlns:xlink="http://www.w3.org/1999/xlink"
11
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
12
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
13
- width="744.09448"
14
- height="1052.3622"
15
- id="svg2"
16
- version="1.1"
17
- inkscape:version="0.48.1 r9760"
18
- sodipodi:docname="strelka.svg">
19
- <defs
20
- id="defs4">
21
- <linearGradient
22
- id="linearGradient3937">
23
- <stop
24
- style="stop-color:#ff8080;stop-opacity:1;"
25
- offset="0"
26
- id="stop3939" />
27
- <stop
28
- style="stop-color:#9e2c21;stop-opacity:1;"
29
- offset="1"
30
- id="stop3941" />
31
- </linearGradient>
32
- <linearGradient
33
- id="linearGradient3919">
34
- <stop
35
- style="stop-color:#ffffff;stop-opacity:1;"
36
- offset="0"
37
- id="stop3921" />
38
- <stop
39
- style="stop-color:#141414;stop-opacity:1;"
40
- offset="1"
41
- id="stop3923" />
42
- </linearGradient>
43
- <radialGradient
44
- inkscape:collect="always"
45
- xlink:href="#linearGradient3919"
46
- id="radialGradient3925"
47
- cx="643.68433"
48
- cy="199.69398"
49
- fx="643.68433"
50
- fy="199.69398"
51
- r="26.376728"
52
- gradientTransform="matrix(0.66419899,0.02686069,-0.02805917,0.69383424,244.26061,-69.265837)"
53
- gradientUnits="userSpaceOnUse" />
54
- <radialGradient
55
- inkscape:collect="always"
56
- xlink:href="#linearGradient3937"
57
- id="radialGradient3943"
58
- cx="572.66656"
59
- cy="253.76654"
60
- fx="572.66656"
61
- fy="253.76654"
62
- r="16.57774"
63
- gradientTransform="matrix(-0.21951876,-0.97560828,1.3304011,-0.29934965,354.54324,891.57038)"
64
- gradientUnits="userSpaceOnUse" />
65
- </defs>
66
- <sodipodi:namedview
67
- id="base"
68
- pagecolor="#ffffff"
69
- bordercolor="#666666"
70
- borderopacity="1.0"
71
- inkscape:pageopacity="0.0"
72
- inkscape:pageshadow="2"
73
- inkscape:zoom="3.3016576"
74
- inkscape:cx="294.86424"
75
- inkscape:cy="843.35844"
76
- inkscape:document-units="px"
77
- inkscape:current-layer="layer3"
78
- showgrid="false"
79
- inkscape:window-width="1280"
80
- inkscape:window-height="752"
81
- inkscape:window-x="0"
82
- inkscape:window-y="0"
83
- inkscape:window-maximized="1"
84
- inkscape:object-paths="true"
85
- showguides="true"
86
- inkscape:guide-bbox="true"
87
- inkscape:snap-global="false" />
88
- <metadata
89
- id="metadata7">
90
- <rdf:RDF>
91
- <cc:Work
92
- rdf:about="">
93
- <dc:format>image/svg+xml</dc:format>
94
- <dc:type
95
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
96
- <dc:title />
97
- </cc:Work>
98
- </rdf:RDF>
99
- </metadata>
100
- <g
101
- inkscape:groupmode="layer"
102
- id="layer3"
103
- inkscape:label="Layer"
104
- style="display:inline">
105
- <path
106
- sodipodi:type="arc"
107
- id="path3896"
108
- sodipodi:cx="570.23114"
109
- sodipodi:cy="62.286419"
110
- sodipodi:rx="9.0913725"
111
- sodipodi:ry="14.89975"
112
- d="m 579.32251,62.286419 a 9.0913725,14.89975 0 1 1 -18.18274,0 9.0913725,14.89975 0 1 1 18.18274,0 z"
113
- transform="matrix(0.91371294,-0.44491198,0.4211509,0.96526406,22.02457,254.35102)"
114
- style="stroke-width:1.20878816;stroke-miterlimit:4;stroke-dasharray:none" />
115
- <path
116
- sodipodi:type="arc"
117
- id="path3898"
118
- sodipodi:cx="576.60773"
119
- sodipodi:cy="88.108444"
120
- sodipodi:rx="11.553619"
121
- sodipodi:ry="8.0180855"
122
- d="m 588.16135,88.108444 a 11.553619,8.0180855 0 1 1 -23.10724,0 11.553619,8.0180855 0 1 1 23.10724,0 z"
123
- transform="matrix(0.97267759,0,0,1,15.943714,-0.75761441)"
124
- style="fill:none;stroke:#000000;stroke-width:1.2674346;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
125
- <path
126
- sodipodi:type="arc"
127
- id="path3900"
128
- sodipodi:cx="576.60773"
129
- sodipodi:cy="109.95299"
130
- sodipodi:rx="10.290929"
131
- sodipodi:ry="10.796005"
132
- d="m 586.89866,109.95299 a 10.290929,10.796005 0 1 1 -20.58186,0 10.290929,10.796005 0 1 1 20.58186,0 z"
133
- transform="matrix(1.1226994,0,0,0.98830409,-71.441695,-0.50818762)"
134
- style="fill:none;stroke:#000000;stroke-width:1.18667817;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
135
- <path
136
- id="path3902"
137
- style="fill:#000000;fill-opacity:1;stroke:none"
138
- d="m 569.73682,74.660786 c 2.58041,1.502859 6.08076,61.871564 6.08076,61.871564 l 1.19102,-0.39431 c 0,0 -3.11358,-61.020555 -0.85888,-64.255171 7.61965,-10.931213 -15.78482,-2.680402 -6.4129,2.777917 z"
139
- inkscape:connector-curvature="0"
140
- sodipodi:nodetypes="sccss" />
141
- <path
142
- style="fill:none;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
143
- d="m 560.25585,128.45141 c 0,0 4.71964,7.64871 14.26841,12.2481 9.54877,4.59938 15.65737,-1.51523 14.52094,-1.13642"
144
- id="path3907"
145
- inkscape:connector-curvature="0"
146
- sodipodi:nodetypes="czc" />
147
- <path
148
- style="fill:none;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
149
- d="m 537.27489,228.45651 c 0.16835,-0.0421 0.33671,-0.0842 0,0 z"
150
- id="path4108"
151
- inkscape:connector-curvature="0" />
152
- <path
153
- style="fill:none;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
154
- d="m 534.74951,222.45002 c 0.19568,13.30165 -27.15043,48.01954 -43.81537,53.03302 -23.87464,7.18243 73.61487,36.68986 73.10979,36.81613 -0.50508,0.12627 6.27054,-25.92695 29.92576,-33.33503 4.02036,-1.25905 -59.44978,-72.12106 -59.22018,-56.51412 z"
155
- id="path4112"
156
- inkscape:connector-curvature="0"
157
- sodipodi:nodetypes="sssss" />
158
- <path
159
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
160
- d="m 532.23477,214.10194 c 0,0 -0.90639,58.74374 23.33639,63.70404 24.24278,4.9603 102.01791,16.81037 117.31445,12.74991 16.87803,-5.87731 19.96133,-29.11265 16.96383,-38.55085 -2.99749,-9.4382 -34.05545,-23.01043 -35.25254,-37.12754 -6.8572,-14.62825 -8.50321,-21.34168 -21.05873,-28.75263 -0.53572,0 -22.73995,-10.2185 -61.91698,-12.84926 -39.17703,-2.63076 -94.01317,3.76267 -115.27581,9.41135 -21.26264,5.64868 -40.37659,19.99027 -37.21023,33.25626 3.16637,13.266 13.15952,32.25349 34.43628,26.41896 21.27676,-5.83453 22.51967,-4.76534 30.98214,-8.57143 8.46247,-3.80609 47.6812,-19.68881 47.6812,-19.68881 z"
161
- id="path3909"
162
- inkscape:connector-curvature="0"
163
- sodipodi:nodetypes="czczcczzzzzc" />
164
- <path
165
- style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
166
- d="m 590.6867,203.83404 c -0.53163,4.27204 -0.97628,7.23948 -0.92862,10.85839 0.0477,3.61891 1.60955,10.50552 1.68624,10.60736"
167
- id="path3911"
168
- inkscape:connector-curvature="0"
169
- sodipodi:nodetypes="czc" />
170
- <path
171
- style="fill:none;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
172
- d="m 532.47666,214.06184 15.40483,-3.03046"
173
- id="path3913"
174
- inkscape:connector-curvature="0" />
175
- <path
176
- style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.25000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;"
177
- d="m 683.21429,246.82647 c -11.25,-4.82143 -28.57142,-8.39286 -35.17857,-7.32143 -6.60715,1.07143 -15.72779,4.01586 -16.25,11.78571 -0.52222,7.76984 11.18981,14.4226 19.28571,18.39286 8.0959,3.97026 12.37049,7.98254 27.14286,4.10714 14.77237,-3.8754 16.24999,-22.14285 5,-26.96428 z"
178
- id="path3915"
179
- inkscape:connector-curvature="0"
180
- sodipodi:nodetypes="zzzzzz" />
181
- <path
182
- style="fill:none;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
183
- d="m 579.32249,244.99776 c -0.50508,1.01015 0.0526,6.42334 8.58629,20.70813 8.53364,14.28479 35.35534,22.60216 35.35534,22.60216"
184
- id="path4067"
185
- inkscape:connector-curvature="0"
186
- sodipodi:nodetypes="czc" />
187
- <path
188
- style="fill:url(#radialGradient3943);fill-opacity:1;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
189
- d="m 579.06995,245.62911 c 0,0 -7.46174,5.73221 -13.83536,12.40405 -6.37362,6.67185 -11.73413,13.98618 -7.75665,16.25902 12.92698,4.03408 30.91885,-8.23642 30.53408,-8.86531 -9.15139,-14.95734 -8.94207,-19.79776 -8.94207,-19.79776 z"
190
- id="path4072"
191
- inkscape:connector-curvature="0"
192
- sodipodi:nodetypes="cscsc" />
193
- <path
194
- style="fill:none;stroke:#000000;stroke-width:1.25;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
195
- d="m 581.59533,254.97302 c -7.51966,8.41071 -11.57804,9.94587 -19.44543,12.6269"
196
- id="path4074"
197
- inkscape:connector-curvature="0"
198
- sodipodi:nodetypes="cc" />
199
- <path
200
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:0.96467054px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
201
- d="M 557.12063,312.85208 665.85532,390.1347 654.33511,401.54412 549.8447,329.64328 z"
202
- id="path3895"
203
- inkscape:connector-curvature="0" />
204
- <path
205
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
206
- d="m 300.77017,296.43657 c 0,0 -49.75287,13.43154 -82.81451,27.24446 -33.06163,13.81291 -79.78733,31.56898 -79.78733,31.56898 l 24.00107,34.81236 126.92458,-52.97534 z"
207
- id="path3897"
208
- inkscape:connector-curvature="0"
209
- sodipodi:nodetypes="czcccc" />
210
- <path
211
- style="fill:#3d271a;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
212
- d="m 394.20933,390.58552 7.28168,-5.56835 2.14167,-20.13172 -10.28002,-2.14167 z"
213
- id="path3866"
214
- inkscape:connector-curvature="0"
215
- sodipodi:nodetypes="ccccc" />
216
- <path
217
- style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
218
- d="m 484.46429,273.4348 c -14.63542,-4.82636 -67.39113,4.75904 -95.09357,0.19905 -27.70244,-4.56 -86.18275,-8.49499 -107.79178,-13.25236 -21.60902,-4.75738 -103.90037,-25.16217 -103.90037,-25.16217 0,0 32.99811,27.96471 78.54425,34.77131 45.54613,6.80659 58.21399,12.42571 58.21399,12.42571 0,0 -16.15923,7.29173 -21.83438,16.21385 -5.38464,8.4654 -9.40644,22.03369 -20.65885,29.27751 -11.2524,7.24382 -93.41543,58.7575 -93.41543,58.7575 l 14.37635,27.41709 c 0,0 10.24113,2.27417 27.98011,-6.04897 35.67946,-16.74083 84.41138,-42.47894 101.83012,-48.68351 17.41874,-6.20456 94.96156,18.76948 135.14241,16.40523 40.18085,-2.36425 78.95426,-13.59827 78.95426,-13.59827 34.98825,23.80756 73.61719,52.25454 116.04574,66.63398 l 16.25,-27.67857 c 0,0 -70.0884,-33.7097 -89.46428,-52.14286 -19.37588,-18.43316 -14.84231,-34.35619 -31.07143,-47.67857 -16.22912,-13.32238 -49.47172,-23.0296 -64.10714,-27.85595 z"
219
- id="path3065"
220
- inkscape:connector-curvature="0"
221
- sodipodi:nodetypes="zzzczcszccszzccczzz" />
222
- <path
223
- style="fill:#3d271a;fill-opacity:1;stroke:#000000;stroke-width:0.84452623px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
224
- d="m 387.94677,236.03454 4.88883,-1.12419 0.3492,-7.11984 -7.33324,-3.37255 z"
225
- id="path3868"
226
- inkscape:connector-curvature="0" />
227
- <path
228
- style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
229
- d="M 268.99401,183.27167 C 258.75758,151.63695 142.93412,127.96398 63.821827,83.041411 110.34754,108.51692 187.41814,236.19075 227.87391,234.24346 c 40.45577,-1.94728 58.89251,0.50794 58.89251,0.50794 0,0 -7.53598,-19.84502 -17.77241,-51.47973 z"
230
- id="path3876"
231
- inkscape:connector-curvature="0"
232
- sodipodi:nodetypes="zczcz" />
233
- <path
234
- style="fill:#ffffff;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
235
- d="m 317.82413,259.94352 -43.69011,-20.13171 13.7067,-17.56171 29.55508,17.56171 z"
236
- id="path3872"
237
- inkscape:connector-curvature="0" />
238
- <path
239
- style="fill:#ffffff;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
240
- d="m 320.39414,263.79853 -10.70836,-5.14001 -2.14167,-28.6984 10.28002,3.85501 z"
241
- id="path3874"
242
- inkscape:connector-curvature="0" />
243
- <path
244
- style="fill:#ffffff;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;fill-opacity:1"
245
- d="m 307.97244,209.40006 13.27837,83.09688 113.93695,-2.57001 -2.14167,-47.97345 z"
246
- id="path3862"
247
- inkscape:connector-curvature="0" />
248
- <path
249
- style="fill:#5f462d;fill-opacity:1;stroke:#52322c;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
250
- d="m 367.93926,382.44717 c 0.90591,9.94205 27.18401,8.56668 27.18401,8.56668 L 388.49931,223.5351 c 0,0 -38.95911,-16.19348 -37.66299,-2.22777 5.80066,62.50229 12.5534,111.2104 17.10294,161.13984 z"
251
- id="path3864"
252
- inkscape:connector-curvature="0"
253
- sodipodi:nodetypes="sccss" />
254
- <path
255
- sodipodi:type="arc"
256
- style="fill:#a0ffff;stroke:#00bdff;stroke-width:1.25000000000000000;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;fill-opacity:1;opacity:0.30172414"
257
- id="path3899"
258
- sodipodi:cx="522.83411"
259
- sodipodi:cy="199.99983"
260
- sodipodi:rx="173.41315"
261
- sodipodi:ry="100.3288"
262
- d="m 696.24725,199.99983 a 173.41315,100.3288 0 1 1 -346.82629,0 173.41315,100.3288 0 1 1 346.82629,0 z"
263
- transform="matrix(0.93729124,0.28423513,-0.30190829,0.88242393,132.521,-109.74059)" />
264
- <path
265
- style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.01773787px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
266
- d="m 497.71322,271.7957 67.05986,38.04304 0.15125,16.86059 -103.05703,-54.47132 z"
267
- id="path3945"
268
- inkscape:connector-curvature="0"
269
- sodipodi:nodetypes="ccccc" />
270
- </g>
271
- </svg>