#! /usr/lib/veetest/veetest -r
(revision "A.00.01")
(date "Tue 10/Sep/1991")
(component 0 "Context"
 (implementation
  (component 0 "Context"
   (name "Comparative Bars")
   (description 34 4
    Generates and displays a comparative bar chart
    using two 1-D arrays of input data.  The number
    of bars is equal to the number of array elements
    (arrays must be same size), and the "length" of
    each bar is set by the corresponding element data,
    which may be a positive or negative real or int32
    number.  Each corresponding input array element
    generates a pair of different-colored adjacent
    bars. 
    
    The display is autoscaled after plotting the bars
    using the maximum and minumum array data values
    and the number of bars.
    
    Display and trace labels, bar color, grid type,
    etc. can be set by clicking the Right Button on
    the display area and selecting the "Traces and
    Scales" entry from the resulting menu.  The gap
    between bars can be set using the "Spacing" box
    in the Bar Chart Detail view.
    
    If the bars appear to have black vertical lines,
    the number of fill strokes can be increased, at
    the expense of drawing speed, by reducing the
    Density in the Detail view of the FillBarMux
    object.
    
    It may prove useful to Secure the BarChart User
    Object after customizing, since this eliminates
    the Panel/Detail buttons and some menu selections
    that are no longer needed.  Be sure to save the
    unsecured object so you can make changes at a
    later date, however. 
    
   )
   (interface
    (sequence in)
    (sequence out)
    (input 1
     (type data)
     (name "First")
     (requires
      (shape "Array 1D")
     )
     (optional yes)
    )
    (input 2
     (type data)
     (name "Second")
     (requires
      (shape "Array 1D")
     )
     (optional yes)
    )
   )
   (implementation
    (trigMode deg)
    (locked no)
    (component 0 "YPlot"
     (name "XY Trace")
     (subType "XY_Trace")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "Trace1")
       (lock constraints)
      )
      (input 2
       (type data)
       (name "Trace2")
       (lock constraints)
       (optional yes)
      )
      (input 3
       (type control)
       (name "Auto Scale")
       (lock name constraints)
       (optional yes)
      )
      (input 4
       (type control)
       (name "Next Curve")
       (lock name constraints)
       (optional yes)
      )
     )
     (implementation
      (component clearAtPrerun 1)
      (component clearAtActivate 0)
      (component tracePin 1)
      (component tracePin 2)
      (component graphMode rectangular)
     )
     (views
      (icon
       (iconImage "display.icon")
      )
      (detail
       (origin 720 144)
       (extent 280 253)
       (displayMode scrollGraph)
       (graphType cartesian)
       (gridType frame)
       (scale 0
        (name "Y name")
        (domainName "X name")
        (pen 9)
        (show 1)
        (range 0 18 4 linear)
       )
       (domain 0 10 4 linear)
       (trace 0 onScale 0
        (name "Trace1")
        (pen 7)
        (lineType 1)
        (pointType 0)
       )
       (trace 1 onScale 0
        (name "Trace2")
        (pen 2)
        (lineType 1)
        (pointType 0)
       )
      )
      (active detail)
     )
    )
    (component 1 "Context"
     (name "BarFillMux")
     (description 16 6
      This Library Object generates a serpentine bar
      fill pattern and places the output on one of two
      selected output pins.  The other output produces
      an empty bar, since a Display device needs some
      data on each input pin before it will execute and
      show the data. 
      
      The BarFillMux object uses the techniques found in
      the BarFill library object to produce an array of
      coord data points needed to fill a bar.  It adds
      a "TraceNo" input to determine which output pin
      receives the bar data and which receives the empty
      bar; zero outputs the bar on Trace 1, non-zero on
      Trace 2.  Note that the "other" trace has a bar of
      height (a thin horizontal line is drawn).
      
     )
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "X-Start")
       (requires
        (datatype Real)
        (shape "Scalar")
       )
       (optional yes)
      )
      (input 2
       (type data)
       (name "X-End")
       (requires
        (datatype Real)
        (shape "Scalar")
       )
       (optional yes)
      )
      (input 3
       (type data)
       (name "Y-Max")
       (optional yes)
      )
      (input 4
       (type data)
       (name "Y-Min")
       (optional yes)
      )
      (input 5
       (type data)
       (name "TraceNo")
       (optional yes)
      )
      (output 1
       (type data)
       (name "Trace1")
       (lock constraints)
       (optional yes)
      )
      (output 2
       (type data)
       (name "Trace2")
       (lock constraints)
       (optional yes)
      )
     )
     (implementation
      (trigMode deg)
      (locked no)
      (component 0 "Formula"
       (name "NumPts")
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "A")
         (optional yes)
        )
        (input 2
         (type data)
         (name "TraceNo")
         (optional yes)
        )
        (output 1
         (type data)
         (name "Result")
         (lock name constraints)
        )
       )
       (implementation
        (component isLocked no)
        (component expr 1 "(TraceNo ? A : A[0])")
       )
       (views
        (icon
         (origin 581 418)
         (extent 78 25)
        )
        (detail
         (origin 508 318)
         (extent 214 104)
        )
        (terminals on)
        (active icon)
       )
      )
      (component 1 "Formula"
       (name "NumPts")
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "A")
         (optional yes)
        )
        (input 2
         (type data)
         (name "TraceNo")
         (optional yes)
        )
        (output 1
         (type data)
         (name "Result")
         (lock name constraints)
        )
       )
       (implementation
        (component isLocked no)
        (component expr 1 "( NOT TraceNo ? A : A[0])")
       )
       (views
        (icon
         (origin 581 368)
         (extent 78 25)
        )
        (detail
         (origin 486 278)
         (extent 259 104)
        )
        (terminals on)
        (active icon)
       )
      )
      (component 2 "AllocateArray"
       (name "Alloc Real")
       (subType "Alloc_Real")
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "Init Value")
         (tag "Init Value")
         (requires
          (datatype Real)
          (shape "Scalar")
         )
         (lock constraints)
         (optional yes)
        )
        (input 2
         (type data)
         (name "Dim Size 1")
         (tag "Dim Size 1")
         (requires
          (datatype Int32)
          (shape "Scalar")
         )
         (lock constraints)
         (optional yes)
        )
        (output 1
         (type data)
         (name "Array")
         (tag "Array")
         (lock constraints)
        )
        (buffers in
         (buffer "Init Value")
         (buffer "Dim Size 1")
        )
       )
       (implementation
        (component numDims 1)
        (component dimSizes "9")
        (component type "Real")
        (component initEnum "Init Value")
        (component initialValue
         (name "Init Value")
         (datum 0)
        )
        (component from 1)
        (component thru 10)
       )
       (views
        (icon
         (origin 375 418)
         (extent 110 25)
        )
        (detail
         (origin 286 525)
         (extent 229 111)
        )
        (active icon)
       )
      )
      (component 3 "AllocateArray"
       (name "Alloc Real")
       (subType "Alloc_Real")
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "Init Value")
         (tag "Init Value")
         (requires
          (datatype Real)
          (shape "Scalar")
         )
         (lock constraints)
         (optional yes)
        )
        (input 2
         (type data)
         (name "Dim Size 1")
         (tag "Dim Size 1")
         (requires
          (datatype Int32)
          (shape "Scalar")
         )
         (lock constraints)
         (optional yes)
        )
        (output 1
         (type data)
         (name "Array")
         (tag "Array")
         (lock constraints)
        )
        (buffers in
         (buffer "Init Value")
         (buffer "Dim Size 1")
        )
       )
       (implementation
        (component numDims 1)
        (component dimSizes "9")
        (component type "Real")
        (component initEnum "Init Value")
        (component initialValue
         (name "Init Value")
         (datum 10)
        )
        (component from 1)
        (component thru 10)
       )
       (views
        (icon
         (origin 375 378)
         (extent 110 25)
        )
        (detail
         (origin 46 305)
         (extent 229 111)
        )
        (active icon)
       )
      )
      (component 4 "Formula"
       (name "Generate Y values")
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "A")
         (optional yes)
        )
        (input 2
         (type data)
         (name "B")
         (optional yes)
        )
        (output 1
         (type data)
         (name "Result")
         (lock name constraints)
        )
       )
       (implementation
        (component isLocked no)
        (component expr 1 "concat(transpose([b a a b]),b[0])")
       )
       (views
        (icon
         (origin 359 308)
         (extent 163 25)
        )
        (detail
         (origin 275 563)
         (extent 340 154)
        )
        (terminals on)
        (active icon)
       )
      )
      (component 5 "Constant"
       (name "Density")
       (subType "Real")
       (interface
        (sequence in)
        (sequence out)
        (output 1
         (type data)
         (name "Real")
         (lock name constraints)
        )
       )
       (implementation
        (component value Real
         (name "Density")
         (datum 0.03)
        )
        (component autoTrigger off)
        (component initializeAtPrerun off)
        (component initializeAtActivate off)
        (component initValue Real
         (datum 0)
        )
       )
       (views
        (icon
         (origin 211 338)
         (extent 78 25)
        )
        (detail
         (origin 157 364)
         (extent 147 32)
         (showFormat real)
        )
        (active icon)
       )
      )
      (component 6 "Formula"
       (name "Duplicate each X element")
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "A")
         (optional yes)
        )
        (input 2
         (type data)
         (name "B")
         (optional yes)
        )
        (input 3
         (type data)
         (name "n")
         (optional yes)
        )
        (output 1
         (type data)
         (name "Result")
         (lock name constraints)
        )
       )
       (implementation
        (component isLocked no)
        (component expr 1 "concat(transpose([ramp(2*n,a,b) ramp(2*n,a,b)]),b)")
       )
       (views
        (icon
         (origin 297 253)
         (extent 226 34)
        )
        (detail
         (origin 93 353)
         (extent 484 154)
        )
        (terminals on)
        (active icon)
       )
      )
      (component 7 "ToCoordinate"
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "X Data")
         (tag "X")
         (requires
          (datatype Real)
         )
         (lock constraints)
        )
        (input 2
         (type data)
         (name "Y Data")
         (tag "Y")
         (requires
          (datatype Real)
         )
         (lock constraints)
        )
        (output 1
         (type data)
         (name "Coord")
         (tag "Coord")
         (lock constraints)
        )
       )
       (implementation
       )
       (views
        (icon
         (origin 545 268)
         (extent 110 25)
        )
        (detail
         (origin 510 175)
         (extent 50 110)
        )
        (terminals on)
        (active icon)
       )
      )
      (component 8 "Formula"
       (name "NumPts")
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "A")
         (optional yes)
        )
        (input 2
         (type data)
         (name "B")
         (optional yes)
        )
        (input 3
         (type data)
         (name "Density")
         (optional yes)
        )
        (output 1
         (type data)
         (name "Result")
         (lock name constraints)
        )
       )
       (implementation
        (component isLocked no)
        (component expr 1 "intPart((b-a)/Density)")
       )
       (views
        (icon
         (origin 211 293)
         (extent 78 34)
        )
        (detail
         (origin 166 151)
         (extent 219 119)
        )
        (terminals on)
        (active icon)
       )
      )
      (component 9 "Formula"
       (name " + ")
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "X")
         (lock name constraints)
        )
        (input 2
         (type data)
         (name "Y")
         (lock name constraints)
        )
        (output 1
         (type data)
         (name "Result")
         (lock name constraints)
        )
       )
       (implementation
        (component isLocked yes)
        (component expr 1 "X+Y")
       )
       (views
        (icon
         (origin 187 368)
         (extent 46 25)
        )
        (detail
        )
        (terminals on)
        (active icon)
       )
      )
      (configuration
       (connect D7:1 D0:1)
       (connect I5:1 D0:2)
       (connect D7:1 D1:1)
       (connect I5:1 D1:2)
       (connect I4:1 D2:1)
       (connect D8:1 D2:2)
       (connect D9:1 D3:1)
       (connect D8:1 D3:2)
       (connect D3:1 D4:1)
       (connect D2:1 D4:2)
       (connect I1:1 D6:1)
       (connect I2:1 D6:2)
       (connect D8:1 D6:3)
       (connect D6:1 D7:1)
       (connect D4:1 D7:2)
       (connect I1:1 D8:1)
       (connect I2:1 D8:2)
       (connect D5:1 D8:3)
       (connect I3:1 D9:1)
       (connect I4:1 D9:2)
       (connect D1:1 O1:1)
       (connect D0:1 O2:1)
      )
     )
     (views
      (icon
       (origin 565 148)
       (extent 110 65)
      )
      (panel
       (origin 350 255)
       (extent 170 231)
       (widget 5 detail
        (title on)
        (origin 360 311)
        (extent 147 32)
        (showFormat real)
       )
      )
      (detail
       (origin 154 245)
       (extent 542 230)
       (configuration
        (connect D7:1 D0:1
         (Point 657 280)
         (Point 670 280)
         (Point 670 310)
         (Point 570 310)
         (Point 570 370)
         (Point 560 370)
         (Point 560 420)
         (Point 578 420)
        )
        (connect I5:1 D0:2
         (Point 156 470)
         (Point 170 470)
         (Point 170 460)
         (Point 500 460)
         (Point 500 440)
         (Point 578 440)
        )
        (connect D7:1 D1:1
         (Point 657 280)
         (Point 670 280)
         (Point 670 310)
         (Point 570 310)
         (Point 570 370)
         (Point 578 370)
        )
        (connect I5:1 D1:2
         (Point 156 470)
         (Point 170 470)
         (Point 170 460)
         (Point 500 460)
         (Point 500 440)
         (Point 550 440)
         (Point 550 390)
         (Point 578 390)
        )
        (connect I4:1 D2:1
         (Point 156 420)
         (Point 372 420)
        )
        (connect D8:1 D2:2
         (Point 291 310)
         (Point 320 310)
         (Point 320 400)
         (Point 340 400)
         (Point 340 440)
         (Point 372 440)
        )
        (connect D9:1 D3:1
         (Point 235 380)
         (Point 372 380)
        )
        (connect D8:1 D3:2
         (Point 291 310)
         (Point 320 310)
         (Point 320 400)
         (Point 372 400)
        )
        (connect D3:1 D4:1
         (Point 487 390)
         (Point 500 390)
         (Point 500 360)
         (Point 340 360)
         (Point 340 310)
         (Point 356 310)
        )
        (connect D2:1 D4:2
         (Point 487 430)
         (Point 510 430)
         (Point 510 350)
         (Point 350 350)
         (Point 350 330)
         (Point 356 330)
        )
        (connect I1:1 D6:1
         (Point 156 270)
         (Point 170 270)
         (Point 170 260)
         (Point 294 260)
        )
        (connect I2:1 D6:2
         (Point 156 320)
         (Point 170 320)
         (Point 170 310)
         (Point 190 310)
         (Point 190 270)
         (Point 294 270)
        )
        (connect D8:1 D6:3
         (Point 291 310)
         (Point 300 310)
         (Point 300 300)
         (Point 280 300)
         (Point 280 280)
         (Point 294 280)
        )
        (connect D6:1 D7:1
         (Point 525 270)
         (Point 542 270)
        )
        (connect D4:1 D7:2
         (Point 524 320)
         (Point 530 320)
         (Point 530 290)
         (Point 542 290)
        )
        (connect I1:1 D8:1
         (Point 156 270)
         (Point 170 270)
         (Point 170 300)
         (Point 208 300)
        )
        (connect I2:1 D8:2
         (Point 156 320)
         (Point 170 320)
         (Point 170 310)
         (Point 208 310)
        )
        (connect D5:1 D8:3
         (Point 291 350)
         (Point 310 350)
         (Point 310 410)
         (Point 190 410)
         (Point 190 320)
         (Point 208 320)
        )
        (connect I3:1 D9:1
         (Point 156 370)
         (Point 184 370)
        )
        (connect I4:1 D9:2
         (Point 156 420)
         (Point 170 420)
         (Point 170 390)
         (Point 184 390)
        )
        (connect D1:1 O1:1
         (Point 661 380)
         (Point 680 380)
         (Point 680 310)
         (Point 693 310)
        )
        (connect D0:1 O2:1
         (Point 661 430)
         (Point 693 430)
        )
       )
      )
      (terminals on)
      (active icon)
     )
    )
    (component 2 "Context"
     (name "HalfBarSize")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "First")
       (optional yes)
      )
      (input 2
       (type data)
       (name "Second")
       (optional yes)
      )
      (input 3
       (type data)
       (name "BarNo")
       (optional yes)
      )
      (input 4
       (type data)
       (name "Half")
       (optional yes)
      )
      (input 5
       (type data)
       (name "Gap")
       (optional yes)
      )
      (output 1
       (type data)
       (name "X-Start")
       (lock constraints)
       (optional yes)
      )
      (output 2
       (type data)
       (name "X-Stop")
       (lock constraints)
       (optional yes)
      )
      (output 3
       (type data)
       (name "Y-Max")
       (lock constraints)
       (optional yes)
      )
      (output 4
       (type data)
       (name "Y-Min")
       (lock constraints)
       (optional yes)
      )
     )
     (implementation
      (trigMode deg)
      (locked no)
      (component 0 "Formula"
       (name "first[i] or second[i]")
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "first")
         (optional yes)
        )
        (input 2
         (type data)
         (name "second")
         (optional yes)
        )
        (input 3
         (type data)
         (name "i")
         (optional yes)
        )
        (input 4
         (type data)
         (name "half")
         (optional yes)
        )
        (output 1
         (type data)
         (name "Result")
         (lock name constraints)
        )
       )
       (implementation
        (component isLocked no)
        (component expr 1 "(half ? second[i] : first[i])")
       )
       (views
        (icon
         (origin 211 178)
         (extent 199 45)
        )
        (detail
         (origin 423 408)
         (extent 295 204)
        )
        (terminals on)
        (active icon)
       )
      )
      (component 1 "Formula"
       (name "From")
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "X")
         (optional yes)
        )
        (input 2
         (type data)
         (name "Inc")
         (optional yes)
        )
        (input 3
         (type data)
         (name "half")
         (optional yes)
        )
        (output 1
         (type data)
         (name "Result")
         (lock name constraints)
        )
       )
       (implementation
        (component isLocked no)
        (component expr 1 "(half ? X+0.5 : X+Inc/2)")
       )
       (views
        (icon
         (origin 357 253)
         (extent 46 34)
        )
        (detail
         (origin 198 198)
         (extent 244 125)
        )
        (terminals on)
        (active icon)
       )
      )
      (component 2 "Formula"
       (name "To")
       (interface
        (sequence in)
        (sequence out)
        (input 1
         (type data)
         (name "X")
         (optional yes)
        )
        (input 2
         (type data)
         (name "Inc")
         (optional yes)
        )
        (input 3
         (type data)
         (name "half")
         (optional yes)
        )
        (output 1
         (type data)
         (name "Result")
         (lock name constraints)
        )
       )
       (implementation
        (component isLocked no)
        (component expr 1 "(half ? X+1-Inc/2 : X+0.5)")
       )
       (views
        (icon
         (origin 357 313)
         (extent 46 34)
        )
        (detail
         (origin 203 286)
         (extent 234 128)
        )
        (terminals on)
        (active icon)
       )
      )
      (component 3 "Constant"
       (name "0")
       (subType "Real")
       (interface
        (sequence in)
        (sequence out)
        (output 1
         (type data)
         (name "Real")
         (lock name constraints)
        )
       )
       (implementation
        (component value Real
         (name "0")
         (datum 0)
        )
        (component autoTrigger off)
        (component initializeAtPrerun off)
        (component initializeAtActivate off)
        (component initValue Real
         (datum 0)
        )
       )
       (views
        (icon
         (origin 357 368)
         (extent 46 25)
        )
        (detail
         (origin 609 276)
         (extent 122 28)
         (showFormat real)
        )
        (active icon)
       )
      )
      (configuration
       (connect I1:1 D0:1)
       (connect I2:1 D0:2)
       (connect I3:1 D0:3)
       (connect I4:1 D0:4)
       (connect I3:1 D1:1)
       (connect I5:1 D1:2)
       (connect I4:1 D1:3)
       (connect I3:1 D2:1)
       (connect I5:1 D2:2)
       (connect I4:1 D2:3)
       (connect D1:1 O1:1)
       (connect D2:1 O2:1)
       (connect D0:1 O3:1)
       (connect D3:1 O4:1)
      )
     )
     (views
      (icon
       (origin 435 153)
       (extent 110 54)
      )
      (detail
       (origin 150 146)
       (extent 330 268)
       (configuration
        (connect I1:1 D0:1
         (Point 152 190)
         (Point 160 190)
         (Point 160 180)
         (Point 208 180)
        )
        (connect I2:1 D0:2
         (Point 152 240)
         (Point 170 240)
         (Point 170 190)
         (Point 208 190)
        )
        (connect I3:1 D0:3
         (Point 152 290)
         (Point 180 290)
         (Point 180 200)
         (Point 208 200)
        )
        (connect I4:1 D0:4
         (Point 152 340)
         (Point 190 340)
         (Point 190 210)
         (Point 208 210)
        )
        (connect I3:1 D1:1
         (Point 152 290)
         (Point 180 290)
         (Point 180 260)
         (Point 354 260)
        )
        (connect I5:1 D1:2
         (Point 152 390)
         (Point 340 390)
         (Point 340 270)
         (Point 354 270)
        )
        (connect I4:1 D1:3
         (Point 152 340)
         (Point 330 340)
         (Point 330 280)
         (Point 354 280)
        )
        (connect I3:1 D2:1
         (Point 152 290)
         (Point 180 290)
         (Point 180 260)
         (Point 320 260)
         (Point 320 320)
         (Point 354 320)
        )
        (connect I5:1 D2:2
         (Point 152 390)
         (Point 340 390)
         (Point 340 330)
         (Point 354 330)
        )
        (connect I4:1 D2:3
         (Point 152 340)
         (Point 354 340)
        )
        (connect D1:1 O1:1
         (Point 405 270)
         (Point 430 270)
         (Point 430 180)
         (Point 477 180)
        )
        (connect D2:1 O2:1
         (Point 405 330)
         (Point 420 330)
         (Point 420 250)
         (Point 477 250)
        )
        (connect D0:1 O3:1
         (Point 412 200)
         (Point 440 200)
         (Point 440 320)
         (Point 477 320)
        )
        (connect D3:1 O4:1
         (Point 405 380)
         (Point 420 380)
         (Point 420 390)
         (Point 477 390)
        )
       )
      )
      (terminals on)
      (active icon)
     )
    )
    (component 3 "ForCount"
     (name "2")
     (interface
      (sequence in)
      (sequence out)
      (output 1
       (type data)
       (name "Count")
       (lock name constraints)
      )
     )
     (implementation
      (component count 2)
     )
     (views
      (icon
       (origin 581 338)
       (extent 78 64)
       (iconImage "loop.icon")
      )
      (detail
       (origin 705 273)
       (extent 170 34)
      )
      (active icon)
     )
    )
    (component 4 "ForCount"
     (name "For Count")
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "Count")
       (tag "Count")
       (requires
        (datatype Int32)
        (shape "Scalar")
       )
       (lock constraints)
       (optional yes)
      )
      (output 1
       (type data)
       (name "Count")
       (lock name constraints)
      )
      (buffers in
       (buffer "Count")
      )
     )
     (implementation
      (component count 10)
     )
     (views
      (icon
       (origin 495 268)
       (extent 110 64)
       (iconImage "loop.icon")
      )
      (detail
       (origin 615 253)
       (extent 170 34)
      )
      (active icon)
     )
    )
    (component 5 "FromArray"
     (interface
      (sequence in)
      (sequence out)
      (input 1
       (type data)
       (name "Ary")
       (tag "Ary")
      )
      (output 1
       (type data)
       (name "SubAry")
       (tag "Result")
       (lock constraints)
      )
      (output 2
       (type data)
       (name "Type")
       (tag "Type")
       (lock constraints)
      )
      (output 3
       (type data)
       (name "NumDims")
       (tag "NumDims")
       (lock constraints)
      )
      (output 4
       (type data)
       (name "DimSizes")
       (tag "DimSizes")
       (lock constraints)
      )
      (output 5
       (type data)
       (name "TotSize")
       (tag "TotSize")
       (lock constraints)
      )
     )
     (implementation
      (component isLocked no)
      (component expr 1 "Ary")
     )
     (views
      (icon
       (origin 365 248)
       (extent 110 64)
       (iconImage "unbuild.icon")
      )
      (detail
       (origin 252 110)
       (extent 147 160)
      )
      (terminals on)
      (active icon)
     )
    )
    (component 6 "Constant"
     (name "Spacing")
     (subType "Real")
     (interface
      (sequence in)
      (sequence out)
      (output 1
       (type data)
       (name "Real")
       (lock name constraints)
      )
     )
     (implementation
      (component value Real
       (name "Spacing")
       (datum 0.45)
      )
      (component autoTrigger off)
      (component initializeAtPrerun off)
      (component initializeAtActivate off)
      (component initValue Real
       (datum 0)
      )
     )
     (views
      (icon
       (origin 441 388)
       (extent 78 25)
      )
      (detail
       (origin 357 374)
       (extent 147 32)
       (showFormat real)
      )
      (active detail)
     )
    )
    (configuration
     (connect D1:1 D0:1)
     (connect D1:2 D0:2)
     (connect D4:0 D0:3)
     (connect D0:0 D0:4)
     (connect D2:1 D1:1)
     (connect D2:2 D1:2)
     (connect D2:3 D1:3)
     (connect D2:4 D1:4)
     (connect D3:1 D1:5)
     (connect I1:1 D2:1)
     (connect I2:1 D2:2)
     (connect D4:1 D2:3)
     (connect D3:1 D2:4)
     (connect D6:1 D2:5)
     (connect D4:1 D3:0)
     (connect D5:5 D4:1)
     (connect I1:1 D5:1)
    )
   )
   (views
    (icon
     (extent 154 0)
    )
    (panel
     (origin 431 150)
     (extent 419 280)
     (widget 0 detail
      (title off)
      (origin 435 154)
      (extent 414 274)
      (displayMode annotGraph)
      (graphType cartesian)
      (gridType frame)
      (scale 0
       (name "Y name")
       (domainName "X name")
       (pen 1)
       (show 1)
       (range 0 30 4 linear)
      )
      (domain 0 10 4 linear)
      (trace 0 onScale 0
       (name "Trace1")
       (pen 5)
       (lineType 1)
       (pointType 0)
      )
      (trace 1 onScale 0
       (name "Trace2")
       (pen 2)
       (lineType 1)
       (pointType 0)
      )
     )
    )
    (detail
     (origin 291 115)
     (extent 678 330)
     (configuration
      (connect D1:1 D0:1
       (Point 677 160)
       (Point 690 160)
       (Point 690 180)
       (Point 717 180)
      )
      (connect D1:2 D0:2
       (Point 677 200)
       (Point 690 200)
       (Point 690 240)
       (Point 717 240)
      )
      (connect D4:0 D0:3
       (Point 550 334)
       (Point 550 420)
       (Point 680 420)
       (Point 680 300)
       (Point 717 300)
      )
      (connect D0:0 D0:4
       (Point 860 399)
       (Point 860 420)
       (Point 700 420)
       (Point 700 360)
       (Point 717 360)
      )
      (connect D2:1 D1:1
       (Point 547 160)
       (Point 562 160)
      )
      (connect D2:2 D1:2
       (Point 547 170)
       (Point 562 170)
      )
      (connect D2:3 D1:3
       (Point 547 180)
       (Point 562 180)
      )
      (connect D2:4 D1:4
       (Point 547 190)
       (Point 562 190)
      )
      (connect D3:1 D1:5
       (Point 661 370)
       (Point 670 370)
       (Point 670 250)
       (Point 550 250)
       (Point 550 200)
       (Point 562 200)
      )
      (connect I1:1 D2:1
       (Point 293 200)
       (Point 310 200)
       (Point 310 160)
       (Point 432 160)
      )
      (connect I2:1 D2:2
       (Point 293 380)
       (Point 320 380)
       (Point 320 170)
       (Point 432 170)
      )
      (connect D4:1 D2:3
       (Point 607 300)
       (Point 620 300)
       (Point 620 260)
       (Point 540 260)
       (Point 540 230)
       (Point 420 230)
       (Point 420 180)
       (Point 432 180)
      )
      (connect D3:1 D2:4
       (Point 661 370)
       (Point 670 370)
       (Point 670 250)
       (Point 550 250)
       (Point 550 240)
       (Point 410 240)
       (Point 410 190)
       (Point 432 190)
      )
      (connect D6:1 D2:5
       (Point 506 390)
       (Point 530 390)
       (Point 530 430)
       (Point 330 430)
       (Point 330 200)
       (Point 432 200)
      )
      (connect D4:1 D3:0
       (Point 607 300)
       (Point 620 300)
       (Point 620 335)
      )
      (connect D5:5 D4:1
       (Point 477 300)
       (Point 492 300)
      )
      (connect I1:1 D5:1
       (Point 293 200)
       (Point 300 200)
       (Point 300 280)
       (Point 362 280)
      )
     )
    )
    (active panel)
    (active panel)
   )
  )
  (configuration
  )
 )
 (views
  (detail
   (configuration
   )
  )
 )
)
