Changes in DirectedGraphLayout's behavior [message #205747] |
Wed, 21 December 2005 17:20 |
Eclipse User |
|
|
|
Originally posted by: jason.nospam.spam
This is a multi-part message in MIME format.
--------------030701030005090003030701
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Hi All,
We've recently moved from 3.0 to 3.1 for gef/draw2d/swt etc. and noticed
a change in how the DirectedGraphLayout lays out nodes and edges.
Previously, the bias seemed to be that the general flow was from top to
bottom, which suits our particular visualization needs (see diagram 1)
but since migrating to 3.1.0, we noticed that there isn't any particular
bias (diagram 2).
Can anybody shed some light on this please, and possibly suggest a
workaround, or a way of customizing the layout to reassert the older
behavior? Has anybody else noticed a similar change in behavior?
Many Thanks
Jason Halpin
--------------030701030005090003030701
Content-Type: image/png;
name="diagram2.png"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="diagram2.png"
iVBORw0KGgoAAAANSUhEUgAAAsYAAAH1CAYAAAD1bjgrAAAABmJLR0QA/wD/ AP+gvaeTAAAA
CXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QwVEQUBO4RgBAAAAB10RVh0 Q29tbWVudABD
cmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAgAElEQVR42u3dfYwc9X348c8S A3JEgo0wcRXK
Y2kaU6lCSqWGgG4dSCol+YO0MUoDDa0TSBFSpEQqkXImtlVfKxAR5A8U0YYA goSfSBXoH0Vg
A15X6kW4FXFFcZoKxJOjhjixaQgQSsz+/jjveW5uZnZmH24f5vWSTvbt7cPs 7Hdv3/e97+w1
Wq1WOwAAoOaOswsAAEAYAwCAMAYAAGEMAADCGAAAhDEAAAhjAAAQxgAAIIwB AEAYAwCAMAYA
gG5W2QWTodls2glMnVar5XmFsRgRM8YiEbFnxOMQM8YAABARZownTrvdthOY eI1Gw3MWY3F8
Bql9MPqBaB+MCTPGAAAgjAEAQBhPte3bt/sVIYydxpLnaPrzRqOx+AHGKAhj Bqj1TMs3Lxir
H1i3LQmNiPZicGzdui3a7fbimmTPXYxRWHkOvpvob2DbC79+6kszi3HsACAY va1bt8b27RFb
tzYiYtuS4OgEyGKOtNueuxijIIyponllM059x0ycHxF7juyJU98xk/jq9+LU 2BT/ufv+qf7m
1blvK3Uf07czjNtf6fu0kvtrmnUes+Lw2Bbbt287Ghpbj4bHtojYvhgmwoPR xrExijBmgv3j
3dvjHxc/ay3+71MzGyLOivjHPfsrRUz6hX4lg2gY32DzQrYuytzf5OOe3leD OH2Swrbbc6If
C7/l2da5tYhoxEJjFN9u0WM4yOds1XE1itutlfQ+bTQWTutlTJa8nDFqkkAY M7G2bdt27PtX
9hki9myPbdsW1oVd3rw87m/dXykOPJHrF855s9W9nj6J+2NYkjNtC7+ePrZ+ c9u2bYvPv/R+
67ZNo9rvvlcMOYpHsIbXGKXuHHw30d8320s+7r/z/mXfsDpRHBFxf+v+uLx5 ed/RkD4iOf0N
Mf21rM+LvolWvUz6G1/WefOuM32ZovtSFJFl9lPR/iu6f1Wuq9ttrET8FT0+ 0/Jcy/taN8uP
C2gsxkjZ6xjU87XbGOz33QfKjs9uz7+i7RrE82tiozk5Vjqfp09L/pt1OWO0 6zjK2pYy21b2
ezHjx4zxFDnt4tNiz7N7lkTxfz7XXnLadXdcV3rmOOubSNWfvovOn3f5Xi7T 7bJZMTOsWYWq
a5C73XY/s7Zl4jS9LrbMYzrpSyaqjNms/yf3dZV9kZyNO3qJwhfJfvdt3tjK +38/z/VBPweK
tqHsdU/0bzE6yyaSn2f9P/15cqY5PetcIsiM0Ubu94BBj3XGkxnjKTNz7kzM nDuz+AQ8//T/
jZlzZ+Jnn7stfva52yr/FL0SswOTEknDe/0b7D4pcz1Z38g7H2VfCMqef9Ks 1BhN/1o666OX
bS7zG5Qyvwav8tudvHAp81uYQT92k/49Z1nwdj6KxkPWjHHJEDZG+x8boxjr DI8Z4yl0efN7
semq++Py5vciIuL+1qaIsyLi+aNnOKtcNA3jSe2n5e6zDYPYv53rsb8nYwz0 +3zJW85TZmzl
jZkyt130vaJotmwY47Of+zHR0rPCQ7i/dRqjg3pd871YGDNG7m9tWnbaprsW lk7seXbPsUAu
8WQf5q8eJ+HXmpN6sEa3mVwHoYzXYzXuY6bMEqZu70qQ/Nowf9PQz/3AGB30 a8Y0/lZNGDNx
OjPFnVnirFCu+o0o69fmyZ/a834aT/60XGY9Zi+XqfLNNH2dWbMJZb9xFq0h K7Of+lmKkHcb
3W633+3t5fRJj4Bh/4AxrPWbZcfWoB7LMt8rqrzNX9VtmLoxmbcsIrmsoswy i+Tlk5czRnt+
PRvW92KEMUPSbwgXnZb3ZC57epVffVX9xlt0uSoH3/X6Tb/X/VR0WpX71M/j 0O/jOukx3C0A
uh2RPsgQH+Tly4yRXh/LXr5XDGI85W3/1I3JonFVdPBd1dOM0cLzlInvQYx1 hDFDknwHirRT
X5qJ+G37CABAGE+5mXNnit+n+KzbFtYXn2Vf9fITfK8z2ZDH2kPPI2PU+EQY M0S9vD8x4AUX
jFHwPsYAACCMAQBAGAMAQII1xhPGwTrgOQsDHqT2ARxlxhgAACKi0Wq1HHbK SDV/2ux6ntb6
1opuy0rdXr/3P33Zldxupue5Z9xgLMICM8aQEZZlYnWlt6nsi0vnAwCoxhpj xiL88kJupWcP
RhGU/cR4ev8kryP5f7MwdBv3xgiAMGZMXpTHIYqnIVqS5xPJAFCNNcaMXRCP KuCytmccZ6x7
2aai6xXKnn/GAuMyHo1BRs2MMWPzgmxWc+l+yFti0csLSN5McvpzL0oA1JkZ Y0YexOnzjCLO
xm1GNW8/DGOWz1IWz0WPO+MyJo0/Rs2MMSN5Ac775uebYrn9k7V+uNd9Z10y ACwwY8xYBPE4
bvskbesw9rFZxfo8Tz2eGIuwwIwxExNq5AfqIGeQsx4365IBEMYgiGsfyFnX YckFAMIYBHGt
AznrMRbJAAhjBLEgnshAFskAIIwRxAI59TgO+rErE8nGDADCGEHMyAM5L1iH 8Vg6eA8AYYwg
ZiIieaUCOet6LbkAQBgjiKl1IGeNJZEMgDBGEFP7QC4bycYhAMIYQUxtArko ktOfG5sACGME
MbUI5KzbsuQCAGGMIGbsAnkU48W6ZACEMYKYsQvk5OejGD8iGQBhjCBm5IGc F6OjGk8O3gNA
GNNTDAsEBhmj4xTIRZGc/txzAABhLIjtHGoRyFm3b8kFAMK45kHsRZ+6B3LW c0EkAyCMBTHU
PpDLRnLRNjd/2vQcAxDGCGKYnkAuiuT051lLMzzfAIQxghj6DuRxj+Si7RbH AMIYQQwDC+Tk
5+M6jotmkyflPgAgjAUxTFBoTkJc5sV98j54XgJMtkar1WrbDYIYjPPettVz FAb33PL8YdTM
GE9ILAz7m8VMs2mnU2hPazhjsNtM7FiN+/+39NP2pzOfvQaLsQ0IY4YZDVCH sT6KOK4iO4QB
EMZMp7aVNaQ0GsY9xjZQC8fZBQAAIIwBAEAYAwBAhzXGACkbN27MPH337t12 DsAUM2NM384+
e6OdwNS55qYH45qbHozdu3cngrix5GP79u12FMAUMWNM31H83PO7F/59buVm 0xqNRrT7eCeB
rMv3e53TwD5Y7r5/+9/F/2+/e9vi/7detc3OARDGsDSKt8f20nHcOPr2SMn4 yjptkoItvW2N
1FtADXK7GxlvLyVkV87Wq7YmPtvW8+M26B/qhnWZQWxz1vOjl+sa1PUACGOG GsVbY2ulOK6D
Yb2Ad65HFAzf319/2USMiUkbx4N+LgAIY1bE3Xd/JyIirrrqiiX/X3yhjEa0 o105jtvt9uKL
bPLf5Atw3gtzOg6Lzld0epkIyAvSMtuWp8o2550373qzIqZo1i/r+sXGgs6a 4s5BeMmD7o4d
mNeMiFa0jv454X4OzMt7/PPCtOxzIes2ehlf6edtr2M57zlf9TlcZluG+Zsb QBhTQ8kITv5/
8YUm2sviuBGNOCuafQVCXgykX9jyQrDs6VW2oeq25b2wl9m2brdVVZX9RGQE 8ML/k+F7zU0P
RkTEn/3hycvOO8gxX+Ux7Xb5Xi7Tyw9i3W67zDaVfZ5VeV4a44Awpm979uyJ 558/EGeddXo8
//yBJZG8PbYvieNGNGJbbIu7olUq1vJeqBpj/Gday25bt5m+bi/uVfdD1iz8 oO5LnYO42+nJ
A/Oq7O9BB9ooHssqY3kS7g+AMKarmZmZmJnp/P/Y6c89t7BkIp6PJVE8COM8 qzPIg6byfrW9
UssazJ51t7vViu13bYvWXa2B7e9hRN8oHsuimeGyS4uqPE8AhDFj4e67v7Nk xjhiYdY4Gccd
d53VKn3wXdlZzUl5N4pBhEY/s3BVZosnaT+veAwn1woffTzSa4z7OTCvn8dp lI9l0fWmv1Y0
lgGEMROts3QiOWPc0Ynjs6IZd0Wr73ekSL+gJmdPy8xClbl8r4FaZduqbEOZ 8/Y7Uz3M669r
OGcdmNdLHFcds+nxVuax7OUyeWOnaPz089yt8vwrsy0AvfCX7+hbJ4bLRHGZ g3A6L9xZB9uV
ORCv2+Wzvpa1Pd2uo2jbqmxD1dvK249FBz5VvX6KpQ/M62Xc9zNm8z7v9kNj lct0e74UbVeZ
527Z53De/e52u0XXDyCMWZE4nhaNRmPxwwtqvW39i20LSyoajdi4cWNmCOed DsBksZQCMkxi
DFd5myzK2b5t29ITjr5nMQDCGKBWtm7dWvg5ANPFUgoAABDGAAAgjAEAYJE1 xizlTfkx7gGo
KTPGAAAQZow5as+kvQ1Vs7nw76Rud4e3/zLuARDGMJC4bDYnOy7ToSyWAUAY Q+WInMSAbLWy
Y1gUA8DIWWPMZATxNC1BEL8AIIyhpyhOR+U0hGXefSiaTQYAhspSCiYniKdZ conFpB5YCAAT
zowx4xfEdYnizv1K/1u0LwAAYUxNojgdjnWYKe52n8UxAKwISykYzyCuu84+ sLwCAFaMGWNE
8SQEct7+AgAGxowxgnhS4tjsMQAMlRljVj6IRXF/gVy0LwEAYcyERHE69ERx 9Ti2vAIAhsJS
CkYTxPQfyMl9a3kFAPTNjDHDDWJRvDKBXLTPAQBhzIijOB1wonh4cWx5BQD0 zVIKhh/ErFwg
Jx8DyysAoBIzxgwuiEXxeAVy0WMDAAhjhhTF6TATxaOPY8srAKASSykYbBAz foGcfKwsrwCA
XGaM6S2IRfFkBnLRYwgAwhgqRnE6uETx5MSx5RUAkMtSCnoPYiY3kJOPqeUV ABARZowRxQI5
73EGgJoxY4wgFsdmjwEgzBiTFcAOrqtvIBeNAQAQxtQiitP/JoNJFNcnji2v AKDGLKUgO4LE
cL0DOeuHJWMCgClnxlgI54cRAjk9XswgAyCMqU0UQzqOLa8AQBhT2ygWPnQL ZLPHAEwha4zH
tUPWt1Y2eqDsWBnimuMVHfcAMI5hPGPmabQmcP/vqUHMj/3zwvPWuAaYMpZS AABA1GkpRbvt
0Z4GjUb97rOxa1wDsCLMGAMAgDAGAABhDAAAwhgAAIRxSWefvdFOwNgFAGE8 wQZwFP/ZZ2+M
557fveKB0ejz6PSsyzcm9Ij3hiP1jd0pHAPGNYAwrh626Y8RhMX22F46MBqN xrIXvKzTJulF
Mu/+JD+qXl4YGLvjMHZX4rrzxj8AwriXV5+lHyMIi62xtVJg1EG73V7yUfWy GLvjMHYHHand
rrvRaBj/ABNgsv7AR/qFJfkCVOFF5+67vxMREVdddcWS/y9ebTSiHe3MwHju ud2FL46dF8Dk
v8kXx6xI7JzeOa3b+YpO7xak6fOWvc2iF/W860xfPhkHeacnI0JIGLvDHrtV tq+f606ez7gG
EMb9RXDyBTEdw43GsX9LRnIyJJL/X7x4tJcFRiMacVY0e747efGX9UKZdb68 y2edXmUbqm5b
XiiUvbw46I+x2/vYrXr/hnHdAAjjXl+Nh3r1e/bsieefPxBnnXV6PP/8gSWh sT22LwmMRjRi
W2yLu6JVoufbuS+Gk7Qms+j+Df5noHZujGDsDmrs5v1QN+htMH4BhPHEmZmZ iZmZzv+Pnf7c
c0fXZD4fS8JiUAE4rryYG7vTPnazll4Mexv8sAcgjCfG3Xd/Z8msW8TCzFsy MDruOqtVuEaz
6gv1OL9YjmLbBISxu1Jjd6XHmrENMDkarVZr5N+tZ5rN9CtJ1ite9lrizudF B+blXWcXyaP5
u4VF0a+gqxwkVLSusewBTL0cKFd228q86Jc5yC7r4KVS8XD0cntaral/ci4+ L4zdgYzdrPXy
/R402G35SenxXaNxDVmaP134ftda7znAaI3n27Wl36qt8+KUDrP0QXkDfnu3 TlCUmW0rc5BZ
3tucJU8rOpip2+XLvJNDmeso2ras2yqzzUWnl45ijN0+xm4/96/qdXfbHwCM p1V2QbnAmBYO
EjJ2jV0AEMaMcVAIHYwRAEbtOLsAAACEMQAACGMAABDGAACQUJ+D78b4T9qC sQsAwhiAozp/
5KDDHzsAqGEY+2tP4HkhhAEYNWuMAYQzAGEpBcDIJJdK5EVw1umWWAAIY4Cp juRkBHfiNyuM
rUUGEMYAUx/H6fDNit50GAtlAGEMMNWBXPbr3UJZLAMIY4BahrTlFwDCGIDo bfmFWAYQxgC1
jGWzygDCGIBwUB+AMAagdCxbfgEIYwAIyy8AYQwApUI5K4zNKgPCGACxHGaV AWEMALnR66A+
QBgDQDioDxDGANBTKGedJpQBYQxA7UI5K4yFMiCMARDLYfkFIIwBoFQoZ50m lAFhDEDtQjkr
jM0qA8IYALEcZpUBYQwAudHroD5AGANAOKgPKNZotVptuwEAssNYKI9mf9vP jIIZYwAoiDGz
ylAfZowBoAKzysPfn/Yfo2LGGAAqcFAfTC8zxgAwYGaVe99f9gujZMYYAAbM eyqDMAYASoRy
VhgLZT8cIIwBQCxHueUX07wv6nz/EcYAsGimKYqWH/DTrOH9Nw7qbE+rNfJt OM7DAAAAZowB
qIu2N2GCsdRojM2mmDEGAABhDAAACyylAICImJubW3ba7OysHQPCGADqFcSd CG5EI+JoI2+Z
2xIREe1Z65OhDiylAKDWUTw7Oxsf/vCHoxGNaMwdi+JFW9rRaMzZWVADZowB mD7tdtcj3efm
5mJLbIkP/+DDceEHL4yYi9gRO5afccdCFDcajWiP8J0tRnX7o77fw9rm9HmG dT+7Xe9Kbcck
PTbCGADSYbv8FXUoN9WJ4tjSjtgxl1hX3IjOn534wQ9+EDt27Oj6gr/0Lozf i/8wtnEYYVd1
O6c9Jvt5HKrsm6z9Xrd9aykFAOP6Sr/0Y4Dm5uZiy5bZhRhetkqic1vtJZ/P zs5mHqCXDonO
R2OM3pt1JbdxUBE1CftyvH+2bFd8ujWW7PO6/qBhxhiASXq1Xx7PeV8ra0v6 css/v/DCY7ez
ZcuWnqIhGXfpmb306XnnTQZM1udFl+tnG8veh+QM47C2s8w2lLmNom2rst1Z 9zcv5Mvs3ypj
o8zjUHR61m0WbXc/+6Fz2rgHtxljAMY3gjsf6RjufHS+1llTXGV2eUfj6Ed6 FriR8W87Itox
Pz/f011Jz8Z1giF9etF5e72NfrcxHWFZX68yw9jvdpbdhkHPOBdtd1ZYp7en 6v0uOn/Vx6HM
49O5rs5H3uV73Q+TMusvjAEYT0NaRhERsSW2RHu2HfMfno+ILelEWPJvo9GZ 6WqU2ORjYZE1
05sVHb2EYTqsu91Gv9tY5fqHvZ1VtqG3n8fyt7voMmXjusq2D+O+Ft2/fkO2 6ngaR5ZSAFBv
sxHHZod3xLEZ4kYiijuh/INSYZA329rt/P3+mrlKxJXdxmTk5P2af5jbOaxt GIWqj++kr/Od
xO03YwxA7bRn2wvvWRyxcPDdkj9wl54pXsywSkHQbTa032Aq8zZgg9zGXsOo 3+0cVdAN+90Y
elnqMkn3bxIe5yxmjAEY03otONBu+atu7wffzUbqnSnSM8XH1hh3mzHOi4+s taDpWEgenNTL
wWm9XK7MNnYL6eTpVW6zlx8KBrUN6WAb5HaX2casy2cta6iyn/L2Qdl9k/fD Wvryve6HSZk9
FsYAjJ+8CE6fnvy86lrdzqzx40dP2BIRO7JmipNv2zZfGCZFp3X7epXrqnp9 g9rGMts7rO0c
9DaUCeFBntbLvqg6Dsr8P++HgSrb0e9+EMYAMIbas8v/3PPSpRPt6HXGGJg8 whiAesdxe2GB
8cKvfXfED37Qid/5oyE8L4in+vFv12476v5XAoUxAJSIBX9hDYQxABBm0qDu vF0bAAAI48Fr
NpvRbDbtCACACTNRSymeeOKJ2LlzZzz99NNx+PDhOHLkSKxduzbOPvvs+MAH PhAbN26MdevW
TdUDtHPnzvjbv/3biIiYnZ2Nj3zkI0YtQC+sHwamIYxfffXV2LFjRzzxxBPL vnbw4ME4ePBg
7N27N775zW/G7t27p+oBeuSRRxb///DDDwtjAIC6hvHbb78dN9xwQ+zbty9O OumkuPLKK+Oi
iy6K97znPdFoNOLw4cNx4MCB+OEPfxiPPvroVD04P/vZz+LJJ5+MNWvWRLvd jieffDIOHjw4
dbPiAHtaLTsBEMbd7Nq1K/bt2xdr1qyJ2267Ld773vcu+fq6deti3bp1ccEF F8TmzZsXT++s
8921a1c8+OCD8dBDD8WLL74Yq1atikceeSS2bt0azz33XBw8eDDefPPNWL16 dZx55pnxiU98
Ij72sY8tuY3Odd13331xzz33xPz8fLz++utx3nnnxXXXXRcbNmxYtt0vv/xy 3HHHHTE/Px9H
jhyJmZmZ+NKXvhQnnnhi6fu+c+fOaLfbcckll0S73Y7vf//7sXPnzrjiiiuM XACAuoXxzp07
IyJi8+bNy6K4jM9//vPxwgsvLH5+5MiRhdmJPXuWnO+1116L/fv3x/79++OV V16Jz3zmM8uu
a/PmzfHGG28sfv7000/Hl7/85fjWt74Vp59++pLzXn311fHLX/5y8fOHH344 Tj755Lj22mtL
b3tnGcVHP/rRxTB+5JFHhDEAwBCM/btSPPPMMxER8aEPfainyx85ciS+8pWv xIMPPhitVita
R39d1/l/q9WK3bt3x0MPPRQ7duyIiIgHHngg87ouvvjiuP3222PXrl1x7733 xvvf//749a9/
Hd/97neXnfe8886Lf/iHf4hHHnkkrrzyyoiISuuf9+/fHy+99FKceeaZ8b73 vS9+7/d+L377
t387XnzxxfjRj35k5AIADNjYzxi/+uqrERFx8sknL/ta1tuitVLr1L797W/H CSecsOx8r732
2uIyjQMHDsShQ4cWb+vgwYOZ2/LVr3518f+nn356fPGLX4xrr702nnzyyWXn vfnmmxf/gtKn
PvWpuPfee+PnP/956fudnC3u+OhHPxp33HFHPPzww/H+97/f6AUAGKCxnzFe vXp1REQcOnSo
p8tnRfGzzz4bf/7nfx633nprtFqteOaZZ+LQoUPx1ltvVbruc889NyIiM3iT f1a0E/Vvv/12
qev9v//7v3jsscei0WgseReKzv8ff/zxytsKAECxsZ8xPuecc+Kpp56K+fn5 uOyyy5Z8LTk7
XOWPanz961+PQ4cOxYYNG2LTpk1x5plnxpo1a+Jd73pXpbdD+81vfrOwE1cV 78ZGxffOnJ+f
j1/96lcREXH55Zcv+/qrr74a8/PzMTMzYwQDAAzI2M8YX3rppRERcdddd8VP fvKTgVznj3/8
44iIuPHGG2Pjxo1xzjnnxCmnnBLHH398pevZt29fREScccYZA73PyfcuzvPw ww8bvQAAAzT2
M8Yf//jH45//+Z/jv//7v+MLX/hCXHHFFXHRRRfF+vXrI2JhGUMndMt697vf HYcPH47HH388
/viP/zgajUY8++yz8U//9E+Fl9u7d2/8/u//fhx//PHxH//xH3HLLbcsifdB OHz4cOzduzdO
PPHEeOCBB+Kd73znkq//6le/ij/5kz+JvXv3xuHDh2Pt2rVGMQBAHcJ41apV ceONN8bXvva1
eOqpp+L222+P22+/PTd4y7jsssvizjvvjFtuuWUxbiOia2Ref/31y047//zz 45Of/OTA7u+u
XbsW3/c4HcURESeddFL80R/9UfzLv/xLPProo7Fp0yajGABgAI6bhI1cu3Zt fOMb34i/+Zu/
iWazGevXr48TTjghjj/++Pit3/qtuOSSS+KGG26I733ve6Wu77Of/WxcffXV ceqpp8Zxxx0X
69evj02bNsWdd95ZeLlNmzbFaaedFu94xzti3bp18elPfzpuvvnmykswinSW URTNQnfWQVtO
AQAwOI1Wq9W2G4p1Duxr+ZOlAABT6zi7AAAAhDEAAAhjAADoWGUXdGdtMQDA 9DNjDAAAwhgA
AIQxAAAIYwAAEMYAACCMAQBAGAMAgDAGAABhDAAAwhgAAIQxAAAIYwAAEMYA ACCMAQBAGAMA
gDAGAABhDAAAwhgAAIQxAAAIYwAAEMYAACCMAQBAGAMAgDAGAABhDAAAwhgA AIQxAAAIYwAA
EMYAACCMAQBAGAMAwPDDuNls2hMAANTaqoiIVqsljgEAqKVWq3UsjJMnAABA HVljDAAAwhgA
AIQxAAAIYwAAEMYAACCMAQBAGAMAgDAGAABhDAAAwhgAAIQxAAAIYwAAEMYA ACCMAQBAGAMA
gDAGAABhDAAAwhgAAIQxAAAIYwAAEMYAACCMAQBAGAMAgDAGAABhDAAAwhgA AIQxAAAIYwAA
EMYAACCMAQBAGAMAgDAGAABhDAAAwhgAAIQxAAAIYwAAEMYAALDCVk36HWg2 mx7FMdVqtabu
Phlv9X3sAZh+ZowBACCmYMZ4lNrttp2QodFoeOw99gAwccwYAwCAMAYAgAWW UgzRXMavlWf9
Ct5jDwAI4zpHUfprIsljDwCMF0spVjCMejkfHnsAQBhPdBjNtt/IPE/y9H4C aZhH/3e7bu88
4LEHAGE8Idrt9pKPzmm9XldVnQBKB1LW6XNzc6ViZdBBknd9jUZjyX3u3Hby /O12WyDV4LHP
Or/HHgBhPGFRnIy5lXoRT84AzjVWFwdR4uuxZcvY7stOKHU+BFF9HvtuEQ0A wngKojk5I5ae
Ve6clvw363LlYml5IC0Lo85pBTOHyThNR0pe/Ged3vl/+rSi8PFHLHoN5cl/ 7JO3DwDCeEKl
ZzmzoiErItIhXDUiugVSXhgNIvST21s0y5t1P8uET9Y+Yrofe483AMJ4iuK4 TMwVBfQg5K0z
HZVuIZS3v7JCK7lkhel87JOPr8ceAGE8xdJrkYcZRnm/Wi8T+EWBMuj9UWUd cXJ2kul77IsO
XvXYAyCM6RJD7cIwyg2kHTtKRcsoQsSMYH0fewAQxlMgHRNZ6y/Tn5dZa1kl TLKCqOj02dnZ
nsM1/Wvw9Ex43naX+XV42eti+h57ABDGU6DordqKDr4r+nV12YhIzhzmHWy1 5PQSM4Z5pxXN
Jha920bW+cr+oEG9Hvuiy99RpgEAAA8/SURBVAOAMKZSIBU6Gka9zhgOS5l1 xmaPPfZQRrPZ
jGazaUcAE2OVXTCcQJqbm8v+Aw6JmcJxC6NkIPXzdY+9x57he+KJJ2Lnzp3x 9NNPx+HDh+PI
kSOxdu3aOPvss+MDH/hAbNy4MdatWzc1gb3khWvVqjj11FPjgx/8YHzuc5+L k046yYAABqLR
arUm+pVulLMRZSIh6w84jGsUDWxQHZ11bLVaU3ffOuPNY1+/x35cvPrqq7Fj x4544oknuj4W
u3fvHovnS7/joej7/EUXXRQ7uixNAijLjPGQTXsI4bFn5bz99ttxww03xL59 ++Kkk06KK6+8
Mi666KJ4z3veE41GIw4fPhwHDhyIH/7wh/Hoo49O3f3vBPabb74Zjz32WNx0 002xd+9eAwMQ
xgB1s2vXrti3b1+sWbMmbrvttnjve9+75Ovr1q2LdevWxQUXXBCbN29ePL0z 47pr16548MEH
46GHHooXX3wxVq1aFY888khs3bo1nnvuuTh48GC8+eabsXr16jjzzDPjE5/4 RHzsYx9bchud
67rvvvvinnvuifn5+Xj99dfjvPPOi+uuuy42bNiwbLtffvnluOOOO2J+fj6O HDkSMzMz8aUv
fSlOPPHEnvbDiSeeGJdeemncdNNNcfLJJxsYgDAGqJudO3dGRMTmzZuXRXEZ n//85+OFF15Y
/PzIkSMREbFnz54l53vttddi//79sX///njllVfiM5/5zLLr2rx5c7zxxrH3 5X766afjy1/+
cnzrW9+K008/fcl5r7766vjlL3+5+PnDDz8cJ598clx77bU97YfXX389vv/9 70dExBVXXGFg
AMJ4HHgfWI89rKRnnnkmIiI+9KEP9XT5I0eOxFe+8pX44Ac/GGvWrFk8PbkG uN1uxxtvvBFP
PvlkbNmyJR544IHMML744ovjT//0T+Occ86Jl19+Oebm5uJHP/pRfPe7343r r79+yXnPO++8
+Ku/+qs444wz4p577ol77703du/eXTmM02uNf+d3ficuvPBCAwMQxgB18+qr r0ZEZC4fyDpA
LX3Q27e//e044YQTlp3vtddeW1ymceDAgTh06NDibR08eDBzW7761a8u/v/0 00+PL37xi3Ht
tdfGk08+uey8N9988+IPk5/61Kfi3nvvjZ///OcD+UHhqquuiltvvTXe9773 GSCAMJ6Wo9+b
P114UWutbxmVNRtvo3zsjbvJsnr16njttdfi0KFDcdppp1W+fFYUP/vss/HX f/3XcejQob62
7dxzz42IyAze5G9YOlH/9ttv9/z8e/vtt+MXv/hF3HnnnfHQQw/FN7/5zbj1 1lsNEEAYw6T+
EDRu2ySOx98555wTTz31VMzPz8dll12W+0Nblbex/PrXvx6HDh2KDRs2xKZN m+LMM8+MNWvW
xLve9a74yEc+Uvp6fvOb3yy8qKwqflkZxDKk4447LtatWxfXXXddPPTQQ7F/ /36DAxgIf/kO
VjA+86J4VFGavN1xDHaWuvTSSyMi4q677oqf/OQnA7nOH//4xxERceONN8bG jRvjnHPOiVNO
OSWOP/74Stezb9++iIg444wzVmx/vPXWW6ViHEAYw5gZ1xnZdBwL5PH18Y9/ PH73d383Xnnl
lfjCF74Q9913X7z00kvx1ltvxVtvvRX/8z//U3m5z7vf/e6IiHj88cfj17/+ dbz55puxf//+
+Lu/+7vCy+3duzdef/31eOutt+Lf//3f45ZbblkS78MO4hdeeCFuvPHGiIj4 gz/4A4MDGAg/
ZoNgjtb61pIgtrRiTL9hr1oVN954Y3zta1+Lp556Km6//fa4/fbbC4O3m8su uyzuvPPOuOWW
WxbjNiJi7dq1hZdLv/NERMT5558fn/zkJ4d2/7OWiLzzne+Ma665xuAAhDFM knGfie2EcGc7
xfF4Wrt2bXzjG9+If/3Xf43HHnss/uu//isOHToU7XY7Tj311NiwYUNceOGF cdFFF5W6vs9+
9rOxatWqeOCBBxYP6rv44ovjiiuuWLaOOWnTpk2xZ8+e+MUvfhGnnHJKXHLJ JXHVVVdVXoLR
i+OOOy7WrFkTF1xwQfzlX/7lsvdNBuhVo9Vqte2G8YkmITL9UZycnR3Xxzu9 vbA4No7O2k7L
OwIBLPnB2y6AlY/McY9NB+UBIIyBoUdx3ufiGACEMdQuiieFd6wAQBgDtY/i vO0Xx/XWarWs
LwaEMVAuiKfxwLXW+palFQAIY6B8FKdjctqIYwCEMVA6itOzq+IYAIQx1DKK 60AcAyCMgdpH
cV4cC2QAhDGI4tr+dTjvWAGAMAZRXPsoTt5/SysAEMYgiu2QjH0hjgEQxjDl QSyKxTEAwhhq
H8V5AYg4BkAYQ+2ieNrfo3hYcSyQARDGMGVRTG9xnN6XACCMQRTXLo4trQBA GIMoJmMfpuNY
LAMgjEEU1z6ORTEAwhhEsThO7GuBDIAwhjEKYlG88nEMAMIYxiyKhdv4PQ4A sNJW2QWIMUEs
gAHAjDECTRSvsKI/kiKaARglM8YINVE8FvtdFAMgjBmJmaYIaR9LsrHYnj2t 0QZ6c0zGRDPq
OzZbIx4DAHVnKQUAAIQZY9pt+2DUGo0aDTfjLXsINOwEgDFgxhgAAIQxAAAs sJQCGBtzGUsK
Zi2/AEAYMwobN27MPH337t12DisaxOmvCWQAhs1SCpa55qYH45qbHozdu3cn grix5GP79u12
FEOP4l7OBwC9MmNMrvv+7X8X/7/97m2L/9961TY7J6HRaBS+20K3r0+rdrvd 9d0WkrE7234j
5hqrl50nefpco9HzzPEwHwdjAGA6mDGmlK1XbV386DUckh+jjNiizwcVRMnr LROI4xq26Y9h
mW2/seTfotPn5uZKj7dhjp2sMZAe553LTOoYAKgbM8Ys8/fXXzbwoBjX2bJh bNc0BdAw70ty
tniusXpJBCc/73x90ZYtEbOzY/0DBQDCmCnQWVPcOQgvedDdsQPzmhHRWvzz tUUH5pX5FXM6
KNIx1u30vOvpdv2dWbys6y9zm0X3d5pnB9P7IG/fVw/l1dkzxBnLK+bm5mI2 J47Tj2k/4yRv
jIhfAGFMTSTfmWLjxo1Lwveamx6MiIg/+8OTl523qqxo6Xxe5fS868mL8ryl D1W3peoPAZMe
wcl4zFoqkv6BoJd9UThTPIT7UzR+sh7TMvdpUD8oACCMGZMg7nZ68sC8cbDS M7R5M4fpeEzG
9STONq70fs1aYzzoOO41pMuMgazxMOljAKBOHHxHpt2tVjT/ojkx27tSB4ml by89O5i8/axZ
SEFULoqTMZyO5TIhnzzwbVhxnzUGum2bMQAw3swYcyyGk2uFj77Yp9cYVz0w r2hJw7B4a6xJ
CeF24o93LI/irAPyIiJix46uYy4rlo09ALoxY0ylcE6GcvrzbnGc9xZWnY9e gyLvetKnp08r
cx11V2UmPjkjWnX/JWO4zOmzPb4rRZlxkrfteWPHOAIQxtRU+sC8fgMr77T0 ZYtOz7ueouvP
us4q21Lm/k66vPfkLXov6KrvV538Yx15a4mXnF5xtjg9fqqOk7xxXHasAyCM mRJb/2LbwpKK
RiM2btyYGcJ5p9dFmTWmZg7Lx3Gho1E8O2bvYWwMAEwPa4zJtH3btqUnHH3P YrLDqJ+vc3S9
8dzcwh/vyAnicYxiYwBgujRarZbv2GOg+dPmQn+uX5kAnWk2O6/Ydv7In4UL s417RvzDR7Mz
JkYYkBHZf/J5doz/0t1ghkDj6M+ffgAFGCUzxsBYmfYIBmB8WWMMAADCGAAA FlhKUXcr/Cd/
qftwM94AGF9mjAEAIMwY19Yo3wFhpd+Bg3K8IwIAwhhWKIQBAIQxgjjFbDEA MG6sMWZo8uJX
FAMAwphasYQCABDGiOKcKDZbDAAIY2oZxUIYABDG1DKIs6I4/S8AgDBmqqM4 KR3BohgAGHfe
ro2BRrEABgCEMbUOYlEMAEw6SykQxQAAYcaYPqNYEAMAwphaB7EoBgCmjaUU iGIAgDBjTMUo
FsQAwLQyY4woBgAIM8aUCGJRDADUgRljRDEAQJgxpiCKBTEAIIypdRCLYgCg jiylQBQDAIQZ
Y1Fs6QQAgDAWxCGKAQCE8XgG6krM4IpiAABhLMQtnQAAyOTguxHLi9NBR2vz p01RDAAgjOvN
0gkAAGE8EdKhOshwTc8Si2IAgGzWGE8ps8QAANWYMR4zgwhYUQwAIIxrHcRZ 1ymKAQDKabRa
rXYd73iz2fTol4nrlrAGAOrBjDEAAISD76LdbhsFGRqNhp0AANSKGWMAABDG AACwwPsYdzGX
saRg1vILAABhXOcgTn9NIAMATA9LKSpGcS/nAwBAGE90FM+238g8T/L0fuJ4 mO/80O26vesE
AIAwLqUTv+k4zjp9bm6uVKgOOkbzrq/RaCx5G7rObSfP3263xTEAgDDOlpz9 nWusLo7hxNdj
y5axvU+dSO58iGEAAGHcQygvj+NlUdw5rWDWOBmn6TDNms3NO73z//RpRbHr D5gAAAjjgcdx
XhT3I2s2t2iWN71MonOeMtKXBQBAGJeWt8Z4VIrCtjN7nHWerNM70W15BQCA MC4dxXnLKrpJ
zgJnLYUYdDTnLdcoimWzyAAAwjgVwu3CKM6N4x07SgXrKCLU8gkAAGHcl6wY Ljp9dna253BN
L4FILnEoCtuySyGS12XZBACAMC4lOWucd6DdktNLzBbnnVY0k5x1et51Fc0I p2/D7DEAgDDu
KY4LHY3iXmeLh6XM+xVbYgEAIIzLx3HebPCOHWMbxck47ufrAAB102i1WrUs pGazWToQs/54
x7gG8cAGxtEZ51ar5VkCANTCKrugu2mPYAAALKUAAABhDAAAHbVfSuF9fQEA iDBjDAAAEVHj
GWPvtgAAQJIZYwAAEMYAACCMAQBAGAMAgDAGAABhDAAAwhgAAIQxAAAIYwAA EMYAACCMAQBA
GAMAgDAGAABhDAAAwhgAAIQxAAAIYwAAEMYAACCMAQBAGAMAgDAGAABhDAAA whgAAIQxAAAI
YwAAEMYAACCMAQBAGAMAgDAGAABhDAAAwhgAAIQxAAAIYwAAEMYAACCMAQBA GAMAgDAGAABh
DAAAwhgAAIQxAAAIYwAAEMYAACCMAQBAGAMAgDAGAABhDAAAwhgAAIQxAAAI YwAAEMYAACCM
AQBAGAMAgDAGAABhDAAAwhgAAIQxAAAIYwAAEMYAACCMAQBg4vx/lBfbO2wM omgAAAAASUVO
RK5CYII=
--------------030701030005090003030701
Content-Type: image/png;
name="diagram1.png"
Content-Transfer-Encoding: base64
Content-Disposition: inline;
filename="diagram1.png"
iVBORw0KGgoAAAANSUhEUgAAAl8AAAIVCAYAAADvfJoXAAAABmJLR0QA/wD/ AP+gvaeTAAAA
CXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QwVEQUdL4U8SwAAAB10RVh0 Q29tbWVudABD
cmVhdGVkIHdpdGggVGhlIEdJTVDvZCVuAAAgAElEQVR42u3db4wc9X0/8M8S A3IEwY4wcRUC
BkrTOJUqpERqCOjWgaRSkgekjVEbaJy6gRQhRUqkEilncnfqXSsQEeRBhPg1 BCwgSFAF+qAI
bMB7leoItyKuKE5TgWzAVU2d2DQECAWzvwf2LHNzM7uzf2//vF7SyruzM7Mz c7vffc/n+91x
pVar1QMAgIE4ySEAABC+AACELwAAhC8AgJGxyiEAGD7VajVqtdrY7hvDbVzf e8NC5QsAYIBU
vgCYKPW6KywVqVQqDoLwxaBM6QYgZVGXA0Df6HYEABgglS+Gg26A4aDLAWIh 53MwrY1C+AKA
/oeu7HNCGL2g2xEAwatk1XdBdRjhi/H0buM2Nze37HGlUmncAHoZvKbrb+TO k57eTQDrZ7vV
at3aTOELCs3NzS4JXBH1RvCamZmNer3e+Km4xgTGQ/K5Tn++O70kRKfLJQEr G8Dypi8sLJQK
Q71uo4rWV6lUlux33klqvV7XZgpfkG9mZmZZAEuCVxLENCYwXsErHRYG+ZlO V7EWKqubB67U
87Ft29AezySIJTdtpPAFJQPYbMzNzZ4IXEkAm425ubkTXZECGExKMEtXdLLV sWRa+t+85cqH
seUBbFnwSqY1qX6lA1C2fSoKmXnTk/vZac3aPBeRHX5+7UizVi/bmhyf1knQ aWO54+EqCV31
iKjEzExyf3kDl23sihrClWicVup1W30hwDDJ6zIr+gwVdaNlQ043J2QLldUt g1e3gTK773nH
ID28Ii9slm1/fOaFL0YpeK1QNWnmeNJqBLGZmXfHfM3Ozhae1bZqbIsatkGc uQs/UP5EpVk1
u+wJVjfyxnz1OoB12oa0E7Dywls2sLIydDvSWTBLf2iTx9lp6X/zliuQ7VZM xn7NzMx03JXQ
qtFvp9Tfalq3r52dnrctZbat1TbD6DU99b6PCyuqeBX9CrJZIGr2+e3lMWln 6EW6OxThi+E7
Dc0PVclz6Q968jhZJh228uZrIV35OrGiZWGklw1w0cDUvLJ/9peW3QxqLVo+ 77V6uR4NL6TD
Vr1p8CoMYPPzpduVQX/enFwJX4x6AMsLVctbmeKQ1qVsN2PerZ0GKbm1+kl2 8pqtGrQyIbDo
dcsu3+6+aYQZNdnPdN4JRDsnJp1Wd/ICV7Pp09PTXX9es92BRW1F+liVGXBf Zl0IX4xuq7k0
pPXxTK7byldeo122MU9/KWTHprRavsxz3Z4dF10jqUxDDSt/nldp2XXebN5m J0ZlpKtfRWO7
lkwvUfUqmtbsM9/sl5xl25Rm60L4gq7CxUo1LGUGvrY6G+10+Xa+yMpuM7A8 gDV1Inh1WvXq
Z9tU5gr32gPhi+FOO0tvyYc6PRYs+7jZhzq7XJdnxr3qris7gLebboKiBrJo +aJtKjs93UXT
bN1ATgArqmrNzw9t8Cp7oiV4DQ+XmqA4LJV9Lm/estN61Kh0s3yzLoJWy3fS 2JW5Xk/RNY/a
2Y5OtxkmOoBNT0dMT+deQHVYQxfCFwCMRwgD4YtJNeldZCpVAMIXCB4AIHwB QGt+cMJK82tH
AIABUvkCYKBqtdrY7Ev1UPX4Pq2v+cMifDFidAMAMCF0OwIADJDKFxERsThG 3QCd0n0AwCCo
fAEACF8AAMIXAADCFwCA8AUAgPAFACB8AQAIXwAACF8AAMIXAADCFwCA8AUA IHwBACB8AQAI
XwAACF8AAMIXAADCFwCA8AUAIHwBANBLqxwCAGhP9VC18HFtfc0BoimVLwAA 4QsAhldRdUvV
izJ0OzLxdB8AMEgqXwDQgezJmZM1hC/osAHVkAIgfAHACJ7EgfAFJRtODSkg dNEvBtwDMDKq
1epwblcM33bVaoLhsFL5AmeyAAyQyhekQlf2shPAcKrX6w5CgUql4iAIX6Nh akhL2Qy4QY+I
CO+FSbeouwboI92OAAADpPI1aErlMLx014yNhZy/5bT2F+ELAPofurLPCWGs NN2OAIx98Opk
PugXla9hazwWFpZNm56edmAASgaq6fobsVBZvbwtTU1fqFQ6roBVKpW+/dqy 1br7+doIXxMb
upKgVYlKxIkctm1hW0RE1Kd94ACama6/kRvA8qYvLCy0PLlNLtvQy8BTFKCy 09OXjEim1+t1
AWwM6HYckuA1PT0dn/rUp6ISlagsvBu8GrbVo1JZcLAAsm1oKqQUBa6852Pb tqHdpyRgJTfX
7hovKl/9Uq+X+uXUwsJCbItt8amffCou/sTFEQsR8zG/fMb5haZnTINuECbl dfu9zXlnuv3Y
z3a7Msb9zFrlYNzD2OrWwStz8tvqfVKmKlU0PVk2u77ssku/Qrw/ha9JDU/L P4l9e7kkeMW2
esR8ujGoRHLpz5/85CcxPz/f8ktl2D/A/djGfoSHdrfTF3rx36GdY5N33B1b uglgRcGru6+I
1u/zZuGtnfez9//40e3Y/B2/9NbrxmFhIbZtmz4euJb1KCavV1/yeHp6OndQ frZRGPZSdb+3
sVcNlbL/YP8O2a4WXzh0Kh288h4P02ehUqmUHgeWPiHRJglfk/RtsvRW9Fy7 ttWP395dWfaF
4+KLL45KpRLbtm3r+EOXfGCzy+dNL5o3rzpRdrlutrHsPqS3p1/bWWYbyrxG s7PkdrY7b3/b
+Vs3a+xbvTfK/B2aTc973OyY9+I4CHWTE7zyxoCV/Yy3et/2+mQ073PRLJB5 Hwtf4x+0lr7z
370lzyVjvNqtks1XTtyy1axKzr/1iKjH7t27Ow41eZWc7PRm83b6Gt1uY5lq VDuNUbfbWXYb
el05a7bdeV0c2e1pd7+bzd/u36HM3yd9Rp/X/Vjm/dnsOKgUjGvYqjcNXoUB rMUwjpWswupq
FL4mVx+7HCMitsW2qE/XY/endkfEtmWVrvS/lUryM+PyFYK8D2+zakW74SMb 3tqpKHWyjZ1U
rPq1nd1W97rZ7mbL9KKy2O383e5ft2Gp3fcT4yUvcDWb3ul1FPPahuzJQ7PB 9GXek80qzIw2
A+6H5tQtXeWaT1W6KqnglYSxn5T68imqGrWav9uzrXaCQtltLDob7KZB6jTQ 9HIbVkK7f99R
P/tWPZiQJrReb1xyomhw/ZLpJapeRdOavaeaLdfO+9L7drypfK3kl8J0/fg1 vSKOD7hfcgKW
rXg1vuo7qi4UBZluv5TLXMKgl9vYTZWlm+1cqdDQ766HTrqFR2n/RuHvTG8D WCkngtew/e8h
7QwFQPga43RULz+IPhn/1emA++nI/OKx0ujtPL667K8f2/8wF5XEuymfF71e O8uV2cai9edN
79d29nobOmlQO+nWKNrGoi7fbBdgO8ep6Bh02s2S937s5jj40pqQAFZU1Zqf H9rgVfYk2Ht4
POh2bBamykxPP+5kfEpS/XryxIRtETGfV/FKX3Jid1sfzFbXlmnnIn95YagX jUc721hme/u1
nb3ehk4a4m67Ndo9Fu2+D8rcLwqc7WxHr7p3GMMANj0dUXBZHv9XLsIX7waw zH8dtLSbsR7p
Xzu2GvMFgKCF8EWrAFafblQDIubjJz9JAtbuE2Frt9A11n//+sRth4oUIHwx NF9+BgUDgPDF
gAMYAMWcpDLK/NoRAGCAVL4AGBm1Wm2otqd6qHp8u9bX/HEQvoaWUjkATDTd jgAAA6TydcLi
kJWyGTzdBwAMgsoXAIDwBQAgfAEAIHwBAAhfAAAIXwAAwhcAgPAFAIDwBQAg fAEAIHwBAAhf
AADCFwAAwhcAgPAFAIDwBQAgfAEAIHwBAAhfAADCFwAAvbTKIQCA9lQPVQsf 19bXHCCaUvkC
ABC+AGB4FVW3VL0oQ7cjE0/3AQCDpPIFAB3Inpw5WUP4gg4bUA0pAMIXAIzg SRwIX1Cy4dSQ
AkIX/WLAPQADN1Wtjs2+1CMiYjz2Z7EmTA6Cyhc4kwVggFS+IBW6spedAPqs XncMhkGl4hgI
X6ykceoOaPt7ICLGpfugXbobAAZDtyMAwACpfFFMd8Bk0N0AIHwBMJk2bdqU O33Xrl0ODmND
tyMAQ+Xamx+Oa29+OHbt2pUKXZUlt7m5OQeKkaXyBcBQuv9f/rdxf277bOP+ zJZZByelUqlE
vckwkVbPI3wBwDIzW2ZSj9oPX5XM2MaVCiPZINRtMCpaPj29Xq8LYMIX4+y8 8zbF/v3GZgCd
+383XNHXwDNM+rFdFT+iEb6YsOB1YNfAA1g/zhzH8SzRmS+jIBnjlQy8Tw+0 f3cwfjUialE7
cW26ZoPxy3TJZYNQUZWsWfUsbz2t1p+tSLWzLa32VwATvpig4DUXc6UDWLoB ajZtlEJEXpdC
r85yy667190aMGjpXzxu2rRpSbi69uaHIyLiTz9+xrJ5e/GZSnfVlZ1etJ6i z16rbsKy2+IE
S/hC8Iq5mIuZmGkrgE2CfgahVuvWGDOqoavV9PRg/GE58VqJ18v7zBcFuDIn twyGS01Qyvbt
98X27fctu9/4kEelEbyyAaxVeEgahKLwkNzyppedr+z0olCTN3/ZbWvVgHay 3Z2c1WtwGSW7
arWofqU6UidZ6dugXi/bVZl+/byTM+3AcFD5opQtW67Kvd/40Ec9KlGJetQb AawSldjQxf+T
WLYMX9TIlO0KaBZmiuZtZ9va3b9+rBtGInClx26d+Kxlx3y1Oxh/JX7p5/OH 8EXPLC4uxoED
B2PDhrPjwIGDS4LYXMwtCWCVqMRszMbdUeuqcRzmQaPtVKDyQmKvt0Fjz6SE s7zB+GXamOy0
vMpRJ4rWU1SZyuv+69W2IHwxZqampmJqKrn/7vT9+090Lx6IJcGrF4a5ASq7 bUW/WurnNriu
D+Oq2WD8Tj8rraaVqbh3uv5W62j2mqPadiJ80abt2+9bUvmKOF79SgewxN0b aqUH3JdpKEbp
V47DEIgEMEbdzFdmI75y/ERuU7XaNIxN6v/9WOZzrh0QvhhxSTdjuvKVSALY hqjG3VHr+peO
ZUr5zRqUsl0B7WxDt9uWbijb6apoZ78FMMbB3Ozs0gknrulF+yevPv/CF2Mu CWBlgleZMn0n
83TaFVBmO8uMyWinG6Hd7etkWQ0vo2hmZqbpYxC+IBPAxolBsAAIXzBAAhcA veQiqwAAA6Ty
BcDK8R9AM4FUvgAABkjlC4CBWxyTS0dUD1UjIqK2vuaPivBFD+gOAICe0+0I ADBAKl8sMzLd
AdVqT696rfsAgEFQ+WL0VKvHb8l9ABC+oI/BK83/9wbAiNHtiNAFAAOk8oXg BQADpPKF0AUA
A6TyheAFAAOk8oXQBQADpPKF4AUAA6TyhdAFAAOk8oXgBQADpPLFcAQvoQsA 4QsGELoELwAm
jG5HBC8AGCCVL4QuABgglS8ELwAYIJUvhC4AGCCVLwQvABgglS+ELgAYIJUv BC8AGCCVL3of
vIQuABC+GEDoEryASWn6DlULH9fWawdpTrcjghcADJDKF0IXQJtq62vLql/J dGhF5QvBCwCE
L4YuaFWrywfVC17ABMtWuVS9KEu3I82DV7bSlQQvAED4ot+neUIXQG7zqOpF G3Q7spxqF4DQ
Rd+ofNE6eCXTBTBgxZuo6nBuVwzfdtW02cIXIxy8fIABQPiir6dLjgEw1Or1 uoNQoFKpOAjC
V+9MDWm5eeyM+HFeFB4BGGIG3AMADNBodjsqN5NHqR04YSGnPZj23YHwBQD9 D13Z54QwVppu
RwDGPnh1Mh8IXwBQIlBN19/InSc9vZsA1s9fE7Zat18yCl8AMFSSgJUNYHnT FxYWSoWhXgee
ovVVKpXcS2ik56/X6wKY8DU6zjtvk782wBhKV7EWKqubB67U87Ft29Dvm6Al fI108Np/YNfA
A1i3H5q85X0QHQOgVRhbHsCWBa9kWpPqV1KJyqs2JRWxMtOT+9lpZboYXUxW +Brp4DUXc6UD
WLMP1KiGgmYNRD9K6v1cP0A7AawoeHUjCWXpYJYOa9nAlg1SyTyCl/A11sFr JmbaCmCToKiR
6NV6yzQwAP1QNOZrJdvbVies2XnSJ695476c2ApfK2b79vti+/b7lt1vvHmj 0ghe7QSwvLOZ
vA9FqwpZO6XpZtPzPsBF1aWy29aqIShbTm9nvXmPm1XJ8qYLc0DZ4FXUBVm2 vSoKQP04Ec62
c9kT2fS2ObEdbSN/kdUtW67Kvd94A0c9KlGJetQbAawSldgQ1Y5fMxvG0o+z H4a8+YqWz5ve
zja0u21FgabMtrV6rW7OClsdJ4ClYaueuoDq8uC1UFm9ZPB9I5DNz5dul/oZ vhC+RtLi4mIc
OHAwNmw4Ow4cOLgkiM3F3JIAVolKzMZs3B21UoGgzE9/h03ZbSsKNu38DLqd 45A+nmWDlMYO
aEcStPLGfOVNn56e7rqdTZ/glqnSp+dzQil8jaypqamYmkruvzt9//4T3YsH Yknw6oVh/sB0
s21FFbVsMCuqpg3TvgCTI139Khpcv2R6m1Wvsu1es+U6bdu0g8LX0Nq+/b4l la+I49WvdABL
3L2hFvv37+rZm36Yu8N6vW3NBueXea12ql6jdJyB4QpgTZ0IXp1Wvfp5stmq ndMOCl9DJelm
TFe+EkkA2xDVuDvKB6+yASSv5NzqzKhMybqTENTOtrWzDd2U2MsGq36uH5ig ALawkH8B1VS1
a9iCV9l2TjsofI2UJICVCV7N+um7mafd5dvZzrLjDMq8Tjsl8nbXU3TW1ovj AdAIVtPTuRdQ
HdbQhfA11gFsnKgKAbQIYSB80UujGLi6HXgKAKPuJIcAAGBwVL4AGDmuAcgo U/kCABgglS8A
RkatVhuq7akeqh7frvU1fxzGPHwpNwMAI0q3IwDAAI1U5WtxyMrNA1WtRgxg /5XQAaC/VL5G
LYAN6qUOVRtBDAAQvuiTbMVLAAMA4WvyDLDilQSwdAhTBQMA4WsyDXjMmyoY AAhfDDrvqYIB
gPA1UQbc5dgshC3ZLAEMAISvsTYEl9lQBQMA4YsVCmFpAhgACF/jYUi6HIsC mCoYAAhf42mI
r+yvCgYAwhcrEMBUwQBA+BptQ9zl2CyELdkFAQwAhK/RSzS1kQtgqmAAIHyx AiEsTQADAOFr
eI1gl2NRAFMFAwDha4TSS21sQtiSbCmAASB8Qf8DmCoYAAhfrEAISxPAABC+ WFljMt6rVQBT
BQNA+GLIEkptIkLYktwpgAEwAVY5BAxDAEuCV/JvNpgBDJPsyWL6sfaLVlS+ hurTXJ34EFbU
sAGA8EXvAlc2dE1Al2NRADMWDBjFE8ZW00H4GtYQRm7jJYABIHzR/yA24WFM FQwYtRNFVS+E
r5H/VPsQ5zVmAhgAwheC1wACmCoYMEoniiB8jVLQErxKN24CGCB0MYpc54uR bOhcFwzGQ3VM
xrdWY/T3o+bkf2BUvobrne8YdHi2qQoGwKhQ+WLkA5gqGNBKvV53EApUKhUH YVzC15TrVrXP
MYuIiMU2K4C19TWVLwBGhm5HxoJqFwCjYvS7HZWSx4fSN7BCFnLan2nfLwhf AND/0JV9Tgij
13Q7AiB49WA+EL4AmDhlf9WYDlTT9Tdy50lP7yaA9fPXhK3W7ZeMwhcAtAxP 2Vs/JQErG8Dy
pi8sLJQKQ70OPEXrq1QqjeOTvG76lhxPAUz4GgrnnbfJXx5gSOWFiF5KV7EW KqubB67U87Ft
20gFV4SvXryreha89h/YNfAA1m0Dkrf8qJ7NOAsDehksug0ceQFsWfBKpjWp fiWVqLxqU1GY
zJue3M9O03YKX52Fp+xtwJLgNRdzpQNYsw/LqAaMZh/+TvYtr6EA6EXQKmqr kueSoNNtOMkG
rbzg1at9SreZedPTz2WXL/N9pS0WvrLvjKW3FQpeMzHTVgCb9LPKMssC9PIE cdAhomjM10q2
ya2OT144ywty6YDKJIav/HdYcTWszSrZ9u33xfbt9y2733jDRqURvNoJYHln KmUairxSctmy
c5kGKL0dRZWrstvWqgFstnxRabyoQiasAcOkqKuxnQCWbvf63RtQ1LXZbNuM Axsug73IavoP
n37TpO/X68cfJ//mLVtgy5arcu83VhH1qEQl6lFvBLBKVGJDVLs6Q8uGoHQ5 vFlYSj48Zae3
sw3tblv2LKnZNjcLUD7cwPCHrXrqAqrLg9dCZfWSwfeNQDY/3zIUFbWr/ZZX GED4Wh6y+mRx
cTEOHDgYGzacHQcOHFwSxOZibkkAq0QlZmM27o5aqTONojf3KI3vKtto9Ors rChMAvQixHTb
tiRBK2/MV9706enprtvi7Hi1Vu1wer4y8zgRFr4GbmpqKqamkvvvTt+//0T3 4oFYErz60VAM
cyMGMMyaXdOq6HEnJ8Dp6lfR4Pol09usemVDVifLtduWa++FrxW1fft9Sypf EcerX+kAlrh7
Qy3279/VsyAzzBWeldg2VS9gWKUDWFMnglenVa+VbF+1v8LX8nFbzd70ybiv DiTdjOnKVyIJ
YBuiGndH+eDV6s2fd6ZTZoB5meXb3YZOti27fNltzo4PM6geGLkAtrCQfwHV VLVr2IJX2aKA
tnjSw1dRkMhOLxqI30NJACsTvMoMLO9knnaXb2c7y44haPf1i5Zpti5nXcDQ B7Dp6Yjp6dwL
qA5r6EL4GkndVryGjYGWAD0IYSB8UdawBi5BEACWOskhAAAYHJUvAMae/1qH YaLyBQAwQCpf
AKyYWq3mICB8jRylZABghOh2BAAYoL5VvhaVkgemeqjauF9b77gDwDBT+Rrj IAYACF/0QW19
bUnFq3qoKoQBgPDFIEJYmgBWnmMFgPBFxwFMFax3ARYAhC86ChECGAAIXwwg gKmCteaYACB8
0fMQJmy0f5wAQPiiq2ChCracYwCA8EXfQ5jw0fq4AIDwRU+DhioYAAhfrEAI S5u0ACZwAiB8
sSIBbNKrYLocARC+WPEAoioEAMIXAwhgk1IFEy4BEL4YqhA2KUFFlyMAwhdD E0r8IhIAhC9W
IISljUMAEyIBEL4Y+gA2jlUwXY4ACF+MVFhRQQIA4YsBBLBRroIJjAAIX4xs CBvlUKPLEQDh
i5EMYH4RCQDCFysQwtKGLYAloVAwBGAYrHII6GUASwJO8u8guveyoSr9OO/1 dTkCsJJUvuhL
CCsTjFaKKhgAwhdjF8DyxoJlq2L9Cnytprd6DgCEL0Y2hNkuABC+GHDQyQs7 /a5+dVINAwDh
i7Fm3BUAwhcMOGT1I4CpegEwzFxqgr4b1HXAautrqmkACF9EVKsCQdPjE9WB rK/Xr0NErVZz
EADapNsRAGCAVL4GqF6vOwiMhUql4iAAdEjlCwBA+AIAEL4YkLm5Od06ACB8 MUi152oCGACM
IQPuV8jc3FzT5898aaoRwAzUBwDhix6oXl2NM98zFR+NiMVji3Hme6ZSzz4Y Z8bm+PddD4x1
AEv2bVD7mH2dfrz+oPdpkMcLAOFr5P399rn4+8ajWuPeF6c2RmyI+PvFfW19 UaZ186XZyZdu
P76oi8LSpCizv+m/e/ZY9WI6AMLXWJidnY2YbTpDxOJczM7ORr1ejyurV8YD tQdarneSg8ok
KlvJ63Q6AL1nwP0KqdfrS24P3PVA4346oCWPH6g9EFdWr+z6izq5padl58nO 32z5otcou0z2
Cz9v3qJ1Zpdpti/NgkqZ49Ts+DXbv3bW1eo1ivar3+9TAHpL5WtInHXpWbH4 /OKS4PXv++tL
pl1/5/WlK2BlKyRlv3jLLt/JMq2WzS7T7HG3FZt2x4S1eu1uqk9lAlCyXNmw 1O78AAhfY23q
gqmlX4pv/2/Eqql48ETF66w7ry8VHvr1xTpql74Y1AD+Xq+vH6G4mxAOQG/p dhwyV1YfjM1b
Hogrqw/GlZfvOD5xQ2qGDa0DR7++TLNdpZMuCS69Oh7Jelp17QIw2lS+hswD tc3Lpm2++3g3
4+LzixEHyn+R97OqMQoVk1Gt6mS7BsdlvwAQvobSldUHj9/ZEBEH8sNYu1/i 6YpK+rlmX/Tp
6c2W73aZdoJIdp3J+sq8Rjtj1socp7z96zRcNduPvP3tdHs7mQ6UU61WIyKi Vqs5GAhfo6bb
sNVsWtEXatnpZb6QO1mm1XLtDLjv5LW7OU7NprWzT938Hbr9uwpcDLunnnoq duzYEc8++2wc
PXo0jh07FmvXro3zzjsvPvaxj8WmTZti3bp1YxXiGl/Sq1bFmWeeGZ/4xCfi L/7iL+K0007z
hhC+6KX0LxuzznxpKuJDjhEwOV599dWYn5+Pp556atlzhw8fjsOHD8eePXvi 9ttvj127do3l
MXj77bfj0KFD8dBDD8Xhw4djfn7eG0P4olemLphqfh2vDd8/Pt5rg2OV1ovK GjB83nnnnbjx
xhtj7969cdppp8XVV18dl1xySXzgAx+ISqUSR48ejYMHD8ZPf/rTePzxx8du /5PuyzfffDOe
eOKJuPnmm2PPnj3eGMIXvdbJ9bsAxtHOnTtj7969sWbNmvj+978fH/zgB5c8 v27duli3bl1c
dNFFsXXr1sb0pNtu586d8fDDD8cjjzwSL774YqxatSoee+yxmJmZif3798fh w4fjzTffjNWr
V8e5554bn//85+Ozn/3sktdI1nX//ffHPffcE7t3747XX389Lrzwwrj++utj 48aNy7b75Zdf
jjvvvDN2794dx44di6mpqfjGN74Rp556akfH4dRTT43LL788br755jjjjDO8 MYQvAOiPHTuO
X2pn69aty4JXGV/96lfjhRdeaDw+duxYREQsLi4d3vHaa6/Fvn37Yt++ffHK K6/El770pWXr
2rp1a7zxxhuNx88++2x885vfjB/84Adx9tlnL5n3mmuuiV/96leNx48++mic ccYZcd1113V0
HF5//fX48Y9/HBERV111lTeG8AUA/fHcc89FRMQnP/nJjpY/duxYfOtb34pP fOITsWbNmsb0
9K8R6/V6vPHGG/H000/Htm3b4qGHHsoNX5deemn88R//cZx//vnx8ssvx8LC QvzsZz+LH/3o
R3HDDTcsmffCCy+Mv/zLv+ug9x0AABASSURBVIxzzjkn7rnnnrj33ntj165d bYev7MD73/7t
346LL77YG0P4AoD+ePXVVyMicrvassEkG6oiIn74wx/GKaecsmy+1157rdGl efDgwThy5Ejj
tQ4fPpy7Ld/+9rcb988+++z4+te/Htddd108/fTTy+a95ZZbGpdt+eIXvxj3 3ntv/OIXv+hJ
GN2yZUvcdttt8eEPf9gbRPiiLFctByhn9erV8dprr8WRI0firLPOanv5vOD1 /PPPx1/91V/F
kSNHutq2Cy64ICIiN1Sl2/kkOL7zzjttv0YSJt9555345S9/GXfddVc88sgj cfvtt8dtt93m
DSJ8AUBvnX/++fHMM8/E7t2744orrsgNJhH5VbAi3/3ud+PIkSOxcePG2Lx5 c5x77rmxZs2a
OP300+PTn/506fW8/fbbx79AV63q+wn3SSedFOvWrYvrr78+Hnnkkdi3b583 h/BFO2cw9Ff1
0PFGuLbe8YZRd/nll8czzzwTd999d3z84x/vaNB91s9//vOIiLjpppvi9NNP 73g9e/fujYiI
c845Z2DH46233ioV+BgN/mNtAIbO5z73ufid3/mdeOWVV+JrX/ta3H///fHS Sy/FW2+9FW+9
9Vb893//d9sntu973/siIuLJJ5+M3/zmN/Hmm2/Gvn374m//9m+bLrdnz554 /fXX46233op/
/dd/jVtvvbUREAcRul544YW46aabIiLi93//9705xoAIDcDwfTmtWhU33XRT fOc734lnnnkm
7rjjjrjjjjuahqpWrrjiirjrrrvi1ltvbQSoiIi1a9c2XS77i8aIiI9+9KPx hS98oW/7n9ed
+t73vjeuvfZabw7hCwD6Y+3atfG9730v/vmf/zmeeOKJ+I//+I84cuRI1Ov1 OPPMM2Pjxo1x
8cUXxyWXXFJqfV/+8pdj1apV8dBDDzUG8l966aVx1VVXLRtXlrZ58+ZYXFyM X/7yl/H+978/
LrvsstiyZUucfPLJfT8GJ510UqxZsyYuuuii+PM///Nl1xVjNFVqtZr/Z4Wx YMwXY/V+rlaN
Fx2Cv0GEcbv0IVQ7BAAAwhcAgPAFAEB3DLgHgBzGetEvKl8AAMIXAIDwBQCA 8AUAIHwBACB8
AQAIXwAAwhcAAMIXAIDwBQCA8AUAIHwBAAhfAAAIXwAAwhcAAB1b5RAw6qqH qoWPa+trDhAA
Q0XlCwBA+ILyiqpbql4ACF8AAMIXjL5slUvVCwDhCwAA4Yvxo+oFgPAFQhcA RITrfI2VqWp1
4o9BPSIiHIfFmiAKMKxUvgAABkjlaxzV647BpKpUHAOAIafyBQAgfAEACF8A AHTJmK8JsGnT
ptzpu3btcnAAYMBUvibEtTc/HNfe/HDs2rUrFboqS25zc3MOFAD0mcrXhLn/ X/63cX9u+2zj
/syWWQcHAIQv+mlmy0zqUfnwVclczqDexaUtKpVK28t3ukwvtjn72p1sSy/X A4DwxZD6fzdc
0dP1jWJw6Mc292q/BS8A4YsxkozxSgbepwfavzsYvxoRtaid+G9puhmMn64y JaGiWaUnmT/7
uFko6WSZbNjJ24a8kJa3L9l1NKustVp3mW3pZbURAOGLAUj/4nHTpk1LwtW1 Nz8cERF/+vEz
ls3bSfBqt8LUbP6i5TtZpt1tLvPaZbapzPQy+6KbEkD4YsRCV6vp6cH4ZQJL qzDSTYAbtKLX
7EXIqfgvfwBIcamJCbKrVovqV6o9WVe9Xu9b5SVZdz9fo8xrJvcrlUrHASoJ b4PcFwCGm8rX
uAeu9NitEwEiO+arm8H4zbrneqFf62623uxzeWO6AED4oqtwljcYv5MAlg0q 6SpSXoBJT2+2
fLfLJKEqb56i5VvtRzsD+1vtQ6ttAWB86HZk2WD8MoGi2bSibrai7sSix82C R7vLtOrKbLZd
RfuRDWVljkfRfrd63WbrB0D4YojNfGX2ePdjpRKbNm3KDVtF0wGA7ul2nCBz s7NLJ5y4phcA
IHzRBzMzM00fAwD9p9sRAED4AgAQvgAA6JIxX+PIBUEBYGipfAEADJDK1xhZ nPBLR1QPVSMi
ora+5s0AwNBS+QIAEL4AAIQvAACELwAA4QsAAOELAED4AgAQvgAAEL4AAIQv AACELwAA4QsA
QPgCAED4AgAQvgAAEL4AAIQvAACELwAA4QsAQPgCAED4AgAQvgAAEL4AAIbI KoeAUVc9VC18
XFtfc4AAGCoqXwAAwheUV1TdUvUCQPgCABC+YPRlq1yqXgAIXwAACF+MH1Uv AIQvELoAICJc
52tsVKtVByE5FuFYRETUasIowDBS+QIAGCCVL9pSr9cdhCFXqVQcBIAhpvIF ACB8AQAIX5Dx
bvfW3NzcsseVSqVxAwCEL7o0Nze7JHBF1BvBa2ZmNur1emOMmAAGAMIXXZqZ mVkWwJLglQSx
Riyr1wUwAAi/dqRA2bA0MzMbc3OzJwLXzIkANhsRc42All2nX0wCIHwxluEp q9eVp+PjvGaT
V4yIShzPWs1fu1kAy27joILaSr0uAMIXY6Tf3Xzpqtbx7sZ3x3zNzs42Qkw2 yLTarvT8g6yU
rdTrAjBZjPmaMEkYygtFRdOLHK98LYlVjVDWznraCZPZX08m97PT8ubr5peX Rctnp6cft5q3
2/kBGE0qX2MetLIhJXs/PQ4rO72VdOXrxFJNQ0G3YayoMlV0P2/eonlaBa+8 5YvWU2be9OOy
6+52PwAYDipfY2yQVZJsN2PerZPtzoaNvP0p061Z5lgUvW6z5ft5bDvdDwCG m8oXfQ8MRSGp
nfnyglizZZPn86pLrV43b93NKlzZ1+qFbvYDgOGm8kVP9aLy1cvw0m5ATJZt VSHrJFQOej8A
GE4qX2MehMp+Wfdq/FC/xnyVve5Y3ri1TsazpcddFS1ftM5ebEOv9gMA4YsB KQoqzcYs9aKS
0stB9WWey/vFZifb1WrdZV67k+lF29/pfgAw/HQ7AgAMkMoXPWMMksoUAMIX QgcADBXdjgAA
whcAgPAFAECXjPmiLQbVA0B3VL4AAAZI5WtM1Go1BwEARoDKFwCA8AUAIHwB ACB8AQAIXwAA
CF8AAMIXAIDwBQCA8AUAIHwBACB8AQAIXwAAwhcAAMIXAIDwBQCA8AUAIHwB ACB8AQAIXwAA
whcAAMIXAIDwBQCA8AUAIHwBAAhfAAAIXwAAwhcAAMIXAIDwBQCA8AUAIHwB AAhfAAAIXwAA
whcAAMIXAIDwBQAgfAEAIHwBAAhfAAAIXwAAwhcAAMLXSqtWq1GtVh0IAJgQ q8Z555566qnY
sWNHPPvss3H06NE4duxYrF27Ns4777z42Mc+Fps2bYp169aN1T7v2LEj/uZv /iYiIqanp+PT
n/60dzkACF/99eqrr8b8/Hw89dRTy547fPhwHD58OPbs2RO333577Nq1a6z2 /bHHHmvcf/TR
R4UvABC++uudd96JG2+8Mfbu3RunnXZaXH311XHJJZfEBz7wgahUKnH06NE4 ePBg/PSnP43H
H398rPb9f/7nf+Lpp5+ONWvWRL1ej6effjoOHz48dtU9ABC+hsjOnTtj7969 sWbNmvj+978f
H/zgB5c8v27duli3bl1cdNFFsXXr1sb0ZNzVzp074+GHH45HHnkkXnzxxVi1 alU89thjMTMz
E/v374/Dhw/Hm2++GatXr45zzz03Pv/5z8dnP/vZJa+RrOv++++Pe+65J3bv 3h2vv/56XHjh
hXH99dfHxo0bl233yy+/HHfeeWfs3r07jh07FlNTU/GNb3wjTj311NL7vmPH jqjX63HZZZdF
vV6PH//4x7Fjx4646qqrvNMBQPjqjx07dkRExNatW5cFrzK++tWvxgsvvNB4 fOzYsYiIWFxc
XDLfa6+9Fvv27Yt9+/bFK6+8El/60peWrWvr1q3xxhtvNB4/++yz8c1vfjN+ 8IMfxNlnn71k
3muuuSZ+9atfNR4/+uijccYZZ8R1111XetuTLsfPfOYzjfD12GOPCV8AMETG 7teOzz33XERE
fPKTn+xo+WPHjsW3vvWtePjhh6NWq0WtVouIaNyv1Wqxa9eueOSRR2J+fj4i Ih566KHcdV16
6aVxxx13xM6dO+Pee++Nj3zkI/Gb3/wmfvSjHy2b98ILL4y/+7u/i8ceeyyu vvrqiIi2xqPt
27cvXnrppTj33HPjwx/+cPzu7/5ufOhDH4oXX3wxfvazn3mnA8CQGLvK16uv vhoREWecccay
5/Iu6ZCEq8QPf/jDOOWUU5bN99prrzW6NA8ePBhHjhxpvNbhw4dzt+Xb3/52 4/7ZZ58dX//6
1+O6666Lp59+etm8t9xyS1QqlYiI+OIXvxj33ntv/OIXvyi93+mqV+Izn/lM 3HnnnfHoo4/G
Rz7yEe92ABgCY1f5Wr16dUREHDlypKPl84LX888/H3/2Z38Wt912W9RqtXju uefiyJEj8dZb
b7W17gsuuCAiIjdUJcErHRzfeeedUuv9v//7v3jiiSeiUqks+XVjcv/JJ59s e1sBgP4Yu8rX
+eefH88880zs3r07rrjiiiXPpatc7VzY9Lvf/W4cOXIkNm7cGJs3b45zzz03 1qxZE6effnpb
l3J4++23jx/0Vc0PezqIlbF79+749a9/HRERV1555bLnX3311di9e3dMTU15 xwPAChu7ytfl
l18eERF33313/Nd//VdP1vnzn/88IiJuuumm2LRpU5x//vnx/ve/P04++eS2 1rN3796IiDjn
nHN6us/pa3sVefTRR73bAWAIjF3l63Of+1z84z/+Y/znf/5nfO1rX4urrroq Lrnkkli/fn1E
HO/yS8JUWe973/vi6NGj8eSTT8Yf/uEfRqVSieeffz7+4R/+oelye/bsid/7 vd+Lk08+Of7t
3/4tbr311iUBsReOHj0ae/bsiVNPPTUeeuiheO9737vk+V//+tfxR3/0R7Fn z544evRorF27
1rseAISvHu7QqlVx0003xXe+85145pln4o477og77rijMFSVccUVV8Rdd90V t956ayNARUTL
IHPDDTcsm/bRj340vvCFL/Rsf3fu3Nm4Llg2eEVEnHbaafEHf/AH8U//9E/x +OOPx+bNm73r
AWAFjeV/rL127dr43ve+F3/9138d1Wo11q9fH6ecckqcfPLJ8Vu/9Vtx2WWX xY033hgPPvhg
qfV9+ctfjmuuuSbOPPPMOOmkk2L9+vWxefPmuOuuu5out3nz5jjrrLPiPe95 T6xbty7+5E/+
JG655Za2uyubSbocm1XTknFpuh4BYOVVarVa3WHorWQwf/YyFgDttCPaEBhP JzkEAADCFwCA
8AUAQHdWOQS9Z5wGAFBE5QsAQPgCABC+AAAQvgAAhC8AAIQvAADhCwBA+AIA QPgCABC+AAAQ
vgAAhC8AAOELAADhCwBA+AIAQPgCABC+AAAQvgAAhC8AAOELAADhCwBA+AIA QPgCABC+AACE
LwAAhC8AAOELAADhCwBA+AIAQPgCABC+AACELwAAeuP/Ax+dyEtQIBbOAAAA AElFTkSuQmCC
--------------030701030005090003030701--
|
|
|
Re: Changes in DirectedGraphLayout's behavior [message #205855 is a reply to message #205747] |
Thu, 22 December 2005 16:24 |
Eclipse User |
|
|
|
Originally posted by: none.us.ibm.com
This doesn't make any sense. I don't know of any reason for the behavior to
have changed. In fact, I'm playing with a very similar editor. Perhaps your
persistence mechanism has stopped caring about the order of the edges anchor
points?
Try the flow example in 3.1. It preserves downward direction, except when
you introduce cycles.
"Jason Halpin" <jason@nospam.spam> wrote in message
news:doc2sv$t6i$1@utils.eclipse.org...
> Hi All,
>
> We've recently moved from 3.0 to 3.1 for gef/draw2d/swt etc. and noticed
> a change in how the DirectedGraphLayout lays out nodes and edges.
> Previously, the bias seemed to be that the general flow was from top to
> bottom, which suits our particular visualization needs (see diagram 1)
> but since migrating to 3.1.0, we noticed that there isn't any particular
> bias (diagram 2).
>
> Can anybody shed some light on this please, and possibly suggest a
> workaround, or a way of customizing the layout to reassert the older
> behavior? Has anybody else noticed a similar change in behavior?
>
> Many Thanks
> Jason Halpin
>
------------------------------------------------------------ --------------------
------------------------------------------------------------ --------------------
|
|
|
Re: Changes in DirectedGraphLayout's behavior [message #206621 is a reply to message #205855] |
Wed, 04 January 2006 16:03 |
Eclipse User |
|
|
|
Originally posted by: jason.nospam.spam
Thanks Randy.
The problem seems to be that I am reusing the DirectedGraphLayout rather
than instantiating a new one for each layout run, as all the examples
do. When I limit the layout call to only the 1st run, the graph gets
laid out correctly, but on subsequent runs, I see the behavior I described.
Modifying the Flow example to reuse the CompoundDirectedGraphLayout
causes a NullPointerException, presumably because of some cached
information about the nodes.
If I modify the SchemaEditor example
( http://www.eclipse.org/articles/Article-GEF-editor/gef-schem a-editor.html)
to reuse the DirectedGraphLayout, I get the graph in reverse order.
(Both modifications to the 3.1.0 codebase)
I've just noticed the disclaimer on the javadoc for the
DirectedGraphLayout - "This class is not guaranteed to produce the same
results for each invocation.", so it seems that I was just luckily
getting the same result in 3.0 :) (BTW, while it's not guaranteed to
produce the same result, I presume that if it is reused, it shouldn't
throw a null pointer? or are we really saying that any resue of the
layout instance off the table?)
The problem was also made more subtle by the fact that the layout was
getting called >1 time during the Figure.validate() calls for my
particular setup, whereas the Flow example only calls once per modification.
Many Thanks,
Jason
Randy Hudson wrote:
> This doesn't make any sense. I don't know of any reason for the behavior to
> have changed. In fact, I'm playing with a very similar editor. Perhaps your
> persistence mechanism has stopped caring about the order of the edges anchor
> points?
>
> Try the flow example in 3.1. It preserves downward direction, except when
> you introduce cycles.
>
> "Jason Halpin" <jason@nospam.spam> wrote in message
> news:doc2sv$t6i$1@utils.eclipse.org...
>
>>Hi All,
>>
>>We've recently moved from 3.0 to 3.1 for gef/draw2d/swt etc. and noticed
>>a change in how the DirectedGraphLayout lays out nodes and edges.
>>Previously, the bias seemed to be that the general flow was from top to
>>bottom, which suits our particular visualization needs (see diagram 1)
>>but since migrating to 3.1.0, we noticed that there isn't any particular
>>bias (diagram 2).
>>
>>Can anybody shed some light on this please, and possibly suggest a
>>workaround, or a way of customizing the layout to reassert the older
>>behavior? Has anybody else noticed a similar change in behavior?
>>
>>Many Thanks
>>Jason Halpin
>>
>
>
>
> ------------------------------------------------------------ --------------------
>
>
>
>
>
>
> ------------------------------------------------------------ --------------------
>
>
>
>
>
|
|
|
Powered by
FUDForum. Page generated in 0.02972 seconds