compony 0.0.1

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.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.ruby-version +1 -0
  4. data/.yardopts +2 -0
  5. data/Gemfile +3 -0
  6. data/Gemfile.lock +208 -0
  7. data/LICENSE +165 -0
  8. data/README.md +33 -0
  9. data/Rakefile +34 -0
  10. data/app/controllers/compony_controller.rb +31 -0
  11. data/compony.gemspec +32 -0
  12. data/config/locales/de.yml +29 -0
  13. data/config/locales/en.yml +29 -0
  14. data/config/routes.rb +18 -0
  15. data/doc/resourceful_lifecycle.graphml +819 -0
  16. data/doc/resourceful_lifecycle.pdf +1564 -0
  17. data/lib/compony/component.rb +225 -0
  18. data/lib/compony/component_mixins/default/labelling.rb +77 -0
  19. data/lib/compony/component_mixins/default/standalone/resourceful_verb_dsl.rb +55 -0
  20. data/lib/compony/component_mixins/default/standalone/standalone_dsl.rb +56 -0
  21. data/lib/compony/component_mixins/default/standalone/verb_dsl.rb +47 -0
  22. data/lib/compony/component_mixins/default/standalone.rb +117 -0
  23. data/lib/compony/component_mixins/resourceful.rb +92 -0
  24. data/lib/compony/components/button.rb +59 -0
  25. data/lib/compony/components/form.rb +138 -0
  26. data/lib/compony/components/resourceful/destroy.rb +77 -0
  27. data/lib/compony/components/resourceful/edit.rb +96 -0
  28. data/lib/compony/components/resourceful/new.rb +95 -0
  29. data/lib/compony/components/with_form.rb +37 -0
  30. data/lib/compony/controller_mixin.rb +12 -0
  31. data/lib/compony/engine.rb +19 -0
  32. data/lib/compony/method_accessible_hash.rb +43 -0
  33. data/lib/compony/model_fields/anchormodel.rb +28 -0
  34. data/lib/compony/model_fields/association.rb +53 -0
  35. data/lib/compony/model_fields/base.rb +63 -0
  36. data/lib/compony/model_fields/boolean.rb +9 -0
  37. data/lib/compony/model_fields/currency.rb +9 -0
  38. data/lib/compony/model_fields/date.rb +9 -0
  39. data/lib/compony/model_fields/datetime.rb +9 -0
  40. data/lib/compony/model_fields/decimal.rb +6 -0
  41. data/lib/compony/model_fields/float.rb +6 -0
  42. data/lib/compony/model_fields/integer.rb +6 -0
  43. data/lib/compony/model_fields/phone.rb +15 -0
  44. data/lib/compony/model_fields/rich_text.rb +9 -0
  45. data/lib/compony/model_fields/string.rb +6 -0
  46. data/lib/compony/model_fields/text.rb +6 -0
  47. data/lib/compony/model_fields/time.rb +6 -0
  48. data/lib/compony/model_mixin.rb +88 -0
  49. data/lib/compony/request_context.rb +45 -0
  50. data/lib/compony/version.rb +11 -0
  51. data/lib/compony/view_helpers.rb +36 -0
  52. data/lib/compony.rb +268 -0
  53. data/lib/generators/component/USAGE +8 -0
  54. data/lib/generators/component/component_generator.rb +14 -0
  55. data/lib/generators/component/templates/component.rb.erb +4 -0
  56. metadata +236 -0
@@ -0,0 +1,819 @@
1
+ <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2
+ <graphml xmlns="http://graphml.graphdrawing.org/xmlns" xmlns:java="http://www.yworks.com/xml/yfiles-common/1.0/java" xmlns:sys="http://www.yworks.com/xml/yfiles-common/markup/primitives/2.0" xmlns:x="http://www.yworks.com/xml/yfiles-common/markup/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:y="http://www.yworks.com/xml/graphml" xmlns:yed="http://www.yworks.com/xml/yed/3" xsi:schemaLocation="http://graphml.graphdrawing.org/xmlns http://www.yworks.com/xml/schema/graphml/1.1/ygraphml.xsd">
3
+ <!--Created by yEd 3.21.1-->
4
+ <key attr.name="Beschreibung" attr.type="string" for="graph" id="d0"/>
5
+ <key for="port" id="d1" yfiles.type="portgraphics"/>
6
+ <key for="port" id="d2" yfiles.type="portgeometry"/>
7
+ <key for="port" id="d3" yfiles.type="portuserdata"/>
8
+ <key attr.name="url" attr.type="string" for="node" id="d4"/>
9
+ <key attr.name="description" attr.type="string" for="node" id="d5"/>
10
+ <key for="node" id="d6" yfiles.type="nodegraphics"/>
11
+ <key for="graphml" id="d7" yfiles.type="resources"/>
12
+ <key attr.name="url" attr.type="string" for="edge" id="d8"/>
13
+ <key attr.name="description" attr.type="string" for="edge" id="d9"/>
14
+ <key for="edge" id="d10" yfiles.type="edgegraphics"/>
15
+ <graph edgedefault="directed" id="G">
16
+ <data key="d0"/>
17
+ <node id="n0">
18
+ <data key="d5"/>
19
+ <data key="d6">
20
+ <y:GenericNode configuration="com.yworks.bpmn.Event.withShadow">
21
+ <y:Geometry height="30.0" width="30.0" x="818.0" y="151.0990625"/>
22
+ <y:Fill color="#FFFFFFE6" color2="#D4D4D4CC" transparent="false"/>
23
+ <y:BorderStyle color="#27AE27" type="line" width="1.0"/>
24
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="34.0">
25
+ <y:LabelModel>
26
+ <y:SmartNodeLabelModel distance="4.0"/>
27
+ </y:LabelModel>
28
+ <y:ModelParameter>
29
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="-0.5" nodeRatioX="0.0" nodeRatioY="0.5" offsetX="0.0" offsetY="4.0" upX="0.0" upY="-1.0"/>
30
+ </y:ModelParameter>
31
+ </y:NodeLabel>
32
+ <y:StyleProperties>
33
+ <y:Property class="com.yworks.yfiles.bpmn.view.EventCharEnum" name="com.yworks.bpmn.characteristic" value="EVENT_CHARACTERISTIC_START"/>
34
+ <y:Property class="java.awt.Color" name="com.yworks.bpmn.icon.line.color" value="#000000"/>
35
+ <y:Property class="java.awt.Color" name="com.yworks.bpmn.icon.fill2" value="#d4d4d4cc"/>
36
+ <y:Property class="java.awt.Color" name="com.yworks.bpmn.icon.fill" value="#ffffffe6"/>
37
+ <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="EVENT_TYPE_PLAIN"/>
38
+ </y:StyleProperties>
39
+ </y:GenericNode>
40
+ </data>
41
+ </node>
42
+ <node id="n1">
43
+ <data key="d5"/>
44
+ <data key="d6">
45
+ <y:GenericNode configuration="com.yworks.bpmn.Event.withShadow">
46
+ <y:Geometry height="30.0" width="30.0" x="818.0" y="1253.3009375000001"/>
47
+ <y:Fill color="#FFFFFFE6" color2="#D4D4D4CC" transparent="false"/>
48
+ <y:BorderStyle color="#27AE27" type="line" width="1.0"/>
49
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="34.0">
50
+ <y:LabelModel>
51
+ <y:SmartNodeLabelModel distance="4.0"/>
52
+ </y:LabelModel>
53
+ <y:ModelParameter>
54
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="-0.5" nodeRatioX="0.0" nodeRatioY="0.5" offsetX="0.0" offsetY="4.0" upX="0.0" upY="-1.0"/>
55
+ </y:ModelParameter>
56
+ </y:NodeLabel>
57
+ <y:StyleProperties>
58
+ <y:Property class="com.yworks.yfiles.bpmn.view.EventCharEnum" name="com.yworks.bpmn.characteristic" value="EVENT_CHARACTERISTIC_START"/>
59
+ <y:Property class="java.awt.Color" name="com.yworks.bpmn.icon.line.color" value="#000000"/>
60
+ <y:Property class="java.awt.Color" name="com.yworks.bpmn.icon.fill2" value="#d4d4d4cc"/>
61
+ <y:Property class="java.awt.Color" name="com.yworks.bpmn.icon.fill" value="#ffffffe6"/>
62
+ <y:Property class="com.yworks.yfiles.bpmn.view.BPMNTypeEnum" name="com.yworks.bpmn.type" value="EVENT_TYPE_MESSAGE"/>
63
+ </y:StyleProperties>
64
+ </y:GenericNode>
65
+ </data>
66
+ </node>
67
+ <node id="n2" yfiles.foldertype="group">
68
+ <data key="d4" xml:space="preserve"/>
69
+ <data key="d5"/>
70
+ <data key="d6">
71
+ <y:ProxyAutoBoundsNode>
72
+ <y:Realizers active="0">
73
+ <y:GroupNode>
74
+ <y:Geometry height="345.7250212222655" width="613.6624999999999" x="578.75" y="197.91497877773446"/>
75
+ <y:Fill color="#CAECFF84" transparent="false"/>
76
+ <y:BorderStyle color="#666699" type="dotted" width="1.0"/>
77
+ <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#99CCFF" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.4609375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="613.6624999999999" x="0.0" xml:space="preserve" y="0.0">if resourceful</y:NodeLabel>
78
+ <y:Shape type="roundrectangle"/>
79
+ <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
80
+ <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
81
+ <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="277" rightF="277.4124999999999" top="0" topF="0.0"/>
82
+ </y:GroupNode>
83
+ <y:GroupNode>
84
+ <y:Geometry height="50.0" width="50.0" x="60.0" y="60.0"/>
85
+ <y:Fill color="#CAECFF80" transparent="false"/>
86
+ <y:BorderStyle color="#666699" type="dotted" width="1.0"/>
87
+ <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#99CCFF" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.4609375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="65.201171875" x="-7.6005859375" xml:space="preserve" y="0.0">Folder 1</y:NodeLabel>
88
+ <y:Shape type="roundrectangle"/>
89
+ <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
90
+ <y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
91
+ <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
92
+ </y:GroupNode>
93
+ </y:Realizers>
94
+ </y:ProxyAutoBoundsNode>
95
+ </data>
96
+ <graph edgedefault="directed" id="n2:">
97
+ <node id="n2::n0">
98
+ <data key="d5"/>
99
+ <data key="d6">
100
+ <y:ShapeNode>
101
+ <y:Geometry height="74.0" width="74.0" x="796.0" y="317.0"/>
102
+ <y:Fill hasColor="false" transparent="false"/>
103
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
104
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="35.0" y="35.0">
105
+ <y:LabelModel>
106
+ <y:SmartNodeLabelModel distance="4.0"/>
107
+ </y:LabelModel>
108
+ <y:ModelParameter>
109
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
110
+ </y:ModelParameter>
111
+ </y:NodeLabel>
112
+ <y:Shape type="rectangle"/>
113
+ </y:ShapeNode>
114
+ </data>
115
+ </node>
116
+ <node id="n2::n1">
117
+ <data key="d5"/>
118
+ <data key="d6">
119
+ <y:SVGNode>
120
+ <y:Geometry height="47.612998962402344" width="39.25" x="593.75" y="276.53256301879884"/>
121
+ <y:Fill color="#CCCCFF" transparent="false"/>
122
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
123
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="17.625" y="51.612998962402344">
124
+ <y:LabelModel>
125
+ <y:SmartNodeLabelModel distance="4.0"/>
126
+ </y:LabelModel>
127
+ <y:ModelParameter>
128
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="-0.5" nodeRatioX="0.0" nodeRatioY="0.5" offsetX="0.0" offsetY="4.0" upX="0.0" upY="-1.0"/>
129
+ </y:ModelParameter>
130
+ </y:NodeLabel>
131
+ <y:SVGNodeProperties usingVisualBounds="true"/>
132
+ <y:SVGModel svgBoundsPolicy="0">
133
+ <y:SVGContent refid="1"/>
134
+ </y:SVGModel>
135
+ </y:SVGNode>
136
+ </data>
137
+ </node>
138
+ <node id="n2::n2">
139
+ <data key="d5"/>
140
+ <data key="d6">
141
+ <y:ShapeNode>
142
+ <y:Geometry height="30.0" width="30.0" x="598.375" y="234.37591627773446"/>
143
+ <y:Fill color="#C0C0C0" transparent="false"/>
144
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
145
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="13.0">
146
+ <y:LabelModel>
147
+ <y:SmartNodeLabelModel distance="4.0"/>
148
+ </y:LabelModel>
149
+ <y:ModelParameter>
150
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
151
+ </y:ModelParameter>
152
+ </y:NodeLabel>
153
+ <y:Shape type="star8"/>
154
+ </y:ShapeNode>
155
+ </data>
156
+ </node>
157
+ <node id="n2::n3">
158
+ <data key="d5"/>
159
+ <data key="d6">
160
+ <y:ShapeNode>
161
+ <y:Geometry height="74.0" width="74.0" x="796.0" y="454.64"/>
162
+ <y:Fill hasColor="false" transparent="false"/>
163
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
164
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="35.0" y="35.0">
165
+ <y:LabelModel>
166
+ <y:SmartNodeLabelModel distance="4.0"/>
167
+ </y:LabelModel>
168
+ <y:ModelParameter>
169
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
170
+ </y:ModelParameter>
171
+ </y:NodeLabel>
172
+ <y:Shape type="rectangle"/>
173
+ </y:ShapeNode>
174
+ </data>
175
+ </node>
176
+ <node id="n2::n4">
177
+ <data key="d5"/>
178
+ <data key="d6">
179
+ <y:ShapeNode>
180
+ <y:Geometry height="30.0" width="30.0" x="870.0" y="476.64"/>
181
+ <y:Fill hasColor="false" transparent="false"/>
182
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
183
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="13.0">
184
+ <y:LabelModel>
185
+ <y:SmartNodeLabelModel distance="4.0"/>
186
+ </y:LabelModel>
187
+ <y:ModelParameter>
188
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
189
+ </y:ModelParameter>
190
+ </y:NodeLabel>
191
+ <y:Shape type="octagon"/>
192
+ </y:ShapeNode>
193
+ </data>
194
+ </node>
195
+ </graph>
196
+ </node>
197
+ <node id="n3" yfiles.foldertype="group">
198
+ <data key="d4" xml:space="preserve"/>
199
+ <data key="d5"/>
200
+ <data key="d6">
201
+ <y:ProxyAutoBoundsNode>
202
+ <y:Realizers active="0">
203
+ <y:GroupNode>
204
+ <y:Geometry height="316.07010878173867" width="613.6624999999999" x="578.75" y="554.8498912182612"/>
205
+ <y:Fill color="#CAECFF84" transparent="false"/>
206
+ <y:BorderStyle color="#666699" type="dotted" width="1.0"/>
207
+ <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#99CCFF" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.4609375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="613.6624999999999" x="0.0" xml:space="preserve" y="0.0">if resourceful and assign_attributes defined</y:NodeLabel>
208
+ <y:Shape type="roundrectangle"/>
209
+ <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
210
+ <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
211
+ <y:BorderInsets bottom="0" bottomF="0.0" left="8" leftF="7.824574990844667" right="277" rightF="277.4124999999999" top="0" topF="0.0"/>
212
+ </y:GroupNode>
213
+ <y:GroupNode>
214
+ <y:Geometry height="50.0" width="50.0" x="60.0" y="60.0"/>
215
+ <y:Fill color="#CAECFF80" transparent="false"/>
216
+ <y:BorderStyle color="#666699" type="dotted" width="1.0"/>
217
+ <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#99CCFF" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.4609375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="65.201171875" x="-7.6005859375" xml:space="preserve" y="0.0">Folder 2</y:NodeLabel>
218
+ <y:Shape type="roundrectangle"/>
219
+ <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
220
+ <y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
221
+ <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
222
+ </y:GroupNode>
223
+ </y:Realizers>
224
+ </y:ProxyAutoBoundsNode>
225
+ </data>
226
+ <graph edgedefault="directed" id="n3:">
227
+ <node id="n3::n0">
228
+ <data key="d5"/>
229
+ <data key="d6">
230
+ <y:ShapeNode>
231
+ <y:Geometry height="74.0" width="74.0" x="796.0" y="644.2799999999999"/>
232
+ <y:Fill color="#FFCC00" transparent="false"/>
233
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
234
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="35.0" y="35.0">
235
+ <y:LabelModel>
236
+ <y:SmartNodeLabelModel distance="4.0"/>
237
+ </y:LabelModel>
238
+ <y:ModelParameter>
239
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
240
+ </y:ModelParameter>
241
+ </y:NodeLabel>
242
+ <y:Shape type="rectangle"/>
243
+ </y:ShapeNode>
244
+ </data>
245
+ </node>
246
+ <node id="n3::n1">
247
+ <data key="d5"/>
248
+ <data key="d6">
249
+ <y:ShapeNode>
250
+ <y:Geometry height="30.0" width="30.0" x="870.0" y="666.2799999999999"/>
251
+ <y:Fill color="#FFCC00" transparent="false"/>
252
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
253
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="13.0">
254
+ <y:LabelModel>
255
+ <y:SmartNodeLabelModel distance="4.0"/>
256
+ </y:LabelModel>
257
+ <y:ModelParameter>
258
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
259
+ </y:ModelParameter>
260
+ </y:NodeLabel>
261
+ <y:Shape type="octagon"/>
262
+ </y:ShapeNode>
263
+ </data>
264
+ </node>
265
+ <node id="n3::n2">
266
+ <data key="d5"/>
267
+ <data key="d6">
268
+ <y:SVGNode>
269
+ <y:Geometry height="37.5383425634775" width="32.850850018310666" x="601.5745749908447" y="591.3108287182612"/>
270
+ <y:Fill color="#CCCCFF" transparent="false"/>
271
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
272
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="14.425425009155333" y="41.5383425634775">
273
+ <y:LabelModel>
274
+ <y:SmartNodeLabelModel distance="4.0"/>
275
+ </y:LabelModel>
276
+ <y:ModelParameter>
277
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="-0.5" nodeRatioX="0.0" nodeRatioY="0.5" offsetX="0.0" offsetY="4.0" upX="0.0" upY="-1.0"/>
278
+ </y:ModelParameter>
279
+ </y:NodeLabel>
280
+ <y:SVGNodeProperties usingVisualBounds="true"/>
281
+ <y:SVGModel svgBoundsPolicy="0">
282
+ <y:SVGContent refid="2"/>
283
+ </y:SVGModel>
284
+ </y:SVGNode>
285
+ </data>
286
+ </node>
287
+ <node id="n3::n3">
288
+ <data key="d5"/>
289
+ <data key="d6">
290
+ <y:ShapeNode>
291
+ <y:Geometry height="74.0" width="74.0" x="796.0" y="781.9199999999998"/>
292
+ <y:Fill color="#FFCC00" transparent="false"/>
293
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
294
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="35.0" y="35.0">
295
+ <y:LabelModel>
296
+ <y:SmartNodeLabelModel distance="4.0"/>
297
+ </y:LabelModel>
298
+ <y:ModelParameter>
299
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
300
+ </y:ModelParameter>
301
+ </y:NodeLabel>
302
+ <y:Shape type="rectangle"/>
303
+ </y:ShapeNode>
304
+ </data>
305
+ </node>
306
+ <node id="n3::n4">
307
+ <data key="d5"/>
308
+ <data key="d6">
309
+ <y:ShapeNode>
310
+ <y:Geometry height="30.0" width="30.0" x="870.0" y="803.9199999999998"/>
311
+ <y:Fill color="#FFCC00" transparent="false"/>
312
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
313
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="13.0">
314
+ <y:LabelModel>
315
+ <y:SmartNodeLabelModel distance="4.0"/>
316
+ </y:LabelModel>
317
+ <y:ModelParameter>
318
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
319
+ </y:ModelParameter>
320
+ </y:NodeLabel>
321
+ <y:Shape type="octagon"/>
322
+ </y:ShapeNode>
323
+ </data>
324
+ </node>
325
+ <node id="n3::n5">
326
+ <data key="d5"/>
327
+ <data key="d6">
328
+ <y:ShapeNode>
329
+ <y:Geometry height="30.0" width="30.0" x="796.0" y="825.9199999999998"/>
330
+ <y:Fill color="#FFCC00" transparent="false"/>
331
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
332
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="13.0">
333
+ <y:LabelModel>
334
+ <y:SmartNodeLabelModel distance="4.0"/>
335
+ </y:LabelModel>
336
+ <y:ModelParameter>
337
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
338
+ </y:ModelParameter>
339
+ </y:NodeLabel>
340
+ <y:Shape type="triangle"/>
341
+ </y:ShapeNode>
342
+ </data>
343
+ </node>
344
+ </graph>
345
+ </node>
346
+ <node id="n4" yfiles.foldertype="group">
347
+ <data key="d4" xml:space="preserve"/>
348
+ <data key="d5"/>
349
+ <data key="d6">
350
+ <y:ProxyAutoBoundsNode>
351
+ <y:Realizers active="0">
352
+ <y:GroupNode>
353
+ <y:Geometry height="263.1009375000001" width="613.6624999999999" x="578.75" y="941.56"/>
354
+ <y:Fill color="#CAECFF84" transparent="false"/>
355
+ <y:BorderStyle color="#666699" type="dotted" width="1.0"/>
356
+ <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#99CCFF" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.4609375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="613.6624999999999" x="0.0" xml:space="preserve" y="0.0">if resourceful and store_data defined</y:NodeLabel>
357
+ <y:Shape type="roundrectangle"/>
358
+ <y:State closed="false" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
359
+ <y:Insets bottom="15" bottomF="15.0" left="15" leftF="15.0" right="15" rightF="15.0" top="15" topF="15.0"/>
360
+ <y:BorderInsets bottom="0" bottomF="0.0" left="5" leftF="4.625" right="277" rightF="277.4124999999999" top="0" topF="0.0"/>
361
+ </y:GroupNode>
362
+ <y:GroupNode>
363
+ <y:Geometry height="50.0" width="50.0" x="60.0" y="60.0"/>
364
+ <y:Fill color="#CAECFF80" transparent="false"/>
365
+ <y:BorderStyle color="#666699" type="dotted" width="1.0"/>
366
+ <y:NodeLabel alignment="right" autoSizePolicy="node_width" backgroundColor="#99CCFF" borderDistance="0.0" fontFamily="Dialog" fontSize="15" fontStyle="plain" hasLineColor="false" height="21.4609375" horizontalTextPosition="center" iconTextGap="4" modelName="internal" modelPosition="t" textColor="#000000" verticalTextPosition="bottom" visible="true" width="65.201171875" x="-7.6005859375" xml:space="preserve" y="0.0">Folder 3</y:NodeLabel>
367
+ <y:Shape type="roundrectangle"/>
368
+ <y:State closed="true" closedHeight="50.0" closedWidth="50.0" innerGraphDisplayEnabled="false"/>
369
+ <y:Insets bottom="5" bottomF="5.0" left="5" leftF="5.0" right="5" rightF="5.0" top="5" topF="5.0"/>
370
+ <y:BorderInsets bottom="0" bottomF="0.0" left="0" leftF="0.0" right="0" rightF="0.0" top="0" topF="0.0"/>
371
+ </y:GroupNode>
372
+ </y:Realizers>
373
+ </y:ProxyAutoBoundsNode>
374
+ </data>
375
+ <graph edgedefault="directed" id="n4:">
376
+ <node id="n4::n0">
377
+ <data key="d5"/>
378
+ <data key="d6">
379
+ <y:ShapeNode>
380
+ <y:Geometry height="74.0" width="74.0" x="796.0" y="978.0209375"/>
381
+ <y:Fill color="#00CCFF" transparent="false"/>
382
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
383
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="35.0" y="35.0">
384
+ <y:LabelModel>
385
+ <y:SmartNodeLabelModel distance="4.0"/>
386
+ </y:LabelModel>
387
+ <y:ModelParameter>
388
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
389
+ </y:ModelParameter>
390
+ </y:NodeLabel>
391
+ <y:Shape type="rectangle"/>
392
+ </y:ShapeNode>
393
+ </data>
394
+ </node>
395
+ <node id="n4::n1">
396
+ <data key="d5"/>
397
+ <data key="d6">
398
+ <y:ShapeNode>
399
+ <y:Geometry height="30.0" width="30.0" x="870.0" y="1000.0209375"/>
400
+ <y:Fill color="#00CCFF" transparent="false"/>
401
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
402
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="13.0">
403
+ <y:LabelModel>
404
+ <y:SmartNodeLabelModel distance="4.0"/>
405
+ </y:LabelModel>
406
+ <y:ModelParameter>
407
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
408
+ </y:ModelParameter>
409
+ </y:NodeLabel>
410
+ <y:Shape type="octagon"/>
411
+ </y:ShapeNode>
412
+ </data>
413
+ </node>
414
+ <node id="n4::n2">
415
+ <data key="d5"/>
416
+ <data key="d6">
417
+ <y:ShapeNode>
418
+ <y:Geometry height="30.0" width="30.0" x="796.0" y="1022.0209375"/>
419
+ <y:Fill color="#00CCFF" transparent="false"/>
420
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
421
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="13.0">
422
+ <y:LabelModel>
423
+ <y:SmartNodeLabelModel distance="4.0"/>
424
+ </y:LabelModel>
425
+ <y:ModelParameter>
426
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
427
+ </y:ModelParameter>
428
+ </y:NodeLabel>
429
+ <y:Shape type="triangle"/>
430
+ </y:ShapeNode>
431
+ </data>
432
+ </node>
433
+ <node id="n4::n3">
434
+ <data key="d5"/>
435
+ <data key="d6">
436
+ <y:SVGNode>
437
+ <y:Geometry height="47.612998962402344" width="39.25" x="598.375" y="1056.4715910854645"/>
438
+ <y:Fill color="#CCCCFF" transparent="false"/>
439
+ <y:BorderStyle color="#000000" type="line" width="1.0"/>
440
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="17.625" y="51.612998962402344">
441
+ <y:LabelModel>
442
+ <y:SmartNodeLabelModel distance="4.0"/>
443
+ </y:LabelModel>
444
+ <y:ModelParameter>
445
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="-0.5" nodeRatioX="0.0" nodeRatioY="0.5" offsetX="0.0" offsetY="4.0" upX="0.0" upY="-1.0"/>
446
+ </y:ModelParameter>
447
+ </y:NodeLabel>
448
+ <y:SVGNodeProperties usingVisualBounds="true"/>
449
+ <y:SVGModel svgBoundsPolicy="0">
450
+ <y:SVGContent refid="1"/>
451
+ </y:SVGModel>
452
+ </y:SVGNode>
453
+ </data>
454
+ </node>
455
+ <node id="n4::n4">
456
+ <data key="d5"/>
457
+ <data key="d6">
458
+ <y:ShapeNode>
459
+ <y:Geometry height="74.0" width="74.0" x="796.0" y="1115.6609375"/>
460
+ <y:Fill color="#7CDB7C" transparent="false"/>
461
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
462
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="35.0" y="35.0">
463
+ <y:LabelModel>
464
+ <y:SmartNodeLabelModel distance="4.0"/>
465
+ </y:LabelModel>
466
+ <y:ModelParameter>
467
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
468
+ </y:ModelParameter>
469
+ </y:NodeLabel>
470
+ <y:Shape type="rectangle"/>
471
+ </y:ShapeNode>
472
+ </data>
473
+ </node>
474
+ <node id="n4::n5">
475
+ <data key="d5"/>
476
+ <data key="d6">
477
+ <y:ShapeNode>
478
+ <y:Geometry height="30.0" width="30.0" x="870.0" y="1137.6609375"/>
479
+ <y:Fill color="#7CDB7C" transparent="false"/>
480
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
481
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="13.0">
482
+ <y:LabelModel>
483
+ <y:SmartNodeLabelModel distance="4.0"/>
484
+ </y:LabelModel>
485
+ <y:ModelParameter>
486
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
487
+ </y:ModelParameter>
488
+ </y:NodeLabel>
489
+ <y:Shape type="octagon"/>
490
+ </y:ShapeNode>
491
+ </data>
492
+ </node>
493
+ <node id="n4::n6">
494
+ <data key="d5"/>
495
+ <data key="d6">
496
+ <y:ShapeNode>
497
+ <y:Geometry height="30.0" width="30.0" x="796.0" y="1159.6609375"/>
498
+ <y:Fill color="#7CDB7C" transparent="false"/>
499
+ <y:BorderStyle color="#000000" raised="false" type="line" width="1.0"/>
500
+ <y:NodeLabel alignment="center" autoSizePolicy="content" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" hasText="false" height="4.0" horizontalTextPosition="center" iconTextGap="4" modelName="custom" textColor="#000000" verticalTextPosition="bottom" visible="true" width="4.0" x="13.0" y="13.0">
501
+ <y:LabelModel>
502
+ <y:SmartNodeLabelModel distance="4.0"/>
503
+ </y:LabelModel>
504
+ <y:ModelParameter>
505
+ <y:SmartNodeLabelModelParameter labelRatioX="0.0" labelRatioY="0.0" nodeRatioX="0.0" nodeRatioY="0.0" offsetX="0.0" offsetY="0.0" upX="0.0" upY="-1.0"/>
506
+ </y:ModelParameter>
507
+ </y:NodeLabel>
508
+ <y:Shape type="triangle"/>
509
+ </y:ShapeNode>
510
+ </data>
511
+ </node>
512
+ </graph>
513
+ </node>
514
+ <edge id="n2::e0" source="n2::n2" target="n2::n0">
515
+ <data key="d9"/>
516
+ <data key="d10">
517
+ <y:PolyLineEdge>
518
+ <y:Path sx="0.0" sy="0.0" tx="-1.3447676614846387" ty="-94.29165643333471">
519
+ <y:Point x="687.7383583999999" y="259.7083435666653"/>
520
+ </y:Path>
521
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
522
+ <y:Arrows source="none" target="standard"/>
523
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="28.802734375" x="98.55936442428856" xml:space="preserve" y="-8.288395355244461">new<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="6.283185307179586" distance="7.996784698276908" distanceToCenter="true" position="left" ratio="0.3501897596697109" segment="-1"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
524
+ <y:BendStyle smoothed="false"/>
525
+ </y:PolyLineEdge>
526
+ </data>
527
+ </edge>
528
+ <edge id="n2::e1" source="n2::n0" target="n2::n3">
529
+ <data key="d9"/>
530
+ <data key="d10">
531
+ <y:PolyLineEdge>
532
+ <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
533
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
534
+ <y:Arrows source="none" target="standard"/>
535
+ <y:EdgeLabel alignment="left" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="45.90625" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="163.955078125" x="5.142460937499777" xml:space="preserve" y="7.954611435894492">after_load_data
536
+ e.g. add scopes to relation
537
+ e.g. patch params<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="6.283185307179586" distance="87.11999999999978" distanceToCenter="true" position="left" ratio="0.38204123948854063" segment="-1"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
538
+ <y:BendStyle smoothed="false"/>
539
+ </y:PolyLineEdge>
540
+ </data>
541
+ </edge>
542
+ <edge id="e0" source="n2::n3" target="n3::n0">
543
+ <data key="d9"/>
544
+ <data key="d10">
545
+ <y:PolyLineEdge>
546
+ <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
547
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
548
+ <y:Arrows source="none" target="standard"/>
549
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="107.0078125" x="4.816093749999936" xml:space="preserve" y="68.02570013007971">assign_attributes<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="6.283185307179586" distance="58.319999999999936" distanceToCenter="true" position="left" ratio="0.7188869187848621" segment="-1"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
550
+ <y:BendStyle smoothed="false"/>
551
+ </y:PolyLineEdge>
552
+ </data>
553
+ </edge>
554
+ <edge id="n3::e0" source="n3::n2" target="n3::n0">
555
+ <data key="d9"/>
556
+ <data key="d10">
557
+ <y:PolyLineEdge>
558
+ <y:Path sx="0.0" sy="0.0" tx="-2.9379136000007975" ty="-71.19999999999993"/>
559
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
560
+ <y:Arrows source="none" target="standard"/>
561
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="49.19921875" x="77.13126240340625" xml:space="preserve" y="-22.18439208984387">params<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="6.283185307179586" distance="13.200000000000061" distanceToCenter="true" position="left" ratio="0.38586065424202665" segment="-1"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
562
+ <y:BendStyle smoothed="false"/>
563
+ </y:PolyLineEdge>
564
+ </data>
565
+ </edge>
566
+ <edge id="n3::e1" source="n3::n0" target="n3::n3">
567
+ <data key="d9"/>
568
+ <data key="d10">
569
+ <y:PolyLineEdge>
570
+ <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
571
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
572
+ <y:Arrows source="none" target="standard"/>
573
+ <y:EdgeLabel alignment="left" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="141.607421875" x="4.796289062500136" xml:space="preserve" y="13.291220703124964">after_assign_attributes
574
+ e.g. prefill some fields<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="6.283185307179586" distance="75.60000000000014" distanceToCenter="true" position="left" ratio="0.382041239488538" segment="-1"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
575
+ <y:BendStyle smoothed="false"/>
576
+ </y:PolyLineEdge>
577
+ </data>
578
+ </edge>
579
+ <edge id="e1" source="n3::n3" target="n4::n0">
580
+ <data key="d9"/>
581
+ <data key="d10">
582
+ <y:PolyLineEdge>
583
+ <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
584
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
585
+ <y:Arrows source="none" target="standard"/>
586
+ <y:EdgeLabel alignment="left" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="60.560546875" x="4.7197265625" xml:space="preserve" y="39.58834863638856">authorize<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="6.283185307179586" distance="35.0" distanceToCenter="true" position="left" ratio="0.3674442554152377" segment="-1"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
587
+ <y:BendStyle smoothed="false"/>
588
+ </y:PolyLineEdge>
589
+ </data>
590
+ </edge>
591
+ <edge id="n4::e0" source="n4::n0" target="n4::n3">
592
+ <data key="d9"/>
593
+ <data key="d10">
594
+ <y:PolyLineEdge>
595
+ <y:Path sx="-0.17025174495120154" sy="65.25715306666575" tx="0.0" ty="0.0"/>
596
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
597
+ <y:Arrows source="none" target="standard"/>
598
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="153.314453125" x="-177.10554051245413" xml:space="preserve" y="-20.308981405209124">create / update / destroy<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="6.283185307179586" distance="11.324620799999826" distanceToCenter="true" position="right" ratio="0.8846365623704823" segment="-1"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
599
+ <y:BendStyle smoothed="false"/>
600
+ </y:PolyLineEdge>
601
+ </data>
602
+ </edge>
603
+ <edge id="e2" source="n0" target="n2::n0">
604
+ <data key="d9"/>
605
+ <data key="d10">
606
+ <y:PolyLineEdge>
607
+ <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
608
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
609
+ <y:Arrows source="none" target="standard"/>
610
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="62.67578125" x="9.662109375000227" xml:space="preserve" y="74.82079841798765">load_data<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="6.283185307179586" distance="41.00000000000023" distanceToCenter="true" position="left" ratio="0.6469032325166857" segment="-1"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
611
+ <y:BendStyle smoothed="false"/>
612
+ </y:PolyLineEdge>
613
+ </data>
614
+ </edge>
615
+ <edge id="n4::e1" source="n4::n0" target="n4::n4">
616
+ <data key="d9"/>
617
+ <data key="d10">
618
+ <y:PolyLineEdge>
619
+ <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
620
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
621
+ <y:Arrows source="none" target="standard"/>
622
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="67.64453125" x="3.5505343750000975" xml:space="preserve" y="23.65476640625002">store_data<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="6.283185307179586" distance="37.37280000000009" distanceToCenter="true" position="left" ratio="0.5229652731541513" segment="-1"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
623
+ <y:BendStyle smoothed="false"/>
624
+ </y:PolyLineEdge>
625
+ </data>
626
+ </edge>
627
+ <edge id="e3" source="n4::n4" target="n1">
628
+ <data key="d9"/>
629
+ <data key="d10">
630
+ <y:PolyLineEdge>
631
+ <y:Path sx="0.0" sy="0.0" tx="0.0" ty="0.0"/>
632
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
633
+ <y:Arrows source="none" target="standard"/>
634
+ <y:EdgeLabel alignment="left" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="31.9375" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="275.44140625" x="4.9192968750001" xml:space="preserve" y="21.611298828124973">respond
635
+ e.g. react to previously saved success / state<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="6.283185307179586" distance="142.6400000000001" distanceToCenter="true" position="left" ratio="0.7654072111507823" segment="-1"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
636
+ <y:BendStyle smoothed="false"/>
637
+ </y:PolyLineEdge>
638
+ </data>
639
+ </edge>
640
+ <edge id="n2::e2" source="n2::n1" target="n2::n0">
641
+ <data key="d9"/>
642
+ <data key="d10">
643
+ <y:PolyLineEdge>
644
+ <y:Path sx="0.0" sy="0.0" tx="-1.9847676614847387" ty="-72.00722886699066">
645
+ <y:Point x="702.4283523385155" y="281.99277113300934"/>
646
+ </y:Path>
647
+ <y:LineStyle color="#000000" type="line" width="1.0"/>
648
+ <y:Arrows source="none" target="standard"/>
649
+ <y:EdgeLabel alignment="center" configuration="AutoFlippingLabel" distance="2.0" fontFamily="Dialog" fontSize="12" fontStyle="plain" hasBackgroundColor="false" hasLineColor="false" height="17.96875" horizontalTextPosition="center" iconTextGap="4" modelName="custom" preferredPlacement="anywhere" ratio="0.5" textColor="#000000" verticalTextPosition="bottom" visible="true" width="26.78125" x="90.95324987075321" xml:space="preserve" y="-15.226816150550121">find<y:LabelModel><y:SmartEdgeLabelModel autoRotationEnabled="false" defaultAngle="0.0" defaultDistance="10.0"/></y:LabelModel><y:ModelParameter><y:SmartEdgeLabelModelParameter angle="6.283185307179586" distance="8.063737911753023" distanceToCenter="true" position="right" ratio="0.27142242175864095" segment="-1"/></y:ModelParameter><y:PreferredPlacementDescriptor angle="0.0" angleOffsetOnRightSide="0" angleReference="absolute" angleRotationOnRightSide="co" distance="-1.0" frozen="true" placement="anywhere" side="anywhere" sideReference="relative_to_edge_flow"/></y:EdgeLabel>
650
+ <y:BendStyle smoothed="false"/>
651
+ </y:PolyLineEdge>
652
+ </data>
653
+ </edge>
654
+ </graph>
655
+ <data key="d7">
656
+ <y:Resources>
657
+ <y:Resource id="1" xml:space="preserve">&lt;?xml version="1.0" encoding="utf-8"?&gt;
658
+ &lt;svg version="1.1"
659
+ xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"
660
+ x="0px" y="0px" width="40px" height="48px" viewBox="0 0 40 48" enable-background="new 0 0 40 48" xml:space="preserve"&gt;
661
+ &lt;defs&gt;
662
+ &lt;/defs&gt;
663
+ &lt;linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="655.0938" x2="409.4502" y2="655.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
664
+ &lt;stop offset="0" style="stop-color:#4D4D4D"/&gt;
665
+ &lt;stop offset="0.0558" style="stop-color:#5F5F5F"/&gt;
666
+ &lt;stop offset="0.2103" style="stop-color:#8D8D8D"/&gt;
667
+ &lt;stop offset="0.3479" style="stop-color:#AEAEAE"/&gt;
668
+ &lt;stop offset="0.4623" style="stop-color:#C2C2C2"/&gt;
669
+ &lt;stop offset="0.5394" style="stop-color:#C9C9C9"/&gt;
670
+ &lt;stop offset="0.6247" style="stop-color:#C5C5C5"/&gt;
671
+ &lt;stop offset="0.7072" style="stop-color:#BABABA"/&gt;
672
+ &lt;stop offset="0.7885" style="stop-color:#A6A6A6"/&gt;
673
+ &lt;stop offset="0.869" style="stop-color:#8B8B8B"/&gt;
674
+ &lt;stop offset="0.9484" style="stop-color:#686868"/&gt;
675
+ &lt;stop offset="1" style="stop-color:#4D4D4D"/&gt;
676
+ &lt;/linearGradient&gt;
677
+ &lt;path fill="url(#SVGID_1_)" d="M19.625,37.613C8.787,37.613,0,35.738,0,33.425v10c0,2.313,8.787,4.188,19.625,4.188
678
+ c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,35.738,30.464,37.613,19.625,37.613z"/&gt;
679
+ &lt;linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="649.0938" x2="409.4502" y2="649.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
680
+ &lt;stop offset="0" style="stop-color:#B3B3B3"/&gt;
681
+ &lt;stop offset="0.0171" style="stop-color:#B6B6B6"/&gt;
682
+ &lt;stop offset="0.235" style="stop-color:#D7D7D7"/&gt;
683
+ &lt;stop offset="0.4168" style="stop-color:#EBEBEB"/&gt;
684
+ &lt;stop offset="0.5394" style="stop-color:#F2F2F2"/&gt;
685
+ &lt;stop offset="0.6579" style="stop-color:#EEEEEE"/&gt;
686
+ &lt;stop offset="0.7724" style="stop-color:#E3E3E3"/&gt;
687
+ &lt;stop offset="0.8853" style="stop-color:#CFCFCF"/&gt;
688
+ &lt;stop offset="0.9965" style="stop-color:#B4B4B4"/&gt;
689
+ &lt;stop offset="1" style="stop-color:#B3B3B3"/&gt;
690
+ &lt;/linearGradient&gt;
691
+ &lt;path fill="url(#SVGID_2_)" d="M19.625,37.613c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.927-18.396,3.927
692
+ c-9.481,0-17.396-1.959-18.396-3.927l-1.229,2C0,35.738,8.787,37.613,19.625,37.613z"/&gt;
693
+ &lt;linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="371.4297" y1="646" x2="408.2217" y2="646" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
694
+ &lt;stop offset="0" style="stop-color:#C9C9C9"/&gt;
695
+ &lt;stop offset="1" style="stop-color:#808080"/&gt;
696
+ &lt;/linearGradient&gt;
697
+ &lt;ellipse fill="url(#SVGID_3_)" cx="19.625" cy="31.425" rx="18.396" ry="3.926"/&gt;
698
+ &lt;linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="641.0938" x2="409.4502" y2="641.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
699
+ &lt;stop offset="0" style="stop-color:#4D4D4D"/&gt;
700
+ &lt;stop offset="0.0558" style="stop-color:#5F5F5F"/&gt;
701
+ &lt;stop offset="0.2103" style="stop-color:#8D8D8D"/&gt;
702
+ &lt;stop offset="0.3479" style="stop-color:#AEAEAE"/&gt;
703
+ &lt;stop offset="0.4623" style="stop-color:#C2C2C2"/&gt;
704
+ &lt;stop offset="0.5394" style="stop-color:#C9C9C9"/&gt;
705
+ &lt;stop offset="0.6247" style="stop-color:#C5C5C5"/&gt;
706
+ &lt;stop offset="0.7072" style="stop-color:#BABABA"/&gt;
707
+ &lt;stop offset="0.7885" style="stop-color:#A6A6A6"/&gt;
708
+ &lt;stop offset="0.869" style="stop-color:#8B8B8B"/&gt;
709
+ &lt;stop offset="0.9484" style="stop-color:#686868"/&gt;
710
+ &lt;stop offset="1" style="stop-color:#4D4D4D"/&gt;
711
+ &lt;/linearGradient&gt;
712
+ &lt;path fill="url(#SVGID_4_)" d="M19.625,23.613C8.787,23.613,0,21.738,0,19.425v10c0,2.313,8.787,4.188,19.625,4.188
713
+ c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,21.738,30.464,23.613,19.625,23.613z"/&gt;
714
+ &lt;linearGradient id="SVGID_5_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="635.0938" x2="409.4502" y2="635.0938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
715
+ &lt;stop offset="0" style="stop-color:#B3B3B3"/&gt;
716
+ &lt;stop offset="0.0171" style="stop-color:#B6B6B6"/&gt;
717
+ &lt;stop offset="0.235" style="stop-color:#D7D7D7"/&gt;
718
+ &lt;stop offset="0.4168" style="stop-color:#EBEBEB"/&gt;
719
+ &lt;stop offset="0.5394" style="stop-color:#F2F2F2"/&gt;
720
+ &lt;stop offset="0.6579" style="stop-color:#EEEEEE"/&gt;
721
+ &lt;stop offset="0.7724" style="stop-color:#E3E3E3"/&gt;
722
+ &lt;stop offset="0.8853" style="stop-color:#CFCFCF"/&gt;
723
+ &lt;stop offset="0.9965" style="stop-color:#B4B4B4"/&gt;
724
+ &lt;stop offset="1" style="stop-color:#B3B3B3"/&gt;
725
+ &lt;/linearGradient&gt;
726
+ &lt;path fill="url(#SVGID_5_)" d="M19.625,23.613c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
727
+ c-9.481,0-17.396-1.959-18.396-3.926l-1.229,2C0,21.738,8.787,23.613,19.625,23.613z"/&gt;
728
+ &lt;linearGradient id="SVGID_6_" gradientUnits="userSpaceOnUse" x1="371.4297" y1="632" x2="408.2217" y2="632" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
729
+ &lt;stop offset="0" style="stop-color:#C9C9C9"/&gt;
730
+ &lt;stop offset="1" style="stop-color:#808080"/&gt;
731
+ &lt;/linearGradient&gt;
732
+ &lt;ellipse fill="url(#SVGID_6_)" cx="19.625" cy="17.426" rx="18.396" ry="3.926"/&gt;
733
+ &lt;linearGradient id="SVGID_7_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="627.5938" x2="409.4502" y2="627.5938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
734
+ &lt;stop offset="0" style="stop-color:#4D4D4D"/&gt;
735
+ &lt;stop offset="0.0558" style="stop-color:#5F5F5F"/&gt;
736
+ &lt;stop offset="0.2103" style="stop-color:#8D8D8D"/&gt;
737
+ &lt;stop offset="0.3479" style="stop-color:#AEAEAE"/&gt;
738
+ &lt;stop offset="0.4623" style="stop-color:#C2C2C2"/&gt;
739
+ &lt;stop offset="0.5394" style="stop-color:#C9C9C9"/&gt;
740
+ &lt;stop offset="0.6247" style="stop-color:#C5C5C5"/&gt;
741
+ &lt;stop offset="0.7072" style="stop-color:#BABABA"/&gt;
742
+ &lt;stop offset="0.7885" style="stop-color:#A6A6A6"/&gt;
743
+ &lt;stop offset="0.869" style="stop-color:#8B8B8B"/&gt;
744
+ &lt;stop offset="0.9484" style="stop-color:#686868"/&gt;
745
+ &lt;stop offset="1" style="stop-color:#4D4D4D"/&gt;
746
+ &lt;/linearGradient&gt;
747
+ &lt;path fill="url(#SVGID_7_)" d="M19.625,10.113C8.787,10.113,0,8.238,0,5.925v10c0,2.313,8.787,4.188,19.625,4.188
748
+ c10.839,0,19.625-1.875,19.625-4.188v-10C39.25,8.238,30.464,10.113,19.625,10.113z"/&gt;
749
+ &lt;linearGradient id="SVGID_8_" gradientUnits="userSpaceOnUse" x1="370.2002" y1="621.5938" x2="409.4502" y2="621.5938" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
750
+ &lt;stop offset="0" style="stop-color:#B3B3B3"/&gt;
751
+ &lt;stop offset="0.0171" style="stop-color:#B6B6B6"/&gt;
752
+ &lt;stop offset="0.235" style="stop-color:#D7D7D7"/&gt;
753
+ &lt;stop offset="0.4168" style="stop-color:#EBEBEB"/&gt;
754
+ &lt;stop offset="0.5394" style="stop-color:#F2F2F2"/&gt;
755
+ &lt;stop offset="0.6579" style="stop-color:#EEEEEE"/&gt;
756
+ &lt;stop offset="0.7724" style="stop-color:#E3E3E3"/&gt;
757
+ &lt;stop offset="0.8853" style="stop-color:#CFCFCF"/&gt;
758
+ &lt;stop offset="0.9965" style="stop-color:#B4B4B4"/&gt;
759
+ &lt;stop offset="1" style="stop-color:#B3B3B3"/&gt;
760
+ &lt;/linearGradient&gt;
761
+ &lt;path fill="url(#SVGID_8_)" d="M19.625,10.113c10.839,0,19.625-1.875,19.625-4.188l-1.229-2c0,2.168-8.235,3.926-18.396,3.926
762
+ c-9.481,0-17.396-1.959-18.396-3.926L0,5.925C0,8.238,8.787,10.113,19.625,10.113z"/&gt;
763
+ &lt;linearGradient id="SVGID_9_" gradientUnits="userSpaceOnUse" x1="371.4297" y1="618.5" x2="408.2217" y2="618.5" gradientTransform="matrix(1 0 0 1 -370.2002 -614.5742)"&gt;
764
+ &lt;stop offset="0" style="stop-color:#C9C9C9"/&gt;
765
+ &lt;stop offset="1" style="stop-color:#808080"/&gt;
766
+ &lt;/linearGradient&gt;
767
+ &lt;ellipse fill="url(#SVGID_9_)" cx="19.625" cy="3.926" rx="18.396" ry="3.926"/&gt;
768
+ &lt;path opacity="0.24" fill="#FFFFFF" enable-background="new " d="M31.291,46.792c0,0-4.313,0.578-7.249,0.694
769
+ C20.917,47.613,15,47.613,15,47.613l-2.443-10.279l-0.119-2.283l-1.231-1.842L9.789,23.024l-0.082-0.119L9.3,20.715l-1.45-1.44
770
+ L5.329,8.793c0,0,5.296,0.882,7.234,1.07s8.375,0.25,8.375,0.25l3,9.875l-0.25,1.313l1.063,2.168l2.312,9.644l-0.375,1.875
771
+ l1.627,2.193L31.291,46.792z"/&gt;
772
+ &lt;/svg&gt;
773
+ </y:Resource>
774
+ <y:Resource id="2" xml:space="preserve">&lt;?xml version="1.0" encoding="utf-8"?&gt;
775
+ &lt;svg version="1.1" id="Ebene_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
776
+ width="57px" height="65px" viewBox="0 0 57 65" enable-background="new 0 0 57 65" xml:space="preserve"&gt;
777
+ &lt;g&gt;
778
+
779
+ &lt;linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="26.3398" y1="3115.7266" x2="27.5807" y2="3145.5239" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)"&gt;
780
+ &lt;stop offset="0.2711" style="stop-color:#FFAB4F"/&gt;
781
+ &lt;stop offset="1" style="stop-color:#FFD28F"/&gt;
782
+ &lt;/linearGradient&gt;
783
+ &lt;path fill="url(#SVGID_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M49.529,51.225c-4.396-4.396-10.951-5.884-12.063-6.109
784
+ V37.8H19.278c0,0,0.038,6.903,0,6.868c0,0-6.874,0.997-12.308,6.432C1.378,56.691,0.5,62.77,0.5,62.77
785
+ c0,1.938,1.575,3.492,3.523,3.492h48.51c1.947,0,3.521-1.558,3.521-3.492C56.055,62.768,54.211,55.906,49.529,51.225z"/&gt;
786
+
787
+ &lt;radialGradient id="face_x5F_white_1_" cx="27.5835" cy="3117.4922" r="23.425" fx="23.0139" fy="3115.0024" gradientTransform="matrix(1 0 0 1 0.3203 -3091.7656)" gradientUnits="userSpaceOnUse"&gt;
788
+ &lt;stop offset="0" style="stop-color:#FFD28F"/&gt;
789
+ &lt;stop offset="1" style="stop-color:#FFAB4F"/&gt;
790
+ &lt;/radialGradient&gt;
791
+ &lt;path id="face_x5F_white_3_" fill="url(#face_x5F_white_1_)" stroke="#ED9135" stroke-miterlimit="10" d="M43.676,23.357
792
+ c0.086,10.2-6.738,18.52-15.25,18.586c-8.5,0.068-15.464-8.146-15.55-18.344C12.794,13.4,19.618,5.079,28.123,5.012
793
+ C36.627,4.945,43.59,13.158,43.676,23.357z"/&gt;
794
+
795
+ &lt;linearGradient id="face_highlight_1_" gradientUnits="userSpaceOnUse" x1="6468.501" y1="-12291.5195" x2="6492.1304" y2="-12384.9688" gradientTransform="matrix(0.275 0 0 -0.2733 -1752.8849 -3351.7349)"&gt;
796
+ &lt;stop offset="0" style="stop-color:#FFFFFF;stop-opacity:0.24"/&gt;
797
+ &lt;stop offset="1" style="stop-color:#FFFFFF;stop-opacity:0.16"/&gt;
798
+ &lt;/linearGradient&gt;
799
+ &lt;path id="face_highlight_3_" fill="url(#face_highlight_1_)" d="M28.415,5.625c-6.035,0.047-10.747,4.493-12.787,10.386
800
+ c-0.664,1.919-0.294,4.043,0.98,5.629c2.73,3.398,5.729,6.283,9.461,8.088c3.137,1.518,7.535,2.385,11.893,1.247
801
+ c2.274-0.592,3.988-2.459,4.375-4.766c0.187-1.094,0.293-2.289,0.283-3.553C42.54,13.244,36.729,5.56,28.415,5.625z"/&gt;
802
+ &lt;path fill="#5C5C5C" stroke="#353535" stroke-linecap="round" stroke-linejoin="round" d="M32.215,9.938
803
+ c0,0,5.688,2.75,7.688,8.125c2.104,5.652,4.123,8.232,4.188,8c1.875-6.794,1.063-21.438-10.17-21.587
804
+ c-20.455-7.663-25.58,11.962-23.893,19.65c1.078,4.911,2.234,6.686,3.938,8.08C13.966,32.205,15.028,17.563,32.215,9.938z"/&gt;
805
+
806
+ &lt;linearGradient id="body_1_" gradientUnits="userSpaceOnUse" x1="95.9063" y1="-3136.23" x2="31.5133" y2="-3136.23" gradientTransform="matrix(0.9852 0 0 -0.9852 -34.4844 -3033.9702)"&gt;
807
+ &lt;stop offset="0" style="stop-color:#49AD33"/&gt;
808
+ &lt;stop offset="1" style="stop-color:#C2DA92"/&gt;
809
+ &lt;/linearGradient&gt;
810
+ &lt;path id="body_8_" fill="url(#body_1_)" stroke="#008D33" d="M0.5,62.768c0,1.938,1.575,3.494,3.523,3.494h48.51
811
+ c1.947,0,3.521-1.559,3.521-3.494c0,0-1.844-6.861-6.525-11.543c-4.815-4.813-8.244-5.146-8.244-5.146
812
+ c-1.444,6.983-8.555,8.786-13.007,8.786s-11.322-2.643-11.941-9.439c0,0-4.559,1.199-9.367,5.674
813
+ C1.378,56.689,0.5,62.768,0.5,62.768z"/&gt;
814
+ &lt;/g&gt;
815
+ &lt;/svg&gt;
816
+ </y:Resource>
817
+ </y:Resources>
818
+ </data>
819
+ </graphml>