Merge lp:~olivier-mattelaer/mg5amcnlo/new_drawing_option into lp:~madteam/mg5amcnlo/trunk

Proposed by Olivier Mattelaer
Status: Merged
Merged at revision: not available
Proposed branch: lp:~olivier-mattelaer/mg5amcnlo/new_drawing_option
Merge into: lp:~madteam/mg5amcnlo/trunk
Diff against target: 6618 lines (+2954/-2105)
6 files modified
.pydevproject (+1/-1)
madgraph/interface/cmd_interface.py (+17/-13)
madgraph/iolibs/drawing.py (+290/-66)
madgraph/iolibs/drawing_eps.py (+43/-39)
tests/input_files/test_draw.obj (+2448/-1853)
tests/unit_tests/iolibs/test_drawing.py (+155/-133)
To merge this branch: bzr merge lp:~olivier-mattelaer/mg5amcnlo/new_drawing_option
Reviewer Review Type Date Requested Status
Johan Alwall (community) Approve
Michel Herquet (community) Approve
Review via email: mp+18065@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :

This contains two more options for the drawing class

1) introduces a maximal size for external particles (which will then finish inside the graph)
2) possibility to control angles for external particles by asking a minimal x-distance for external particles. this limit didn't act on particles on x=1

This modification introduces a new class to deal properly with Drawing options.

Revision history for this message
Johan Alwall (johan-alwall) wrote :

Very nice, this does allow a considerable tuning, with mostly really great results. I have a couple of comments/questions:

* What exactly does "arbitrary unit" mean in the DrawOption doc line and cmd_interface help? Isn't this in units of levels? Better to just leave out "(arbitrary unit)", since it is not actually arbitrary in the program.

* It would also be (even) clearer if you use [False] (in the doc line) for the defaults which are False, rather than 0.

* I do the following in the cmd_interface:
import v4 ../../MG_ME/Models/sm_FR
generate u~ u~ > Z u~ u~ g
draw . external=1.5

With these options, I would expect no external lines to be allowed to be drawn on a horizontal edge closer than 1.5 levels from the vertex, but when I look at e.g. diagram 1 (pure t-channel), it has the outermost final state particles ending on the horizontal edges of the box, which doesn't look very nice. Is this a bug, or do I just misunderstand the meaning of the options?

Also fix the failing test ;-)

Thanks a lot,
Johan

review: Needs Fixing
Revision history for this message
Michel Herquet (herquet) wrote :

Hi Olivier, I didn't review it very carefully but I like the result! While merging, please try to stick as much as possible to existing files in trunk (i.e., only do minimal modifications on those, not the contrary). Otherwise, as Johan said, please fix the tests... Great job!

review: Approve
Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :

Thanks both of you for this review.

I'll fix all the points pointed by Johan. Thanks so much for those.

Michel, Johan, do I keep the current default value, or do you want max_size to be put to a value around 2?

Thanks a lot for the review,

Olivier

30. By Olivier Mattelaer

-> correct the failing test
-> correct external for non integer value when particle finish at (x=1,y=1) below external
-> correct the doc line as suggested (did I understand you correctly Johan?

Revision history for this message
Johan Alwall (johan-alwall) wrote :

Hi Olivier,

The tests for this version is suddenly extremely slow (84 s on my
computer). Did you add some very large test?

Johan

On Tue, Jan 26, 2010 at 11:42 PM, Olivier Mattelaer
<email address hidden> wrote:
> Thanks both of you for this review.
>
> I'll fix all the points pointed by Johan. Thanks so much for those.
>
> Michel, Johan, do I keep the current default value, or do you want max_size to be put to a value around 2?
>
> Thanks a lot for the review,
>
> Olivier
>
>
> --
> https://code.launchpad.net/~olivier-mattelaer/madgraph5/new_drawing_option/+merge/18065
> You are reviewing the proposed merge of lp:~olivier-mattelaer/madgraph5/new_drawing_option into lp:madgraph5.
>

Revision history for this message
Johan Alwall (johan-alwall) wrote :

It seems that the slow tests are:
Test that the DrawingEPS returns valid result
test_schedular (tests.unit_tests.iolibs.test_drawing.TestDrawingS_EPS)
Would it be possible to reduce these to take an acceptable amount of time (max. 1 s per test)?

More comments:
The diagrams now look considerably better, really really nice. Just one option which doesn't quite work:
When I run
import v4 ../../MG_ME/Models/sm_FR
generate u~ u~ > e+ e- u~ u~ g
draw . external=1.5
Then in diagram 9 (e.g.), the lowermost external particle ends as expected, but the uppermost ends 2.5 levels from its creation vertex.

Please also add max_size to the tab completion of draw.

Thanks a lot,
Johan

> Hi Olivier,
>
> The tests for this version is suddenly extremely slow (84 s on my
> computer). Did you add some very large test?
>
> Johan
>
> On Tue, Jan 26, 2010 at 11:42 PM, Olivier Mattelaer
> <email address hidden> wrote:
> > Thanks both of you for this review.
> >
> > I'll fix all the points pointed by Johan. Thanks so much for those.
> >
> > Michel, Johan, do I keep the current default value, or do you want max_size
> to be put to a value around 2?
> >
> > Thanks a lot for the review,
> >
> > Olivier
> >
> >
> > --
> > https://code.launchpad.net/~olivier-
> mattelaer/madgraph5/new_drawing_option/+merge/18065
> > You are reviewing the proposed merge of lp:~olivier-
> mattelaer/madgraph5/new_drawing_option into lp:madgraph5.
> >

review: Needs Fixing
31. By Olivier Mattelaer

debug problem for y=1
add max_size in auto_completion

32. By Olivier Mattelaer

optimize the test to have one faster and almost as complete

33. By Olivier Mattelaer

faster ( ~1s) and more secure test suite.

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :

Hi Johan,

Thanks to have found this bug. It's solve, the max_size is added.

I also resolve the time-problem for the test.

I think that it's still not perfect. especially your graph line the two upper line are going too close one of the other. I have an idea to solve this (make the require distance growing from one place external particles to the next one. What do you think?

Thanks again for your advice,

Olivier

Revision history for this message
Johan Alwall (johan-alwall) wrote :

Hi Olivier,

Now things look really nice! I actually especially like max_size=1.5, external=0. Only one, very minor detail (in case you are not too tired yet): The particle labels tend to overlap, e.g. (with the same process as before) diagram 9, the e+e- are written on top of each other. I think this can be fixed just by changing the distance from the line to the text, or alternatively by always writing the label below-right of the line. If you have time, you can play around a bit with this. I have to say, the diagrams now are already quite at a par with those from MG4.

Just a question about the non-propagating contraction: Now, you're not checking for identical diagrams and combining those, right? At least I don't get them combined.

Thanks a lot,
Johan

34. By Olivier Mattelaer

add a new (semi-hidden) option. authorizing to change external during the processing of the diagram

change the routine for the positioning of the name associated to each line.

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :

> Hi Olivier,
>
> Now things look really nice! I actually especially like max_size=1.5,
> external=0.

Ok I've put this in default.

> Only one, very minor detail (in case you are not too tired yet):
> The particle labels tend to overlap, e.g. (with the same process as before)
> diagram 9, the e+e- are written on top of each other. I think this can be
> fixed just by changing the distance from the line to the text, or
> alternatively by always writing the label below-right of the line. If you have
> time, you can play around a bit with this. I have to say, the diagrams now are
> already quite at a par with those from MG4.

I have choose to put the name above. The name positioning is quite ok now but it's not perfect for some line. (some tag are not correctly center on the line) Do you think it's pointless enough, or should I correct this?

>
> Just a question about the non-propagating contraction: Now, you're not
> checking for identical diagrams and combining those, right? At least I don't
> get them combined.

No I don't check identical diagram (for the moment at least).

> Thanks a lot,
> Johan

I also add a new option add_gap (she is not on the help of drawing module for the moment depending if you will consider this helpfull or not) which increase external for the second-third... external particles put in the same border. This improve a bit diagram but not that much.

Thanks to you,

Olivier

Revision history for this message
Johan Alwall (johan-alwall) wrote :

Now everything looks fantastic. Thanks a lot for your work!

Johan

review: Approve
35. By Olivier Mattelaer

include fonction to know if two diagram are identical or not.
Not use for the moment in the drawing scheme.

Revision history for this message
Olivier Mattelaer (olivier-mattelaer) wrote :

Thanks a lot for all your advice on this.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file '.pydevproject'
2--- .pydevproject 2010-01-25 07:35:29 +0000
3+++ .pydevproject 2010-01-29 06:42:18 +0000
4@@ -5,6 +5,6 @@
5 <pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.6</pydev_property>
6 <pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
7 <pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
8-<path>/debug-drawing</path>
9+<path>/newdrawing</path>
10 </pydev_pathproperty>
11 </pydev_project>
12
13=== modified file 'madgraph/interface/cmd_interface.py'
14--- madgraph/interface/cmd_interface.py 2010-01-22 08:10:11 +0000
15+++ madgraph/interface/cmd_interface.py 2010-01-29 06:42:18 +0000
16@@ -39,8 +39,10 @@
17 import madgraph.core.diagram_generation as diagram_generation
18
19 import madgraph.core.helas_objects as helas_objects
20+import madgraph.iolibs.drawing as draw_lib
21 import madgraph.iolibs.drawing_eps as draw
22
23+
24 #===============================================================================
25 # MadGraphCmd
26 #===============================================================================
27@@ -318,8 +320,10 @@
28
29 #option
30 if len(self.split_arg(line[0:begidx])) >= 2:
31- return self.list_completion(text,
32- ['external=', 'horizontal=', 'non_propagating='])
33+ option=['external=', 'horizontal=', 'add_gap=','max_size=', \
34+ 'contract_non_propagating=']
35+ return self.list_completion(text, option)
36+
37 # Display
38 def do_display(self, line):
39 """Display current internal status"""
40@@ -665,19 +669,16 @@
41 print "%s is not a valid directory for export file" % args[1]
42
43 start = time.time()
44- opt = {"external": 0, "horizontal": 0}
45+ option = draw_lib.DrawOption()
46 if len(args) > 1:
47 for data in args[1:]:
48 try:
49 key, value = data.split('=')
50 except:
51- print 'invalid option %s. Please try again' % data
52+ print "invalid syntax: '%s'. Please try again" % data
53 self.help_draw()
54 return False
55- if value in ['False', '0', 0, False]:
56- opt[key] = False
57- else:
58- opt[key] = True
59+ option.set(key,value)
60
61 for amp in self.__curr_amps:
62 filename = os.path.join(args[0], 'diagrams_' + \
63@@ -689,7 +690,7 @@
64
65 logging.info("Drawing " + \
66 amp.get('process').nice_string())
67- plot.draw(**opt)
68+ plot.draw(opt=option)
69 print "Wrote file " + filename
70
71 stop = time.time()
72@@ -736,15 +737,18 @@
73 file will be FILEPATH/matrix_\"process_string\".f"""
74
75 def help_draw(self):
76- print "syntax: draw FILEPATH [option=0|1]"
77+ print "syntax: draw FILEPATH [option=value]"
78 print "-- draw the diagrams in eps format"
79 print " Files will be FILEPATH/diagrams_\"process_string\".eps"
80 print " Example: draw plot_dir "
81 print " Possible option: "
82- print " horizontal [0]: force S-channel to be horizontal"
83+ print " horizontal [False]: force S-channel to be horizontal"
84 print " external [0]: authorizes external particles to end"
85- print " at top or bottom of diagram"
86- print " non_propagating [1]:contracts non propagating lines"
87+ print " at top or bottom of diagram. If bigger than zero"
88+ print " this tune the length of those line."
89+ print " max_size [0]: this forbids external line bigger than "
90+ print " max_size."
91+ print " contract_non_propagating [True]:contracts non propagating lines"
92 print " Example: draw plot_dir external=1 horizontal=1"
93
94 def help_shell(self):
95
96=== modified file 'madgraph/iolibs/drawing.py'
97--- madgraph/iolibs/drawing.py 2010-01-25 07:35:29 +0000
98+++ madgraph/iolibs/drawing.py 2010-01-29 06:42:18 +0000
99@@ -12,7 +12,6 @@
100 # For more information, please visit: http://madgraph.phys.ucl.ac.be
101 #
102 ################################################################################
103-
104 """All the routines to choose the position to each vertex and the
105 direction for particles. All those class are not related to any output class.
106
107@@ -43,7 +42,7 @@
108
109 from __future__ import division
110
111-#import math
112+import math
113
114 import madgraph.core.base_objects as base_objects
115
116@@ -176,7 +175,14 @@
117 else:
118 # particle is self anti particle
119 return self.model.get_particle(-1 * pid).get(name)
120-
121+
122+ def get_length(self):
123+ """ return the length of the line """
124+
125+ return math.sqrt((self.end.pos_x-self.start.pos_x)**2 +\
126+ (self.end.pos_y-self.start.pos_y)**2)
127+
128+
129 def is_fermion(self):
130 """Returns True if the particle is a fermion."""
131
132@@ -554,6 +560,40 @@
133 else:
134 return False
135
136+ def has_the_same_line_content(self,other):
137+ """Check if the line associate to the two vertex are equivalent.
138+ This means that they have the same number of particles with the same pid
139+ and that the external particles have the same number.
140+
141+ This is a backup function, this is not use for the moment."""
142+
143+ # Check the number of line
144+ if len(self.line)!=len(other.line):
145+ return False
146+
147+ # Store the information of the pid content of the vertex other
148+ other_line_pid = [line.get('pid') for line in other.line]
149+ # Sort the information of the number content for external particle
150+ other_line_number = [line.get('number') for line in other.line if \
151+ line.is_external()]
152+
153+ # Now look at the self vertex and destroy the information store in the
154+ #two above variable. If an error raise, this means that the content is
155+ #not the same.
156+ for s_line in self.line:
157+ try:
158+ other_line_pid.remove(s_line.get('pid'))
159+ except ValueError:
160+ return False
161+ if s_line.is_external():
162+ try:
163+ other_line_number.remove(s_line.get('number'))
164+ except ValueError:
165+ return False
166+
167+ # The lines have all their equivalent, so returns True
168+ return True
169+
170 def get_uid(self):
171 """Provide a unique id for the vertex"""
172
173@@ -610,52 +650,58 @@
174 class FeynamDiagramError(Exception):
175 """Class for internal error."""
176
177- def __init__(self, diagram, model, drawing_mode=1):
178+ def __init__(self, diagram, model, opt=None):
179 """Store the information concerning this diagram. This routines didn't
180 perform any action at all.
181 diagram: The diagram object to draw
182 model: The model associate to the diagram
183- drawing_mode: If 0, the external lines are authorizes to end only
184- at the end of the diagram (in x=1 axis) -like v4 version-
185- If 1, the external lines can ends in lower and upper
186- axis (y=0 and y=1)."""
187+ opt: A DrawingOpt instance with all options for drawing the diagram."""
188
189 # Check if input are what we are expecting
190 if isinstance(diagram, base_objects.Diagram):
191 self.diagram = diagram
192 else:
193- raise self.FeynamDiagramError('first arg should derivates' + \
194+ raise self.FeynamDiagramError('first argument should derivates' + \
195 ' from Diagram object')
196
197 if isinstance(model, base_objects.Model):
198 self.model = model
199 else:
200- raise self.FeynamDiagramError('second arg should derivates' + \
201+ raise self.FeynamDiagramError('second argument should derivates' + \
202 ' from Model object')
203-
204- self.drawing_mode = drawing_mode # See method's comment for details
205-
206+ if opt is None:
207+ self.opt = DrawOption()
208+ elif(isinstance(opt,DrawOption)):
209+ self.opt = opt
210+ else:
211+ raise self.FeynamDiagramError('third argument should derivates' + \
212+ ' from DrawOption object')
213
214 # Initialize other value to void.
215 self.vertexList = [] # List of vertex associate to the diagram
216 self.initial_vertex = [] # vertex associate to initial particles
217 self.lineList = [] # List of line present in the diagram
218+ self.max_level = 0
219+
220+ #internal parameter
221 self._treated_legs = [] # List of leg, in the same order as lineList
222- self.max_level = 0
223+ self._ext_distance_up = self.opt.external
224+ self._ext_distance_down = self.opt.external
225+
226
227- def main(self, contract=True):
228+ def main(self):
229 """This routine will compute all the vertex position and line
230- orientation needed to draw the diagram.
231+ orientation needed to draw the diagram."""
232
233- 'contract' defines if we contract to one point the non propagating line.
234- """
235 # Define all the vertex/line
236 # Define self.vertexList,self.lineList
237- self.load_diagram(contract=contract)
238+ self.load_diagram(contract=self.opt.contract_non_propagating)
239 # Define the level of each vertex
240 self.define_level()
241 # Define position for each vertex
242 self.find_initial_vertex_position()
243+ # Adjust some 'not beautifull' position
244+ self.adjust_position()
245 # Flip the particle orientation such that fermion-flow is correct
246 self.solve_line_direction()
247
248@@ -984,7 +1030,7 @@
249 if vertex.is_external() and vertex.pos_y not in [0, 1]:
250 # Move external vertex from one level to avoid external
251 #particles finishing inside the square.
252- #vertex.def_level(level)
253+ vertex.def_level(vertex.level + 1)
254 vertex_at_level.append(vertex)
255 continue
256
257@@ -1061,8 +1107,7 @@
258 self.find_vertex_position_at_level(vertex_at_level, level + 1)
259
260
261- def assign_pos(self, vertex_at_level, level, min=0, max=1, \
262- mode=''):
263+ def assign_pos(self, vertex_at_level, level, min=0, max=1):
264 """Assign the position to each vertex of vertex_at_level.
265
266 The x-coordinate will the ratio of the current level with the maximum
267@@ -1080,10 +1125,13 @@
268 (resp. max) and the first vertex is also equal but if min=0 (resp.
269 max=1) then this distance counts half.
270
271- if mode = 0, the external lines are authorizes to end only
272+ the option self.opt.external is used
273+ if equals 0, the external lines are authorizes to end only
274 at the end of the diagram (in x=1 axis) so this will forbid
275 to put any vertex at y=0-1 (except if x=1)
276- if mode =1, no restriction occurs.
277+ if bigger than 0, minimal distance in before putting a external line
278+ on the border of the diagram.
279+
280
281 The computation of y is done in this way
282 first compute the distance [dist] between two vertex and assign the point.
283@@ -1099,35 +1147,47 @@
284 'assigned level %s is bigger than max_level %s' % \
285 (level, self.max_level)
286
287- # If mode not define use the one define at __init__ time.
288- if mode == '':
289- mode = self.drawing_mode
290+
291 # At final level we should authorize min=0 and max=1 position
292 if level == self.max_level:
293- mode = 1
294+ ext_dist_up = 1
295+ ext_dist_down = 1
296+ else:
297+ # else follow option
298+ ext_dist_up = self._ext_distance_up
299+ ext_dist_down = self._ext_distance_down
300 # Set default gap in dist unity
301 begin_gap, end_gap = 1, 1
302 # Check the special case when min is 0 -> border
303 if min == 0:
304- if mode and vertex_at_level[0].is_external():
305- # Assign position at the border
306- vertex_at_level[0].def_position(level / self.max_level, 0)
307+ if ext_dist_down and vertex_at_level[0].is_external():
308+ line = vertex_at_level[0].line[0]
309+ if line.end.level - line.start.level >= ext_dist_down:
310+ # Assign position at the border and update option
311+ self.define_vertex_at_border(vertex_at_level[0],level, 0)
312 # Remove the vertex to avoid that it will pass to next level
313 del vertex_at_level[0]
314+ #
315 if not vertex_at_level:
316 return []
317+ else:
318+ begin_gap = 0.5
319 else:
320 begin_gap = 0.5
321
322 # Check the special case when max is 1 -> border
323 if max == 1:
324- if mode and vertex_at_level[-1].is_external():
325- # Assign position at the border
326- vertex_at_level[-1].def_position(level / self.max_level, 1)
327- # Remove the vertex to avoid that it will pass to next level
328- del vertex_at_level[-1]
329- if not vertex_at_level:
330+ if ext_dist_up and vertex_at_level[-1].is_external():
331+ line = vertex_at_level[-1].line[0]
332+ if line.end.level - line.start.level >= ext_dist_up:
333+ # Assign position at the border
334+ self.define_vertex_at_border(vertex_at_level[-1],level, 1)
335+ # Remove the vertex to avoid that it will pass to next level
336+ del vertex_at_level[-1]
337+ if not vertex_at_level:
338 return []
339+ else:
340+ end_gap = 0.5
341 else:
342 end_gap = 0.5
343
344@@ -1141,6 +1201,33 @@
345
346 return vertex_at_level
347
348+ def define_vertex_at_border(self, vertex, level, pos_y):
349+ """Define the position of the vertex considering the distance required
350+ in the Drawing Options. Update the option if needed."""
351+
352+ # find the minimal x distance and update this distance for the future
353+ if pos_y == 1:
354+ dist = self._ext_distance_up
355+ self._ext_distance_up += self.opt.add_gap
356+ else:
357+ dist = self._ext_distance_down
358+ self._ext_distance_down += self.opt.add_gap
359+
360+ # Find the position and switch integer and not integer case
361+ if dist % 1:
362+ # Check that we have to move forward the line
363+ if level < self.max_level:
364+ pos_x = (level - 1 + (dist % 1)) / self.max_level
365+ elif (1-vertex.line[0].start.pos_x) * self.max_level > dist:
366+ pos_x = (level - 1 + (dist % 1)) / self.max_level
367+ else:
368+ pos_x = 1
369+ else:
370+ pos_x = level / self.max_level
371+
372+ vertex.def_position(pos_x, pos_y)
373+
374+
375 def remove_t_channel(self):
376 """Removes all T-channel in a diagram and convert those in S-channel.
377 This occur for 1>X diagram where T-channel are wrongly define."""
378@@ -1212,6 +1299,38 @@
379 return
380
381
382+ def adjust_position(self):
383+ """Modify the position of some particles in order to improve the final
384+ diagram look. This routines use one option
385+ 1) max_size which forbids external particles to be longer than max_size.
386+ This is in level unit. If a line is too long we contract it to
387+ max_size preserving the orientation.
388+ 2) external indicating the minimal x-gap for an external line. This
389+ constraints is already take into account in previous stage. But that
390+ stage cann't do non integer gap. So this routines correct this."""
391+
392+ finalsize = self.opt.max_size
393+
394+ # Check if we need to do something
395+ if not finalsize:
396+ return
397+
398+ # Select all external line
399+ for line in self.lineList:
400+ if line.is_external():
401+ # Check the size of final particles to restrict to the max_size
402+ #constraints.
403+ if line.get('state') == 'initial' or not line.is_external():
404+ continue
405+ size = line.get_length() * self.max_level
406+ if size > finalsize:
407+ ratio = finalsize / size
408+ new_x = line.start.pos_x + ratio * (line.end.pos_x -
409+ line.start.pos_x)
410+ new_y = line.start.pos_y + ratio * (line.end.pos_y -
411+ line.start.pos_y)
412+ line.end.def_position(new_x, new_y)
413+
414 def _debug_load_diagram(self):
415 """Return a string to check to conversion of format for the diagram.
416
417@@ -1299,6 +1418,44 @@
418 return True
419 return False
420
421+ def __eq__(self,other):
422+ """Check if two diagrams are equivalent. (same structure-same particle)
423+
424+ This function is not used for the moment. The initial purpose was the
425+ avoid duplication of identical diagram in the output (these could happen
426+ if we contract non propagating line). But the number of such comparaison
427+ rise as the number of diagram square such that the total time needed for
428+ this feature was consider as too (time-)expansive."""
429+
430+ # Check basic globals (this is done to fastenize the check
431+ if self.max_level != other.max_level:
432+ return False
433+ elif len(self.lineList) != len(other.lineList):
434+ return False
435+
436+ # Then compare vertex by vertex. As we didn't want to use order
437+ #information, we first select two vertex with the same position and then
438+ #compare then.
439+ other_pos = [(vertex.pos_x,vertex.pos_y) for vertex in other.vertexList]
440+ for vertex_self in self.vertexList:
441+ try:
442+ i = other_pos.index((vertex_self.pos_x,vertex_self.pos_y))
443+ except:
444+ # This vertex doesn't have equivalent => They are different.
445+ return False
446+ else:
447+ vertex_other = other.vertexList[i]
448+
449+ # So now we have the 'vertex_self' and 'vertex_other' which are
450+ #vertex at the same position. Now we check if they have the same
451+ #line content.
452+ if not vertex_self.has_the_same_line_content(vertex_other):
453+ return False
454+
455+ # All the vertex and the associate line are equivalent. So the two
456+ #diagrams are consider as identical.
457+ return True
458+
459
460 #===============================================================================
461 # FeynmanDiagramHorizontal
462@@ -1455,7 +1612,8 @@
463 class DrawDiagramError(Exception):
464 """Standard error for error occuring to create output of a Diagram."""
465
466- def __init__(self, diagram='', file='', model='', amplitude=''):
467+ def __init__(self, diagram=None, file=None, model=None, amplitude=None, \
468+ opt=None):
469 """Define basic variables and store some global information.
470 All argument are optional:
471 diagram : is the object to 'diagram' should inherit from either
472@@ -1465,7 +1623,8 @@
473 inherit from base_objects.Diagram (for conversion).
474 amplitude: amplitude associates to the diagram. NOT USE for the moment.
475 In future you could pass the amplitude associate to the object in
476- order to adjust fermion flow in case of Majorana fermion."""
477+ order to adjust fermion flow in case of Majorana fermion.
478+ opt: should be a valid DrawOption object."""
479
480 # Check the parameter value
481 #No need to test Diagram class, it will be tested before using it anyway
482@@ -1480,12 +1639,18 @@
483 # A Test of the Amplitude should be added when this one will be
484 #use.
485
486+ # Check the option
487+ if opt and not isinstance(opt, DrawOption):
488+ raise self.DrawDiagramError('The Option to draw the diagram are in' + \
489+ 'a invalid format')
490+
491 # Store the parameter in the object variable
492 self.diagram = diagram
493 self.filename = file
494 self.model = model # use for automatic conversion of graph
495 self.amplitude = amplitude # will be use for conversion of graph
496-
497+ self.opt = opt
498+
499 # Set variable for storing text
500 self.text = ''
501 # Do we have to write a file? -> store in self.file
502@@ -1495,20 +1660,13 @@
503 else:
504 self.file = False
505
506- def draw(self, **opt):
507+ def draw(self, opt=None):
508 """Main routine to draw a single diagram.
509- opt is the option for the conversion of the base_objects.Diagram in one
510- of the Diagram object. This is the list of recognize options:
511- external [True] : authorizes external particles to finish on
512- horizontal limit of the square
513- horizontal [True]: if on true use FeynmanDiagramHorizontal to
514- convert the diagram. otherwise use FeynmanDiagram (Horizontal
515- forces S-channel to be horizontal)
516- non_propagating [True] : removes the non propagating particles
517- present in the diagram."""
518+ opt is DrawOption object use for the conversion of the
519+ base_objects.Diagram in one of the Diagram object."""
520
521 # Check if we need to upgrade the diagram.
522- self.convert_diagram(**opt)
523+ self.convert_diagram(opt=opt)
524 # Initialize some variable before starting to draw the diagram
525 # This is just for frameworks capabilities (default: open file in
526 #write mode if a filename was provide.
527@@ -1520,12 +1678,17 @@
528 self.conclude()
529
530
531- def convert_diagram(self, diagram='', model='', amplitude='', **opt):
532+ def convert_diagram(self, diagram=None, model=None, amplitude=None, \
533+ opt=None):
534 """If diagram is a basic diagram (inherit from base_objects.Diagram)
535 convert him to a FeynmanDiagram one. 'opt' keeps track of possible
536 option of drawing. 'amplitude' is not use for the moment. But, later,
537 if defined will authorize to adjust the fermion-flow of Majorana
538- particles. This is the list of recognize options:
539+ particles. opt is a DrawOption object containing all option on the way
540+ to draw the diagram (see this class for more details)
541+
542+
543+ This is the list of recognize options:
544 external [True] : authorizes external particles to finish on
545 horizontal limit of the square
546 horizontal [True]: if on true use FeynmanDiagramHorizontal to
547@@ -1534,7 +1697,7 @@
548 non_propagating [True] : removes the non propagating particles
549 present in the diagram."""
550
551- if diagram == '':
552+ if diagram is None:
553 diagram = self.diagram
554
555 #if already a valid diagram. nothing to do
556@@ -1542,7 +1705,7 @@
557 return
558
559 # assign default for model and check validity (if not default)
560- if model == '':
561+ if model is None:
562 model = self.model
563 elif not isinstance(model, base_objects.Model):
564 raise self.DrawDiagramError('No valid model provide to convert ' + \
565@@ -1550,25 +1713,26 @@
566
567 # Test on Amplitude should be enter here, when we will use this
568 #information
569-
570-
571- # Put default values for options
572- authorize_options = ['external', 'horizontal', 'non_propagating']
573- for key in authorize_options:
574- if key not in opt:
575- opt[key] = True
576+ if opt is None:
577+ if self.opt:
578+ opt = self.opt
579+ else:
580+ opt = DrawOption()
581+ elif not isinstance(opt, DrawOption):
582+ raise self.DrawDiagramError('The Option to draw the diagram are' + \
583+ ' in a invalid format')
584
585 # Upgrade diagram to FeynmanDiagram or FeynmanDiagramHorizontal
586 #following option choice
587- if opt['horizontal']:
588+ if opt.horizontal:
589 diagram = FeynmanDiagramHorizontal(diagram, model, \
590- drawing_mode=opt['external'])
591+ opt=opt)
592 else:
593 diagram = FeynmanDiagram(diagram, model, \
594- drawing_mode=opt['external'])
595+ opt=opt)
596
597 # Find the position of all vertex and all line orientation
598- diagram.main(contract=opt['non_propagating'])
599+ diagram.main()
600
601 # Store-return information
602 self.diagram = diagram
603@@ -1651,3 +1815,63 @@
604 call only for external particles and the number is the MadGraph number
605 associate to the particle. The default routine doesn't do anything"""
606 pass
607+
608+class DrawOption(object):
609+ """Dealing with the different option of the drawing method.
610+ This is the list of recognize attributes:
611+ horizontal [False]: force S-channel to be horizontal
612+ external [0]: authorizes external particles to end
613+ at top or bottom of diagram. If bigger than zero
614+ this tune the length of those line.
615+ add_gap [0]: make external rising after each positioning.
616+ max_size [0]: this forbids external line bigger than
617+ max_size.
618+ non_propagating [True]:contracts non propagating lines"""
619+
620+ class DrawingOptionError(Exception):
621+ """Error raising if an invalid entry is set in a option."""
622+
623+ def __init__(self, opt={}):
624+ """Fullfill option with standard value."""
625+
626+ #define default
627+ self.external = 0
628+ self.add_gap = 0
629+ self.horizontal = False
630+ self.max_size = 1.5
631+ self.contract_non_propagating = True
632+
633+ for key, value in opt.items():
634+ self.set(key,value)
635+
636+ def set(self, key, value):
637+ """Check and attribute the given value."""
638+
639+ if key in ['horizontal', 'contract_non_propagating']:
640+ value = self.pass_to_logical(value)
641+ setattr(self, key, value)
642+ elif(key in ['external', 'max_size','add_gap']):
643+ try:
644+ value = self.pass_to_number(value)
645+ except:
646+ raise self.DrawingOptionError('%s is not a numerical when %s \
647+ requires one' %(value, key))
648+ setattr(self, key, value)
649+
650+ else:
651+ raise self.DrawingOptionError('%s is not a valid property for \
652+ drawing object' % key)
653+
654+ def pass_to_logical(self, value):
655+ """convert the value in a logical"""
656+
657+ if value in [0, False, '0', 'False', 'false']:
658+ return False
659+ else:
660+ return True
661+
662+ def pass_to_number(self, value):
663+ """Convert the value in a number"""
664+
665+ return float(value)
666+
667\ No newline at end of file
668
669=== modified file 'madgraph/iolibs/drawing_eps.py'
670--- madgraph/iolibs/drawing_eps.py 2010-01-22 05:30:10 +0000
671+++ madgraph/iolibs/drawing_eps.py 2010-01-29 06:42:18 +0000
672@@ -208,12 +208,9 @@
673 # Move slightly the position to avoid overlapping
674 if x == 0:
675 x = -0.04
676- elif x == 1:
677- x = 1.04
678- if y == 0:
679- y = -0.06
680- elif y == 1:
681- y = 1.04
682+ else:
683+ x += 0.04
684+ y = line._has_ordinate(x)
685
686 # Re-scale x,y in order to pass in EPS coordinate
687 x, y = self.rescale(x, y)
688@@ -224,33 +221,35 @@
689 def associate_name(self, line, name):
690 """ADD the EPS code associate to the name of the particle. Place it near
691 to the center of the line.
692-
693- The position of the name follows the V4 routine.
694- """
695+ """
696
697 # Put alias for vertex positions
698 x1, y1 = line.start.pos_x, line.start.pos_y
699 x2, y2 = line.end.pos_x, line.end.pos_y
700
701- d = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
702+ d = line.get_length()
703 if d == 0:
704 raise self.DrawDiagramError('Line can not have 0 length')
705
706- # Compute gap
707- dx = (x1 - x2) / d
708- dy = (y1 - y2) / d
709-
710- # Correct sign to avoid intersection between the name and the current
711- #line
712- if dy < 0:
713- dx, dy = -1 * dx, -1 * dy
714- elif dy == 0:
715- dx = 1.5
716-
717+
718+ # compute gap from middle point
719+ if abs(x1 - x2) < 1e-3:
720+ dx= 0.015
721+ dy= - 0.01
722+ elif abs(y1 - y2) < 1e-3:
723+ dx = - 0.01
724+ dy = 0.025
725+ elif ((x1 < x2) == (y1 < y2) ):
726+ dx = -0.03 * len(name)
727+ dy = 0.02 * len(name) #d * 0.12
728+ else:
729+ dx = 0.01 #0.05
730+ dy = 0.02 #d * 0.12
731+
732 # Assign position
733- x_pos = (x1 + x2) / 2 + 0.04 * dy
734- y_pos = (y1 + y2) / 2 - 0.055 * dx
735-
736+ x_pos = (x1 + x2) / 2 + dx
737+ y_pos = (y1 + y2) / 2 + dy
738+
739 # Pass in EPS coordinate
740 x_pos, y_pos = self.rescale(x_pos, y_pos)
741 #write EPS code
742@@ -287,8 +286,8 @@
743 nb_line = 3
744 nb_col = 2
745
746- def __init__(self, diagramlist='', file='diagram.eps', \
747- model='', amplitude=''):
748+ def __init__(self, diagramlist=None, file='diagram.eps', \
749+ model=None, amplitude=None):
750 """Define basic variable and store some global information
751 all argument are optional
752 diagramlist : are the list of object to draw. item should inherit
753@@ -301,13 +300,22 @@
754 order to adjust fermion flow in case of Majorana fermion."""
755
756 #use standard initialization but without any diagram
757- super(MultiEpsDiagramDrawer, self).__init__('', file , model, amplitude)
758+ super(MultiEpsDiagramDrawer, self).__init__(None, file , model, amplitude)
759
760 #additional information
761 self.block_nb = 0 # keep track of the number of diagram already written
762 self.npage = 1 + len(diagramlist) // (self.nb_col * self.nb_line)
763- self.diagramlist = diagramlist
764-
765+
766+ if diagramlist:
767+ if isinstance(diagramlist, base_objects.DiagramList):
768+ self.diagramlist = diagramlist
769+ else:
770+ raise self.DrawDiagramError('diagramlist Argument should be a' +
771+ ' DiagramList object')
772+ else:
773+ self.diagramlist = None
774+
775+
776 def rescale(self, x, y):
777 """All coordinates belongs to [0,1]. So that in order to have a visible
778 graph we need to re-scale the graph. This method distort the square in
779@@ -343,18 +351,12 @@
780 self.block_nb += 1
781
782
783- def draw(self, diagramlist='', **opt):
784+ def draw(self, diagramlist='', opt=None):
785 """Creates the representation in EPS format associate to a specific
786 diagram. 'opt' keeps track of possible option of drawing. Those option
787 are used if we need to convert diagram to Drawing Object.
788- This is the list of recognize options:
789- external [True] : authorizes external particles to finish on
790- horizontal limit of the square
791- horizontal [True]: if on true use FeynmanDiagramHorizontal to
792- convert the diagram. otherwise use FeynmanDiagram (Horizontal
793- forces S-channel to be horizontal)
794- non_propagating [True] : removes the non propagating particles
795- present in the diagram."""
796+ opt is an DrawOption object containing all the possible option on how
797+ draw a diagram."""
798
799 if diagramlist == '':
800 diagramlist = self.diagramlist
801@@ -365,7 +367,7 @@
802 # Loop on all diagram
803 for diagram in diagramlist:
804 # Check if they need to be convert in correct format
805- diagram = self.convert_diagram(diagram, self.model, **opt)
806+ diagram = self.convert_diagram(diagram, self.model,'', opt)
807 # Write the code associate to this diagram
808 self.draw_diagram(diagram)
809
810@@ -388,3 +390,5 @@
811 self.text += '/Helvetica findfont 10 scalefont setfont\n'
812 self.text += ' 240 770 moveto\n'
813 self.text += ' (Diagrams by MadGraph) show\n'
814+
815+
816
817=== modified file 'tests/input_files/test_draw.obj'
818--- tests/input_files/test_draw.obj 2010-01-25 07:35:29 +0000
819+++ tests/input_files/test_draw.obj 2010-01-29 06:42:18 +0000
820@@ -1386,10 +1386,10 @@
821 Rp413
822 stp414
823 Rp415
824-ssS'g g > g g'
825+ssS'u~ u~ > e+ e- u~ u~ g'
826 p416
827 (dp417
828-I1
829+I8
830 g3
831 (g4
832 g5
833@@ -1415,7 +1415,7 @@
834 g18
835 g19
836 sg20
837-I21
838+I2
839 sg21
840 I01
841 sg22
842@@ -1427,13 +1427,13 @@
843 g5
844 (dp425
845 g18
846-g19
847+g26
848 sg20
849-I21
850+I-2
851 sg21
852 I01
853 sg22
854-I2
855+I5
856 stp426
857 Rp427
858 ag3
859@@ -1441,7 +1441,7 @@
860 g5
861 (dp428
862 g18
863-g26
864+g19
865 sg20
866 I21
867 sg21
868@@ -1453,7 +1453,7 @@
869 atp431
870 Rp432
871 sg20
872-I7
873+I2
874 stp433
875 Rp434
876 ag3
877@@ -1470,13 +1470,13 @@
878 g5
879 (dp437
880 g18
881-g26
882+g19
883 sg20
884-I21
885+I2
886 sg21
887 I01
888 sg22
889-I3
890+I2
891 stp438
892 Rp439
893 ag3
894@@ -1490,7 +1490,7 @@
895 sg21
896 I01
897 sg22
898-I4
899+I7
900 stp441
901 Rp442
902 ag3
903@@ -1498,19 +1498,19 @@
904 g5
905 (dp443
906 g18
907-g26
908+g19
909 sg20
910-I21
911+I2
912 sg21
913 I01
914 sg22
915-I3
916+I2
917 stp444
918 Rp445
919 atp446
920 Rp447
921 sg20
922-I7
923+I2
924 stp448
925 Rp449
926 ag3
927@@ -1522,1224 +1522,1264 @@
928 (g14
929 g9
930 (lp451
931+g3
932+(g16
933+g5
934+(dp452
935+g18
936+g26
937+sg20
938+I-11
939+sg21
940+I01
941+sg22
942+I3
943+stp453
944+Rp454
945+ag3
946+(g16
947+g5
948+(dp455
949+g18
950+g26
951+sg20
952+I11
953+sg21
954+I01
955+sg22
956+I4
957+stp456
958+Rp457
959+ag3
960+(g16
961+g5
962+(dp458
963+g18
964+g26
965+sg20
966+I22
967+sg21
968+I01
969+sg22
970+I3
971+stp459
972+Rp460
973+atp461
974+Rp462
975+sg20
976+I15
977+stp463
978+Rp464
979+ag3
980+(g11
981+g5
982+(dp465
983+g13
984+g3
985+(g14
986+g9
987+(lp466
988 g430
989 ag445
990-atp452
991-Rp453
992-sg20
993-I0
994-stp454
995-Rp455
996-atp456
997-Rp457
998-stp458
999-Rp459
1000-sI2
1001-g3
1002-(g4
1003-g5
1004-(dp460
1005-g7
1006-g3
1007-(g8
1008-g9
1009-(lp461
1010-g3
1011-(g11
1012-g5
1013-(dp462
1014-g13
1015-g3
1016-(g14
1017-g9
1018-(lp463
1019-g424
1020-ag439
1021 ag3
1022 (g16
1023 g5
1024-(dp464
1025+(dp467
1026 g18
1027-g19
1028+g26
1029 sg20
1030-I21
1031+I2
1032 sg21
1033 I01
1034 sg22
1035 I1
1036-stp465
1037-Rp466
1038-atp467
1039-Rp468
1040+stp468
1041+Rp469
1042+atp470
1043+Rp471
1044 sg20
1045-I7
1046-stp469
1047-Rp470
1048+I2
1049+stp472
1050+Rp473
1051 ag3
1052 (g11
1053 g5
1054-(dp471
1055+(dp474
1056 g13
1057 g3
1058 (g14
1059 g9
1060-(lp472
1061-g427
1062-ag442
1063-ag3
1064-(g16
1065-g5
1066-(dp473
1067-g18
1068-g19
1069-sg20
1070-I21
1071+(lp475
1072+g460
1073+ag3
1074+(g16
1075+g5
1076+(dp476
1077+g18
1078+g26
1079+sg20
1080+I-2
1081+sg21
1082+I00
1083+sg22
1084+I6
1085+stp477
1086+Rp478
1087+ag3
1088+(g16
1089+g5
1090+(dp479
1091+g18
1092+g26
1093+sg20
1094+I-2
1095 sg21
1096 I01
1097 sg22
1098-I2
1099-stp474
1100-Rp475
1101-atp476
1102-Rp477
1103-sg20
1104-I7
1105-stp478
1106-Rp479
1107-ag3
1108-(g11
1109-g5
1110-(dp480
1111-g13
1112-g3
1113-(g14
1114-g9
1115-(lp481
1116-g466
1117-ag475
1118+I3
1119+stp480
1120+Rp481
1121 atp482
1122 Rp483
1123 sg20
1124-I0
1125+I10
1126 stp484
1127 Rp485
1128-atp486
1129-Rp487
1130-stp488
1131+ag3
1132+(g11
1133+g5
1134+(dp486
1135+g13
1136+g3
1137+(g14
1138+g9
1139+(lp487
1140+g469
1141+ag481
1142+atp488
1143 Rp489
1144-ssS't h > t g W+ W-'
1145-p490
1146-(dp491
1147+sg20
1148 I0
1149+stp490
1150+Rp491
1151+atp492
1152+Rp493
1153+stp494
1154+Rp495
1155+sI1
1156 g3
1157 (g4
1158 g5
1159-(dp492
1160-g7
1161-g3
1162-(g8
1163-g9
1164-(lp493
1165-g3
1166-(g11
1167-g5
1168-(dp494
1169-g13
1170-g3
1171-(g14
1172-g9
1173-(lp495
1174-g3
1175-(g16
1176-g5
1177 (dp496
1178-g18
1179-g19
1180-sg20
1181-I-6
1182-sg21
1183-I01
1184-sg22
1185-I1
1186-stp497
1187-Rp498
1188-ag3
1189-(g16
1190-g5
1191-(dp499
1192-g18
1193-g19
1194-sg20
1195-I25
1196-sg21
1197-I01
1198-sg22
1199-I2
1200-stp500
1201-Rp501
1202-ag3
1203-(g16
1204-g5
1205-(dp502
1206-g18
1207-g26
1208-sg20
1209-I-6
1210-sg21
1211-I01
1212-sg22
1213-I1
1214-stp503
1215+g7
1216+g3
1217+(g8
1218+g9
1219+(lp497
1220+g3
1221+(g11
1222+g5
1223+(dp498
1224+g13
1225+g3
1226+(g14
1227+g9
1228+(lp499
1229+g424
1230+ag427
1231+ag3
1232+(g16
1233+g5
1234+(dp500
1235+g18
1236+g19
1237+sg20
1238+I22
1239+sg21
1240+I01
1241+sg22
1242+I1
1243+stp501
1244+Rp502
1245+atp503
1246 Rp504
1247-atp505
1248+sg20
1249+I10
1250+stp505
1251 Rp506
1252-sg20
1253-I44
1254-stp507
1255-Rp508
1256 ag3
1257 (g11
1258 g5
1259+(dp507
1260+g13
1261+g3
1262+(g14
1263+g9
1264+(lp508
1265+g439
1266+ag442
1267+ag3
1268+(g16
1269+g5
1270 (dp509
1271-g13
1272-g3
1273-(g14
1274-g9
1275-(lp510
1276-g3
1277-(g16
1278-g5
1279-(dp511
1280 g18
1281-g26
1282+g19
1283 sg20
1284-I6
1285+I2
1286 sg21
1287 I01
1288 sg22
1289-I3
1290-stp512
1291+I2
1292+stp510
1293+Rp511
1294+atp512
1295 Rp513
1296-ag3
1297-(g16
1298-g5
1299-(dp514
1300-g18
1301-g26
1302-sg20
1303-I21
1304-sg21
1305-I01
1306-sg22
1307-I4
1308-stp515
1309-Rp516
1310-ag3
1311-(g16
1312-g5
1313-(dp517
1314-g18
1315-g26
1316-sg20
1317-I6
1318-sg21
1319-I01
1320+sg20
1321+I2
1322+stp514
1323+Rp515
1324+ag3
1325+(g11
1326+g5
1327+(dp516
1328+g13
1329+g3
1330+(g14
1331+g9
1332+(lp517
1333+g502
1334+ag3
1335+(g16
1336+g5
1337+(dp518
1338+g18
1339+g26
1340+sg20
1341+I-11
1342+sg21
1343+I00
1344 sg22
1345 I3
1346-stp518
1347-Rp519
1348-atp520
1349-Rp521
1350+stp519
1351+Rp520
1352+ag3
1353+(g16
1354+g5
1355+(dp521
1356+g18
1357+g19
1358 sg20
1359-I6
1360+I-11
1361+sg21
1362+I01
1363+sg22
1364+I1
1365 stp522
1366 Rp523
1367+atp524
1368+Rp525
1369+sg20
1370+I15
1371+stp526
1372+Rp527
1373 ag3
1374 (g11
1375 g5
1376-(dp524
1377+(dp528
1378 g13
1379 g3
1380 (g14
1381 g9
1382-(lp525
1383-g504
1384+(lp529
1385+g511
1386 ag3
1387 (g16
1388 g5
1389-(dp526
1390+(dp530
1391 g18
1392 g26
1393 sg20
1394-I24
1395+I-2
1396 sg21
1397 I00
1398 sg22
1399-I5
1400-stp527
1401-Rp528
1402+I6
1403+stp531
1404+Rp532
1405 ag3
1406 (g16
1407 g5
1408-(dp529
1409+(dp533
1410 g18
1411-g26
1412+g19
1413 sg20
1414-I-5
1415+I23
1416 sg21
1417 I01
1418 sg22
1419-I1
1420-stp530
1421-Rp531
1422-atp532
1423-Rp533
1424-sg20
1425-I35
1426+I2
1427 stp534
1428 Rp535
1429+atp536
1430+Rp537
1431+sg20
1432+I19
1433+stp538
1434+Rp539
1435 ag3
1436 (g11
1437 g5
1438-(dp536
1439+(dp540
1440 g13
1441 g3
1442 (g14
1443 g9
1444-(lp537
1445-g519
1446+(lp541
1447+g523
1448+ag535
1449 ag3
1450 (g16
1451 g5
1452-(dp538
1453+(dp542
1454 g18
1455 g26
1456 sg20
1457-I-24
1458+I11
1459 sg21
1460 I00
1461 sg22
1462-I6
1463-stp539
1464-Rp540
1465-ag3
1466-(g16
1467-g5
1468-(dp541
1469-g18
1470-g26
1471-sg20
1472-I5
1473-sg21
1474-I01
1475-sg22
1476-I3
1477-stp542
1478-Rp543
1479-atp544
1480-Rp545
1481-sg20
1482-I32
1483-stp546
1484-Rp547
1485-ag3
1486-(g11
1487-g5
1488-(dp548
1489-g13
1490-g3
1491-(g14
1492-g9
1493-(lp549
1494-g531
1495-ag543
1496-atp550
1497-Rp551
1498-sg20
1499-I0
1500-stp552
1501-Rp553
1502-atp554
1503-Rp555
1504-stp556
1505-Rp557
1506-sI1
1507+I4
1508+stp543
1509+Rp544
1510+atp545
1511+Rp546
1512+sg20
1513+I24
1514+stp547
1515+Rp548
1516+atp549
1517+Rp550
1518+stp551
1519+Rp552
1520+ssS'g g > g g'
1521+p553
1522+(dp554
1523+I1
1524 g3
1525 (g4
1526 g5
1527-(dp558
1528+(dp555
1529 g7
1530 g3
1531 (g8
1532 g9
1533-(lp559
1534+(lp556
1535 g3
1536 (g11
1537 g5
1538-(dp560
1539+(dp557
1540 g13
1541 g3
1542 (g14
1543 g9
1544-(lp561
1545-g498
1546-ag501
1547+(lp558
1548+g3
1549+(g16
1550+g5
1551+(dp559
1552+g18
1553+g19
1554+sg20
1555+I21
1556+sg21
1557+I01
1558+sg22
1559+I1
1560+stp560
1561+Rp561
1562 ag3
1563 (g16
1564 g5
1565 (dp562
1566 g18
1567-g26
1568+g19
1569 sg20
1570-I-6
1571+I21
1572 sg21
1573 I01
1574 sg22
1575-I1
1576+I2
1577 stp563
1578 Rp564
1579-atp565
1580-Rp566
1581-sg20
1582-I44
1583-stp567
1584-Rp568
1585+ag3
1586+(g16
1587+g5
1588+(dp565
1589+g18
1590+g26
1591+sg20
1592+I21
1593+sg21
1594+I01
1595+sg22
1596+I1
1597+stp566
1598+Rp567
1599+atp568
1600+Rp569
1601+sg20
1602+I7
1603+stp570
1604+Rp571
1605 ag3
1606 (g11
1607 g5
1608-(dp569
1609+(dp572
1610 g13
1611 g3
1612 (g14
1613 g9
1614-(lp570
1615-g513
1616-ag516
1617-ag3
1618+(lp573
1619+g3
1620 (g16
1621 g5
1622-(dp571
1623+(dp574
1624 g18
1625 g26
1626 sg20
1627-I6
1628+I21
1629 sg21
1630 I01
1631 sg22
1632 I3
1633-stp572
1634-Rp573
1635-atp574
1636-Rp575
1637+stp575
1638+Rp576
1639+ag3
1640+(g16
1641+g5
1642+(dp577
1643+g18
1644+g26
1645 sg20
1646-I6
1647-stp576
1648-Rp577
1649+I21
1650+sg21
1651+I01
1652+sg22
1653+I4
1654+stp578
1655+Rp579
1656 ag3
1657-(g11
1658-g5
1659-(dp578
1660-g13
1661-g3
1662-(g14
1663-g9
1664-(lp579
1665-g3
1666 (g16
1667 g5
1668 (dp580
1669 g18
1670 g26
1671 sg20
1672-I24
1673+I21
1674 sg21
1675 I01
1676 sg22
1677-I5
1678+I3
1679 stp581
1680 Rp582
1681-ag3
1682-(g16
1683-g5
1684-(dp583
1685-g18
1686-g26
1687-sg20
1688-I-24
1689-sg21
1690-I01
1691-sg22
1692-I6
1693-stp584
1694-Rp585
1695-ag3
1696-(g16
1697-g5
1698-(dp586
1699-g18
1700-g26
1701-sg20
1702-I22
1703-sg21
1704-I01
1705-sg22
1706-I5
1707-stp587
1708-Rp588
1709+atp583
1710+Rp584
1711+sg20
1712+I7
1713+stp585
1714+Rp586
1715+ag3
1716+(g11
1717+g5
1718+(dp587
1719+g13
1720+g3
1721+(g14
1722+g9
1723+(lp588
1724+g567
1725+ag582
1726 atp589
1727 Rp590
1728 sg20
1729-I45
1730+I0
1731 stp591
1732 Rp592
1733-ag3
1734-(g11
1735-g5
1736-(dp593
1737-g13
1738-g3
1739-(g14
1740-g9
1741-(lp594
1742-g564
1743-ag573
1744-ag588
1745-atp595
1746+atp593
1747+Rp594
1748+stp595
1749 Rp596
1750-sg20
1751-I14
1752-stp597
1753-Rp598
1754-atp599
1755-Rp600
1756-stp601
1757-Rp602
1758 sI2
1759 g3
1760 (g4
1761 g5
1762-(dp603
1763+(dp597
1764 g7
1765 g3
1766 (g8
1767 g9
1768-(lp604
1769-g568
1770-ag577
1771-ag3
1772+(lp598
1773+g3
1774 (g11
1775 g5
1776-(dp605
1777+(dp599
1778 g13
1779 g3
1780 (g14
1781 g9
1782-(lp606
1783-g582
1784-ag585
1785+(lp600
1786+g561
1787+ag576
1788 ag3
1789 (g16
1790 g5
1791-(dp607
1792+(dp601
1793 g18
1794-g26
1795+g19
1796 sg20
1797-I23
1798+I21
1799 sg21
1800 I01
1801 sg22
1802-I5
1803-stp608
1804-Rp609
1805-atp610
1806-Rp611
1807+I1
1808+stp602
1809+Rp603
1810+atp604
1811+Rp605
1812 sg20
1813-I46
1814-stp612
1815-Rp613
1816+I7
1817+stp606
1818+Rp607
1819 ag3
1820 (g11
1821 g5
1822-(dp614
1823+(dp608
1824 g13
1825 g3
1826 (g14
1827 g9
1828-(lp615
1829+(lp609
1830 g564
1831-ag573
1832-ag609
1833-atp616
1834-Rp617
1835-sg20
1836-I23
1837-stp618
1838-Rp619
1839-atp620
1840-Rp621
1841-stp622
1842-Rp623
1843-sI3
1844-g3
1845-(g4
1846+ag579
1847+ag3
1848+(g16
1849 g5
1850-(dp624
1851-g7
1852-g3
1853-(g8
1854-g9
1855-(lp625
1856-g568
1857-ag577
1858+(dp610
1859+g18
1860+g19
1861+sg20
1862+I21
1863+sg21
1864+I01
1865+sg22
1866+I2
1867+stp611
1868+Rp612
1869+atp613
1870+Rp614
1871+sg20
1872+I7
1873+stp615
1874+Rp616
1875 ag3
1876 (g11
1877 g5
1878-(dp626
1879+(dp617
1880 g13
1881 g3
1882 (g14
1883 g9
1884-(lp627
1885-g582
1886-ag585
1887-ag3
1888-(g16
1889-g5
1890+(lp618
1891+g603
1892+ag612
1893+atp619
1894+Rp620
1895+sg20
1896+I0
1897+stp621
1898+Rp622
1899+atp623
1900+Rp624
1901+stp625
1902+Rp626
1903+ssS't h > t g W+ W-'
1904+p627
1905 (dp628
1906-g18
1907-g26
1908-sg20
1909-I25
1910-sg21
1911-I01
1912-sg22
1913-I5
1914-stp629
1915-Rp630
1916-atp631
1917-Rp632
1918-sg20
1919-I47
1920-stp633
1921-Rp634
1922-ag3
1923+I0
1924+g3
1925+(g4
1926+g5
1927+(dp629
1928+g7
1929+g3
1930+(g8
1931+g9
1932+(lp630
1933+g3
1934 (g11
1935 g5
1936-(dp635
1937+(dp631
1938 g13
1939 g3
1940 (g14
1941 g9
1942-(lp636
1943-g564
1944-ag573
1945-ag630
1946-atp637
1947+(lp632
1948+g3
1949+(g16
1950+g5
1951+(dp633
1952+g18
1953+g19
1954+sg20
1955+I-6
1956+sg21
1957+I01
1958+sg22
1959+I1
1960+stp634
1961+Rp635
1962+ag3
1963+(g16
1964+g5
1965+(dp636
1966+g18
1967+g19
1968+sg20
1969+I25
1970+sg21
1971+I01
1972+sg22
1973+I2
1974+stp637
1975 Rp638
1976+ag3
1977+(g16
1978+g5
1979+(dp639
1980+g18
1981+g26
1982+sg20
1983+I-6
1984+sg21
1985+I01
1986+sg22
1987+I1
1988+stp640
1989+Rp641
1990+atp642
1991+Rp643
1992 sg20
1993 I44
1994-stp639
1995-Rp640
1996-atp641
1997-Rp642
1998-stp643
1999-Rp644
2000-sI4
2001-g3
2002-(g4
2003-g5
2004-(dp645
2005-g7
2006-g3
2007-(g8
2008-g9
2009-(lp646
2010-g3
2011+stp644
2012+Rp645
2013+ag3
2014 (g11
2015 g5
2016-(dp647
2017+(dp646
2018 g13
2019 g3
2020 (g14
2021 g9
2022-(lp648
2023-g498
2024-ag501
2025+(lp647
2026+g3
2027+(g16
2028+g5
2029+(dp648
2030+g18
2031+g26
2032+sg20
2033+I6
2034+sg21
2035+I01
2036+sg22
2037+I3
2038+stp649
2039+Rp650
2040 ag3
2041 (g16
2042 g5
2043-(dp649
2044+(dp651
2045 g18
2046 g26
2047 sg20
2048-I-6
2049+I21
2050 sg21
2051 I01
2052 sg22
2053-I1
2054-stp650
2055-Rp651
2056-atp652
2057+I4
2058+stp652
2059 Rp653
2060-sg20
2061-I44
2062-stp654
2063-Rp655
2064-ag3
2065-(g11
2066-g5
2067-(dp656
2068-g13
2069-g3
2070-(g14
2071-g9
2072-(lp657
2073-g513
2074-ag585
2075 ag3
2076 (g16
2077 g5
2078-(dp658
2079+(dp654
2080 g18
2081 g26
2082 sg20
2083-I5
2084+I6
2085 sg21
2086 I01
2087 sg22
2088 I3
2089+stp655
2090+Rp656
2091+atp657
2092+Rp658
2093+sg20
2094+I6
2095 stp659
2096 Rp660
2097-atp661
2098-Rp662
2099-sg20
2100-I32
2101-stp663
2102-Rp664
2103 ag3
2104 (g11
2105 g5
2106-(dp665
2107+(dp661
2108 g13
2109 g3
2110 (g14
2111 g9
2112-(lp666
2113-g651
2114+(lp662
2115+g641
2116 ag3
2117 (g16
2118 g5
2119-(dp667
2120+(dp663
2121 g18
2122 g26
2123 sg20
2124-I21
2125+I24
2126 sg21
2127 I00
2128 sg22
2129-I4
2130-stp668
2131-Rp669
2132+I5
2133+stp664
2134+Rp665
2135 ag3
2136 (g16
2137 g5
2138-(dp670
2139+(dp666
2140 g18
2141 g26
2142 sg20
2143-I-6
2144+I-5
2145 sg21
2146 I01
2147 sg22
2148 I1
2149+stp667
2150+Rp668
2151+atp669
2152+Rp670
2153+sg20
2154+I35
2155 stp671
2156 Rp672
2157-atp673
2158-Rp674
2159-sg20
2160-I6
2161-stp675
2162-Rp676
2163 ag3
2164 (g11
2165 g5
2166-(dp677
2167+(dp673
2168 g13
2169 g3
2170 (g14
2171 g9
2172-(lp678
2173-g660
2174+(lp674
2175+g656
2176 ag3
2177 (g16
2178 g5
2179-(dp679
2180+(dp675
2181 g18
2182 g26
2183 sg20
2184-I24
2185+I-24
2186 sg21
2187 I00
2188 sg22
2189+I6
2190+stp676
2191+Rp677
2192+ag3
2193+(g16
2194+g5
2195+(dp678
2196+g18
2197+g26
2198+sg20
2199 I5
2200-stp680
2201-Rp681
2202-ag3
2203-(g16
2204-g5
2205-(dp682
2206-g18
2207-g26
2208-sg20
2209-I6
2210 sg21
2211 I01
2212 sg22
2213 I3
2214+stp679
2215+Rp680
2216+atp681
2217+Rp682
2218+sg20
2219+I32
2220 stp683
2221 Rp684
2222-atp685
2223-Rp686
2224-sg20
2225-I35
2226-stp687
2227+ag3
2228+(g11
2229+g5
2230+(dp685
2231+g13
2232+g3
2233+(g14
2234+g9
2235+(lp686
2236+g668
2237+ag680
2238+atp687
2239 Rp688
2240-ag3
2241-(g11
2242-g5
2243-(dp689
2244-g13
2245-g3
2246-(g14
2247-g9
2248-(lp690
2249-g672
2250-ag684
2251+sg20
2252+I0
2253+stp689
2254+Rp690
2255 atp691
2256 Rp692
2257-sg20
2258-I0
2259 stp693
2260 Rp694
2261-atp695
2262-Rp696
2263-stp697
2264-Rp698
2265-sI5
2266+sI1
2267 g3
2268 (g4
2269 g5
2270+(dp695
2271+g7
2272+g3
2273+(g8
2274+g9
2275+(lp696
2276+g3
2277+(g11
2278+g5
2279+(dp697
2280+g13
2281+g3
2282+(g14
2283+g9
2284+(lp698
2285+g635
2286+ag638
2287+ag3
2288+(g16
2289+g5
2290 (dp699
2291-g7
2292-g3
2293-(g8
2294-g9
2295-(lp700
2296-g655
2297-ag664
2298-ag3
2299-(g11
2300-g5
2301-(dp701
2302-g13
2303-g3
2304-(g14
2305-g9
2306-(lp702
2307-g651
2308-ag681
2309-ag3
2310-(g16
2311-g5
2312-(dp703
2313 g18
2314 g26
2315 sg20
2316-I-5
2317+I-6
2318 sg21
2319 I01
2320 sg22
2321 I1
2322+stp700
2323+Rp701
2324+atp702
2325+Rp703
2326+sg20
2327+I44
2328 stp704
2329 Rp705
2330-atp706
2331-Rp707
2332-sg20
2333-I35
2334-stp708
2335-Rp709
2336 ag3
2337 (g11
2338 g5
2339-(dp710
2340+(dp706
2341 g13
2342 g3
2343 (g14
2344 g9
2345-(lp711
2346-g660
2347-ag669
2348+(lp707
2349+g650
2350+ag653
2351 ag3
2352 (g16
2353 g5
2354-(dp712
2355+(dp708
2356 g18
2357 g26
2358 sg20
2359-I5
2360+I6
2361 sg21
2362 I01
2363 sg22
2364 I3
2365+stp709
2366+Rp710
2367+atp711
2368+Rp712
2369+sg20
2370+I6
2371 stp713
2372 Rp714
2373-atp715
2374-Rp716
2375-sg20
2376-I5
2377-stp717
2378-Rp718
2379 ag3
2380 (g11
2381 g5
2382-(dp719
2383+(dp715
2384 g13
2385 g3
2386 (g14
2387 g9
2388-(lp720
2389-g705
2390-ag714
2391-atp721
2392+(lp716
2393+g3
2394+(g16
2395+g5
2396+(dp717
2397+g18
2398+g26
2399+sg20
2400+I24
2401+sg21
2402+I01
2403+sg22
2404+I5
2405+stp718
2406+Rp719
2407+ag3
2408+(g16
2409+g5
2410+(dp720
2411+g18
2412+g26
2413+sg20
2414+I-24
2415+sg21
2416+I01
2417+sg22
2418+I6
2419+stp721
2420 Rp722
2421-sg20
2422-I0
2423-stp723
2424-Rp724
2425-atp725
2426-Rp726
2427-stp727
2428-Rp728
2429-sI6
2430-g3
2431-(g4
2432-g5
2433-(dp729
2434-g7
2435-g3
2436-(g8
2437-g9
2438-(lp730
2439-g3
2440-(g11
2441-g5
2442-(dp731
2443-g13
2444-g3
2445-(g14
2446-g9
2447-(lp732
2448-g498
2449-ag501
2450 ag3
2451 (g16
2452 g5
2453-(dp733
2454+(dp723
2455 g18
2456 g26
2457 sg20
2458-I-6
2459+I22
2460 sg21
2461 I01
2462 sg22
2463-I1
2464+I5
2465+stp724
2466+Rp725
2467+atp726
2468+Rp727
2469+sg20
2470+I45
2471+stp728
2472+Rp729
2473+ag3
2474+(g11
2475+g5
2476+(dp730
2477+g13
2478+g3
2479+(g14
2480+g9
2481+(lp731
2482+g701
2483+ag710
2484+ag725
2485+atp732
2486+Rp733
2487+sg20
2488+I14
2489 stp734
2490 Rp735
2491 atp736
2492 Rp737
2493-sg20
2494-I44
2495 stp738
2496 Rp739
2497-ag3
2498-(g11
2499+sI2
2500+g3
2501+(g4
2502 g5
2503 (dp740
2504-g13
2505+g7
2506 g3
2507-(g14
2508+(g8
2509 g9
2510 (lp741
2511-g582
2512-ag585
2513+g705
2514+ag714
2515 ag3
2516-(g16
2517+(g11
2518 g5
2519 (dp742
2520+g13
2521+g3
2522+(g14
2523+g9
2524+(lp743
2525+g719
2526+ag722
2527+ag3
2528+(g16
2529+g5
2530+(dp744
2531 g18
2532 g26
2533 sg20
2534-I22
2535+I23
2536 sg21
2537 I01
2538 sg22
2539 I5
2540-stp743
2541-Rp744
2542-atp745
2543+stp745
2544 Rp746
2545-sg20
2546-I45
2547-stp747
2548+atp747
2549 Rp748
2550+sg20
2551+I46
2552+stp749
2553+Rp750
2554 ag3
2555 (g11
2556 g5
2557-(dp749
2558-g13
2559-g3
2560-(g14
2561-g9
2562-(lp750
2563-g735
2564-ag3
2565-(g16
2566-g5
2567 (dp751
2568-g18
2569-g26
2570-sg20
2571-I21
2572-sg21
2573-I00
2574-sg22
2575-I4
2576-stp752
2577-Rp753
2578-ag3
2579-(g16
2580-g5
2581-(dp754
2582-g18
2583-g26
2584-sg20
2585-I-6
2586-sg21
2587-I01
2588-sg22
2589-I1
2590+g13
2591+g3
2592+(g14
2593+g9
2594+(lp752
2595+g701
2596+ag710
2597+ag746
2598+atp753
2599+Rp754
2600+sg20
2601+I23
2602 stp755
2603 Rp756
2604 atp757
2605 Rp758
2606-sg20
2607-I6
2608 stp759
2609 Rp760
2610-ag3
2611-(g11
2612+sI3
2613+g3
2614+(g4
2615 g5
2616 (dp761
2617-g13
2618+g7
2619 g3
2620-(g14
2621+(g8
2622 g9
2623 (lp762
2624-g3
2625-(g16
2626+g705
2627+ag714
2628+ag3
2629+(g11
2630 g5
2631 (dp763
2632-g18
2633-g26
2634-sg20
2635-I6
2636-sg21
2637-I00
2638-sg22
2639-I3
2640-stp764
2641-Rp765
2642-ag744
2643+g13
2644+g3
2645+(g14
2646+g9
2647+(lp764
2648+g719
2649+ag722
2650 ag3
2651 (g16
2652 g5
2653-(dp766
2654+(dp765
2655 g18
2656 g26
2657 sg20
2658-I6
2659+I25
2660 sg21
2661 I01
2662 sg22
2663-I3
2664-stp767
2665-Rp768
2666-atp769
2667-Rp770
2668+I5
2669+stp766
2670+Rp767
2671+atp768
2672+Rp769
2673 sg20
2674-I14
2675-stp771
2676-Rp772
2677+I47
2678+stp770
2679+Rp771
2680 ag3
2681 (g11
2682 g5
2683-(dp773
2684+(dp772
2685 g13
2686 g3
2687 (g14
2688 g9
2689-(lp774
2690-g756
2691-ag768
2692-atp775
2693-Rp776
2694+(lp773
2695+g701
2696+ag710
2697+ag767
2698+atp774
2699+Rp775
2700 sg20
2701-I0
2702-stp777
2703-Rp778
2704-atp779
2705-Rp780
2706-stp781
2707-Rp782
2708-sI7
2709+I44
2710+stp776
2711+Rp777
2712+atp778
2713+Rp779
2714+stp780
2715+Rp781
2716+sI4
2717 g3
2718 (g4
2719 g5
2720-(dp783
2721+(dp782
2722 g7
2723 g3
2724 (g8
2725 g9
2726-(lp784
2727-g739
2728-ag3
2729+(lp783
2730+g3
2731 (g11
2732 g5
2733-(dp785
2734+(dp784
2735 g13
2736 g3
2737 (g14
2738 g9
2739-(lp786
2740-g582
2741-ag585
2742+(lp785
2743+g635
2744+ag638
2745 ag3
2746 (g16
2747 g5
2748-(dp787
2749+(dp786
2750 g18
2751 g26
2752 sg20
2753-I23
2754+I-6
2755 sg21
2756 I01
2757 sg22
2758+I1
2759+stp787
2760+Rp788
2761+atp789
2762+Rp790
2763+sg20
2764+I44
2765+stp791
2766+Rp792
2767+ag3
2768+(g11
2769+g5
2770+(dp793
2771+g13
2772+g3
2773+(g14
2774+g9
2775+(lp794
2776+g650
2777+ag722
2778+ag3
2779+(g16
2780+g5
2781+(dp795
2782+g18
2783+g26
2784+sg20
2785 I5
2786-stp788
2787-Rp789
2788-atp790
2789-Rp791
2790-sg20
2791-I46
2792-stp792
2793-Rp793
2794-ag3
2795-(g11
2796-g5
2797-(dp794
2798-g13
2799-g3
2800-(g14
2801-g9
2802-(lp795
2803-g735
2804-ag753
2805-ag3
2806-(g16
2807-g5
2808-(dp796
2809-g18
2810-g26
2811-sg20
2812-I-6
2813-sg21
2814-I01
2815-sg22
2816-I1
2817-stp797
2818-Rp798
2819-atp799
2820-Rp800
2821-sg20
2822-I6
2823-stp801
2824-Rp802
2825-ag3
2826-(g11
2827-g5
2828-(dp803
2829-g13
2830-g3
2831-(g14
2832-g9
2833-(lp804
2834-g765
2835-ag789
2836-ag3
2837-(g16
2838-g5
2839-(dp805
2840-g18
2841-g26
2842-sg20
2843-I6
2844 sg21
2845 I01
2846 sg22
2847 I3
2848-stp806
2849-Rp807
2850-atp808
2851+stp796
2852+Rp797
2853+atp798
2854+Rp799
2855+sg20
2856+I32
2857+stp800
2858+Rp801
2859+ag3
2860+(g11
2861+g5
2862+(dp802
2863+g13
2864+g3
2865+(g14
2866+g9
2867+(lp803
2868+g788
2869+ag3
2870+(g16
2871+g5
2872+(dp804
2873+g18
2874+g26
2875+sg20
2876+I21
2877+sg21
2878+I00
2879+sg22
2880+I4
2881+stp805
2882+Rp806
2883+ag3
2884+(g16
2885+g5
2886+(dp807
2887+g18
2888+g26
2889+sg20
2890+I-6
2891+sg21
2892+I01
2893+sg22
2894+I1
2895+stp808
2896 Rp809
2897-sg20
2898-I23
2899-stp810
2900+atp810
2901 Rp811
2902+sg20
2903+I6
2904+stp812
2905+Rp813
2906 ag3
2907 (g11
2908 g5
2909-(dp812
2910+(dp814
2911 g13
2912 g3
2913 (g14
2914 g9
2915-(lp813
2916-g798
2917-ag807
2918-atp814
2919-Rp815
2920-sg20
2921-I0
2922-stp816
2923-Rp817
2924-atp818
2925-Rp819
2926+(lp815
2927+g797
2928+ag3
2929+(g16
2930+g5
2931+(dp816
2932+g18
2933+g26
2934+sg20
2935+I24
2936+sg21
2937+I00
2938+sg22
2939+I5
2940+stp817
2941+Rp818
2942+ag3
2943+(g16
2944+g5
2945+(dp819
2946+g18
2947+g26
2948+sg20
2949+I6
2950+sg21
2951+I01
2952+sg22
2953+I3
2954 stp820
2955 Rp821
2956-ssS'g g > g g g g'
2957-p822
2958-(dp823
2959-I0
2960-g3
2961-(g4
2962-g5
2963-(dp824
2964-g7
2965-g3
2966-(g8
2967-g9
2968-(lp825
2969-g3
2970+atp822
2971+Rp823
2972+sg20
2973+I35
2974+stp824
2975+Rp825
2976+ag3
2977 (g11
2978 g5
2979 (dp826
2980@@ -2748,91 +2788,72 @@
2981 (g14
2982 g9
2983 (lp827
2984-g3
2985-(g16
2986-g5
2987-(dp828
2988-g18
2989-g19
2990-sg20
2991-I21
2992-sg21
2993-I01
2994-sg22
2995-I1
2996-stp829
2997-Rp830
2998-ag3
2999-(g16
3000-g5
3001-(dp831
3002-g18
3003-g19
3004-sg20
3005-I21
3006-sg21
3007-I01
3008-sg22
3009-I2
3010-stp832
3011+g809
3012+ag821
3013+atp828
3014+Rp829
3015+sg20
3016+I0
3017+stp830
3018+Rp831
3019+atp832
3020 Rp833
3021+stp834
3022+Rp835
3023+sI5
3024+g3
3025+(g4
3026+g5
3027+(dp836
3028+g7
3029+g3
3030+(g8
3031+g9
3032+(lp837
3033+g792
3034+ag801
3035+ag3
3036+(g11
3037+g5
3038+(dp838
3039+g13
3040+g3
3041+(g14
3042+g9
3043+(lp839
3044+g788
3045+ag818
3046 ag3
3047 (g16
3048 g5
3049-(dp834
3050+(dp840
3051 g18
3052 g26
3053 sg20
3054-I21
3055+I-5
3056 sg21
3057 I01
3058 sg22
3059 I1
3060-stp835
3061-Rp836
3062-atp837
3063-Rp838
3064+stp841
3065+Rp842
3066+atp843
3067+Rp844
3068 sg20
3069-I7
3070-stp839
3071-Rp840
3072+I35
3073+stp845
3074+Rp846
3075 ag3
3076 (g11
3077 g5
3078-(dp841
3079+(dp847
3080 g13
3081 g3
3082 (g14
3083 g9
3084-(lp842
3085-g3
3086-(g16
3087-g5
3088-(dp843
3089-g18
3090-g26
3091-sg20
3092-I21
3093-sg21
3094-I01
3095-sg22
3096-I3
3097-stp844
3098-Rp845
3099-ag3
3100-(g16
3101-g5
3102-(dp846
3103-g18
3104-g26
3105-sg20
3106-I21
3107-sg21
3108-I01
3109-sg22
3110-I4
3111-stp847
3112-Rp848
3113+(lp848
3114+g797
3115+ag806
3116 ag3
3117 (g16
3118 g5
3119@@ -2840,7 +2861,7 @@
3120 g18
3121 g26
3122 sg20
3123-I21
3124+I5
3125 sg21
3126 I01
3127 sg22
3128@@ -2850,7 +2871,7 @@
3129 atp852
3130 Rp853
3131 sg20
3132-I7
3133+I5
3134 stp854
3135 Rp855
3136 ag3
3137@@ -2862,111 +2883,100 @@
3138 (g14
3139 g9
3140 (lp857
3141-g836
3142+g842
3143 ag851
3144-ag3
3145-(g16
3146-g5
3147-(dp858
3148-g18
3149-g26
3150-sg20
3151-I21
3152-sg21
3153-I00
3154-sg22
3155-I5
3156-stp859
3157-Rp860
3158-ag3
3159-(g16
3160-g5
3161-(dp861
3162-g18
3163-g26
3164-sg20
3165-I21
3166-sg21
3167-I00
3168-sg22
3169-I6
3170-stp862
3171+atp858
3172+Rp859
3173+sg20
3174+I0
3175+stp860
3176+Rp861
3177+atp862
3178 Rp863
3179-atp864
3180+stp864
3181 Rp865
3182-sg20
3183-I8
3184-stp866
3185-Rp867
3186-atp868
3187-Rp869
3188-stp870
3189-Rp871
3190-sI192
3191+sI6
3192 g3
3193 (g4
3194 g5
3195-(dp872
3196+(dp866
3197 g7
3198 g3
3199 (g8
3200 g9
3201-(lp873
3202+(lp867
3203 g3
3204 (g11
3205 g5
3206-(dp874
3207+(dp868
3208 g13
3209 g3
3210 (g14
3211 g9
3212-(lp875
3213-g830
3214-ag845
3215-ag848
3216+(lp869
3217+g635
3218+ag638
3219 ag3
3220 (g16
3221 g5
3222-(dp876
3223+(dp870
3224 g18
3225-g19
3226+g26
3227 sg20
3228-I21
3229+I-6
3230 sg21
3231 I01
3232 sg22
3233 I1
3234-stp877
3235-Rp878
3236-atp879
3237-Rp880
3238+stp871
3239+Rp872
3240+atp873
3241+Rp874
3242 sg20
3243-I8
3244-stp881
3245-Rp882
3246+I44
3247+stp875
3248+Rp876
3249 ag3
3250 (g11
3251 g5
3252-(dp883
3253+(dp877
3254 g13
3255 g3
3256 (g14
3257 g9
3258-(lp884
3259-g3
3260+(lp878
3261+g719
3262+ag722
3263+ag3
3264 (g16
3265 g5
3266-(dp885
3267+(dp879
3268 g18
3269 g26
3270 sg20
3271-I21
3272+I22
3273 sg21
3274 I01
3275 sg22
3276 I5
3277-stp886
3278-Rp887
3279+stp880
3280+Rp881
3281+atp882
3282+Rp883
3283+sg20
3284+I45
3285+stp884
3286+Rp885
3287+ag3
3288+(g11
3289+g5
3290+(dp886
3291+g13
3292+g3
3293+(g14
3294+g9
3295+(lp887
3296+g872
3297 ag3
3298 (g16
3299 g5
3300@@ -2976,9 +2986,9 @@
3301 sg20
3302 I21
3303 sg21
3304-I01
3305+I00
3306 sg22
3307-I6
3308+I4
3309 stp889
3310 Rp890
3311 ag3
3312@@ -2988,17 +2998,17 @@
3313 g18
3314 g26
3315 sg20
3316-I21
3317+I-6
3318 sg21
3319 I01
3320 sg22
3321-I5
3322+I1
3323 stp892
3324 Rp893
3325 atp894
3326 Rp895
3327 sg20
3328-I7
3329+I6
3330 stp896
3331 Rp897
3332 ag3
3333@@ -3010,73 +3020,73 @@
3334 (g14
3335 g9
3336 (lp899
3337-g878
3338-ag3
3339+g3
3340 (g16
3341 g5
3342 (dp900
3343 g18
3344-g19
3345+g26
3346 sg20
3347-I21
3348+I6
3349 sg21
3350 I00
3351 sg22
3352-I2
3353+I3
3354 stp901
3355 Rp902
3356-ag893
3357-atp903
3358-Rp904
3359-sg20
3360-I7
3361-stp905
3362-Rp906
3363-atp907
3364-Rp908
3365-stp909
3366-Rp910
3367-sI26
3368-g3
3369-(g4
3370-g5
3371-(dp911
3372-g7
3373-g3
3374-(g8
3375-g9
3376-(lp912
3377-g3
3378-(g11
3379-g5
3380-(dp913
3381-g13
3382-g3
3383-(g14
3384-g9
3385-(lp914
3386-g830
3387-ag845
3388+ag881
3389 ag3
3390 (g16
3391 g5
3392-(dp915
3393+(dp903
3394 g18
3395-g19
3396+g26
3397 sg20
3398-I21
3399+I6
3400 sg21
3401 I01
3402 sg22
3403-I1
3404-stp916
3405+I3
3406+stp904
3407+Rp905
3408+atp906
3409+Rp907
3410+sg20
3411+I14
3412+stp908
3413+Rp909
3414+ag3
3415+(g11
3416+g5
3417+(dp910
3418+g13
3419+g3
3420+(g14
3421+g9
3422+(lp911
3423+g893
3424+ag905
3425+atp912
3426+Rp913
3427+sg20
3428+I0
3429+stp914
3430+Rp915
3431+atp916
3432 Rp917
3433-atp918
3434+stp918
3435 Rp919
3436-sg20
3437-I7
3438-stp920
3439-Rp921
3440+sI7
3441+g3
3442+(g4
3443+g5
3444+(dp920
3445+g7
3446+g3
3447+(g8
3448+g9
3449+(lp921
3450+g876
3451 ag3
3452 (g11
3453 g5
3454@@ -3086,26 +3096,26 @@
3455 (g14
3456 g9
3457 (lp923
3458-g833
3459-ag848
3460+g719
3461+ag722
3462 ag3
3463 (g16
3464 g5
3465 (dp924
3466 g18
3467-g19
3468+g26
3469 sg20
3470-I21
3471+I23
3472 sg21
3473 I01
3474 sg22
3475-I2
3476+I5
3477 stp925
3478 Rp926
3479 atp927
3480 Rp928
3481 sg20
3482-I7
3483+I46
3484 stp929
3485 Rp930
3486 ag3
3487@@ -3117,7 +3127,8 @@
3488 (g14
3489 g9
3490 (lp932
3491-g917
3492+g872
3493+ag890
3494 ag3
3495 (g16
3496 g5
3497@@ -3125,154 +3136,154 @@
3498 g18
3499 g26
3500 sg20
3501-I21
3502+I-6
3503 sg21
3504-I00
3505+I01
3506 sg22
3507-I5
3508+I1
3509 stp934
3510 Rp935
3511-ag3
3512-(g16
3513-g5
3514-(dp936
3515-g18
3516-g19
3517-sg20
3518-I21
3519-sg21
3520-I01
3521-sg22
3522-I1
3523-stp937
3524-Rp938
3525-atp939
3526-Rp940
3527-sg20
3528-I7
3529-stp941
3530-Rp942
3531+atp936
3532+Rp937
3533+sg20
3534+I6
3535+stp938
3536+Rp939
3537 ag3
3538 (g11
3539 g5
3540-(dp943
3541+(dp940
3542 g13
3543 g3
3544 (g14
3545 g9
3546-(lp944
3547-g926
3548+(lp941
3549+g902
3550+ag926
3551 ag3
3552 (g16
3553 g5
3554-(dp945
3555+(dp942
3556 g18
3557 g26
3558 sg20
3559-I21
3560-sg21
3561-I00
3562-sg22
3563 I6
3564-stp946
3565-Rp947
3566+sg21
3567+I01
3568+sg22
3569+I3
3570+stp943
3571+Rp944
3572+atp945
3573+Rp946
3574+sg20
3575+I23
3576+stp947
3577+Rp948
3578 ag3
3579-(g16
3580+(g11
3581 g5
3582-(dp948
3583-g18
3584-g19
3585-sg20
3586-I21
3587-sg21
3588-I01
3589-sg22
3590-I2
3591-stp949
3592-Rp950
3593+(dp949
3594+g13
3595+g3
3596+(g14
3597+g9
3598+(lp950
3599+g935
3600+ag944
3601 atp951
3602 Rp952
3603 sg20
3604-I7
3605+I0
3606 stp953
3607 Rp954
3608-ag3
3609-(g11
3610-g5
3611-(dp955
3612-g13
3613-g3
3614-(g14
3615-g9
3616-(lp956
3617-g938
3618-ag950
3619-atp957
3620+atp955
3621+Rp956
3622+stp957
3623 Rp958
3624-sg20
3625+ssS'g g > g g g g'
3626+p959
3627+(dp960
3628 I0
3629-stp959
3630-Rp960
3631-atp961
3632-Rp962
3633-stp963
3634-Rp964
3635-sI92
3636 g3
3637 (g4
3638 g5
3639+(dp961
3640+g7
3641+g3
3642+(g8
3643+g9
3644+(lp962
3645+g3
3646+(g11
3647+g5
3648+(dp963
3649+g13
3650+g3
3651+(g14
3652+g9
3653+(lp964
3654+g3
3655+(g16
3656+g5
3657 (dp965
3658-g7
3659-g3
3660-(g8
3661-g9
3662-(lp966
3663-g3
3664-(g11
3665-g5
3666-(dp967
3667-g13
3668-g3
3669-(g14
3670-g9
3671-(lp968
3672-g830
3673-ag887
3674-ag3
3675-(g16
3676-g5
3677-(dp969
3678-g18
3679-g19
3680-sg20
3681-I21
3682-sg21
3683-I01
3684-sg22
3685-I1
3686-stp970
3687-Rp971
3688-atp972
3689+g18
3690+g19
3691+sg20
3692+I21
3693+sg21
3694+I01
3695+sg22
3696+I1
3697+stp966
3698+Rp967
3699+ag3
3700+(g16
3701+g5
3702+(dp968
3703+g18
3704+g19
3705+sg20
3706+I21
3707+sg21
3708+I01
3709+sg22
3710+I2
3711+stp969
3712+Rp970
3713+ag3
3714+(g16
3715+g5
3716+(dp971
3717+g18
3718+g26
3719+sg20
3720+I21
3721+sg21
3722+I01
3723+sg22
3724+I1
3725+stp972
3726 Rp973
3727-sg20
3728-I7
3729-stp974
3730+atp974
3731 Rp975
3732+sg20
3733+I7
3734+stp976
3735+Rp977
3736 ag3
3737 (g11
3738 g5
3739-(dp976
3740-g13
3741-g3
3742-(g14
3743-g9
3744-(lp977
3745-g845
3746-ag890
3747-ag3
3748-(g16
3749-g5
3750 (dp978
3751+g13
3752+g3
3753+(g14
3754+g9
3755+(lp979
3756+g3
3757+(g16
3758+g5
3759+(dp980
3760 g18
3761 g26
3762 sg20
3763@@ -3281,148 +3292,117 @@
3764 I01
3765 sg22
3766 I3
3767-stp979
3768-Rp980
3769-atp981
3770+stp981
3771 Rp982
3772+ag3
3773+(g16
3774+g5
3775+(dp983
3776+g18
3777+g26
3778+sg20
3779+I21
3780+sg21
3781+I01
3782+sg22
3783+I4
3784+stp984
3785+Rp985
3786+ag3
3787+(g16
3788+g5
3789+(dp986
3790+g18
3791+g26
3792+sg20
3793+I21
3794+sg21
3795+I01
3796+sg22
3797+I3
3798+stp987
3799+Rp988
3800+atp989
3801+Rp990
3802 sg20
3803 I7
3804-stp983
3805-Rp984
3806-ag3
3807-(g11
3808-g5
3809-(dp985
3810-g13
3811-g3
3812-(g14
3813-g9
3814-(lp986
3815-g971
3816-ag3
3817-(g16
3818-g5
3819-(dp987
3820-g18
3821-g26
3822-sg20
3823-I21
3824-sg21
3825-I00
3826-sg22
3827-I4
3828-stp988
3829-Rp989
3830-ag3
3831-(g16
3832-g5
3833-(dp990
3834-g18
3835-g19
3836-sg20
3837-I21
3838-sg21
3839-I01
3840-sg22
3841-I1
3842 stp991
3843 Rp992
3844-atp993
3845-Rp994
3846-sg20
3847-I7
3848-stp995
3849-Rp996
3850 ag3
3851 (g11
3852 g5
3853-(dp997
3854+(dp993
3855 g13
3856 g3
3857 (g14
3858 g9
3859-(lp998
3860-g3
3861-(g16
3862-g5
3863-(dp999
3864-g18
3865-g19
3866-sg20
3867-I21
3868-sg21
3869-I00
3870-sg22
3871-I2
3872-stp1000
3873-Rp1001
3874-ag980
3875-ag3
3876-(g16
3877-g5
3878-(dp1002
3879-g18
3880-g19
3881-sg20
3882-I21
3883-sg21
3884-I01
3885-sg22
3886-I2
3887+(lp994
3888+g973
3889+ag988
3890+ag3
3891+(g16
3892+g5
3893+(dp995
3894+g18
3895+g26
3896+sg20
3897+I21
3898+sg21
3899+I00
3900+sg22
3901+I5
3902+stp996
3903+Rp997
3904+ag3
3905+(g16
3906+g5
3907+(dp998
3908+g18
3909+g26
3910+sg20
3911+I21
3912+sg21
3913+I00
3914+sg22
3915+I6
3916+stp999
3917+Rp1000
3918+atp1001
3919+Rp1002
3920+sg20
3921+I8
3922 stp1003
3923 Rp1004
3924 atp1005
3925 Rp1006
3926-sg20
3927-I7
3928 stp1007
3929 Rp1008
3930-ag3
3931-(g11
3932+sI192
3933+g3
3934+(g4
3935 g5
3936 (dp1009
3937-g13
3938+g7
3939 g3
3940-(g14
3941+(g8
3942 g9
3943 (lp1010
3944-g992
3945-ag1004
3946-atp1011
3947-Rp1012
3948-sg20
3949-I0
3950-stp1013
3951-Rp1014
3952-atp1015
3953-Rp1016
3954-stp1017
3955-Rp1018
3956-sI93
3957-g3
3958-(g4
3959-g5
3960-(dp1019
3961-g7
3962-g3
3963-(g8
3964-g9
3965-(lp1020
3966 g3
3967 (g11
3968 g5
3969-(dp1021
3970+(dp1011
3971 g13
3972 g3
3973 (g14
3974 g9
3975-(lp1022
3976-g830
3977-ag887
3978+(lp1012
3979+g967
3980+ag982
3981+ag985
3982 ag3
3983 (g16
3984 g5
3985-(dp1023
3986+(dp1013
3987 g18
3988 g19
3989 sg20
3990@@ -3431,29 +3411,55 @@
3991 I01
3992 sg22
3993 I1
3994-stp1024
3995-Rp1025
3996-atp1026
3997+stp1014
3998+Rp1015
3999+atp1016
4000+Rp1017
4001+sg20
4002+I8
4003+stp1018
4004+Rp1019
4005+ag3
4006+(g11
4007+g5
4008+(dp1020
4009+g13
4010+g3
4011+(g14
4012+g9
4013+(lp1021
4014+g3
4015+(g16
4016+g5
4017+(dp1022
4018+g18
4019+g26
4020+sg20
4021+I21
4022+sg21
4023+I01
4024+sg22
4025+I5
4026+stp1023
4027+Rp1024
4028+ag3
4029+(g16
4030+g5
4031+(dp1025
4032+g18
4033+g26
4034+sg20
4035+I21
4036+sg21
4037+I01
4038+sg22
4039+I6
4040+stp1026
4041 Rp1027
4042-sg20
4043-I7
4044-stp1028
4045-Rp1029
4046-ag3
4047-(g11
4048-g5
4049-(dp1030
4050-g13
4051-g3
4052-(g14
4053-g9
4054-(lp1031
4055-g848
4056-ag890
4057 ag3
4058 (g16
4059 g5
4060-(dp1032
4061+(dp1028
4062 g18
4063 g26
4064 sg20
4065@@ -3461,29 +3467,29 @@
4066 sg21
4067 I01
4068 sg22
4069-I4
4070+I5
4071+stp1029
4072+Rp1030
4073+atp1031
4074+Rp1032
4075+sg20
4076+I7
4077 stp1033
4078 Rp1034
4079-atp1035
4080-Rp1036
4081-sg20
4082-I7
4083-stp1037
4084-Rp1038
4085 ag3
4086 (g11
4087 g5
4088-(dp1039
4089+(dp1035
4090 g13
4091 g3
4092 (g14
4093 g9
4094-(lp1040
4095-g1025
4096+(lp1036
4097+g1015
4098 ag3
4099 (g16
4100 g5
4101-(dp1041
4102+(dp1037
4103 g18
4104 g19
4105 sg20
4106@@ -3492,47 +3498,61 @@
4107 I00
4108 sg22
4109 I2
4110+stp1038
4111+Rp1039
4112+ag1030
4113+atp1040
4114+Rp1041
4115+sg20
4116+I7
4117 stp1042
4118 Rp1043
4119+atp1044
4120+Rp1045
4121+stp1046
4122+Rp1047
4123+sI26
4124+g3
4125+(g4
4126+g5
4127+(dp1048
4128+g7
4129+g3
4130+(g8
4131+g9
4132+(lp1049
4133+g3
4134+(g11
4135+g5
4136+(dp1050
4137+g13
4138+g3
4139+(g14
4140+g9
4141+(lp1051
4142+g967
4143+ag982
4144 ag3
4145 (g16
4146 g5
4147-(dp1044
4148+(dp1052
4149 g18
4150-g26
4151+g19
4152 sg20
4153 I21
4154 sg21
4155-I00
4156+I01
4157 sg22
4158-I3
4159-stp1045
4160-Rp1046
4161-ag1034
4162-atp1047
4163-Rp1048
4164-sg20
4165-I8
4166-stp1049
4167-Rp1050
4168-atp1051
4169-Rp1052
4170+I1
4171 stp1053
4172 Rp1054
4173-ssS'g g > g g g'
4174-p1055
4175-(dp1056
4176-I0
4177-g3
4178-(g4
4179-g5
4180-(dp1057
4181-g7
4182-g3
4183-(g8
4184-g9
4185-(lp1058
4186-g3
4187+atp1055
4188+Rp1056
4189+sg20
4190+I7
4191+stp1057
4192+Rp1058
4193+ag3
4194 (g11
4195 g5
4196 (dp1059
4197@@ -3541,7 +3561,9 @@
4198 (g14
4199 g9
4200 (lp1060
4201-g3
4202+g970
4203+ag985
4204+ag3
4205 (g16
4206 g5
4207 (dp1061
4208@@ -3552,13 +3574,43 @@
4209 sg21
4210 I01
4211 sg22
4212-I1
4213+I2
4214 stp1062
4215 Rp1063
4216-ag3
4217-(g16
4218-g5
4219-(dp1064
4220+atp1064
4221+Rp1065
4222+sg20
4223+I7
4224+stp1066
4225+Rp1067
4226+ag3
4227+(g11
4228+g5
4229+(dp1068
4230+g13
4231+g3
4232+(g14
4233+g9
4234+(lp1069
4235+g1054
4236+ag3
4237+(g16
4238+g5
4239+(dp1070
4240+g18
4241+g26
4242+sg20
4243+I21
4244+sg21
4245+I00
4246+sg22
4247+I5
4248+stp1071
4249+Rp1072
4250+ag3
4251+(g16
4252+g5
4253+(dp1073
4254 g18
4255 g19
4256 sg20
4257@@ -3566,66 +3618,25 @@
4258 sg21
4259 I01
4260 sg22
4261-I2
4262-stp1065
4263-Rp1066
4264-ag3
4265-(g16
4266-g5
4267-(dp1067
4268-g18
4269-g26
4270-sg20
4271-I21
4272-sg21
4273-I01
4274-sg22
4275 I1
4276-stp1068
4277-Rp1069
4278-atp1070
4279-Rp1071
4280+stp1074
4281+Rp1075
4282+atp1076
4283+Rp1077
4284 sg20
4285 I7
4286-stp1072
4287-Rp1073
4288+stp1078
4289+Rp1079
4290 ag3
4291 (g11
4292 g5
4293-(dp1074
4294+(dp1080
4295 g13
4296 g3
4297 (g14
4298 g9
4299-(lp1075
4300-g3
4301-(g16
4302-g5
4303-(dp1076
4304-g18
4305-g26
4306-sg20
4307-I21
4308-sg21
4309-I01
4310-sg22
4311-I3
4312-stp1077
4313-Rp1078
4314-ag3
4315-(g16
4316-g5
4317-(dp1079
4318-g18
4319-g26
4320-sg20
4321-I21
4322-sg21
4323-I01
4324-sg22
4325-I4
4326-stp1080
4327-Rp1081
4328+(lp1081
4329+g1063
4330 ag3
4331 (g16
4332 g5
4333@@ -3635,106 +3646,152 @@
4334 sg20
4335 I21
4336 sg21
4337-I01
4338+I00
4339 sg22
4340-I3
4341+I6
4342 stp1083
4343 Rp1084
4344-atp1085
4345-Rp1086
4346+ag3
4347+(g16
4348+g5
4349+(dp1085
4350+g18
4351+g19
4352+sg20
4353+I21
4354+sg21
4355+I01
4356+sg22
4357+I2
4358+stp1086
4359+Rp1087
4360+atp1088
4361+Rp1089
4362 sg20
4363 I7
4364-stp1087
4365-Rp1088
4366+stp1090
4367+Rp1091
4368 ag3
4369 (g11
4370 g5
4371-(dp1089
4372+(dp1092
4373 g13
4374 g3
4375 (g14
4376 g9
4377-(lp1090
4378-g1069
4379-ag1084
4380-ag3
4381-(g16
4382-g5
4383-(dp1091
4384-g18
4385-g26
4386-sg20
4387-I21
4388-sg21
4389-I00
4390-sg22
4391-I5
4392-stp1092
4393-Rp1093
4394+(lp1093
4395+g1075
4396+ag1087
4397 atp1094
4398 Rp1095
4399 sg20
4400-I7
4401+I0
4402 stp1096
4403 Rp1097
4404 atp1098
4405 Rp1099
4406 stp1100
4407 Rp1101
4408-ssS'u~ u~ > Z u~ u~ g'
4409-p1102
4410-(dp1103
4411-I26
4412+sI92
4413 g3
4414 (g4
4415 g5
4416+(dp1102
4417+g7
4418+g3
4419+(g8
4420+g9
4421+(lp1103
4422+g3
4423+(g11
4424+g5
4425 (dp1104
4426-g7
4427+g13
4428 g3
4429-(g8
4430+(g14
4431 g9
4432 (lp1105
4433-g3
4434-(g11
4435+g967
4436+ag1024
4437+ag3
4438+(g16
4439 g5
4440 (dp1106
4441-g13
4442-g3
4443-(g14
4444-g9
4445-(lp1107
4446-g3
4447-(g16
4448-g5
4449-(dp1108
4450 g18
4451 g19
4452 sg20
4453-I2
4454+I21
4455 sg21
4456 I01
4457 sg22
4458 I1
4459-stp1109
4460+stp1107
4461+Rp1108
4462+atp1109
4463 Rp1110
4464+sg20
4465+I7
4466+stp1111
4467+Rp1112
4468+ag3
4469+(g11
4470+g5
4471+(dp1113
4472+g13
4473+g3
4474+(g14
4475+g9
4476+(lp1114
4477+g982
4478+ag1027
4479 ag3
4480 (g16
4481 g5
4482-(dp1111
4483+(dp1115
4484 g18
4485 g26
4486 sg20
4487-I-2
4488+I21
4489 sg21
4490 I01
4491 sg22
4492+I3
4493+stp1116
4494+Rp1117
4495+atp1118
4496+Rp1119
4497+sg20
4498+I7
4499+stp1120
4500+Rp1121
4501+ag3
4502+(g11
4503+g5
4504+(dp1122
4505+g13
4506+g3
4507+(g14
4508+g9
4509+(lp1123
4510+g1108
4511+ag3
4512+(g16
4513+g5
4514+(dp1124
4515+g18
4516+g26
4517+sg20
4518+I21
4519+sg21
4520+I00
4521+sg22
4522 I4
4523-stp1112
4524-Rp1113
4525+stp1125
4526+Rp1126
4527 ag3
4528 (g16
4529 g5
4530-(dp1114
4531+(dp1127
4532 g18
4533 g19
4534 sg20
4535@@ -3743,320 +3800,254 @@
4536 I01
4537 sg22
4538 I1
4539-stp1115
4540-Rp1116
4541-atp1117
4542-Rp1118
4543-sg20
4544-I2
4545-stp1119
4546-Rp1120
4547-ag3
4548-(g11
4549-g5
4550-(dp1121
4551-g13
4552-g3
4553-(g14
4554-g9
4555-(lp1122
4556-g3
4557-(g16
4558-g5
4559-(dp1123
4560-g18
4561-g19
4562-sg20
4563-I2
4564-sg21
4565-I01
4566-sg22
4567-I2
4568-stp1124
4569-Rp1125
4570-ag3
4571-(g16
4572-g5
4573-(dp1126
4574-g18
4575-g26
4576-sg20
4577-I23
4578-sg21
4579-I01
4580-sg22
4581-I3
4582-stp1127
4583-Rp1128
4584-ag3
4585-(g16
4586-g5
4587-(dp1129
4588-g18
4589-g19
4590-sg20
4591-I2
4592-sg21
4593-I01
4594-sg22
4595-I2
4596-stp1130
4597+stp1128
4598+Rp1129
4599+atp1130
4600 Rp1131
4601-atp1132
4602+sg20
4603+I7
4604+stp1132
4605 Rp1133
4606-sg20
4607-I19
4608-stp1134
4609-Rp1135
4610 ag3
4611 (g11
4612 g5
4613+(dp1134
4614+g13
4615+g3
4616+(g14
4617+g9
4618+(lp1135
4619+g3
4620+(g16
4621+g5
4622 (dp1136
4623-g13
4624-g3
4625-(g14
4626-g9
4627-(lp1137
4628-g1116
4629-ag3
4630-(g16
4631-g5
4632-(dp1138
4633 g18
4634-g26
4635+g19
4636 sg20
4637-I-2
4638+I21
4639 sg21
4640 I00
4641 sg22
4642-I5
4643-stp1139
4644-Rp1140
4645+I2
4646+stp1137
4647+Rp1138
4648+ag1117
4649 ag3
4650 (g16
4651 g5
4652-(dp1141
4653+(dp1139
4654 g18
4655 g19
4656 sg20
4657-I-2
4658+I21
4659 sg21
4660 I01
4661 sg22
4662-I1
4663-stp1142
4664+I2
4665+stp1140
4666+Rp1141
4667+atp1142
4668 Rp1143
4669-atp1144
4670+sg20
4671+I7
4672+stp1144
4673 Rp1145
4674-sg20
4675-I2
4676-stp1146
4677-Rp1147
4678 ag3
4679 (g11
4680 g5
4681-(dp1148
4682+(dp1146
4683 g13
4684 g3
4685 (g14
4686 g9
4687-(lp1149
4688-g1131
4689-ag3
4690-(g16
4691-g5
4692-(dp1150
4693-g18
4694-g26
4695-sg20
4696-I21
4697-sg21
4698-I00
4699-sg22
4700-I6
4701-stp1151
4702-Rp1152
4703-ag3
4704-(g16
4705-g5
4706-(dp1153
4707-g18
4708-g19
4709-sg20
4710-I2
4711-sg21
4712-I01
4713-sg22
4714-I2
4715+(lp1147
4716+g1129
4717+ag1141
4718+atp1148
4719+Rp1149
4720+sg20
4721+I0
4722+stp1150
4723+Rp1151
4724+atp1152
4725+Rp1153
4726 stp1154
4727 Rp1155
4728-atp1156
4729-Rp1157
4730-sg20
4731-I2
4732-stp1158
4733-Rp1159
4734+sI93
4735+g3
4736+(g4
4737+g5
4738+(dp1156
4739+g7
4740+g3
4741+(g8
4742+g9
4743+(lp1157
4744+g3
4745+(g11
4746+g5
4747+(dp1158
4748+g13
4749+g3
4750+(g14
4751+g9
4752+(lp1159
4753+g967
4754+ag1024
4755 ag3
4756-(g11
4757+(g16
4758 g5
4759 (dp1160
4760-g13
4761-g3
4762-(g14
4763-g9
4764-(lp1161
4765-g1143
4766-ag1155
4767-atp1162
4768-Rp1163
4769-sg20
4770-I0
4771-stp1164
4772-Rp1165
4773-atp1166
4774-Rp1167
4775-stp1168
4776-Rp1169
4777-ssS'g g > g g g g g g'
4778-p1170
4779-(dp1171
4780-I73
4781-g3
4782-(g4
4783-g5
4784-(dp1172
4785-g7
4786-g3
4787-(g8
4788-g9
4789-(lp1173
4790-g3
4791+g18
4792+g19
4793+sg20
4794+I21
4795+sg21
4796+I01
4797+sg22
4798+I1
4799+stp1161
4800+Rp1162
4801+atp1163
4802+Rp1164
4803+sg20
4804+I7
4805+stp1165
4806+Rp1166
4807+ag3
4808 (g11
4809 g5
4810-(dp1174
4811+(dp1167
4812 g13
4813 g3
4814 (g14
4815 g9
4816-(lp1175
4817-g3
4818+(lp1168
4819+g985
4820+ag1027
4821+ag3
4822 (g16
4823 g5
4824+(dp1169
4825+g18
4826+g26
4827+sg20
4828+I21
4829+sg21
4830+I01
4831+sg22
4832+I4
4833+stp1170
4834+Rp1171
4835+atp1172
4836+Rp1173
4837+sg20
4838+I7
4839+stp1174
4840+Rp1175
4841+ag3
4842+(g11
4843+g5
4844 (dp1176
4845-g18
4846-g19
4847-sg20
4848-I21
4849-sg21
4850-I01
4851-sg22
4852-I1
4853-stp1177
4854-Rp1178
4855-ag3
4856-(g16
4857-g5
4858-(dp1179
4859-g18
4860-g19
4861-sg20
4862-I21
4863-sg21
4864-I01
4865-sg22
4866-I2
4867-stp1180
4868-Rp1181
4869-ag3
4870-(g16
4871-g5
4872-(dp1182
4873-g18
4874-g26
4875-sg20
4876-I21
4877-sg21
4878-I01
4879-sg22
4880-I1
4881-stp1183
4882-Rp1184
4883-atp1185
4884-Rp1186
4885-sg20
4886-I7
4887-stp1187
4888-Rp1188
4889-ag3
4890-(g11
4891-g5
4892-(dp1189
4893 g13
4894 g3
4895 (g14
4896 g9
4897-(lp1190
4898-g3
4899-(g16
4900-g5
4901-(dp1191
4902+(lp1177
4903+g1162
4904+ag3
4905+(g16
4906+g5
4907+(dp1178
4908+g18
4909+g19
4910+sg20
4911+I21
4912+sg21
4913+I00
4914+sg22
4915+I2
4916+stp1179
4917+Rp1180
4918+ag3
4919+(g16
4920+g5
4921+(dp1181
4922 g18
4923 g26
4924 sg20
4925 I21
4926 sg21
4927-I01
4928+I00
4929 sg22
4930 I3
4931-stp1192
4932-Rp1193
4933-ag3
4934-(g16
4935+stp1182
4936+Rp1183
4937+ag1171
4938+atp1184
4939+Rp1185
4940+sg20
4941+I8
4942+stp1186
4943+Rp1187
4944+atp1188
4945+Rp1189
4946+stp1190
4947+Rp1191
4948+ssS'g g > g g g'
4949+p1192
4950+(dp1193
4951+I0
4952+g3
4953+(g4
4954 g5
4955 (dp1194
4956+g7
4957+g3
4958+(g8
4959+g9
4960+(lp1195
4961+g3
4962+(g11
4963+g5
4964+(dp1196
4965+g13
4966+g3
4967+(g14
4968+g9
4969+(lp1197
4970+g3
4971+(g16
4972+g5
4973+(dp1198
4974 g18
4975-g26
4976+g19
4977 sg20
4978 I21
4979 sg21
4980 I01
4981 sg22
4982-I4
4983-stp1195
4984-Rp1196
4985+I1
4986+stp1199
4987+Rp1200
4988 ag3
4989 (g16
4990 g5
4991-(dp1197
4992+(dp1201
4993 g18
4994-g26
4995+g19
4996 sg20
4997 I21
4998 sg21
4999 I01
5000 sg22
The diff has been truncated for viewing.

Subscribers

People subscribed via source and target branches