• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
No Tags

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

作図ソフト dia の改良版


Commit MetaInfo

Revision29a47b17e003d7624fd3e2f5f62aa0ce7071b3ae (tree)
Time2010-11-08 04:29:17
AuthorHans Breuer <hans@breu...>
CommiterHans Breuer

Log Message

[transform] edit angle and scales, fix move_handle

The Group transformation is supposed to consist of only rotation
and scaling. With it scaling in child-object coordinates and
rotating afterwards there is a three value matrix property editor.
Group::move_handle() is updated accordingly, so the transformation
use is dumbed down to something more understandable.
There is nothing enforcing these matrix limitations elsewhere,
so e.g. more complex matrices can still be imported or set by
other plug-ins. And there probably should not be such a limitation.

Change Summary

Incremental Difference

--- a/lib/geometry.c
+++ b/lib/geometry.c
@@ -795,3 +795,65 @@ dia_matrix_is_identity (const DiaMatrix *matrix)
795795 return FALSE;
796796 }
797797
798+/**
799+ * Splitting the givne matrix into angle and scales
800+ *
801+ * with scale rotate
802+ * xx yx sx 0 cos(x) sin(x)
803+ * xy yy 0 sy -sin(x) cos(x)
804+ *
805+ * rxx = sx * cos(a) + 0 * -sin(a)
806+ * ryx = sx * sin(a) + 0 * cos(a)
807+ * rxy = 0 * cos(a) + sy * -sin(a)
808+ * ryy = 0 * -sin(a) + sy * cos(a)
809+ */
810+gboolean
811+dia_matrix_get_angle_and_scales (const DiaMatrix *m,
812+ real *a,
813+ real *sx,
814+ real *sy)
815+{
816+ const real epsilon = 1e-6;
817+ gboolean no_skew;
818+ real ratio; /* the ratio of the sx/sy */
819+ real rxx, ryx, rxy, ryy;
820+ real len1, len2;
821+ real angle;
822+ real c, s;
823+
824+ ratio = m->xx / m->yy;
825+ /* correct for uniform scale */
826+ rxx = m->xx / ratio;
827+ ryx = m->yx / ratio;
828+ rxy = m->xy;
829+ ryy = m->yy;
830+ /* w/o scale it would be len==1 */
831+ len1 = sqrt(rxx * rxx + ryx * ryx);
832+ len2 = sqrt(rxy * rxy + ryy * ryy);
833+ no_skew = fabs(len1 - len2) < epsilon;
834+
835+ angle = atan2(ryx, rxx);
836+ if (a)
837+ *a = angle;
838+ c = fabs(cos(angle));
839+ s = fabs(sin(angle));
840+ if (sx)
841+ *sx = fabs(c > s ? m->xx / c : m->yx / s);
842+ if (sy)
843+ *sy = fabs(s > c ? m->xy / s : m->yy / c);
844+
845+ return no_skew;
846+}
847+
848+/**
849+ * Scale in the coordinate system of the shape, afterwards rotate
850+ */
851+void
852+dia_matrix_set_angle_and_scales (DiaMatrix *m,
853+ real a,
854+ real sx,
855+ real sy)
856+{
857+ cairo_matrix_init_rotate ((cairo_matrix_t *)m, a);
858+ cairo_matrix_scale ((cairo_matrix_t *)m, sx, sy);
859+}
--- a/lib/geometry.h
+++ b/lib/geometry.h
@@ -126,7 +126,14 @@ struct _DiaMatrix {
126126 };
127127
128128 gboolean dia_matrix_is_identity (const DiaMatrix *matix);
129-
129+gboolean dia_matrix_get_angle_and_scales (const DiaMatrix *m,
130+ real *a,
131+ real *sx,
132+ real *sy);
133+void dia_matrix_set_angle_and_scales (DiaMatrix *m,
134+ real a,
135+ real sx,
136+ real sy);
130137 #define ROUND(x) ((int) floor((x)+0.5))
131138
132139 /* inline these functions if the platform supports it */
--- a/lib/group.c
+++ b/lib/group.c
@@ -197,7 +197,7 @@ group_update_connectionpoints(Group *group)
197197
198198 static ObjectChange*
199199 group_move_handle(Group *group, Handle *handle, Point *to, ConnectionPoint *cp,
200- HandleMoveReason reason, ModifierKeys modifiers)
200+ HandleMoveReason reason, ModifierKeys modifiers)
201201 {
202202 DiaObject *obj = &group->object;
203203 Rectangle *bb = &obj->bounding_box;
@@ -217,6 +217,10 @@ group_move_handle(Group *group, Handle *handle, Point *to, ConnectionPoint *cp,
217217 w0 = w1 = bb->right - bb->left;
218218 h0 = h1 = bb->bottom - bb->top;
219219
220+ /* Movement vs. scaling is still a bit bogus, e.g. if the object list
221+ * position happens to be near a different than top-left handle we might
222+ * only resize and not move the given handle at all.
223+ */
220224 switch(handle->id) {
221225 case HANDLE_RESIZE_NW:
222226 delta.x = to->x - top_left.x;
@@ -260,8 +264,36 @@ group_move_handle(Group *group, Handle *handle, Point *to, ConnectionPoint *cp,
260264 group->matrix->yy = 1.0;
261265 }
262266
263- cairo_matrix_scale ((cairo_matrix_t *)group->matrix, w1 / w0, h1 / h0);
267+ /* The resizing is in the destination coordinate system, translate
268+ * it to respective object scaling. BEWARE: this is not completely
269+ * reversible, so we probably should deliver some extra undo information.
270+ */
271+ {
272+ DiaMatrix inv = *group->matrix;
273+ real sx0, sx;
274+ real sy0, sy;
275+ real angle;
276+
277+ inv.x0 = w0/2;
278+ inv.y0 = h0/2;
279+ if (cairo_matrix_invert ((cairo_matrix_t *)&inv) != CAIRO_STATUS_SUCCESS)
280+ g_warning ("Group::move_handle() matrix invert");
281+
282+ dia_matrix_get_angle_and_scales (group->matrix, &angle, &sx0, &sy0);
283+
284+ cairo_matrix_transform_distance ((cairo_matrix_t *)&inv, &w0, &h0);
285+ cairo_matrix_transform_distance ((cairo_matrix_t *)&inv, &w1, &h1);
286+ /* with angle of 45 degree (+x*90) the below does not work out, because
287+ * transformed height or width becomes zero so convert to even scale */
288+ if ((fabs(w0) < 1e-3) || (fabs(h0) < 1e-3)) {
289+ sx = sy = sqrt(w1*w1 + h1*h1) / sqrt(w0*w0 + h0*h0);
290+ } else {
291+ sx = w1/w0;
292+ sy = h1/h0;
293+ }
264294
295+ dia_matrix_set_angle_and_scales (group->matrix, angle, sx0 * sx, sy0 * sy);
296+ }
265297 group_update_data(group);
266298
267299 return NULL;
--- a/lib/prop_matrix.c
+++ b/lib/prop_matrix.c
@@ -167,12 +167,26 @@ static GtkWidget *
167167 matrixprop_get_widget (MatrixProperty *prop, PropDialog *dialog)
168168 {
169169 GtkObject *adj;
170- GtkWidget *ret;
170+ GtkWidget *ret, *sb;
171+ int i;
171172
173+ ret = gtk_hbox_new (FALSE,0);
174+ /* angle */
172175 adj = gtk_adjustment_new(0.0, -180.0, 180.0, 1.0, 15.0, 0);
173- ret = gtk_spin_button_new(GTK_ADJUSTMENT (adj), 1.0, 2);
174- gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(ret),TRUE);
175- prophandler_connect(&prop->common, G_OBJECT(ret), "changed");
176+ sb = gtk_spin_button_new(GTK_ADJUSTMENT (adj), 1.0, 2);
177+ gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(sb),TRUE);
178+ prophandler_connect(&prop->common, G_OBJECT(sb), "changed");
179+ gtk_widget_show(sb);
180+ gtk_box_pack_start(GTK_BOX(ret), sb, TRUE, TRUE, 0);
181+ /* sx, sy */
182+ for (i = 0; i < 2; ++i) {
183+ adj = gtk_adjustment_new(0.0, 0.01, 100.0, 0.01, 1.0, 0);
184+ sb = gtk_spin_button_new(GTK_ADJUSTMENT (adj), 1.0, 2);
185+ gtk_spin_button_set_numeric(GTK_SPIN_BUTTON(sb),TRUE);
186+ prophandler_connect(&prop->common, G_OBJECT(sb), "changed");
187+ gtk_widget_show(sb);
188+ gtk_box_pack_start(GTK_BOX(ret), sb, TRUE, TRUE, 0);
189+ }
176190
177191 return ret;
178192 }
@@ -180,34 +194,68 @@ matrixprop_get_widget (MatrixProperty *prop, PropDialog *dialog)
180194 static void
181195 matrixprop_reset_widget(MatrixProperty *prop, GtkWidget *widget)
182196 {
197+ GList *children, *child;
198+ GtkWidget *sb;
183199 GtkObject *adj;
184- real angle;
200+ real angle, sx, sy;
201+ int i = 0;
185202
186- if (!prop->matrix)
203+ if (!prop->matrix) {
187204 angle = 0;
188- else
205+ sx = sy = 1.0;
206+ } else {
207+ real a;
208+
209+ dia_matrix_get_angle_and_scales (prop->matrix, &a, &sx, &sy);
210+
189211 angle = atan2 (prop->matrix->xy, prop->matrix->xx)*180/G_PI;
212+ angle = -a*180/G_PI;
213+ }
190214
191- adj = gtk_adjustment_new(angle, -180.0, 180.0, 1.0, 15.0, 0);
192- gtk_spin_button_set_adjustment(GTK_SPIN_BUTTON(widget), GTK_ADJUSTMENT (adj));
215+ children = gtk_container_get_children (GTK_CONTAINER (widget));
216+ for (child = children; child != NULL; child = g_list_next (child)) {
217+ sb = child->data;
218+ if (i == 0)
219+ adj = gtk_adjustment_new(angle, -180.0, 180.0, 1.0, 15.0, 0);
220+ else if (i == 1)
221+ adj = gtk_adjustment_new(sx, 0.01, 100.0, 0.1, 1.0, 0);
222+ else if (i == 2)
223+ adj = gtk_adjustment_new(sy, 0.01, 100.0, 0.1, 1.0, 0);
224+ else
225+ g_assert_not_reached ();
226+ gtk_spin_button_set_adjustment(GTK_SPIN_BUTTON(sb), GTK_ADJUSTMENT (adj));
227+ ++i;
228+ }
193229 }
194230
195231 static void
196232 matrixprop_set_from_widget(MatrixProperty *prop, GtkWidget *widget)
197233 {
198- real angle = gtk_spin_button_get_value(GTK_SPIN_BUTTON(widget));
199- real old_angle = 0.0;
200- if (angle != 0.0) {
234+ GList *children, *child;
235+ GtkWidget *sb;
236+ GtkObject *adj;
237+ real angle = 0.0, sx = 1.0, sy = 1.0;
238+ int i = 0;
239+
240+ children = gtk_container_get_children (GTK_CONTAINER (widget));
241+ for (child = children; child != NULL; child = g_list_next (child)) {
242+ sb = child->data;
243+ if (i == 0)
244+ angle = gtk_spin_button_get_value(GTK_SPIN_BUTTON(sb));
245+ else if (i == 1)
246+ sx = gtk_spin_button_get_value(GTK_SPIN_BUTTON(sb));
247+ else if (i == 2)
248+ sy = gtk_spin_button_get_value(GTK_SPIN_BUTTON(sb));
249+ else
250+ g_assert_not_reached ();
251+ ++i;
252+ }
253+
254+ if (angle != 0.0 || sx != 1.0 || sy != 1.0) {
201255 if (!prop->matrix) {
202256 prop->matrix = g_new0 (DiaMatrix, 1);
203-
204- prop->matrix->xx = 1.0;
205- prop->matrix->yy = 1.0;
206- } else {
207- old_angle = atan2 (prop->matrix->xy, prop->matrix->xx);
208- old_angle = 180*old_angle/G_PI;
209257 }
210- cairo_matrix_rotate ((cairo_matrix_t *)prop->matrix, G_PI*(old_angle-angle)/180);
258+ dia_matrix_set_angle_and_scales (prop->matrix, -angle/180.0*G_PI, sx, sy);
211259 } else {
212260 g_free (prop->matrix);
213261 prop->matrix = NULL;
--- /dev/null
+++ b/samples/angle-and-scales.dia
@@ -0,0 +1,1284 @@
1+<?xml version="1.0" encoding="UTF-8"?>
2+<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
3+ <dia:diagramdata>
4+ <dia:attribute name="background">
5+ <dia:color val="#ffffff"/>
6+ </dia:attribute>
7+ <dia:attribute name="pagebreak">
8+ <dia:color val="#000099"/>
9+ </dia:attribute>
10+ <dia:attribute name="paper">
11+ <dia:composite type="paper">
12+ <dia:attribute name="name">
13+ <dia:string>#A4#</dia:string>
14+ </dia:attribute>
15+ <dia:attribute name="tmargin">
16+ <dia:real val="1.5"/>
17+ </dia:attribute>
18+ <dia:attribute name="bmargin">
19+ <dia:real val="1.5"/>
20+ </dia:attribute>
21+ <dia:attribute name="lmargin">
22+ <dia:real val="1.5"/>
23+ </dia:attribute>
24+ <dia:attribute name="rmargin">
25+ <dia:real val="1.5"/>
26+ </dia:attribute>
27+ <dia:attribute name="is_portrait">
28+ <dia:boolean val="false"/>
29+ </dia:attribute>
30+ <dia:attribute name="scaling">
31+ <dia:real val="1"/>
32+ </dia:attribute>
33+ <dia:attribute name="fitto">
34+ <dia:boolean val="false"/>
35+ </dia:attribute>
36+ </dia:composite>
37+ </dia:attribute>
38+ <dia:attribute name="grid">
39+ <dia:composite type="grid">
40+ <dia:attribute name="dynamic">
41+ <dia:boolean val="true"/>
42+ </dia:attribute>
43+ <dia:attribute name="width_x">
44+ <dia:real val="1"/>
45+ </dia:attribute>
46+ <dia:attribute name="width_y">
47+ <dia:real val="1"/>
48+ </dia:attribute>
49+ <dia:attribute name="visible_x">
50+ <dia:int val="1"/>
51+ </dia:attribute>
52+ <dia:attribute name="visible_y">
53+ <dia:int val="1"/>
54+ </dia:attribute>
55+ <dia:composite type="color"/>
56+ </dia:composite>
57+ </dia:attribute>
58+ <dia:attribute name="color">
59+ <dia:color val="#d8e5e5"/>
60+ </dia:attribute>
61+ <dia:attribute name="guides">
62+ <dia:composite type="guides">
63+ <dia:attribute name="hguides"/>
64+ <dia:attribute name="vguides"/>
65+ </dia:composite>
66+ </dia:attribute>
67+ <dia:attribute name="display">
68+ <dia:composite type="display">
69+ <dia:attribute name="antialiased">
70+ <dia:boolean val="true"/>
71+ </dia:attribute>
72+ <dia:attribute name="snap-to-grid">
73+ <dia:boolean val="false"/>
74+ </dia:attribute>
75+ <dia:attribute name="snap-to-object">
76+ <dia:boolean val="true"/>
77+ </dia:attribute>
78+ <dia:attribute name="show-grid">
79+ <dia:boolean val="true"/>
80+ </dia:attribute>
81+ <dia:attribute name="show-connection-points">
82+ <dia:boolean val="true"/>
83+ </dia:attribute>
84+ </dia:composite>
85+ </dia:attribute>
86+ </dia:diagramdata>
87+ <dia:layer name="Background" visible="true" active="true">
88+ <dia:group>
89+ <dia:attribute name="matrix">
90+ <dia:matrix xx="1.41421" xy="0.388909" yx="-1.41421" yy="0.388909" x0="-5.00771" y0="14.2449"/>
91+ <dia:connections>
92+ <dia:connection handle="0" to="O1" connection="0"/>
93+ </dia:connections>
94+ </dia:attribute>
95+ <dia:object type="Standard - Text" version="1" id="O0">
96+ <dia:attribute name="obj_pos">
97+ <dia:point val="8.3529,3.98"/>
98+ </dia:attribute>
99+ <dia:attribute name="obj_bb">
100+ <dia:rectangle val="7.6404,2.675;9.0654,3.98"/>
101+ </dia:attribute>
102+ <dia:attribute name="meta">
103+ <dia:composite type="dict"/>
104+ </dia:attribute>
105+ <dia:attribute name="text">
106+ <dia:composite type="text">
107+ <dia:attribute name="string">
108+ <dia:string>#45#</dia:string>
109+ </dia:attribute>
110+ <dia:attribute name="font">
111+ <dia:font family="sans" style="0" name="Helvetica"/>
112+ </dia:attribute>
113+ <dia:attribute name="height">
114+ <dia:real val="1.3999999761581421"/>
115+ </dia:attribute>
116+ <dia:attribute name="pos">
117+ <dia:point val="8.3529,3.715"/>
118+ </dia:attribute>
119+ <dia:attribute name="color">
120+ <dia:color val="#000000"/>
121+ </dia:attribute>
122+ <dia:attribute name="alignment">
123+ <dia:enum val="1"/>
124+ </dia:attribute>
125+ </dia:composite>
126+ </dia:attribute>
127+ <dia:attribute name="valign">
128+ <dia:enum val="1"/>
129+ </dia:attribute>
130+ </dia:object>
131+ <dia:object type="Standard - Line" version="0" id="O1">
132+ <dia:attribute name="obj_pos">
133+ <dia:point val="7.3529,3.98"/>
134+ </dia:attribute>
135+ <dia:attribute name="obj_bb">
136+ <dia:rectangle val="7.3029,3.93;9.4029,4.03"/>
137+ </dia:attribute>
138+ <dia:attribute name="meta">
139+ <dia:composite type="dict"/>
140+ </dia:attribute>
141+ <dia:attribute name="conn_endpoints">
142+ <dia:point val="7.3529,3.98"/>
143+ <dia:point val="9.3529,3.98"/>
144+ </dia:attribute>
145+ <dia:attribute name="numcp">
146+ <dia:int val="1"/>
147+ </dia:attribute>
148+ </dia:object>
149+ </dia:group>
150+ <dia:group>
151+ <dia:attribute name="matrix">
152+ <dia:matrix xx="1.49093" xy="-0.388909" yx="1.49093" yy="0.388909" x0="-7.09829" y0="-23.9133"/>
153+ <dia:connections>
154+ <dia:connection handle="0" to="O3" connection="0"/>
155+ </dia:connections>
156+ </dia:attribute>
157+ <dia:object type="Standard - Text" version="1" id="O2">
158+ <dia:attribute name="obj_pos">
159+ <dia:point val="17.7334,4.13331"/>
160+ </dia:attribute>
161+ <dia:attribute name="obj_bb">
162+ <dia:rectangle val="16.8184,2.82831;18.6484,4.13331"/>
163+ </dia:attribute>
164+ <dia:attribute name="meta">
165+ <dia:composite type="dict"/>
166+ </dia:attribute>
167+ <dia:attribute name="text">
168+ <dia:composite type="text">
169+ <dia:attribute name="string">
170+ <dia:string>#-45#</dia:string>
171+ </dia:attribute>
172+ <dia:attribute name="font">
173+ <dia:font family="sans" style="0" name="Helvetica"/>
174+ </dia:attribute>
175+ <dia:attribute name="height">
176+ <dia:real val="1.3999999761581421"/>
177+ </dia:attribute>
178+ <dia:attribute name="pos">
179+ <dia:point val="17.7334,3.86831"/>
180+ </dia:attribute>
181+ <dia:attribute name="color">
182+ <dia:color val="#000000"/>
183+ </dia:attribute>
184+ <dia:attribute name="alignment">
185+ <dia:enum val="1"/>
186+ </dia:attribute>
187+ </dia:composite>
188+ </dia:attribute>
189+ <dia:attribute name="valign">
190+ <dia:enum val="1"/>
191+ </dia:attribute>
192+ </dia:object>
193+ <dia:object type="Standard - Line" version="0" id="O3">
194+ <dia:attribute name="obj_pos">
195+ <dia:point val="16.7334,4.13331"/>
196+ </dia:attribute>
197+ <dia:attribute name="obj_bb">
198+ <dia:rectangle val="16.6834,4.08331;18.7834,4.18331"/>
199+ </dia:attribute>
200+ <dia:attribute name="meta">
201+ <dia:composite type="dict"/>
202+ </dia:attribute>
203+ <dia:attribute name="conn_endpoints">
204+ <dia:point val="16.7334,4.13331"/>
205+ <dia:point val="18.7334,4.13331"/>
206+ </dia:attribute>
207+ <dia:attribute name="numcp">
208+ <dia:int val="1"/>
209+ </dia:attribute>
210+ </dia:object>
211+ </dia:group>
212+ <dia:group>
213+ <dia:attribute name="matrix">
214+ <dia:matrix xx="1.22461e-016" xy="0.55" yx="-2" yy="3.36767e-017" x0="1.85771" y0="22.7106"/>
215+ <dia:connections>
216+ <dia:connection handle="0" to="O5" connection="0"/>
217+ </dia:connections>
218+ </dia:attribute>
219+ <dia:object type="Standard - Text" version="1" id="O4">
220+ <dia:attribute name="obj_pos">
221+ <dia:point val="6.83264,9.04532"/>
222+ </dia:attribute>
223+ <dia:attribute name="obj_bb">
224+ <dia:rectangle val="6.12014,7.74032;7.54514,9.04532"/>
225+ </dia:attribute>
226+ <dia:attribute name="meta">
227+ <dia:composite type="dict"/>
228+ </dia:attribute>
229+ <dia:attribute name="text">
230+ <dia:composite type="text">
231+ <dia:attribute name="string">
232+ <dia:string>#90#</dia:string>
233+ </dia:attribute>
234+ <dia:attribute name="font">
235+ <dia:font family="sans" style="0" name="Helvetica"/>
236+ </dia:attribute>
237+ <dia:attribute name="height">
238+ <dia:real val="1.3999999761581421"/>
239+ </dia:attribute>
240+ <dia:attribute name="pos">
241+ <dia:point val="6.83264,8.78032"/>
242+ </dia:attribute>
243+ <dia:attribute name="color">
244+ <dia:color val="#000000"/>
245+ </dia:attribute>
246+ <dia:attribute name="alignment">
247+ <dia:enum val="1"/>
248+ </dia:attribute>
249+ </dia:composite>
250+ </dia:attribute>
251+ <dia:attribute name="valign">
252+ <dia:enum val="1"/>
253+ </dia:attribute>
254+ </dia:object>
255+ <dia:object type="Standard - Line" version="0" id="O5">
256+ <dia:attribute name="obj_pos">
257+ <dia:point val="5.83264,9.04532"/>
258+ </dia:attribute>
259+ <dia:attribute name="obj_bb">
260+ <dia:rectangle val="5.78264,8.99532;7.88264,9.09532"/>
261+ </dia:attribute>
262+ <dia:attribute name="meta">
263+ <dia:composite type="dict"/>
264+ </dia:attribute>
265+ <dia:attribute name="conn_endpoints">
266+ <dia:point val="5.83264,9.04532"/>
267+ <dia:point val="7.83264,9.04532"/>
268+ </dia:attribute>
269+ <dia:attribute name="numcp">
270+ <dia:int val="1"/>
271+ </dia:attribute>
272+ </dia:object>
273+ </dia:group>
274+ <dia:group>
275+ <dia:attribute name="matrix">
276+ <dia:matrix xx="1.2887e-016" xy="-0.55" yx="2.10467" yy="3.36767e-017" x0="24.1337" y0="-31.3036"/>
277+ <dia:connections>
278+ <dia:connection handle="0" to="O7" connection="0"/>
279+ </dia:connections>
280+ </dia:attribute>
281+ <dia:object type="Standard - Text" version="1" id="O6">
282+ <dia:attribute name="obj_pos">
283+ <dia:point val="19.1654,9.03333"/>
284+ </dia:attribute>
285+ <dia:attribute name="obj_bb">
286+ <dia:rectangle val="18.2504,7.72833;20.0804,9.03333"/>
287+ </dia:attribute>
288+ <dia:attribute name="meta">
289+ <dia:composite type="dict"/>
290+ </dia:attribute>
291+ <dia:attribute name="text">
292+ <dia:composite type="text">
293+ <dia:attribute name="string">
294+ <dia:string>#-90#</dia:string>
295+ </dia:attribute>
296+ <dia:attribute name="font">
297+ <dia:font family="sans" style="0" name="Helvetica"/>
298+ </dia:attribute>
299+ <dia:attribute name="height">
300+ <dia:real val="1.3999999761581421"/>
301+ </dia:attribute>
302+ <dia:attribute name="pos">
303+ <dia:point val="19.1654,8.76833"/>
304+ </dia:attribute>
305+ <dia:attribute name="color">
306+ <dia:color val="#000000"/>
307+ </dia:attribute>
308+ <dia:attribute name="alignment">
309+ <dia:enum val="1"/>
310+ </dia:attribute>
311+ </dia:composite>
312+ </dia:attribute>
313+ <dia:attribute name="valign">
314+ <dia:enum val="1"/>
315+ </dia:attribute>
316+ </dia:object>
317+ <dia:object type="Standard - Line" version="0" id="O7">
318+ <dia:attribute name="obj_pos">
319+ <dia:point val="18.1654,9.03333"/>
320+ </dia:attribute>
321+ <dia:attribute name="obj_bb">
322+ <dia:rectangle val="18.1154,8.98333;20.2154,9.08333"/>
323+ </dia:attribute>
324+ <dia:attribute name="meta">
325+ <dia:composite type="dict"/>
326+ </dia:attribute>
327+ <dia:attribute name="conn_endpoints">
328+ <dia:point val="18.1654,9.03333"/>
329+ <dia:point val="20.1654,9.03333"/>
330+ </dia:attribute>
331+ <dia:attribute name="numcp">
332+ <dia:int val="1"/>
333+ </dia:attribute>
334+ </dia:object>
335+ </dia:group>
336+ <dia:group>
337+ <dia:attribute name="matrix">
338+ <dia:matrix xx="-1.44402" xy="-0.388909" yx="1.44402" yy="-0.388909" x0="47.4801" y0="-5.54765"/>
339+ <dia:connections>
340+ <dia:connection handle="0" to="O9" connection="0"/>
341+ </dia:connections>
342+ </dia:attribute>
343+ <dia:object type="Standard - Text" version="1" id="O8">
344+ <dia:attribute name="obj_pos">
345+ <dia:point val="17.2146,13.9034"/>
346+ </dia:attribute>
347+ <dia:attribute name="obj_bb">
348+ <dia:rectangle val="15.9434,12.5984;18.4859,13.9034"/>
349+ </dia:attribute>
350+ <dia:attribute name="meta">
351+ <dia:composite type="dict"/>
352+ </dia:attribute>
353+ <dia:attribute name="text">
354+ <dia:composite type="text">
355+ <dia:attribute name="string">
356+ <dia:string>#-135#</dia:string>
357+ </dia:attribute>
358+ <dia:attribute name="font">
359+ <dia:font family="sans" style="0" name="Helvetica"/>
360+ </dia:attribute>
361+ <dia:attribute name="height">
362+ <dia:real val="1.3999999761581421"/>
363+ </dia:attribute>
364+ <dia:attribute name="pos">
365+ <dia:point val="17.2146,13.6384"/>
366+ </dia:attribute>
367+ <dia:attribute name="color">
368+ <dia:color val="#000000"/>
369+ </dia:attribute>
370+ <dia:attribute name="alignment">
371+ <dia:enum val="1"/>
372+ </dia:attribute>
373+ </dia:composite>
374+ </dia:attribute>
375+ <dia:attribute name="valign">
376+ <dia:enum val="1"/>
377+ </dia:attribute>
378+ </dia:object>
379+ <dia:object type="Standard - Line" version="0" id="O9">
380+ <dia:attribute name="obj_pos">
381+ <dia:point val="16.2146,13.9034"/>
382+ </dia:attribute>
383+ <dia:attribute name="obj_bb">
384+ <dia:rectangle val="16.1646,13.8534;18.2646,13.9534"/>
385+ </dia:attribute>
386+ <dia:attribute name="meta">
387+ <dia:composite type="dict"/>
388+ </dia:attribute>
389+ <dia:attribute name="conn_endpoints">
390+ <dia:point val="16.2146,13.9034"/>
391+ <dia:point val="18.2146,13.9034"/>
392+ </dia:attribute>
393+ <dia:attribute name="numcp">
394+ <dia:int val="1"/>
395+ </dia:attribute>
396+ </dia:object>
397+ </dia:group>
398+ <dia:group>
399+ <dia:attribute name="matrix">
400+ <dia:matrix xx="-1.61511" xy="0.388909" yx="-1.61511" yy="-0.388909" x0="17.1754" y0="33.0997"/>
401+ <dia:connections>
402+ <dia:connection handle="0" to="O11" connection="0"/>
403+ </dia:connections>
404+ </dia:attribute>
405+ <dia:object type="Standard - Text" version="1" id="O10">
406+ <dia:attribute name="obj_pos">
407+ <dia:point val="8.62099,13.8064"/>
408+ </dia:attribute>
409+ <dia:attribute name="obj_bb">
410+ <dia:rectangle val="7.55224,12.5014;9.68974,13.8064"/>
411+ </dia:attribute>
412+ <dia:attribute name="meta">
413+ <dia:composite type="dict"/>
414+ </dia:attribute>
415+ <dia:attribute name="text">
416+ <dia:composite type="text">
417+ <dia:attribute name="string">
418+ <dia:string>#135#</dia:string>
419+ </dia:attribute>
420+ <dia:attribute name="font">
421+ <dia:font family="sans" style="0" name="Helvetica"/>
422+ </dia:attribute>
423+ <dia:attribute name="height">
424+ <dia:real val="1.3999999761581421"/>
425+ </dia:attribute>
426+ <dia:attribute name="pos">
427+ <dia:point val="8.62099,13.5414"/>
428+ </dia:attribute>
429+ <dia:attribute name="color">
430+ <dia:color val="#000000"/>
431+ </dia:attribute>
432+ <dia:attribute name="alignment">
433+ <dia:enum val="1"/>
434+ </dia:attribute>
435+ </dia:composite>
436+ </dia:attribute>
437+ <dia:attribute name="valign">
438+ <dia:enum val="1"/>
439+ </dia:attribute>
440+ </dia:object>
441+ <dia:object type="Standard - Line" version="0" id="O11">
442+ <dia:attribute name="obj_pos">
443+ <dia:point val="7.62099,13.8064"/>
444+ </dia:attribute>
445+ <dia:attribute name="obj_bb">
446+ <dia:rectangle val="7.57099,13.7564;9.67101,13.8564"/>
447+ </dia:attribute>
448+ <dia:attribute name="meta">
449+ <dia:composite type="dict"/>
450+ </dia:attribute>
451+ <dia:attribute name="conn_endpoints">
452+ <dia:point val="7.62099,13.8064"/>
453+ <dia:point val="9.62101,13.8064"/>
454+ </dia:attribute>
455+ <dia:attribute name="numcp">
456+ <dia:int val="1"/>
457+ </dia:attribute>
458+ </dia:object>
459+ </dia:group>
460+ <dia:group>
461+ <dia:attribute name="matrix">
462+ <dia:matrix xx="-0.565685" xy="1.21414" yx="-0.565685" yy="-1.21414" x0="2.33964" y0="31.9216"/>
463+ <dia:connections>
464+ <dia:connection handle="0" to="O13" connection="0"/>
465+ </dia:connections>
466+ </dia:attribute>
467+ <dia:object type="Standard - Text" version="1" id="O12">
468+ <dia:attribute name="obj_pos">
469+ <dia:point val="10.5785,11.7144"/>
470+ </dia:attribute>
471+ <dia:attribute name="obj_bb">
472+ <dia:rectangle val="9.50977,10.4094;11.6473,11.7144"/>
473+ </dia:attribute>
474+ <dia:attribute name="meta">
475+ <dia:composite type="dict"/>
476+ </dia:attribute>
477+ <dia:attribute name="text">
478+ <dia:composite type="text">
479+ <dia:attribute name="string">
480+ <dia:string>#135#</dia:string>
481+ </dia:attribute>
482+ <dia:attribute name="font">
483+ <dia:font family="sans" style="0" name="Helvetica"/>
484+ </dia:attribute>
485+ <dia:attribute name="height">
486+ <dia:real val="1.3999999761581421"/>
487+ </dia:attribute>
488+ <dia:attribute name="pos">
489+ <dia:point val="10.5785,11.4494"/>
490+ </dia:attribute>
491+ <dia:attribute name="color">
492+ <dia:color val="#000000"/>
493+ </dia:attribute>
494+ <dia:attribute name="alignment">
495+ <dia:enum val="1"/>
496+ </dia:attribute>
497+ </dia:composite>
498+ </dia:attribute>
499+ <dia:attribute name="valign">
500+ <dia:enum val="1"/>
501+ </dia:attribute>
502+ </dia:object>
503+ <dia:object type="Standard - Line" version="0" id="O13">
504+ <dia:attribute name="obj_pos">
505+ <dia:point val="9.57855,11.7144"/>
506+ </dia:attribute>
507+ <dia:attribute name="obj_bb">
508+ <dia:rectangle val="9.52855,11.6644;11.6285,11.7644"/>
509+ </dia:attribute>
510+ <dia:attribute name="meta">
511+ <dia:composite type="dict"/>
512+ </dia:attribute>
513+ <dia:attribute name="conn_endpoints">
514+ <dia:point val="9.57855,11.7144"/>
515+ <dia:point val="11.5785,11.7144"/>
516+ </dia:attribute>
517+ <dia:attribute name="numcp">
518+ <dia:int val="1"/>
519+ </dia:attribute>
520+ </dia:object>
521+ </dia:group>
522+ <dia:group>
523+ <dia:attribute name="matrix">
524+ <dia:matrix xx="-0.494975" xy="-1.41421" yx="0.494975" yy="-1.41421" x0="39.2357" y0="20.411"/>
525+ <dia:connections>
526+ <dia:connection handle="0" to="O15" connection="0"/>
527+ </dia:connections>
528+ </dia:attribute>
529+ <dia:object type="Standard - Text" version="1" id="O14">
530+ <dia:attribute name="obj_pos">
531+ <dia:point val="15.2831,11.5879"/>
532+ </dia:attribute>
533+ <dia:attribute name="obj_bb">
534+ <dia:rectangle val="14.0119,10.2829;16.5544,11.5879"/>
535+ </dia:attribute>
536+ <dia:attribute name="meta">
537+ <dia:composite type="dict"/>
538+ </dia:attribute>
539+ <dia:attribute name="text">
540+ <dia:composite type="text">
541+ <dia:attribute name="string">
542+ <dia:string>#-135#</dia:string>
543+ </dia:attribute>
544+ <dia:attribute name="font">
545+ <dia:font family="sans" style="0" name="Helvetica"/>
546+ </dia:attribute>
547+ <dia:attribute name="height">
548+ <dia:real val="1.3999999761581421"/>
549+ </dia:attribute>
550+ <dia:attribute name="pos">
551+ <dia:point val="15.2831,11.3229"/>
552+ </dia:attribute>
553+ <dia:attribute name="color">
554+ <dia:color val="#000000"/>
555+ </dia:attribute>
556+ <dia:attribute name="alignment">
557+ <dia:enum val="1"/>
558+ </dia:attribute>
559+ </dia:composite>
560+ </dia:attribute>
561+ <dia:attribute name="valign">
562+ <dia:enum val="1"/>
563+ </dia:attribute>
564+ </dia:object>
565+ <dia:object type="Standard - Line" version="0" id="O15">
566+ <dia:attribute name="obj_pos">
567+ <dia:point val="14.2831,11.5879"/>
568+ </dia:attribute>
569+ <dia:attribute name="obj_bb">
570+ <dia:rectangle val="14.2331,11.5379;16.3331,11.6379"/>
571+ </dia:attribute>
572+ <dia:attribute name="meta">
573+ <dia:composite type="dict"/>
574+ </dia:attribute>
575+ <dia:attribute name="conn_endpoints">
576+ <dia:point val="14.2831,11.5879"/>
577+ <dia:point val="16.2831,11.5879"/>
578+ </dia:attribute>
579+ <dia:attribute name="numcp">
580+ <dia:int val="1"/>
581+ </dia:attribute>
582+ </dia:object>
583+ </dia:group>
584+ <dia:group>
585+ <dia:attribute name="matrix">
586+ <dia:matrix xx="4.89843e-017" xy="2" yx="-0.8" yy="1.22461e-016" x0="-7.993" y0="16.8374"/>
587+ <dia:connections>
588+ <dia:connection handle="0" to="O17" connection="0"/>
589+ </dia:connections>
590+ </dia:attribute>
591+ <dia:object type="Standard - Text" version="1" id="O16">
592+ <dia:attribute name="obj_pos">
593+ <dia:point val="9.87764,8.93532"/>
594+ </dia:attribute>
595+ <dia:attribute name="obj_bb">
596+ <dia:rectangle val="9.16514,7.63032;10.5901,8.93532"/>
597+ </dia:attribute>
598+ <dia:attribute name="meta">
599+ <dia:composite type="dict"/>
600+ </dia:attribute>
601+ <dia:attribute name="text">
602+ <dia:composite type="text">
603+ <dia:attribute name="string">
604+ <dia:string>#90#</dia:string>
605+ </dia:attribute>
606+ <dia:attribute name="font">
607+ <dia:font family="sans" style="0" name="Helvetica"/>
608+ </dia:attribute>
609+ <dia:attribute name="height">
610+ <dia:real val="1.3999999761581421"/>
611+ </dia:attribute>
612+ <dia:attribute name="pos">
613+ <dia:point val="9.87764,8.67032"/>
614+ </dia:attribute>
615+ <dia:attribute name="color">
616+ <dia:color val="#000000"/>
617+ </dia:attribute>
618+ <dia:attribute name="alignment">
619+ <dia:enum val="1"/>
620+ </dia:attribute>
621+ </dia:composite>
622+ </dia:attribute>
623+ <dia:attribute name="valign">
624+ <dia:enum val="1"/>
625+ </dia:attribute>
626+ </dia:object>
627+ <dia:object type="Standard - Line" version="0" id="O17">
628+ <dia:attribute name="obj_pos">
629+ <dia:point val="8.87764,8.93532"/>
630+ </dia:attribute>
631+ <dia:attribute name="obj_bb">
632+ <dia:rectangle val="8.82764,8.88532;10.9276,8.98532"/>
633+ </dia:attribute>
634+ <dia:attribute name="meta">
635+ <dia:composite type="dict"/>
636+ </dia:attribute>
637+ <dia:attribute name="conn_endpoints">
638+ <dia:point val="8.87764,8.93532"/>
639+ <dia:point val="10.8776,8.93532"/>
640+ </dia:attribute>
641+ <dia:attribute name="numcp">
642+ <dia:int val="1"/>
643+ </dia:attribute>
644+ </dia:object>
645+ </dia:group>
646+ <dia:group>
647+ <dia:attribute name="matrix">
648+ <dia:matrix xx="4.28612e-017" xy="-2" yx="0.7" yy="1.22461e-016" x0="34.0187" y0="-2.51708"/>
649+ <dia:connections>
650+ <dia:connection handle="0" to="O19" connection="0"/>
651+ </dia:connections>
652+ </dia:attribute>
653+ <dia:object type="Standard - Text" version="1" id="O18">
654+ <dia:attribute name="obj_pos">
655+ <dia:point val="16.272,8.87333"/>
656+ </dia:attribute>
657+ <dia:attribute name="obj_bb">
658+ <dia:rectangle val="15.357,7.56833;17.187,8.87333"/>
659+ </dia:attribute>
660+ <dia:attribute name="meta">
661+ <dia:composite type="dict"/>
662+ </dia:attribute>
663+ <dia:attribute name="text">
664+ <dia:composite type="text">
665+ <dia:attribute name="string">
666+ <dia:string>#-90#</dia:string>
667+ </dia:attribute>
668+ <dia:attribute name="font">
669+ <dia:font family="sans" style="0" name="Helvetica"/>
670+ </dia:attribute>
671+ <dia:attribute name="height">
672+ <dia:real val="1.3999999761581421"/>
673+ </dia:attribute>
674+ <dia:attribute name="pos">
675+ <dia:point val="16.272,8.60833"/>
676+ </dia:attribute>
677+ <dia:attribute name="color">
678+ <dia:color val="#000000"/>
679+ </dia:attribute>
680+ <dia:attribute name="alignment">
681+ <dia:enum val="1"/>
682+ </dia:attribute>
683+ </dia:composite>
684+ </dia:attribute>
685+ <dia:attribute name="valign">
686+ <dia:enum val="1"/>
687+ </dia:attribute>
688+ </dia:object>
689+ <dia:object type="Standard - Line" version="0" id="O19">
690+ <dia:attribute name="obj_pos">
691+ <dia:point val="15.272,8.87333"/>
692+ </dia:attribute>
693+ <dia:attribute name="obj_bb">
694+ <dia:rectangle val="15.222,8.82333;17.322,8.92333"/>
695+ </dia:attribute>
696+ <dia:attribute name="meta">
697+ <dia:composite type="dict"/>
698+ </dia:attribute>
699+ <dia:attribute name="conn_endpoints">
700+ <dia:point val="15.272,8.87333"/>
701+ <dia:point val="17.272,8.87333"/>
702+ </dia:attribute>
703+ <dia:attribute name="numcp">
704+ <dia:int val="1"/>
705+ </dia:attribute>
706+ </dia:object>
707+ </dia:group>
708+ <dia:group>
709+ <dia:attribute name="matrix">
710+ <dia:matrix xx="0.565685" xy="1.41421" yx="-0.565685" yy="1.41421" x0="-4.12998" y0="3.44109"/>
711+ <dia:connections>
712+ <dia:connection handle="0" to="O21" connection="0"/>
713+ </dia:connections>
714+ </dia:attribute>
715+ <dia:object type="Standard - Text" version="1" id="O20">
716+ <dia:attribute name="obj_pos">
717+ <dia:point val="10.6065,6.17768"/>
718+ </dia:attribute>
719+ <dia:attribute name="obj_bb">
720+ <dia:rectangle val="9.894,4.87268;11.319,6.17768"/>
721+ </dia:attribute>
722+ <dia:attribute name="meta">
723+ <dia:composite type="dict"/>
724+ </dia:attribute>
725+ <dia:attribute name="text">
726+ <dia:composite type="text">
727+ <dia:attribute name="string">
728+ <dia:string>#45#</dia:string>
729+ </dia:attribute>
730+ <dia:attribute name="font">
731+ <dia:font family="sans" style="0" name="Helvetica"/>
732+ </dia:attribute>
733+ <dia:attribute name="height">
734+ <dia:real val="1.3999999761581421"/>
735+ </dia:attribute>
736+ <dia:attribute name="pos">
737+ <dia:point val="10.6065,5.91268"/>
738+ </dia:attribute>
739+ <dia:attribute name="color">
740+ <dia:color val="#000000"/>
741+ </dia:attribute>
742+ <dia:attribute name="alignment">
743+ <dia:enum val="1"/>
744+ </dia:attribute>
745+ </dia:composite>
746+ </dia:attribute>
747+ <dia:attribute name="valign">
748+ <dia:enum val="1"/>
749+ </dia:attribute>
750+ </dia:object>
751+ <dia:object type="Standard - Line" version="0" id="O21">
752+ <dia:attribute name="obj_pos">
753+ <dia:point val="9.60645,6.17768"/>
754+ </dia:attribute>
755+ <dia:attribute name="obj_bb">
756+ <dia:rectangle val="9.55645,6.12768;11.6565,6.22768"/>
757+ </dia:attribute>
758+ <dia:attribute name="meta">
759+ <dia:composite type="dict"/>
760+ </dia:attribute>
761+ <dia:attribute name="conn_endpoints">
762+ <dia:point val="9.60645,6.17768"/>
763+ <dia:point val="11.6065,6.17768"/>
764+ </dia:attribute>
765+ <dia:attribute name="numcp">
766+ <dia:int val="1"/>
767+ </dia:attribute>
768+ </dia:object>
769+ </dia:group>
770+ <dia:group>
771+ <dia:attribute name="matrix">
772+ <dia:matrix xx="0.494975" xy="-1.41421" yx="0.494975" yy="1.41421" x0="16.8562" y0="-10.3621"/>
773+ <dia:connections>
774+ <dia:connection handle="0" to="O23" connection="0"/>
775+ </dia:connections>
776+ </dia:attribute>
777+ <dia:object type="Standard - Text" version="1" id="O22">
778+ <dia:attribute name="obj_pos">
779+ <dia:point val="15.6316,6.33698"/>
780+ </dia:attribute>
781+ <dia:attribute name="obj_bb">
782+ <dia:rectangle val="14.7166,5.03198;16.5466,6.33698"/>
783+ </dia:attribute>
784+ <dia:attribute name="meta">
785+ <dia:composite type="dict"/>
786+ </dia:attribute>
787+ <dia:attribute name="text">
788+ <dia:composite type="text">
789+ <dia:attribute name="string">
790+ <dia:string>#-45#</dia:string>
791+ </dia:attribute>
792+ <dia:attribute name="font">
793+ <dia:font family="sans" style="0" name="Helvetica"/>
794+ </dia:attribute>
795+ <dia:attribute name="height">
796+ <dia:real val="1.3999999761581421"/>
797+ </dia:attribute>
798+ <dia:attribute name="pos">
799+ <dia:point val="15.6316,6.07198"/>
800+ </dia:attribute>
801+ <dia:attribute name="color">
802+ <dia:color val="#000000"/>
803+ </dia:attribute>
804+ <dia:attribute name="alignment">
805+ <dia:enum val="1"/>
806+ </dia:attribute>
807+ </dia:composite>
808+ </dia:attribute>
809+ <dia:attribute name="valign">
810+ <dia:enum val="1"/>
811+ </dia:attribute>
812+ </dia:object>
813+ <dia:object type="Standard - Line" version="0" id="O23">
814+ <dia:attribute name="obj_pos">
815+ <dia:point val="14.6316,6.33698"/>
816+ </dia:attribute>
817+ <dia:attribute name="obj_bb">
818+ <dia:rectangle val="14.5816,6.28698;16.6816,6.38698"/>
819+ </dia:attribute>
820+ <dia:attribute name="meta">
821+ <dia:composite type="dict"/>
822+ </dia:attribute>
823+ <dia:attribute name="conn_endpoints">
824+ <dia:point val="14.6316,6.33698"/>
825+ <dia:point val="16.6316,6.33698"/>
826+ </dia:attribute>
827+ <dia:attribute name="numcp">
828+ <dia:int val="1"/>
829+ </dia:attribute>
830+ </dia:object>
831+ </dia:group>
832+ <dia:object type="Standard - Ellipse" version="0" id="O24">
833+ <dia:attribute name="obj_pos">
834+ <dia:point val="11,7"/>
835+ </dia:attribute>
836+ <dia:attribute name="obj_bb">
837+ <dia:rectangle val="10.95,6.95;15.05,11.05"/>
838+ </dia:attribute>
839+ <dia:attribute name="elem_corner">
840+ <dia:point val="11,7"/>
841+ </dia:attribute>
842+ <dia:attribute name="elem_width">
843+ <dia:real val="4"/>
844+ </dia:attribute>
845+ <dia:attribute name="elem_height">
846+ <dia:real val="4"/>
847+ </dia:attribute>
848+ <dia:attribute name="border_color">
849+ <dia:color val="#7f7f7f"/>
850+ </dia:attribute>
851+ <dia:attribute name="show_background">
852+ <dia:boolean val="false"/>
853+ </dia:attribute>
854+ </dia:object>
855+ <dia:object type="Standard - Line" version="0" id="O25">
856+ <dia:attribute name="obj_pos">
857+ <dia:point val="6,6"/>
858+ </dia:attribute>
859+ <dia:attribute name="obj_bb">
860+ <dia:rectangle val="5.93435,5.93435;11.1815,8.25816"/>
861+ </dia:attribute>
862+ <dia:attribute name="conn_endpoints">
863+ <dia:point val="6,6"/>
864+ <dia:point val="11.1158,8.1925"/>
865+ </dia:attribute>
866+ <dia:attribute name="numcp">
867+ <dia:int val="1"/>
868+ </dia:attribute>
869+ <dia:attribute name="line_color">
870+ <dia:color val="#7f7f7f"/>
871+ </dia:attribute>
872+ <dia:attribute name="line_style">
873+ <dia:enum val="4"/>
874+ </dia:attribute>
875+ <dia:connections>
876+ <dia:connection handle="1" to="O24" connection="8"/>
877+ </dia:connections>
878+ </dia:object>
879+ <dia:object type="Standard - Line" version="0" id="O26">
880+ <dia:attribute name="obj_pos">
881+ <dia:point val="10,2"/>
882+ </dia:attribute>
883+ <dia:attribute name="obj_bb">
884+ <dia:rectangle val="9.93435,1.93435;12.2582,7.1815"/>
885+ </dia:attribute>
886+ <dia:attribute name="conn_endpoints">
887+ <dia:point val="10,2"/>
888+ <dia:point val="12.1925,7.11584"/>
889+ </dia:attribute>
890+ <dia:attribute name="numcp">
891+ <dia:int val="1"/>
892+ </dia:attribute>
893+ <dia:attribute name="line_color">
894+ <dia:color val="#7f7f7f"/>
895+ </dia:attribute>
896+ <dia:attribute name="line_style">
897+ <dia:enum val="4"/>
898+ </dia:attribute>
899+ <dia:connections>
900+ <dia:connection handle="1" to="O24" connection="8"/>
901+ </dia:connections>
902+ </dia:object>
903+ <dia:object type="Standard - Line" version="0" id="O27">
904+ <dia:attribute name="obj_pos">
905+ <dia:point val="16,2"/>
906+ </dia:attribute>
907+ <dia:attribute name="obj_bb">
908+ <dia:rectangle val="13.7418,1.93435;16.0657,7.1815"/>
909+ </dia:attribute>
910+ <dia:attribute name="conn_endpoints">
911+ <dia:point val="16,2"/>
912+ <dia:point val="13.8075,7.11584"/>
913+ </dia:attribute>
914+ <dia:attribute name="numcp">
915+ <dia:int val="1"/>
916+ </dia:attribute>
917+ <dia:attribute name="line_color">
918+ <dia:color val="#7f7f7f"/>
919+ </dia:attribute>
920+ <dia:attribute name="line_style">
921+ <dia:enum val="4"/>
922+ </dia:attribute>
923+ <dia:connections>
924+ <dia:connection handle="1" to="O24" connection="8"/>
925+ </dia:connections>
926+ </dia:object>
927+ <dia:object type="Standard - Line" version="0" id="O28">
928+ <dia:attribute name="obj_pos">
929+ <dia:point val="20,6"/>
930+ </dia:attribute>
931+ <dia:attribute name="obj_bb">
932+ <dia:rectangle val="14.8185,5.93435;20.0657,8.25816"/>
933+ </dia:attribute>
934+ <dia:attribute name="conn_endpoints">
935+ <dia:point val="20,6"/>
936+ <dia:point val="14.8842,8.1925"/>
937+ </dia:attribute>
938+ <dia:attribute name="numcp">
939+ <dia:int val="1"/>
940+ </dia:attribute>
941+ <dia:attribute name="line_color">
942+ <dia:color val="#7f7f7f"/>
943+ </dia:attribute>
944+ <dia:attribute name="line_style">
945+ <dia:enum val="4"/>
946+ </dia:attribute>
947+ <dia:connections>
948+ <dia:connection handle="1" to="O24" connection="8"/>
949+ </dia:connections>
950+ </dia:object>
951+ <dia:object type="Standard - Line" version="0" id="O29">
952+ <dia:attribute name="obj_pos">
953+ <dia:point val="20,12"/>
954+ </dia:attribute>
955+ <dia:attribute name="obj_bb">
956+ <dia:rectangle val="14.8185,9.74184;20.0657,12.0657"/>
957+ </dia:attribute>
958+ <dia:attribute name="conn_endpoints">
959+ <dia:point val="20,12"/>
960+ <dia:point val="14.8842,9.8075"/>
961+ </dia:attribute>
962+ <dia:attribute name="numcp">
963+ <dia:int val="1"/>
964+ </dia:attribute>
965+ <dia:attribute name="line_color">
966+ <dia:color val="#7f7f7f"/>
967+ </dia:attribute>
968+ <dia:attribute name="line_style">
969+ <dia:enum val="4"/>
970+ </dia:attribute>
971+ <dia:connections>
972+ <dia:connection handle="1" to="O24" connection="8"/>
973+ </dia:connections>
974+ </dia:object>
975+ <dia:object type="Standard - Line" version="0" id="O30">
976+ <dia:attribute name="obj_pos">
977+ <dia:point val="16,17"/>
978+ </dia:attribute>
979+ <dia:attribute name="obj_bb">
980+ <dia:rectangle val="13.6552,10.8546;16.0644,17.0644"/>
981+ </dia:attribute>
982+ <dia:attribute name="conn_endpoints">
983+ <dia:point val="16,17"/>
984+ <dia:point val="13.7196,10.9189"/>
985+ </dia:attribute>
986+ <dia:attribute name="numcp">
987+ <dia:int val="1"/>
988+ </dia:attribute>
989+ <dia:attribute name="line_color">
990+ <dia:color val="#7f7f7f"/>
991+ </dia:attribute>
992+ <dia:attribute name="line_style">
993+ <dia:enum val="4"/>
994+ </dia:attribute>
995+ <dia:connections>
996+ <dia:connection handle="1" to="O24" connection="8"/>
997+ </dia:connections>
998+ </dia:object>
999+ <dia:object type="Standard - Line" version="0" id="O31">
1000+ <dia:attribute name="obj_pos">
1001+ <dia:point val="10,17"/>
1002+ </dia:attribute>
1003+ <dia:attribute name="obj_bb">
1004+ <dia:rectangle val="9.93563,10.8546;12.3448,17.0644"/>
1005+ </dia:attribute>
1006+ <dia:attribute name="conn_endpoints">
1007+ <dia:point val="10,17"/>
1008+ <dia:point val="12.2804,10.9189"/>
1009+ </dia:attribute>
1010+ <dia:attribute name="numcp">
1011+ <dia:int val="1"/>
1012+ </dia:attribute>
1013+ <dia:attribute name="line_color">
1014+ <dia:color val="#7f7f7f"/>
1015+ </dia:attribute>
1016+ <dia:attribute name="line_style">
1017+ <dia:enum val="4"/>
1018+ </dia:attribute>
1019+ <dia:connections>
1020+ <dia:connection handle="1" to="O24" connection="8"/>
1021+ </dia:connections>
1022+ </dia:object>
1023+ <dia:object type="Standard - Line" version="0" id="O32">
1024+ <dia:attribute name="obj_pos">
1025+ <dia:point val="6,12"/>
1026+ </dia:attribute>
1027+ <dia:attribute name="obj_bb">
1028+ <dia:rectangle val="5.93435,9.74184;11.1815,12.0657"/>
1029+ </dia:attribute>
1030+ <dia:attribute name="conn_endpoints">
1031+ <dia:point val="6,12"/>
1032+ <dia:point val="11.1158,9.8075"/>
1033+ </dia:attribute>
1034+ <dia:attribute name="numcp">
1035+ <dia:int val="1"/>
1036+ </dia:attribute>
1037+ <dia:attribute name="line_color">
1038+ <dia:color val="#7f7f7f"/>
1039+ </dia:attribute>
1040+ <dia:attribute name="line_style">
1041+ <dia:enum val="4"/>
1042+ </dia:attribute>
1043+ <dia:connections>
1044+ <dia:connection handle="1" to="O24" connection="8"/>
1045+ </dia:connections>
1046+ </dia:object>
1047+ <dia:group>
1048+ <dia:attribute name="matrix">
1049+ <dia:matrix xx="2.36068" xy="0" yx="0" yy="0.55" x0="-17.6888" y0="0.975753"/>
1050+ <dia:connections>
1051+ <dia:connection handle="0" to="O34" connection="0"/>
1052+ </dia:connections>
1053+ </dia:attribute>
1054+ <dia:object type="Standard - Text" version="1" id="O33">
1055+ <dia:attribute name="obj_pos">
1056+ <dia:point val="13,2.16834"/>
1057+ </dia:attribute>
1058+ <dia:attribute name="obj_bb">
1059+ <dia:rectangle val="12.6438,0.86334;13.3563,2.16834"/>
1060+ </dia:attribute>
1061+ <dia:attribute name="meta">
1062+ <dia:composite type="dict"/>
1063+ </dia:attribute>
1064+ <dia:attribute name="text">
1065+ <dia:composite type="text">
1066+ <dia:attribute name="string">
1067+ <dia:string>#0#</dia:string>
1068+ </dia:attribute>
1069+ <dia:attribute name="font">
1070+ <dia:font family="sans" style="0" name="Helvetica"/>
1071+ </dia:attribute>
1072+ <dia:attribute name="height">
1073+ <dia:real val="1.3999999761581421"/>
1074+ </dia:attribute>
1075+ <dia:attribute name="pos">
1076+ <dia:point val="13,1.90334"/>
1077+ </dia:attribute>
1078+ <dia:attribute name="color">
1079+ <dia:color val="#000000"/>
1080+ </dia:attribute>
1081+ <dia:attribute name="alignment">
1082+ <dia:enum val="1"/>
1083+ </dia:attribute>
1084+ </dia:composite>
1085+ </dia:attribute>
1086+ <dia:attribute name="valign">
1087+ <dia:enum val="1"/>
1088+ </dia:attribute>
1089+ </dia:object>
1090+ <dia:object type="Standard - Line" version="0" id="O34">
1091+ <dia:attribute name="obj_pos">
1092+ <dia:point val="12,2.16834"/>
1093+ </dia:attribute>
1094+ <dia:attribute name="obj_bb">
1095+ <dia:rectangle val="11.95,2.11834;14.05,2.21834"/>
1096+ </dia:attribute>
1097+ <dia:attribute name="meta">
1098+ <dia:composite type="dict"/>
1099+ </dia:attribute>
1100+ <dia:attribute name="conn_endpoints">
1101+ <dia:point val="12,2.16834"/>
1102+ <dia:point val="14,2.16834"/>
1103+ </dia:attribute>
1104+ <dia:attribute name="numcp">
1105+ <dia:int val="1"/>
1106+ </dia:attribute>
1107+ </dia:object>
1108+ </dia:group>
1109+ <dia:group>
1110+ <dia:attribute name="matrix">
1111+ <dia:matrix xx="0.867919" xy="0" yx="0" yy="2" x0="1.71705" y0="-5.16834"/>
1112+ <dia:connections>
1113+ <dia:connection handle="0" to="O36" connection="0"/>
1114+ </dia:connections>
1115+ </dia:attribute>
1116+ <dia:object type="Standard - Text" version="1" id="O35">
1117+ <dia:attribute name="obj_pos">
1118+ <dia:point val="13,5.16834"/>
1119+ </dia:attribute>
1120+ <dia:attribute name="obj_bb">
1121+ <dia:rectangle val="12.6438,3.86334;13.3563,5.16834"/>
1122+ </dia:attribute>
1123+ <dia:attribute name="text">
1124+ <dia:composite type="text">
1125+ <dia:attribute name="string">
1126+ <dia:string>#0#</dia:string>
1127+ </dia:attribute>
1128+ <dia:attribute name="font">
1129+ <dia:font family="sans" style="0" name="Helvetica"/>
1130+ </dia:attribute>
1131+ <dia:attribute name="height">
1132+ <dia:real val="1.3999999761581421"/>
1133+ </dia:attribute>
1134+ <dia:attribute name="pos">
1135+ <dia:point val="13,4.90334"/>
1136+ </dia:attribute>
1137+ <dia:attribute name="color">
1138+ <dia:color val="#000000"/>
1139+ </dia:attribute>
1140+ <dia:attribute name="alignment">
1141+ <dia:enum val="1"/>
1142+ </dia:attribute>
1143+ </dia:composite>
1144+ </dia:attribute>
1145+ <dia:attribute name="valign">
1146+ <dia:enum val="1"/>
1147+ </dia:attribute>
1148+ </dia:object>
1149+ <dia:object type="Standard - Line" version="0" id="O36">
1150+ <dia:attribute name="obj_pos">
1151+ <dia:point val="12,5.16834"/>
1152+ </dia:attribute>
1153+ <dia:attribute name="obj_bb">
1154+ <dia:rectangle val="11.95,5.11834;14.05,5.21834"/>
1155+ </dia:attribute>
1156+ <dia:attribute name="conn_endpoints">
1157+ <dia:point val="12,5.16834"/>
1158+ <dia:point val="14,5.16834"/>
1159+ </dia:attribute>
1160+ <dia:attribute name="numcp">
1161+ <dia:int val="1"/>
1162+ </dia:attribute>
1163+ </dia:object>
1164+ </dia:group>
1165+ <dia:group>
1166+ <dia:attribute name="matrix">
1167+ <dia:matrix xx="-0.612258" xy="2.44921e-016" yx="-7.49775e-017" yy="-2" x0="20.9594" y0="39"/>
1168+ <dia:connections>
1169+ <dia:connection handle="0" to="O38" connection="0"/>
1170+ </dia:connections>
1171+ </dia:attribute>
1172+ <dia:object type="Standard - Text" version="1" id="O37">
1173+ <dia:attribute name="obj_pos">
1174+ <dia:point val="13,13"/>
1175+ </dia:attribute>
1176+ <dia:attribute name="obj_bb">
1177+ <dia:rectangle val="11.9313,11.695;14.0688,13"/>
1178+ </dia:attribute>
1179+ <dia:attribute name="text">
1180+ <dia:composite type="text">
1181+ <dia:attribute name="string">
1182+ <dia:string>#180#</dia:string>
1183+ </dia:attribute>
1184+ <dia:attribute name="font">
1185+ <dia:font family="sans" style="0" name="Helvetica"/>
1186+ </dia:attribute>
1187+ <dia:attribute name="height">
1188+ <dia:real val="1.3999999761581421"/>
1189+ </dia:attribute>
1190+ <dia:attribute name="pos">
1191+ <dia:point val="13,12.735"/>
1192+ </dia:attribute>
1193+ <dia:attribute name="color">
1194+ <dia:color val="#000000"/>
1195+ </dia:attribute>
1196+ <dia:attribute name="alignment">
1197+ <dia:enum val="1"/>
1198+ </dia:attribute>
1199+ </dia:composite>
1200+ </dia:attribute>
1201+ <dia:attribute name="valign">
1202+ <dia:enum val="1"/>
1203+ </dia:attribute>
1204+ </dia:object>
1205+ <dia:object type="Standard - Line" version="0" id="O38">
1206+ <dia:attribute name="obj_pos">
1207+ <dia:point val="12,13"/>
1208+ </dia:attribute>
1209+ <dia:attribute name="obj_bb">
1210+ <dia:rectangle val="11.95,12.95;14.05,13.05"/>
1211+ </dia:attribute>
1212+ <dia:attribute name="conn_endpoints">
1213+ <dia:point val="12,13"/>
1214+ <dia:point val="14,13"/>
1215+ </dia:attribute>
1216+ <dia:attribute name="numcp">
1217+ <dia:int val="1"/>
1218+ </dia:attribute>
1219+ </dia:object>
1220+ </dia:group>
1221+ <dia:group>
1222+ <dia:attribute name="matrix">
1223+ <dia:matrix xx="-2.07622" xy="6.73533e-017" yx="-2.54256e-016" yy="-0.55" x0="39.9909" y0="24.8"/>
1224+ <dia:connections>
1225+ <dia:connection handle="0" to="O40" connection="0"/>
1226+ </dia:connections>
1227+ </dia:attribute>
1228+ <dia:object type="Standard - Text" version="1" id="O39">
1229+ <dia:attribute name="obj_pos">
1230+ <dia:point val="13,16"/>
1231+ </dia:attribute>
1232+ <dia:attribute name="obj_bb">
1233+ <dia:rectangle val="11.9313,14.695;14.0688,16"/>
1234+ </dia:attribute>
1235+ <dia:attribute name="meta">
1236+ <dia:composite type="dict"/>
1237+ </dia:attribute>
1238+ <dia:attribute name="text">
1239+ <dia:composite type="text">
1240+ <dia:attribute name="string">
1241+ <dia:string>#180#</dia:string>
1242+ </dia:attribute>
1243+ <dia:attribute name="font">
1244+ <dia:font family="sans" style="0" name="Helvetica"/>
1245+ </dia:attribute>
1246+ <dia:attribute name="height">
1247+ <dia:real val="1.3999999761581421"/>
1248+ </dia:attribute>
1249+ <dia:attribute name="pos">
1250+ <dia:point val="13,15.735"/>
1251+ </dia:attribute>
1252+ <dia:attribute name="color">
1253+ <dia:color val="#000000"/>
1254+ </dia:attribute>
1255+ <dia:attribute name="alignment">
1256+ <dia:enum val="1"/>
1257+ </dia:attribute>
1258+ </dia:composite>
1259+ </dia:attribute>
1260+ <dia:attribute name="valign">
1261+ <dia:enum val="1"/>
1262+ </dia:attribute>
1263+ </dia:object>
1264+ <dia:object type="Standard - Line" version="0" id="O40">
1265+ <dia:attribute name="obj_pos">
1266+ <dia:point val="12,16"/>
1267+ </dia:attribute>
1268+ <dia:attribute name="obj_bb">
1269+ <dia:rectangle val="11.95,15.95;14.05,16.05"/>
1270+ </dia:attribute>
1271+ <dia:attribute name="meta">
1272+ <dia:composite type="dict"/>
1273+ </dia:attribute>
1274+ <dia:attribute name="conn_endpoints">
1275+ <dia:point val="12,16"/>
1276+ <dia:point val="14,16"/>
1277+ </dia:attribute>
1278+ <dia:attribute name="numcp">
1279+ <dia:int val="1"/>
1280+ </dia:attribute>
1281+ </dia:object>
1282+ </dia:group>
1283+ </dia:layer>
1284+</dia:diagram>