charmkit 0.5.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.ruby-version +1 -0
- data/README.md +46 -94
- data/charmkit.gemspec +3 -3
- data/examples/Charmkitfile +66 -0
- data/examples/basic.rb +6 -0
- data/examples/demo/Gemfile +10 -0
- data/examples/demo/Gemfile.lock +64 -0
- data/examples/demo/README.md +27 -0
- data/examples/demo/Rakefile +9 -0
- data/examples/demo/config.yaml +2 -0
- data/examples/demo/hooks/config-changed +3 -0
- data/examples/{my-demo-charm → demo}/hooks/install +3 -5
- data/examples/demo/hooks/leader-elected +3 -0
- data/examples/demo/hooks/leader-settings-changed +3 -0
- data/examples/demo/hooks/start +3 -0
- data/examples/demo/hooks/stop +3 -0
- data/examples/demo/hooks/update-status +3 -0
- data/examples/demo/hooks/upgrade-charm +3 -0
- data/examples/demo/metadata.yaml +9 -0
- data/examples/load-charmkit-file.rb +2 -0
- data/examples/plugin_loader.rb +9 -0
- data/examples/template.rb +6 -0
- data/examples/templates/user_auth.txt +1 -0
- data/exe/charmkit +5 -0
- data/lib/charmkit.rb +6 -7
- data/lib/charmkit/cli.rb +124 -0
- data/lib/charmkit/dependencies.rb +26 -0
- data/lib/charmkit/helpers.rb +5 -0
- data/lib/charmkit/helpers/crypt.rb +8 -6
- data/lib/charmkit/helpers/fs.rb +0 -15
- data/lib/charmkit/helpers/hookenv.rb +10 -0
- data/lib/charmkit/helpers/runner.rb +2 -1
- data/lib/charmkit/helpers/template.rb +1 -0
- data/lib/charmkit/hook.rb +47 -0
- data/lib/charmkit/scroll.rb +15 -0
- metadata +48 -29
- data/examples/my-demo-charm/Gemfile +0 -5
- data/examples/my-demo-charm/Gemfile.lock +0 -15
- data/examples/my-demo-charm/README.md +0 -45
- data/examples/my-demo-charm/Rakefile +0 -63
- data/examples/my-demo-charm/config.yaml +0 -21
- data/examples/my-demo-charm/copyright +0 -21
- data/examples/my-demo-charm/hooks/config-changed +0 -3
- data/examples/my-demo-charm/hooks/upgrade-charm +0 -3
- data/examples/my-demo-charm/icon.svg +0 -322
- data/examples/my-demo-charm/metadata.yaml +0 -18
- data/examples/my-demo-charm/readme +0 -1
- data/examples/my-demo-charm/tasks/vim.rb +0 -8
- data/examples/my-demo-charm/templates/acl.auth.php +0 -10
- data/examples/my-demo-charm/templates/local.php +0 -15
- data/examples/my-demo-charm/templates/plugins.local.php +0 -12
- data/examples/my-demo-charm/templates/users.auth.php +0 -11
- data/examples/my-demo-charm/templates/vhost.conf +0 -42
- data/examples/render_inline.rb +0 -59
- data/lib/charmkit/extend/string_tools.rb +0 -14
- data/lib/charmkit/plugins/nginx.rb +0 -8
- data/lib/charmkit/plugins/php.rb +0 -19
- data/lib/charmkit/version.rb +0 -14
@@ -1,45 +0,0 @@
|
|
1
|
-
# Overview
|
2
|
-
|
3
|
-
DokuWiki is a simple to use and highly versatile Open Source wiki software that
|
4
|
-
doesn't require a database. It is loved by users for its clean and readable
|
5
|
-
syntax. The ease of maintenance, backup and integration makes it an
|
6
|
-
administrator's favorite. Built in access controls and authentication connectors
|
7
|
-
make DokuWiki especially useful in the enterprise context and the large number
|
8
|
-
of plugins contributed by its vibrant community allow for a broad range of use
|
9
|
-
cases beyond a traditional wiki.
|
10
|
-
|
11
|
-
# Usage
|
12
|
-
|
13
|
-
$ juju deploy cs:~adam-stokes/dokuwiki
|
14
|
-
|
15
|
-
## Login
|
16
|
-
|
17
|
-
Initial login and password are
|
18
|
-
|
19
|
-
username: admin
|
20
|
-
password: password
|
21
|
-
|
22
|
-
# Developing
|
23
|
-
|
24
|
-
## Setting up
|
25
|
-
|
26
|
-
As long as you have ruby and bundler installed you can do the following:
|
27
|
-
|
28
|
-
```
|
29
|
-
bundle install
|
30
|
-
bundle exec rake -T
|
31
|
-
```
|
32
|
-
|
33
|
-
All tasks are kept in **Rakefile** and are called via **hooks/{hook-name}**.
|
34
|
-
|
35
|
-
# Author
|
36
|
-
|
37
|
-
Adam Stokes <adam.stokes@ubuntu.com>
|
38
|
-
|
39
|
-
# Copyright
|
40
|
-
|
41
|
-
2016 Adam Stokes
|
42
|
-
|
43
|
-
# License
|
44
|
-
|
45
|
-
MIT
|
@@ -1,63 +0,0 @@
|
|
1
|
-
# The below requires will pull in charmkit and its nginx and php plugins
|
2
|
-
# which are provided with the library.
|
3
|
-
require 'charmkit'
|
4
|
-
require 'charmkit/plugins/nginx'
|
5
|
-
require 'charmkit/plugins/php'
|
6
|
-
|
7
|
-
# The below require_relative will load a local task from tasks/vim.rb
|
8
|
-
require_relative "tasks/vim.rb"
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
app_path = path(config('app_path'))
|
13
|
-
|
14
|
-
namespace :dokuwiki do
|
15
|
-
|
16
|
-
desc "Install Dokuwiki"
|
17
|
-
# Notice that I set task dependencies on nginx, php, AND vim
|
18
|
-
# so that they get installed prior to installing dokuwiki
|
19
|
-
task :install => ["nginx:install", "php:install", "vim:install"] do
|
20
|
-
resource_path = `resource-get stable-release`.chomp
|
21
|
-
|
22
|
-
mkdir_p app_path unless app_path.directory?
|
23
|
-
|
24
|
-
run "tar", "xf", resource_path, "-C", app_path, "--strip-components=1"
|
25
|
-
|
26
|
-
cp "#{hook_path}/templates/acl.auth.php", "#{app_path}/conf/acl.auth.php"
|
27
|
-
cp "#{hook_path}/templates/local.php", "#{app_path}/conf/local.php"
|
28
|
-
cp "#{hook_path}/templates/plugins.local.php", "#{app_path}/conf/plugin.local.php"
|
29
|
-
|
30
|
-
version = File.read "#{app_path}/VERSION"
|
31
|
-
run "application-version-set", version.chomp
|
32
|
-
run "status-set", "active", "Dokuwiki Install finished."
|
33
|
-
end
|
34
|
-
|
35
|
-
desc "Configure Dokuwiki"
|
36
|
-
task :config_changed do
|
37
|
-
|
38
|
-
admin_user = `config-get admin_user`.chomp
|
39
|
-
admin_password = `config-get admin_password`.chomp
|
40
|
-
admin_name = `config-get admin_name`.chomp
|
41
|
-
admin_email = `config-get admin_email`.chomp
|
42
|
-
template "#{hook_path}/templates/users.auth.php",
|
43
|
-
"#{app_path}/conf/users.auth.php",
|
44
|
-
admin_user: admin_user,
|
45
|
-
admin_password: admin_password,
|
46
|
-
admin_name: admin_name,
|
47
|
-
admin_email: admin_email
|
48
|
-
|
49
|
-
public_address = `unit-get public-address`.chomp
|
50
|
-
template "#{hook_path}/templates/vhost.conf",
|
51
|
-
"/etc/nginx/sites-enabled/default",
|
52
|
-
public_address: public_address,
|
53
|
-
app_path: app_path
|
54
|
-
|
55
|
-
chown_R 'www-data', 'www-data', app_path
|
56
|
-
|
57
|
-
`systemctl restart php7.0-fpm`
|
58
|
-
`systemctl restart nginx`
|
59
|
-
`status-set active "Ready"`
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
|
-
task :default => 'dokuwiki:install'
|
@@ -1,21 +0,0 @@
|
|
1
|
-
options:
|
2
|
-
app_path:
|
3
|
-
type: string
|
4
|
-
default: "/srv/app"
|
5
|
-
description: "Where Dokuwiki will be installed"
|
6
|
-
admin_user:
|
7
|
-
type: string
|
8
|
-
default: admin
|
9
|
-
description: "Admin username (default: admin)"
|
10
|
-
admin_password:
|
11
|
-
type: string
|
12
|
-
default: "5f4dcc3b5aa765d61d8327deb882cf99"
|
13
|
-
description: "Admin password md5 hash format (default password: password)"
|
14
|
-
admin_name:
|
15
|
-
type: string
|
16
|
-
default: "The Admin"
|
17
|
-
description: Admin name
|
18
|
-
admin_email:
|
19
|
-
type: string
|
20
|
-
default: "admin@example.com"
|
21
|
-
description: Admin email
|
@@ -1,21 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2016 Adam Stokes <adam.stokes@ubuntu.com>
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|
@@ -1,322 +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="96"
|
14
|
-
height="96"
|
15
|
-
id="svg6517"
|
16
|
-
version="1.1"
|
17
|
-
inkscape:version="0.91 r13725"
|
18
|
-
sodipodi:docname="icon.svg">
|
19
|
-
<defs
|
20
|
-
id="defs6519">
|
21
|
-
<linearGradient
|
22
|
-
id="Background">
|
23
|
-
<stop
|
24
|
-
id="stop4178"
|
25
|
-
offset="0"
|
26
|
-
style="stop-color:#b8b8b8;stop-opacity:1" />
|
27
|
-
<stop
|
28
|
-
id="stop4180"
|
29
|
-
offset="1"
|
30
|
-
style="stop-color:#c9c9c9;stop-opacity:1" />
|
31
|
-
</linearGradient>
|
32
|
-
<filter
|
33
|
-
style="color-interpolation-filters:sRGB;"
|
34
|
-
inkscape:label="Inner Shadow"
|
35
|
-
id="filter1121">
|
36
|
-
<feFlood
|
37
|
-
flood-opacity="0.59999999999999998"
|
38
|
-
flood-color="rgb(0,0,0)"
|
39
|
-
result="flood"
|
40
|
-
id="feFlood1123" />
|
41
|
-
<feComposite
|
42
|
-
in="flood"
|
43
|
-
in2="SourceGraphic"
|
44
|
-
operator="out"
|
45
|
-
result="composite1"
|
46
|
-
id="feComposite1125" />
|
47
|
-
<feGaussianBlur
|
48
|
-
in="composite1"
|
49
|
-
stdDeviation="1"
|
50
|
-
result="blur"
|
51
|
-
id="feGaussianBlur1127" />
|
52
|
-
<feOffset
|
53
|
-
dx="0"
|
54
|
-
dy="2"
|
55
|
-
result="offset"
|
56
|
-
id="feOffset1129" />
|
57
|
-
<feComposite
|
58
|
-
in="offset"
|
59
|
-
in2="SourceGraphic"
|
60
|
-
operator="atop"
|
61
|
-
result="composite2"
|
62
|
-
id="feComposite1131" />
|
63
|
-
</filter>
|
64
|
-
<filter
|
65
|
-
style="color-interpolation-filters:sRGB;"
|
66
|
-
inkscape:label="Drop Shadow"
|
67
|
-
id="filter950">
|
68
|
-
<feFlood
|
69
|
-
flood-opacity="0.25"
|
70
|
-
flood-color="rgb(0,0,0)"
|
71
|
-
result="flood"
|
72
|
-
id="feFlood952" />
|
73
|
-
<feComposite
|
74
|
-
in="flood"
|
75
|
-
in2="SourceGraphic"
|
76
|
-
operator="in"
|
77
|
-
result="composite1"
|
78
|
-
id="feComposite954" />
|
79
|
-
<feGaussianBlur
|
80
|
-
in="composite1"
|
81
|
-
stdDeviation="1"
|
82
|
-
result="blur"
|
83
|
-
id="feGaussianBlur956" />
|
84
|
-
<feOffset
|
85
|
-
dx="0"
|
86
|
-
dy="1"
|
87
|
-
result="offset"
|
88
|
-
id="feOffset958" />
|
89
|
-
<feComposite
|
90
|
-
in="SourceGraphic"
|
91
|
-
in2="offset"
|
92
|
-
operator="over"
|
93
|
-
result="composite2"
|
94
|
-
id="feComposite960" />
|
95
|
-
</filter>
|
96
|
-
<clipPath
|
97
|
-
clipPathUnits="userSpaceOnUse"
|
98
|
-
id="clipPath873">
|
99
|
-
<g
|
100
|
-
transform="matrix(0,-0.66666667,0.66604479,0,-258.25992,677.00001)"
|
101
|
-
id="g875"
|
102
|
-
inkscape:label="Layer 1"
|
103
|
-
style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline">
|
104
|
-
<path
|
105
|
-
style="fill:#ff00ff;fill-opacity:1;stroke:none;display:inline"
|
106
|
-
d="m 46.702703,898.22775 50.594594,0 C 138.16216,898.22775 144,904.06497 144,944.92583 l 0,50.73846 c 0,40.86071 -5.83784,46.69791 -46.702703,46.69791 l -50.594594,0 C 5.8378378,1042.3622 0,1036.525 0,995.66429 L 0,944.92583 C 0,904.06497 5.8378378,898.22775 46.702703,898.22775 Z"
|
107
|
-
id="path877"
|
108
|
-
inkscape:connector-curvature="0"
|
109
|
-
sodipodi:nodetypes="sssssssss" />
|
110
|
-
</g>
|
111
|
-
</clipPath>
|
112
|
-
<filter
|
113
|
-
inkscape:collect="always"
|
114
|
-
id="filter891"
|
115
|
-
inkscape:label="Badge Shadow">
|
116
|
-
<feGaussianBlur
|
117
|
-
inkscape:collect="always"
|
118
|
-
stdDeviation="0.71999962"
|
119
|
-
id="feGaussianBlur893" />
|
120
|
-
</filter>
|
121
|
-
</defs>
|
122
|
-
<sodipodi:namedview
|
123
|
-
id="base"
|
124
|
-
pagecolor="#ffffff"
|
125
|
-
bordercolor="#666666"
|
126
|
-
borderopacity="1.0"
|
127
|
-
inkscape:pageopacity="0.0"
|
128
|
-
inkscape:pageshadow="2"
|
129
|
-
inkscape:zoom="1"
|
130
|
-
inkscape:cx="39.339828"
|
131
|
-
inkscape:cy="216.87971"
|
132
|
-
inkscape:document-units="px"
|
133
|
-
inkscape:current-layer="layer1"
|
134
|
-
showgrid="false"
|
135
|
-
fit-margin-top="0"
|
136
|
-
fit-margin-left="0"
|
137
|
-
fit-margin-right="0"
|
138
|
-
fit-margin-bottom="0"
|
139
|
-
inkscape:window-width="1920"
|
140
|
-
inkscape:window-height="1043"
|
141
|
-
inkscape:window-x="1914"
|
142
|
-
inkscape:window-y="0"
|
143
|
-
inkscape:window-maximized="1"
|
144
|
-
showborder="true"
|
145
|
-
showguides="false"
|
146
|
-
inkscape:guide-bbox="true"
|
147
|
-
inkscape:showpageshadow="false"
|
148
|
-
inkscape:snap-bbox="true">
|
149
|
-
<inkscape:grid
|
150
|
-
type="xygrid"
|
151
|
-
id="grid821"
|
152
|
-
empspacing="5"
|
153
|
-
visible="true"
|
154
|
-
enabled="true"
|
155
|
-
snapvisiblegridlinesonly="true" />
|
156
|
-
<sodipodi:guide
|
157
|
-
orientation="1,0"
|
158
|
-
position="16,48"
|
159
|
-
id="guide823" />
|
160
|
-
<sodipodi:guide
|
161
|
-
orientation="0,1"
|
162
|
-
position="64,80"
|
163
|
-
id="guide825" />
|
164
|
-
<sodipodi:guide
|
165
|
-
orientation="1,0"
|
166
|
-
position="80,40"
|
167
|
-
id="guide827" />
|
168
|
-
<sodipodi:guide
|
169
|
-
orientation="0,1"
|
170
|
-
position="64,16"
|
171
|
-
id="guide829" />
|
172
|
-
</sodipodi:namedview>
|
173
|
-
<metadata
|
174
|
-
id="metadata6522">
|
175
|
-
<rdf:RDF>
|
176
|
-
<cc:Work
|
177
|
-
rdf:about="">
|
178
|
-
<dc:format>image/svg+xml</dc:format>
|
179
|
-
<dc:type
|
180
|
-
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
181
|
-
<dc:title />
|
182
|
-
</cc:Work>
|
183
|
-
</rdf:RDF>
|
184
|
-
</metadata>
|
185
|
-
<g
|
186
|
-
inkscape:label="BACKGROUND"
|
187
|
-
inkscape:groupmode="layer"
|
188
|
-
id="layer1"
|
189
|
-
transform="translate(268,-635.29076)"
|
190
|
-
style="display:inline">
|
191
|
-
<path
|
192
|
-
style="fill:#262a2d;fill-opacity:1;stroke:none;display:inline;filter:url(#filter1121)"
|
193
|
-
d="m -268,700.15563 0,-33.72973 c 0,-27.24324 3.88785,-31.13513 31.10302,-31.13513 l 33.79408,0 c 27.21507,0 31.1029,3.89189 31.1029,31.13513 l 0,33.72973 c 0,27.24325 -3.88783,31.13514 -31.1029,31.13514 l -33.79408,0 C -264.11215,731.29077 -268,727.39888 -268,700.15563 Z"
|
194
|
-
id="path6455"
|
195
|
-
inkscape:connector-curvature="0"
|
196
|
-
sodipodi:nodetypes="sssssssss" />
|
197
|
-
<g
|
198
|
-
style="opacity:0.7"
|
199
|
-
id="g11"
|
200
|
-
transform="matrix(0.62044056,0,0,0.62044056,-314.18126,593.62097)">
|
201
|
-
<rect
|
202
|
-
style="fill:#dcf0f0"
|
203
|
-
x="112.197"
|
204
|
-
y="168.302"
|
205
|
-
width="31.702999"
|
206
|
-
height="15.852"
|
207
|
-
id="rect13" />
|
208
|
-
<rect
|
209
|
-
style="fill:#dcf0f0"
|
210
|
-
x="159.75"
|
211
|
-
y="168.302"
|
212
|
-
width="31.683001"
|
213
|
-
height="15.852"
|
214
|
-
id="rect15" />
|
215
|
-
<rect
|
216
|
-
style="fill:#dcf0f0"
|
217
|
-
x="112.173"
|
218
|
-
y="136.599"
|
219
|
-
width="79.269997"
|
220
|
-
height="15.852"
|
221
|
-
id="rect17" />
|
222
|
-
<rect
|
223
|
-
style="fill:#dcf0f0"
|
224
|
-
x="112.197"
|
225
|
-
y="104.898"
|
226
|
-
width="47.558998"
|
227
|
-
height="15.851"
|
228
|
-
id="rect19" />
|
229
|
-
<rect
|
230
|
-
style="fill:#dcf0f0"
|
231
|
-
x="175.60201"
|
232
|
-
y="104.898"
|
233
|
-
width="15.851"
|
234
|
-
height="15.851"
|
235
|
-
id="rect21" />
|
236
|
-
</g>
|
237
|
-
<image
|
238
|
-
width="70"
|
239
|
-
height="70"
|
240
|
-
preserveAspectRatio="none"
|
241
|
-
xlink:href="data:image/png;base64,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 "
|
242
|
-
id="image3437"
|
243
|
-
x="-254"
|
244
|
-
y="648.29077" />
|
245
|
-
</g>
|
246
|
-
<g
|
247
|
-
inkscape:groupmode="layer"
|
248
|
-
id="layer3"
|
249
|
-
inkscape:label="PLACE YOUR PICTOGRAM HERE"
|
250
|
-
style="display:inline" />
|
251
|
-
<g
|
252
|
-
inkscape:groupmode="layer"
|
253
|
-
id="layer2"
|
254
|
-
inkscape:label="BADGE"
|
255
|
-
style="display:none"
|
256
|
-
sodipodi:insensitive="true">
|
257
|
-
<g
|
258
|
-
style="display:inline"
|
259
|
-
transform="translate(-340.00001,-581)"
|
260
|
-
id="g4394"
|
261
|
-
clip-path="none">
|
262
|
-
<g
|
263
|
-
id="g855">
|
264
|
-
<g
|
265
|
-
inkscape:groupmode="maskhelper"
|
266
|
-
id="g870"
|
267
|
-
clip-path="url(#clipPath873)"
|
268
|
-
style="opacity:0.6;filter:url(#filter891)">
|
269
|
-
<path
|
270
|
-
transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-237.54282)"
|
271
|
-
d="m 264,552.36218 a 12,12 0 0 1 -12,12 12,12 0 0 1 -12,-12 12,12 0 0 1 12,-12 12,12 0 0 1 12,12 z"
|
272
|
-
sodipodi:ry="12"
|
273
|
-
sodipodi:rx="12"
|
274
|
-
sodipodi:cy="552.36218"
|
275
|
-
sodipodi:cx="252"
|
276
|
-
id="path844"
|
277
|
-
style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
278
|
-
sodipodi:type="arc" />
|
279
|
-
</g>
|
280
|
-
<g
|
281
|
-
id="g862">
|
282
|
-
<path
|
283
|
-
sodipodi:type="arc"
|
284
|
-
style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
285
|
-
id="path4398"
|
286
|
-
sodipodi:cx="252"
|
287
|
-
sodipodi:cy="552.36218"
|
288
|
-
sodipodi:rx="12"
|
289
|
-
sodipodi:ry="12"
|
290
|
-
d="m 264,552.36218 a 12,12 0 0 1 -12,12 12,12 0 0 1 -12,-12 12,12 0 0 1 12,-12 12,12 0 0 1 12,12 z"
|
291
|
-
transform="matrix(1.4999992,0,0,1.4999992,-29.999795,-238.54282)" />
|
292
|
-
<path
|
293
|
-
transform="matrix(1.25,0,0,1.25,33,-100.45273)"
|
294
|
-
d="m 264,552.36218 a 12,12 0 0 1 -12,12 12,12 0 0 1 -12,-12 12,12 0 0 1 12,-12 12,12 0 0 1 12,12 z"
|
295
|
-
sodipodi:ry="12"
|
296
|
-
sodipodi:rx="12"
|
297
|
-
sodipodi:cy="552.36218"
|
298
|
-
sodipodi:cx="252"
|
299
|
-
id="path4400"
|
300
|
-
style="color:#000000;fill:#dd4814;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:4;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
301
|
-
sodipodi:type="arc" />
|
302
|
-
<path
|
303
|
-
sodipodi:type="star"
|
304
|
-
style="color:#000000;fill:#f5f5f5;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
|
305
|
-
id="path4459"
|
306
|
-
sodipodi:sides="5"
|
307
|
-
sodipodi:cx="666.19574"
|
308
|
-
sodipodi:cy="589.50385"
|
309
|
-
sodipodi:r1="7.2431178"
|
310
|
-
sodipodi:r2="4.3458705"
|
311
|
-
sodipodi:arg1="1.0471976"
|
312
|
-
sodipodi:arg2="1.6755161"
|
313
|
-
inkscape:flatsided="false"
|
314
|
-
inkscape:rounded="0.1"
|
315
|
-
inkscape:randomized="0"
|
316
|
-
d="m 669.8173,595.77657 c -0.39132,0.22593 -3.62645,-1.90343 -4.07583,-1.95066 -0.44938,-0.0472 -4.05653,1.36297 -4.39232,1.06062 -0.3358,-0.30235 0.68963,-4.03715 0.59569,-4.47913 -0.0939,-0.44198 -2.5498,-3.43681 -2.36602,-3.8496 0.18379,-0.41279 4.05267,-0.59166 4.44398,-0.81759 0.39132,-0.22593 2.48067,-3.48704 2.93005,-3.4398 0.44938,0.0472 1.81505,3.67147 2.15084,3.97382 0.3358,0.30236 4.08294,1.2817 4.17689,1.72369 0.0939,0.44198 -2.9309,2.86076 -3.11469,3.27355 -0.18379,0.41279 0.0427,4.27917 -0.34859,4.5051 z"
|
317
|
-
transform="matrix(1.511423,-0.16366377,0.16366377,1.511423,-755.37346,-191.93651)" />
|
318
|
-
</g>
|
319
|
-
</g>
|
320
|
-
</g>
|
321
|
-
</g>
|
322
|
-
</svg>
|