compony 0.2.0 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +25 -0
  3. data/Gemfile.lock +3 -3
  4. data/README.md +1397 -33
  5. data/Rakefile +6 -2
  6. data/TODO.md +1 -0
  7. data/VERSION +1 -0
  8. data/app/controllers/compony_controller.rb +3 -1
  9. data/compony.gemspec +7 -7
  10. data/config/locales/fr.yml +33 -0
  11. data/doc/ComponentGenerator.html +231 -0
  12. data/doc/Components.html +105 -0
  13. data/doc/ComponentsGenerator.html +203 -0
  14. data/doc/Compony/Component.html +2098 -0
  15. data/doc/Compony/ComponentMixins/Default/Labelling.html +406 -0
  16. data/doc/Compony/ComponentMixins/Default/Standalone/ResourcefulVerbDsl.html +539 -0
  17. data/doc/Compony/ComponentMixins/Default/Standalone/StandaloneDsl.html +588 -0
  18. data/doc/Compony/ComponentMixins/Default/Standalone/VerbDsl.html +577 -0
  19. data/doc/Compony/ComponentMixins/Default/Standalone.html +692 -0
  20. data/doc/Compony/ComponentMixins/Default.html +126 -0
  21. data/doc/Compony/ComponentMixins/Resourceful.html +1193 -0
  22. data/doc/Compony/ComponentMixins.html +126 -0
  23. data/doc/Compony/Components/Button.html +293 -0
  24. data/doc/Compony/Components/Destroy.html +384 -0
  25. data/doc/Compony/Components/Edit.html +462 -0
  26. data/doc/Compony/Components/Form.html +1112 -0
  27. data/doc/Compony/Components/New.html +462 -0
  28. data/doc/Compony/Components/WithForm.html +528 -0
  29. data/doc/Compony/Components.html +126 -0
  30. data/doc/Compony/ControllerMixin.html +136 -0
  31. data/doc/Compony/Engine.html +133 -0
  32. data/doc/Compony/MethodAccessibleHash.html +453 -0
  33. data/doc/Compony/ModelFields/Anchormodel.html +383 -0
  34. data/doc/Compony/ModelFields/Association.html +613 -0
  35. data/doc/Compony/ModelFields/Attachment.html +305 -0
  36. data/doc/Compony/ModelFields/Base.html +1066 -0
  37. data/doc/Compony/ModelFields/Boolean.html +232 -0
  38. data/doc/Compony/ModelFields/Color.html +299 -0
  39. data/doc/Compony/ModelFields/Currency.html +232 -0
  40. data/doc/Compony/ModelFields/Date.html +232 -0
  41. data/doc/Compony/ModelFields/Datetime.html +232 -0
  42. data/doc/Compony/ModelFields/Decimal.html +154 -0
  43. data/doc/Compony/ModelFields/Email.html +240 -0
  44. data/doc/Compony/ModelFields/Float.html +154 -0
  45. data/doc/Compony/ModelFields/Integer.html +154 -0
  46. data/doc/Compony/ModelFields/Percentage.html +232 -0
  47. data/doc/Compony/ModelFields/Phone.html +301 -0
  48. data/doc/Compony/ModelFields/RichText.html +232 -0
  49. data/doc/Compony/ModelFields/String.html +154 -0
  50. data/doc/Compony/ModelFields/Text.html +154 -0
  51. data/doc/Compony/ModelFields/Time.html +154 -0
  52. data/doc/Compony/ModelFields/Url.html +240 -0
  53. data/doc/Compony/ModelFields.html +126 -0
  54. data/doc/Compony/ModelMixin.html +524 -0
  55. data/doc/Compony/RequestContext.html +791 -0
  56. data/doc/Compony/Version.html +139 -0
  57. data/doc/Compony/ViewHelpers.html +443 -0
  58. data/doc/Compony.html +2156 -0
  59. data/doc/ComponyController.html +124 -0
  60. data/doc/_index.html +569 -0
  61. data/doc/class_list.html +51 -0
  62. data/doc/css/common.css +1 -0
  63. data/doc/css/full_list.css +58 -0
  64. data/doc/css/style.css +497 -0
  65. data/doc/file.README.html +1565 -0
  66. data/doc/file_list.html +56 -0
  67. data/doc/frames.html +17 -0
  68. data/doc/imgs/intro-example-destroy.png +0 -0
  69. data/doc/imgs/intro-example-edit.png +0 -0
  70. data/doc/imgs/intro-example-index.png +0 -0
  71. data/doc/imgs/intro-example-new.png +0 -0
  72. data/doc/imgs/intro-example-show.png +0 -0
  73. data/doc/index.html +1565 -0
  74. data/doc/js/app.js +314 -0
  75. data/doc/js/full_list.js +216 -0
  76. data/doc/js/jquery.js +4 -0
  77. data/doc/method_list.html +1435 -0
  78. data/doc/resourceful_lifecycle.png +0 -0
  79. data/doc/top-level-namespace.html +112 -0
  80. data/lib/compony/component.rb +2 -1
  81. data/lib/compony/component_mixins/default/standalone/resourceful_verb_dsl.rb +1 -1
  82. data/lib/compony/component_mixins/default/standalone/standalone_dsl.rb +14 -3
  83. data/lib/compony/component_mixins/default/standalone/verb_dsl.rb +14 -5
  84. data/lib/compony/component_mixins/default/standalone.rb +10 -3
  85. data/lib/compony/components/form.rb +6 -1
  86. data/lib/compony/components/with_form.rb +14 -1
  87. data/lib/compony/model_fields/anchormodel.rb +0 -22
  88. data/lib/compony/model_mixin.rb +12 -2
  89. data/lib/compony/version.rb +1 -7
  90. data/logo.svg +133 -0
  91. metadata +83 -6
Binary file
@@ -0,0 +1,112 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Top Level Namespace
8
+
9
+ &mdash; Documentation by YARD 0.9.34
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index</a> &raquo;
40
+
41
+
42
+ <span class="title">Top Level Namespace</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Top Level Namespace
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ </div>
80
+
81
+ <h2>Defined Under Namespace</h2>
82
+ <p class="children">
83
+
84
+
85
+ <strong class="modules">Modules:</strong> <span class='object_link'><a href="Components.html" title="Components (module)">Components</a></span>, <span class='object_link'><a href="Compony.html" title="Compony (module)">Compony</a></span>
86
+
87
+
88
+
89
+ <strong class="classes">Classes:</strong> <span class='object_link'><a href="ComponentGenerator.html" title="ComponentGenerator (class)">ComponentGenerator</a></span>, <span class='object_link'><a href="ComponentsGenerator.html" title="ComponentsGenerator (class)">ComponentsGenerator</a></span>, <span class='object_link'><a href="ComponyController.html" title="ComponyController (class)">ComponyController</a></span>
90
+
91
+
92
+ </p>
93
+
94
+
95
+
96
+
97
+
98
+
99
+
100
+
101
+
102
+ </div>
103
+
104
+ <div id="footer">
105
+ Generated on Wed Apr 24 17:14:05 2024 by
106
+ <a href="https://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
107
+ 0.9.34 (ruby-3.2.2).
108
+ </div>
109
+
110
+ </div>
111
+ </body>
112
+ </html>
@@ -145,10 +145,11 @@ module Compony
145
145
  end
146
146
 
147
147
  # Renders the component using the controller passsed to it and returns it as a string.
148
- # @param standalone: pass true iff `render` is called from `render_standalone`
148
+ # @param [Boolean] standalone pass true iff `render` is called from `render_standalone`
149
149
  # Do not overwrite.
150
150
  def render(controller, standalone: false, **locals)
151
151
  # Call before_render hook if any and backfire instance variables back to the component
152
+ # TODO: Can .request_context be removed from the next line? Test well!
152
153
  RequestContext.new(self, controller, locals:).request_context.evaluate_with_backfire(&@before_render_block) if @before_render_block
153
154
  # Render, unless before_render has already issued a body (e.g. through redirecting).
154
155
  if controller.response_body.nil?
@@ -14,7 +14,7 @@ module Compony
14
14
  end
15
15
 
16
16
  # For internal usage only, processes the block and returns a config hash.
17
- def to_conf(&)
17
+ def to_conf(provide_defaults:, &)
18
18
  return super.deep_merge({
19
19
  load_data_block: @load_data_block,
20
20
  assign_attributes_block: @assign_attributes_block,
@@ -4,11 +4,13 @@ module Compony
4
4
  module Standalone
5
5
  # @api description
6
6
  # Wrapper and DSL helper for component's standalone config
7
+ # Pass `provide_defaults` true if this is the first standalone DSL of a component. Pass false if it is a subsequent one (e.g. if subclassed comp)
7
8
  class StandaloneDsl < Dslblend::Base
8
- def initialize(component, name = nil, path: nil)
9
+ def initialize(component, name = nil, provide_defaults:, path: nil)
9
10
  super()
10
11
  @component = component
11
12
  @name = name&.to_sym
13
+ @provide_defaults = provide_defaults
12
14
  @path = path
13
15
  @verbs = {}
14
16
  @skip_authentication = false
@@ -38,8 +40,17 @@ module Compony
38
40
  def verb(verb, *args, **nargs, &)
39
41
  verb = verb.to_sym
40
42
  verb_dsl_class = @component.resourceful? ? ResourcefulVerbDsl : VerbDsl
41
- @verbs[verb] ||= Compony::MethodAccessibleHash.new
42
- @verbs[verb].deep_merge! verb_dsl_class.new(@component, verb, *args, **nargs).to_conf(&)
43
+ if @verbs[verb]
44
+ @verbs[verb].deep_merge! verb_dsl_class.new(@component, verb, *args, **nargs).to_conf(provide_defaults: false, &)
45
+ else
46
+ # Note about provide_defaults:
47
+ # - We must pass false if this is the second time `standalone` was called for this component -> see @provide_defaults
48
+ # - We musst pass false if this is the second time `verb` was called for this component -> handled by the if statement (other branch)
49
+ # - We must pass true otherwise (handled by this branch)
50
+ @verbs[verb] = Compony::MethodAccessibleHash.new(
51
+ verb_dsl_class.new(@component, verb, *args, **nargs).to_conf(provide_defaults: @provide_defaults, &)
52
+ )
53
+ end
43
54
  end
44
55
 
45
56
  # DSL
@@ -17,18 +17,19 @@ module Compony
17
17
 
18
18
  @component = component
19
19
  @verb = verb
20
- @respond_blocks = { nil => proc { render_standalone(controller) } } # default format
20
+ @respond_blocks = {}
21
21
  @authorize_block = nil
22
22
  end
23
23
 
24
24
  # For internal usage only, processes the block and returns a config hash.
25
- def to_conf(&)
25
+ def to_conf(provide_defaults:, &)
26
26
  evaluate(&) if block_given?
27
- return {
27
+ base_config = provide_defaults ? default_config : {}
28
+ return base_config.deep_merge({
28
29
  verb: @verb,
29
- authorize_block: @authorize_block || proc { can?(comp_name.to_sym, family_name.to_sym) },
30
+ authorize_block: @authorize_block,
30
31
  respond_blocks: @respond_blocks
31
- }.compact
32
+ }.compact)
32
33
  end
33
34
 
34
35
  protected
@@ -45,6 +46,14 @@ module Compony
45
46
  def respond(format = nil, &block)
46
47
  @respond_blocks[format&.to_sym] = block
47
48
  end
49
+
50
+ # Internal, do not use
51
+ def default_config
52
+ return {
53
+ authorize_block: proc { can?(comp_name.to_sym, family_name.to_sym) },
54
+ respond_blocks: { nil => proc { render_standalone(controller) } }
55
+ }
56
+ end
48
57
  end
49
58
  end
50
59
  end
@@ -57,7 +57,7 @@ module Compony
57
57
  end
58
58
 
59
59
  # TODO: Make much prettier, providing message, action, subject and conditions
60
- fail CanCan::AccessDenied, inspect unless request_context.evaluate(&verb_config.authorize_block)
60
+ fail CanCan::AccessDenied, [inspect, verb_config.authorize_block.inspect].join(', ') unless request_context.evaluate(&verb_config.authorize_block)
61
61
 
62
62
  if verb_config.store_data_block
63
63
  request_context.evaluate_with_backfire(&verb_config.store_data_block)
@@ -104,11 +104,18 @@ module Compony
104
104
  protected
105
105
 
106
106
  # DSL method
107
+ # This can be called multiple times to make a component listen to multiple paths. Each standalone config (path) has a name, the default being `nil`.
108
+ # To have a component listen to multiple paths, call standalone again and provide a name, e.g.: standalone(:autocomplete, path: 'foo/bar/autocomplete')
109
+ # The kwarg parameter `path` is handled analog to the Rails route path
110
+ # @param name [Symbol,nil] The name of the standalone config, defaults to nil. Only provide if you add additional configs.
107
111
  def standalone(name = nil, *args, **nargs, &block)
108
112
  block = proc {} unless block_given? # If called without a block, must default to an empty block to provide a binding to the DSL.
109
113
  name = name&.to_sym # nil name is the most common case
110
- @standalone_configs[name] ||= Compony::MethodAccessibleHash.new
111
- @standalone_configs[name].deep_merge! StandaloneDsl.new(self, name, *args, **nargs).to_conf(&block)
114
+ if @standalone_configs[name]
115
+ @standalone_configs[name].deep_merge! StandaloneDsl.new(self, name, *args, provide_defaults: false, **nargs).to_conf(&block)
116
+ else
117
+ @standalone_configs[name] = Compony::MethodAccessibleHash.new(StandaloneDsl.new(self, name, *args, provide_defaults: true, **nargs).to_conf(&block))
118
+ end
112
119
  end
113
120
 
114
121
  # Undoes previous standalone calls
@@ -86,7 +86,7 @@ module Compony
86
86
  if hidden
87
87
  return model_field.simpleform_input_hidden(@simpleform, self, **input_opts)
88
88
  else
89
- unless @focus_given
89
+ unless @focus_given || @skip_autofocus
90
90
  input_opts[:autofocus] = true unless input_opts.key? :autofocus
91
91
  @focus_given = true
92
92
  end
@@ -136,6 +136,11 @@ module Compony
136
136
  fail 'schema requires a block to be given'
137
137
  end
138
138
  end
139
+
140
+ # DSL method, skips adding autofocus to the first field
141
+ def skip_autofocus
142
+ @skip_autofocus = true
143
+ end
139
144
  end
140
145
  end
141
146
  end
@@ -4,6 +4,12 @@ module Compony
4
4
  # This component is destined to take a sub-component that is a form component.
5
5
  # It can be called via :get or via `submit_verb` depending on whether its form should be shown or submitted.
6
6
  class WithForm < Component
7
+ def initialize(...)
8
+ # TODO: On the next line, use Compony.path instead? Likely, this was implemented before that method existed.
9
+ @submit_path_block = ->(controller) { controller.helpers.send("#{Compony.path_helper_name(comp_name, family_name)}_path") }
10
+ super
11
+ end
12
+
7
13
  # Returns an instance of the form component responsible for rendering the form.
8
14
  # Feel free to override this in subclasses.
9
15
  def form_comp
@@ -11,7 +17,7 @@ module Compony
11
17
  self,
12
18
  submit_verb:,
13
19
  # If applicable, Rails adds the route keys automatically, thus, e.g. :id does not need to be passed here, as it comes from the request.
14
- submit_path: ->(controller) { controller.helpers.send("#{Compony.path_helper_name(comp_name, family_name)}_path") }
20
+ submit_path: @submit_path_block
15
21
  )
16
22
  end
17
23
 
@@ -32,6 +38,13 @@ module Compony
32
38
  def form_comp_class(new_form_comp_class = nil)
33
39
  @form_comp_class ||= new_form_comp_class
34
40
  end
41
+
42
+ # DSL method
43
+ # Overrides the submit path which would otherwise default to this component
44
+ # This takes a block that will be called and given a controller
45
+ def submit_path(&new_submit_path_block)
46
+ @submit_path_block = new_submit_path_block
47
+ end
35
48
  end
36
49
  end
37
50
  end
@@ -10,28 +10,6 @@ module Compony
10
10
  return transform_and_join(data.send(@name), controller:) { |el| el&.label }
11
11
  end
12
12
 
13
- def simpleform_input(form, _component, name: nil, **input_opts)
14
- anchormodel_attribute = @model_class.anchormodel_attributes[@name]
15
- anchormodel_class = anchormodel_attribute.anchormodel_class
16
- input_opts[:input_html] ||= {}
17
- # Attempt to read selected key from html input options "value", as the caller might not know that this is a select.
18
- selected_key = input_opts[:input_html].delete(:value) # can also be both nil or blank
19
- if selected_key.blank? && form.object
20
- # No selected key override present and a model is present, use the model to find out what to select
21
- selected_cst = form.object.send(@name)
22
- selected_key = selected_cst&.key || anchormodel_class.all.first
23
- end
24
- opts = {
25
- collection: self.class.collect(anchormodel_class.all),
26
- label_method: :first,
27
- value_method: :second,
28
- selected: selected_key, # if used in select
29
- checked: selected_key, # if used in radio buttons
30
- include_blank: anchormodel_attribute.optional
31
- }.merge(input_opts)
32
- return form.input name || @name, **opts
33
- end
34
-
35
13
  def simpleform_input_hidden(form, _component, name: nil, **input_opts)
36
14
  if form.object
37
15
  selected_cst = form.object.send(@name)
@@ -19,7 +19,6 @@ module Compony
19
19
  end
20
20
 
21
21
  # DSL method, defines a new field which will be translated and can be added to field groups
22
- # For virtual attributes, you must pass a type explicitely, otherwise it's auto-infered.
23
22
  def field(name, type, **extra_attrs)
24
23
  name = name.to_sym
25
24
  self.fields = fields.dup
@@ -63,8 +62,12 @@ module Compony
63
62
  end
64
63
  end
65
64
 
66
- # Retrieves feasibility for the given instance
65
+ # Retrieves feasibility for the given instance, returning a boolean indicating whether the action is feasibly.
67
66
  # Calling this with an invalid action name will always return true.
67
+ # This also generates appropriate error messages for any reason causing it to return false.
68
+ # Feasilbility is cached, thus the second access will be faster.
69
+ # @param action_name [Symbol,String] the action that the feasibility should be checked for, e.g. :destroy
70
+ # @param recompute [Boolean] whether feasibility should be forcably recomputed even if a cached result is present
68
71
  def feasible?(action_name, recompute: false)
69
72
  action_name = action_name.to_sym
70
73
  @feasibility_messages ||= {}
@@ -83,12 +86,19 @@ module Compony
83
86
  return @feasibility_messages[action_name].none?
84
87
  end
85
88
 
89
+ # Retrieves feasibility for the given instance and returns an array of reasons preventing the feasibility. Returns an empty array if feasible.
90
+ # Conceptually, this is comparable to a model's `errors`.
91
+ # @param action_name [Symbol,String] the action that the feasibility should be checked for, e.g. :destroy
86
92
  def feasibility_messages(action_name)
87
93
  action_name = action_name.to_sym
88
94
  feasible?(action_name) if @feasibility_messages&.[](action_name).nil? # If feasibility check hasn't been performed yet for this action, perform it now
89
95
  return @feasibility_messages[action_name]
90
96
  end
91
97
 
98
+ # Retrieves feasibility for the given instance and returns a string holding all reasons preventing the feasibility. Returns an empty string if feasible.
99
+ # Messages are joined using commata. The first character is capitalized and a period is added to the end.
100
+ # Conceptually, this is comparable to a model's `full_messages`.
101
+ # @param action_name [Symbol,String] the action that the feasibility should be checked for, e.g. :destroy
92
102
  def full_feasibility_messages(action_name)
93
103
  text = feasibility_messages(action_name).join(', ').upcase_first
94
104
  text += '.' if text.present?
@@ -1,11 +1,5 @@
1
1
  module Compony
2
2
  module Version
3
- MAJOR = 0
4
- MINOR = 2
5
- PATCH = 0
6
-
7
- EDGE = false
8
-
9
- LABEL = [MAJOR, MINOR, PATCH, EDGE ? 'edge' : nil].compact.join('.')
3
+ LABEL = (Pathname.new(__FILE__).dirname.dirname.dirname / 'VERSION').read
10
4
  end
11
5
  end
data/logo.svg ADDED
@@ -0,0 +1,133 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
3
+
4
+ <svg
5
+ width="200mm"
6
+ height="200mm"
7
+ viewBox="0 0 200 200"
8
+ version="1.1"
9
+ id="svg5"
10
+ xml:space="preserve"
11
+ inkscape:version="1.2.2 (b0a8486541, 2022-12-01)"
12
+ sodipodi:docname="logo.svg"
13
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
14
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
15
+ xmlns:xlink="http://www.w3.org/1999/xlink"
16
+ xmlns="http://www.w3.org/2000/svg"
17
+ xmlns:svg="http://www.w3.org/2000/svg"><sodipodi:namedview
18
+ id="namedview7"
19
+ pagecolor="#ffffff"
20
+ bordercolor="#666666"
21
+ borderopacity="1.0"
22
+ inkscape:showpageshadow="2"
23
+ inkscape:pageopacity="0.0"
24
+ inkscape:pagecheckerboard="0"
25
+ inkscape:deskcolor="#d1d1d1"
26
+ inkscape:document-units="mm"
27
+ showgrid="false"
28
+ inkscape:zoom="0.77887092"
29
+ inkscape:cx="341.52"
30
+ inkscape:cy="303.00271"
31
+ inkscape:window-width="1532"
32
+ inkscape:window-height="1036"
33
+ inkscape:window-x="384"
34
+ inkscape:window-y="0"
35
+ inkscape:window-maximized="1"
36
+ inkscape:current-layer="layer2" /><defs
37
+ id="defs2"><linearGradient
38
+ inkscape:collect="always"
39
+ id="linearGradient4245"><stop
40
+ style="stop-color:#6b006b;stop-opacity:1;"
41
+ offset="0.50034827"
42
+ id="stop4241" /><stop
43
+ style="stop-color:#501a50;stop-opacity:1;"
44
+ offset="0.9272868"
45
+ id="stop4243" /></linearGradient><linearGradient
46
+ inkscape:collect="always"
47
+ xlink:href="#linearGradient4245"
48
+ id="linearGradient4239"
49
+ x1="43.394249"
50
+ y1="190.80437"
51
+ x2="186.19225"
52
+ y2="49.854321"
53
+ gradientUnits="userSpaceOnUse"
54
+ gradientTransform="matrix(0.88763912,0,0,0.88763912,6.9268356,-23.034281)" /><inkscape:path-effect
55
+ effect="fill_between_many"
56
+ method="originald"
57
+ linkedpaths="#path2775-1-75,0,1|"
58
+ id="path-effect996" /></defs><g
59
+ inkscape:label="Ebene 1"
60
+ inkscape:groupmode="layer"
61
+ id="layer1"
62
+ style="display:none"
63
+ sodipodi:insensitive="true"><rect
64
+ style="fill:#ff0000;stroke:none;stroke-width:2.565;stroke-linejoin:bevel;-inkscape-stroke:none;stop-color:#000000"
65
+ id="rect1777"
66
+ width="181.25208"
67
+ height="181.25208"
68
+ x="14.784949"
69
+ y="33.804947"
70
+ ry="0" /><path
71
+ style="fill:#000000;stroke-width:0.485896"
72
+ d="m 78.084821,195.93085 c -0.104403,-0.20043 -0.237069,-1.23735 -0.294779,-2.30427 -0.128644,-2.37863 -0.971964,-4.13145 -3.245489,-6.7458 -5.589327,-6.42721 -8.47464,-10.14797 -8.47464,-10.92856 0,-0.48713 0.862603,-2.22033 1.91689,-3.85151 1.054301,-1.63121 2.049224,-3.68765 2.210938,-4.56988 0.283402,-1.54604 0.196492,-1.65454 -2.402816,-2.99985 -3.105605,-1.60735 -7.822289,-6.41042 -9.256406,-9.42592 -0.982266,-2.06542 -1.414091,-2.42536 -1.922606,-1.60256 -0.436425,0.70615 -1.543781,17.31002 -1.453317,21.79124 0.04463,2.21217 -0.106744,4.13829 -0.336499,4.28028 -0.575619,0.35574 -0.520373,4.91349 0.08608,7.09681 0.672282,2.42053 4.41404,5.73727 6.47248,5.73727 0.82197,0 2.376426,0.31282 3.454335,0.69514 1.077908,0.38234 2.61578,0.83845 3.417504,1.01359 l 1.457698,0.31844 -1.42949,0.75144 c -1.20326,0.63252 -2.779602,0.70232 -9.960862,0.44112 -9.093769,-0.33077 -14.205225,-1.35281 -14.515703,-2.90243 -0.113122,-0.5646 -0.707313,-0.75532 -2.256375,-0.72424 -2.433032,0.0489 -3.085222,-0.2579 -3.637676,-1.71097 -0.584508,-1.53738 1.70076,-15.52576 4.099302,-25.09226 0.636537,-2.53881 1.291735,-5.63923 1.455995,-6.88983 0.164261,-1.25058 0.746177,-2.84274 1.293149,-3.53809 0.948699,-1.20608 4.715185,-3.94972 7.812912,-5.69121 1.907965,-1.07262 2.644995,-2.19499 4.35133,-6.6263 2.615877,-6.79332 5.802705,-10.14855 18.375215,-19.34621 2.806048,-2.05282 6.129907,-4.50082 7.386333,-5.44 2.156533,-1.61197 4.349138,-4.23344 5.713438,-6.83092 0.597725,-1.13799 0.57898,-1.15155 -1.144145,-0.8283 -1.076613,0.20198 -1.7518,0.13865 -1.7518,-0.16431 0,-0.67984 1.944848,-4.35348 2.479794,-4.68409 0.526917,-0.32565 0.582603,-1.20686 0.07121,-1.1261 -2.108201,0.33287 -2.108201,-1.56223 0,-3.0475 0.868539,-0.6119 2.045781,-1.556057 2.616111,-2.098137 1.159651,-1.10224 2.355721,-4.34343 1.884301,-5.10621 -0.16839,-0.27247 -0.12933,-0.4971 0.0869,-0.49918 0.61136,-0.005 1.58122,-2.415571 1.284,-3.190147 -0.14631,-0.381277 -0.024,-0.693231 0.27185,-0.693231 0.29584,0 0.53789,-0.543501 0.53789,-1.207773 0,-1.256485 0.82733,-5.124559 1.45647,-6.809516 0.24674,-0.660801 -0.0355,-1.671523 -0.88212,-3.158325 -1.06581,-1.871909 -1.10381,-2.064178 -0.26403,-1.336214 0.53952,0.467675 1.1573,0.850318 1.37285,0.850318 0.89453,0 2.6899,-2.571595 2.6899,-3.852862 0,-1.449914 0.899687,-4.010403 2.402317,-6.836849 0.49726,-0.935351 1.1787,-2.629912 1.51433,-3.765694 0.56313,-1.90566 1.42819,-2.816559 1.42819,-1.503855 0,0.318256 0.4207,0.180482 0.9718,-0.318256 1.19682,-1.083108 1.28644,-0.431597 0.12148,0.883048 -0.62326,0.703339 -0.68813,1.016296 -0.24295,1.172017 0.33405,0.116854 0.60737,0.638399 0.60737,1.159001 0,0.520603 0.32237,1.070252 0.71636,1.221442 1.15556,0.443431 2.08692,-0.894246 1.83199,-2.631223 -0.17415,-1.186523 -0.0478,-1.561336 0.52616,-1.561336 0.41542,0 0.89045,0.218653 1.05561,0.485896 0.56681,0.917127 1.94557,0.475584 3.69572,-1.18355 3.46667,-3.28635 6.67978,-4.473812 8.68102,-3.208213 0.61274,0.387502 0.59538,0.498305 -0.12107,0.773245 -0.74258,0.284951 -0.70521,0.424056 0.33321,1.240878 0.64323,0.505974 1.7221,0.919952 2.39747,0.919952 0.67537,0 1.81257,0.222277 2.52712,0.493949 1.0598,0.402933 1.1921,0.622969 0.71806,1.194157 -0.5548,0.668502 -0.49397,2.073614 0.23317,5.384602 0.23301,1.061004 0.10895,1.665089 -0.43442,2.116081 -1.11797,0.927826 -0.28036,2.128357 3.00955,4.313578 6.39405,4.24704 7.94207,6.085976 8.54261,10.148001 0.25373,1.716236 0.10963,2.254062 -0.93756,3.498548 -1.18245,1.405253 -3.6941,2.976636 -4.75781,2.976636 -0.27577,0 -0.95279,-0.400848 -1.5045,-0.890782 -0.88888,-0.789356 -4.83566,-2.51049 -5.75684,-2.51049 -0.1915,0 -0.34818,0.353126 -0.34818,0.784726 0,0.721176 -0.0964,0.721532 -1.19093,0.0044 -1.60101,-1.048995 -5.61161,-1.537532 -5.61161,-0.683532 0,0.345087 0.85234,2.384628 1.89408,4.532333 1.65636,3.4148 2.25096,4.14635 4.73749,5.82868 1.56387,1.05806 3.01552,1.99935 3.22589,2.091737 0.21038,0.0924 1.89445,-0.935167 3.74242,-2.283477 4.38483,-3.19928 5.91289,-3.95819 7.96968,-3.95819 0.93285,0 1.83123,-0.21866 1.99639,-0.4859 0.16517,-0.26725 0.90026,-0.4859 1.63354,-0.4859 0.73329,0 3.09548,-0.85221 5.24934,-1.893779 2.15385,-1.041575 5.20342,-2.146114 6.77684,-2.454534 1.57341,-0.308422 4.00938,-0.913217 5.41325,-1.343991 1.40387,-0.430774 2.71579,-0.619437 2.91538,-0.419252 0.19958,0.200186 0.35547,1.642419 0.34639,3.204975 -0.0182,3.129801 -1.02499,4.844251 -2.85273,4.857601 -2.58309,0.0189 -2.72742,1.61065 -0.27307,3.01167 1.83276,1.04616 2.28663,2.17493 1.2795,3.182047 -0.57397,0.57394 -1.88609,0.81169 -4.95075,0.897 -4.04604,0.11267 -4.22091,0.0712 -5.89117,-1.39528 -2.28135,-2.003057 -4.9313,-2.290477 -7.106,-0.770767 -2.22124,1.552247 -8.90522,7.921127 -12.0155,11.449047 -0.66809,0.75782 -2.00391,1.96145 -2.96846,2.67473 -0.96455,0.71329 -2.13707,2.10471 -2.6056,3.09206 -1.10462,2.32783 -5.91946,9.7537 -7.51783,11.59468 -2.2747,2.61995 -8.96676,9.70179 -12.42279,13.14633 -3.27276,3.26188 -11.397987,8.62538 -15.825967,10.44677 -2.437195,1.00251 -3.19764,1.73026 -3.526591,3.375 -0.155061,0.77529 -0.723201,1.82072 -1.262541,2.32319 -0.719786,0.6706 -1.182407,2.19904 -1.739294,5.74647 -0.41728,2.65806 -0.966936,6.03544 -1.221469,7.50528 -0.530194,3.06168 -0.153161,7.41334 0.807577,9.32107 0.955518,1.89738 6.037228,6.24078 9.280758,7.93236 2.0019,1.04406 3.00335,1.91605 3.50417,3.05115 0.40547,0.91905 1.17392,1.70797 1.8221,1.87065 1.411567,0.35428 1.419427,0.8467 0.0277,1.7293 -0.80393,0.50982 -1.67127,0.59023 -3.27732,0.30385 -1.20123,-0.21419 -2.52923,-0.27987 -2.95111,-0.14598 -1.16459,0.36962 -3.857319,-1.13692 -3.534718,-1.97762 0.171768,-0.44761 -0.03388,-0.70536 -0.562838,-0.70536 -0.66527,0 -0.766271,0.26788 -0.500402,1.32716 0.1832,0.72993 0.370891,1.54989 0.417101,1.8221 0.04807,0.28294 -1.288188,0.55576 -3.119323,0.63689 -2.399317,0.10633 -3.356598,-0.0427 -3.813945,-0.59382 -0.537646,-0.64782 -0.696123,-0.65025 -1.325927,-0.0205 -0.747277,0.74729 -2.879831,0.98055 -3.207859,0.35088 z"
73
+ id="path1692" /><rect
74
+ style="fill:#ffff00;stroke:none;stroke-width:2.26466;stroke-linejoin:bevel;-inkscape-stroke:none;stop-color:#000000"
75
+ id="rect1893"
76
+ width="88.679382"
77
+ height="88.679382"
78
+ x="14.784949"
79
+ y="33.804947" /><rect
80
+ style="fill:#ffff00;stroke:none;stroke-width:2.26466;stroke-linejoin:bevel;-inkscape-stroke:none;stop-color:#000000"
81
+ id="rect1893-3"
82
+ width="88.679382"
83
+ height="88.679382"
84
+ x="107.35763"
85
+ y="33.804947" /><rect
86
+ style="fill:#ffff00;stroke:none;stroke-width:2.26466;stroke-linejoin:bevel;-inkscape-stroke:none;stop-color:#000000"
87
+ id="rect1893-6"
88
+ width="88.679382"
89
+ height="88.679382"
90
+ x="14.784949"
91
+ y="126.37762" /><rect
92
+ style="fill:#ffff00;stroke:none;stroke-width:2.26466;stroke-linejoin:bevel;-inkscape-stroke:none;stop-color:#000000"
93
+ id="rect1893-3-7"
94
+ width="88.679382"
95
+ height="88.679382"
96
+ x="107.35763"
97
+ y="126.37762" /></g><g
98
+ inkscape:groupmode="layer"
99
+ id="layer2"
100
+ inkscape:label="Ebene 2"><g
101
+ id="path2775-1-75"
102
+ transform="translate(-15.635683,38.72538)"
103
+ class="UnoptimicedTransforms"
104
+ style="fill:none;stroke:#000000"><path
105
+ style="color:#000000;fill:#ffffff;stroke:none;stroke-width:1.35977;-inkscape-stroke:none"
106
+ d="m 116.06031,-38.647596 -12.09913,5.753477 c -17.488322,8.316362 -22.301909,9.35968 -38.253772,8.293301 -7.553615,-0.504913 -15.683902,-1.325396 -18.066827,-1.822874 l -4.332424,-0.905016 0.62475,43.655879 c 0.665147,46.462334 1.261752,51.533524 8.636408,73.410844 3.551008,10.534175 13.799216,28.047805 22.32219,38.147805 7.696714,9.12087 22.800343,22.3055 33.054855,28.85501 3.89238,2.48598 7.69225,4.52936 8.44421,4.53379 2.24865,0.0221 23.00341,-16.33498 32.17003,-25.35374 16.75525,-16.48496 29.87321,-39.286585 35.42083,-61.568585 2.60952,-10.48132 2.9113,-15.507385 3.42237,-56.961398 l 0.56053,-45.465911 -7.51902,1.975622 c -10.30985,2.708591 -29.20312,2.565933 -37.84506,-0.286228 -3.84386,-1.2686 -11.38806,-4.546886 -16.76458,-7.28462 z"
107
+ id="path992" /></g><g
108
+ id="g2513"
109
+ transform="matrix(0.96227612,0,0,0.97544132,4.16167,-28.576473)"><path
110
+ style="fill:#321f32;fill-opacity:1;stroke-width:0.485896"
111
+ d="m 106.73871,125.75874 v 17.70589 c 0.29824,-0.26739 0.58008,-0.52819 0.82682,-0.77411 3.45603,-3.44453 10.14832,-10.52654 12.42302,-13.14648 0.5896,-0.67909 1.61901,-2.12256 2.73627,-3.7853 z"
112
+ id="path2492" /><path
113
+ style="fill:#231623;fill-opacity:1;stroke-width:0.485896"
114
+ d="m 70.493371,125.75874 c -10.786828,8.01657 -13.753752,11.36676 -16.212447,17.75189 -1.706333,4.4313 -2.443193,5.55385 -4.351156,6.62647 -3.097724,1.74148 -6.864262,4.48504 -7.81296,5.69112 -0.546971,0.69535 -1.1292,2.28771 -1.293461,3.53829 -0.16426,1.2506 -0.819188,4.35121 -1.455725,6.89002 12.416408,17.46424 12.898954,21.47259 16.310633,30.42966 10.927692,2.49612 6.08334,-2.40961 3.060795,-3.21996 -2.058438,0 -5.800192,-3.31659 -6.472474,-5.73711 -0.606452,-2.18332 -0.661918,-6.74099 -0.0863,-7.09673 0.229755,-0.14199 0.381043,-2.06819 0.336413,-4.28036 -0.09046,-4.48121 1.016717,-21.08528 1.453142,-21.79143 0.508514,-0.8228 0.940615,-0.46242 1.92288,1.603 1.434115,3.0155 6.150675,7.81843 9.256282,9.42578 2.599298,1.34531 2.686354,1.45378 2.402954,2.99982 -0.161709,0.88223 -1.156925,2.93854 -2.211234,4.56975 -1.054279,1.63117 -1.916679,3.36431 -1.916679,3.85144 0,0.78059 2.88562,4.50133 8.474935,10.92853 2.273528,2.61435 3.11664,4.36722 3.24528,6.74584 0.05771,1.06692 0.190156,2.10383 0.294555,2.30426 h 5.17e-4 c 0.32803,0.62967 2.460287,0.3964 3.207556,-0.35089 0.62981,-0.62975 0.788368,-0.62715 1.326018,0.0207 0.457349,0.55112 1.41493,0.7001 3.814237,0.59377 1.831138,-0.0811 3.16729,-0.35372 3.11919,-0.63666 -0.04621,-0.27221 -0.233829,-1.09218 -0.417029,-1.82211 -0.26587,-1.05928 -0.165042,-1.32757 0.500228,-1.32757 0.528939,0 0.734516,0.25778 0.562756,0.70539 -0.3226,0.8407 2.370079,2.34727 3.534668,1.97765 0.42188,-0.13389 1.750012,-0.0679 2.951241,0.14625 1.606048,0.28638 2.47339,0.20596 3.277319,-0.30386 1.391722,-0.8826 1.383657,-1.37533 -0.02791,-1.72961 -0.648179,-0.16268 -1.416641,-0.95164 -1.822111,-1.87069 -0.500819,-1.13509 -1.502281,-2.00691 -3.504179,-3.05097 -3.243527,-1.69158 -8.325061,-6.03496 -9.28057,-7.93233 -0.960739,-1.90773 -1.337892,-6.25921 -0.807703,-9.32088 0.25453,-1.46984 0.804351,-4.84743 1.221631,-7.50549 0.556889,-3.54742 1.019649,-5.07582 1.739429,-5.74642 0.539339,-0.50247 1.107395,-1.54808 1.262455,-2.32337 0.32895,-1.64474 1.089212,-2.37248 3.5264,-3.37499 3.900304,-1.60433 10.665593,-5.95515 14.460093,-9.19892 v -18.17928 z"
115
+ id="path2490"
116
+ sodipodi:nodetypes="cssssccccscsssssssscccsccsssscssssssssssccc" /><path
117
+ style="fill:#3c1c3c;fill-opacity:1;stroke-width:0.485896"
118
+ d="m 103.6531,59.857844 c -0.12964,-0.02519 -0.42246,0.136955 -0.87127,0.54312 -0.5511,0.498737 -0.97203,0.636582 -0.97203,0.318327 0,-1.312703 -0.86469,-0.401874 -1.42782,1.503784 -0.33563,1.135781 -1.017374,2.830311 -1.51463,3.765661 -1.502623,2.826443 -2.402438,5.38688 -2.402438,6.836792 0,1.281266 -1.795229,3.852995 -2.689758,3.852995 -0.21555,0 -0.833523,-0.382919 -1.373043,-0.850594 -0.839779,-0.727963 -0.801742,-0.535555 0.264067,1.336353 0.846619,1.4868 1.128856,2.497663 0.882116,3.158463 -0.629139,1.684955 -1.456241,5.55292 -1.456241,6.809404 0,0.664271 -0.242112,1.207678 -0.537952,1.207678 -0.29585,0 -0.418128,0.311704 -0.271818,0.692981 0.29722,0.774575 -0.6728,3.185503 -1.284159,3.190503 -0.21623,0.0021 -0.255207,0.226724 -0.08682,0.499194 0.47142,0.762779 -0.724474,4.003909 -1.884123,5.106148 -0.570329,0.54208 -1.747838,1.486163 -2.616377,2.09806 -2.108198,1.485267 -2.108198,3.380227 0,3.047357 0.511409,-0.0808 0.456122,0.80038 -0.0708,1.12603 -0.53494,0.33061 -2.479952,4.00463 -2.479952,4.68447 0,0.30296 0.675222,0.36631 1.751831,0.16433 1.723118,-0.32325 1.741846,-0.30962 1.144116,0.82837 -1.364298,2.59748 -3.556818,5.21862 -5.713346,6.83059 -1.256429,0.93918 -4.580582,3.38716 -7.386629,5.43998 -0.500024,0.3658 -0.960551,0.70733 -1.431438,1.05523 H 104.08305 V 64.865291 c -0.0331,-0.0099 -0.0657,-0.01609 -0.0992,-0.02894 -0.39399,-0.15119 -0.71624,-0.701029 -0.71624,-1.221631 0,-0.520601 -0.27315,-1.042248 -0.6072,-1.159102 -0.44518,-0.155721 -0.38038,-0.468684 0.24288,-1.172022 0.7281,-0.821652 0.96589,-1.383766 0.74983,-1.425753 z"
119
+ id="path2488" /><path
120
+ style="fill:#481b48;fill-opacity:1;stroke-width:0.485896"
121
+ d="m 120.1782,56.243078 c -1.91046,-0.0459 -4.36805,1.238373 -6.96805,3.703133 -1.75015,1.659132 -3.12909,2.100516 -3.6959,1.18339 -0.16516,-0.267242 -0.63981,-0.485758 -1.05523,-0.485758 -0.57396,0 -0.70073,0.374623 -0.52658,1.561145 0.20561,1.400965 -0.36071,2.541074 -1.19373,2.69751 v 58.200572 h 16.34319 c 1.81776,-2.7354 3.77046,-5.89198 4.42454,-7.27035 0.46853,-0.98735 1.64097,-2.37903 2.60552,-3.09232 0.96455,-0.71328 2.30021,-1.91695 2.9683,-2.67477 3.11027,-3.52792 9.79456,-9.89667 12.0158,-11.448911 2.1747,-1.519709 4.82468,-1.232043 7.10603,0.771017 1.67025,1.466464 1.84507,1.507924 5.89111,1.395254 3.06466,-0.0853 4.37663,-0.32316 4.9506,-0.897097 1.00713,-1.007117 0.55325,-2.136077 -1.27951,-3.182236 -2.45434,-1.401018 -2.31023,-2.992802 0.27285,-3.011702 1.82774,-0.01335 2.83486,-1.727787 2.85306,-4.857585 0.009,-1.562554 -0.14665,-3.004786 -0.34623,-3.204972 -0.19959,-0.200185 -1.51172,-0.01116 -2.91559,0.419613 -1.40386,0.430773 -3.83969,1.035165 -5.4131,1.343587 -1.57342,0.308419 -4.623,1.413056 -6.77685,2.45463 -2.15386,1.041568 -4.516,1.893942 -5.24929,1.893942 -0.73328,0 -1.46884,0.218508 -1.63401,0.485758 -0.16516,0.26724 -1.06341,0.485759 -1.99626,0.485759 -2.05679,0 -3.58471,0.759137 -7.96954,3.958414 -1.84797,1.348309 -3.53203,2.375985 -3.74241,2.283585 -0.21037,-0.09239 -1.66229,-1.033806 -3.22616,-2.091865 -2.48652,-1.682329 -3.08082,-2.413788 -4.73718,-5.828585 -1.04173,-2.147703 -1.89394,-4.187453 -1.89394,-4.53254 0,-0.853999 4.01054,-0.365315 5.61155,0.683679 1.09453,0.717132 1.19062,0.716525 1.19062,-0.0047 0,-0.431599 0.1568,-0.784448 0.3483,-0.784448 0.92118,0 4.86788,1.721086 5.75676,2.510441 0.5517,0.489934 1.22904,0.890902 1.50481,0.890902 1.06371,0 3.5754,-1.571311 4.75785,-2.976563 1.04719,-1.244484 1.19114,-1.78226 0.93741,-3.498494 -0.60054,-4.062021 -2.14858,-5.901182 -8.54263,-10.148218 -3.28991,-2.185219 -4.1276,-3.385607 -3.00963,-4.313432 0.54337,-0.450991 0.6676,-1.055147 0.4346,-2.116149 -0.72714,-3.310985 -0.78838,-4.716183 -0.23358,-5.384685 0.47404,-0.571187 0.34201,-0.791309 -0.71779,-1.194242 -0.71455,-0.271672 -1.85161,-0.494027 -2.52698,-0.494027 -0.67536,0 -1.75455,-0.413867 -2.39778,-0.91984 -1.03842,-0.816821 -1.07589,-0.955801 -0.33332,-1.240751 0.71645,-0.27494 0.73418,-0.385578 0.12144,-0.77308 -0.5003,-0.316399 -1.07625,-0.479759 -1.71307,-0.49506 z"
122
+ id="path1692-5" /></g><path
123
+ id="path2775-1"
124
+ style="fill:url(#linearGradient4239);fill-opacity:1;stroke:#000000;stroke-width:1.35977"
125
+ d="M 100.42463,0.07778856 88.325491,5.8312659 C 70.837174,14.147628 66.023587,15.190946 50.071724,14.124567 42.518109,13.619654 34.387822,12.799171 32.004897,12.301693 l -4.332424,-0.905016 0.62475,43.655879 c 0.665147,46.462334 1.261752,51.533524 8.636408,73.410844 3.551008,10.53418 13.799216,28.04781 22.32219,38.14781 7.696714,9.12087 22.800343,22.30549 33.054856,28.855 3.892377,2.48598 7.692253,4.52936 8.444213,4.53379 2.24865,0.0221 23.0034,-16.33498 32.17003,-25.35373 16.75525,-16.48496 29.87321,-39.28659 35.42083,-61.56859 2.60952,-10.48132 2.9113,-15.507385 3.42237,-56.961398 l 0.56053,-45.465911 -7.51902,1.975622 c -10.30985,2.708591 -29.20312,2.565933 -37.84506,-0.286228 -3.84386,-1.2686 -11.38806,-4.5468857 -16.76458,-7.2846199 z m -0.0408,9.60885264 8.83594,4.4993918 c 4.85966,2.474535 11.67833,5.437077 15.15273,6.583724 7.81118,2.577973 24.88876,2.707201 34.20757,0.258708 l 6.79611,-1.785721 -0.50688,41.095414 c -0.46189,37.469163 -0.73477,42.012172 -3.09347,51.485902 -5.01432,20.14016 -16.87126,40.74966 -32.01591,55.64997 -8.28545,8.15181 -27.04495,22.93669 -29.07746,22.91666 -0.67966,-0.005 -4.114525,-1.85057 -7.632781,-4.09757 -9.268833,-5.91994 -22.920632,-17.83711 -29.877496,-26.08123 -7.70371,-9.12907 -16.966277,-24.9594 -20.175931,-34.48096 -6.665734,-19.77435 -7.204954,-24.35814 -7.80616,-66.354207 l -0.565119,-39.45923 3.916383,0.818321 c 2.153879,0.449683 9.502186,1.191264 16.329729,1.647651 14.41848,0.963856 18.769612,0.01805 34.576824,-7.496539 z" /><path
126
+ inkscape:original-d="M 0,0"
127
+ inkscape:path-effect="#path-effect996"
128
+ d="M 0,0"
129
+ id="path998"
130
+ class="UnoptimicedTransforms" /><path
131
+ id="path2775-1-7"
132
+ style="fill:#ffffff;stroke:#000000;stroke-width:1.35977"
133
+ d="M 100.42463,0.07778395 88.325488,5.8312613 C 81.882978,8.8949245 77.165159,10.965428 72.972331,12.313155 l 2.369187,8.50843 c 3.846075,-1.215912 8.167679,-3.111446 14.106409,-5.934664 l 10.935863,-5.2002844 8.83596,4.4993914 c 4.85965,2.474518 11.67831,5.437087 15.15271,6.583725 0.12713,0.04196 0.26343,0.08135 0.3954,0.122014 l 2.36643,-8.499257 c -0.0555,-0.01782 -0.11507,-0.03473 -0.16972,-0.05275 -3.84377,-1.26859 -11.38816,-4.5469114 -16.76458,-7.2846179 z m 71.90402,10.57258305 -7.51902,1.975622 c -3.90112,1.024907 -9.03188,1.640722 -14.37061,1.856819 l -5.51266,8.247889 c 5.06254,-0.169594 9.96601,-0.733323 13.65367,-1.702237 l 6.79611,-1.78572 -0.19404,15.722868 6.88601,-3.17925 z m -144.65618,0.746305 0.297697,20.810772 6.876375,3.174664 -0.221552,-15.46462 3.916384,0.818321 c 2.141999,0.44721 9.421438,1.181964 16.216889,1.638936 L 49.199732,14.058969 C 41.902746,13.551045 34.296247,12.780047 32.004895,12.301688 Z m 144.12272,42.533898 -6.85666,0.791258 -0.0692,5.616326 c -0.0844,6.846077 -0.16297,12.570852 -0.24862,17.449415 l 6.84565,-0.904096 c 0.10551,-5.70791 0.19972,-12.485225 0.30181,-20.767196 z m -143.506684,0.508699 0.0088,0.613282 c 0.126427,8.831296 0.253253,16.109511 0.422004,22.350173 l 6.815368,0.900421 C 35.399233,72.954747 35.295539,66.742541 35.190093,59.376718 l -0.05917,-4.147567 z M 163.96105,97.639655 c -0.42307,6.285705 -1.06915,9.701565 -2.18526,14.184385 -0.80192,3.22094 -1.78083,6.45381 -2.91824,9.67353 l 6.19749,2.45496 c 1.28458,-3.6192 2.38914,-7.25372 3.29071,-10.87486 1.14434,-4.59626 1.84466,-8.14499 2.31369,-14.175208 z m -127.423738,0.489439 -6.609871,1.245829 c 0.984366,9.361367 2.638751,15.797807 5.638344,24.972547 l 6.161262,-2.44028 C 38.902341,113.25624 37.406099,107.27168 36.537312,98.129094 Z M 149.64409,141.47718 c -4.5306,7.89765 -9.93183,15.34664 -15.949,21.91303 l 5.40715,4.70763 c 5.92851,-6.75685 11.273,-14.28379 15.82424,-22.21806 z m -98.923308,0.45777 -5.275512,4.39619 c 4.246664,7.41346 9.269548,14.89881 13.810548,20.28006 0.570427,0.67599 1.186156,1.37632 1.832966,2.09259 l 5.458533,-4.75259 c -1.236371,-1.30098 -2.380206,-2.56032 -3.375116,-3.73932 -4.093518,-4.85093 -8.619604,-11.59363 -12.451419,-18.27693 z m 66.764288,36.35247 c -7.70733,6.32979 -15.53068,12.1158 -16.80265,12.10326 -0.67966,-0.005 -4.11453,-1.85057 -7.632778,-4.09757 -3.067022,-1.9589 -6.61544,-4.5811 -10.240943,-7.50296 l -3.951243,6.64014 c 4.737249,3.92814 9.462457,7.48706 13.453219,10.03591 3.892377,2.48598 7.692255,4.52935 8.444215,4.53379 1.5216,0.015 11.51537,-7.47181 20.66032,-15.1082 z" /></g></svg>