Uvar( $var 0 )
Uvar( $pau1 [ $pau + 1 ] )
Uvar( $pau2 [ $pau + 2 ] )
 Vectorjump( :east -32767 0 0 0 )
 mif( $no )
  IfVarRange( :NOT 3FF $no $no )
  call( :move0 )
  :NOT
  mif( [ [$no+1] <= $slots] )
   IfVarRange( :NOT1 3FF [ $no + 1 ] [ $no + 1 ] )
   TransformCall( :move0 0 0 int[ $len * 0.5 ] 0 0 0 0 0 0)
   :NOT1
  melse
   IfVarRange( :NOT1 3FF [ $no + 1 -$slots ] [ $no + 1 -$slots ] )
   TransformCall( :move0 0 0 int[ $len * 0.5 ] 0 0 0 0 0 0)
   :NOT1
  mifend
  mif( [ [$no+$pau1 ] <= $slots] )
   IfVarRange( :NOT2 3FF [ $no + 2 ] [ $no + $pau1 ] )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :NOT2
  melse
   IfVarRange( :NOT2 3FF [ $no + 2 ] $slots )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :NOT2
   IfVarRange( :NOT2a 3FF 1 [ $no + $pau1 - $slots ] )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :NOT2a
  mifend
 mifend
 mif( $nox )
  IfVarRange( :NOXT 3FF $nox $nox )
  call( :move0 )
  :NOXT
  mif( [ [$nox+1] <= $slots] )
   IfVarRange( :NOXT1 3FF [ $nox + 1 ] [ $nox + 1 ] )
   TransformCall( :move0 0 0 int[ $len * 0.5 ] 0 0 0 0 0 0)
   :NOXT1
  melse
   IfVarRange( :NOXT1 3FF [ $nox + 1 -$slots ] [ $nox + 1 -$slots ] )
   TransformCall( :move0 0 0 int[ $len * 0.5 ] 0 0 0 0 0 0)
   :NOXT1
  mifend
  mif( [ [$nox+$pau1 ] <= $slots] )
   IfVarRange( :NOXT2 3FF [ $nox + 2 ] [ $nox + $pau1 ] )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :NOXT2
  melse
   IfVarRange( :NOXT2 3FF [ $nox + 2 ] $slots )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :NOXT2
   IfVarRange( :NOXT2a 3FF 1 [ $nox + $pau1 - $slots ] )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :NOXT2a
  mifend
 mifend
 mif( $so )
  mif( [ [$so+$pau1] <= $slots] )
   IfVarRange( :NOB2 3FF [ $so + 2 ] [ $so + $pau1 ] )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :NOB2
  melse
   IfVarRange( :NOB2 3FF [ $so + 2 ] $slots )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :NOB2
   IfVarRange( :NOB2a 3FF 1 [ $so + $pau1 - $slots ] )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :NOB2a
  mifend
  mif( [ [$so+$pau2] <= $slots] )
   IfVarRange( :NOB5 3FF [ $so + $pau2 ] [ $so + $pau2 ] )
   TransformCall( :move0 0 0 -$len 0 0 0 0 180 0)
   :NOB5
  melse
   IfVarRange( :NOB5 3FF [ $so + $pau2 -$slots ] [ $so + $pau2 -$slots ] )
   TransformCall( :move0 0 0 -$len 0 0 0 0 180 0)
   :NOB5
  mifend
  mif( [ [$so+$pau2+ 1 ] <= $slots] )
   IfVarRange( :NOB6 3FF [ $so + $pau2 + 1] [ $so + $pau2 + 1 ] )
   TransformCall( :move0 0 0 [-1.5 * $len ] 0 0 0 0 180 0)
   :NOB6
  melse
   IfVarRange( :NOB6 3FF [ $so + $pau2 + 1 -$slots ] [ $so + $pau2 + 1 -$slots ] )
   TransformCall( :move0 0 0 [-1.5 * $len ] 0 0 0 0 180 0)
   :NOB6
  mifend
 mifend
 mif( $sox )
  mif( [ [$sox+$pau1] <= $slots] )
   IfVarRange( :SOB2 3FF [ $sox + 2 ] [ $sox + $pau1 ] )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :SOB2
  melse
   IfVarRange( :SOB2 3FF [ $sox + 2 ] $slots )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :SOB2
   IfVarRange( :SOB2a 3FF 1 [ $sox + $pau1 - $slots ] )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :SOB2a
  mifend
  mif( [ [$sox+$pau2] <= $slots] )
   IfVarRange( :SOB5 3FF [ $sox + $pau2 ] [ $sox + $pau2 ] )
   TransformCall( :move0 0 0 -$len 0 0 0 0 180 0)
   :SOB5
  melse
   IfVarRange( :SOB5 3FF [ $sox + $pau2 -$slots ] [ $sox + $pau2 -$slots ] )
   TransformCall( :move0 0 0 -$len 0 0 0 0 180 0)
   :SOB5
  mifend
  mif( [ [$sox+$pau2+ 1 ] <= $slots] )
   IfVarRange( :SOB6 3FF [ $sox + $pau2 + 1] [ $sox + $pau2 + 1 ] )
   TransformCall( :move0 0 0 [-1.5 * $len ] 0 0 0 0 180 0)
   :SOB6
  melse
   IfVarRange( :SOB6 3FF [ $sox + $pau2 + 1 -$slots ] [ $sox + $pau2 + 1 -$slots ] )
   TransformCall( :move0 0 0 [-1.5 * $len ] 0 0 0 0 180 0)
   :SOB6
  mifend
 mifend
 jump( :nixpylon )
 :east
 mif( $so )
  mif( [ [$so+$pau1] <= $slots] )
   IfVarRange( :NOB2e 3FF [ $so + 2 ] [ $so + $pau1 ] )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :NOB2e
  melse
   IfVarRange( :NOB2e 3FF [ $so + 2 ] $slots )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :NOB2e
   IfVarRange( :NOB2ae 3FF 1 [ $so + $pau1 - $slots ] )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :NOB2ae
  mifend
  mif( [ [$so+$pau2] <= $slots] )
   IfVarRange( :NOB5e 3FF [ $so + $pau2 ] [ $so + $pau2 ] )
   TransformCall( :move0 0 0 -$len 0 0 0 0 180 0)
   :NOB5e
  melse
   IfVarRange( :NOB5e 3FF [ $so + $pau2 -$slots ] [ $so + $pau2 -$slots ] )
   TransformCall( :move0 0 0 -$len 0 0 0 0 180 0)
   :NOB5e
  mifend
  mif( [ [$so+$pau2+ 1 ] <= $slots] )
   IfVarRange( :NOB6e 3FF [ $so + $pau2 + 1] [ $so + $pau2 + 1 ] )
   TransformCall( :move0 0 0 [-1.5 * $len ] 0 0 0 0 180 0)
   :NOB6e
  melse
   IfVarRange( :NOB6e 3FF [ $so + $pau2 + 1 -$slots ] [ $so + $pau2 + 1 -$slots ] )
   TransformCall( :move0 0 0 [-1.5 * $len ] 0 0 0 0 180 0)
   :NOB6e
  mifend
 mifend
 mif( $sox )
  mif( [ [$sox+$pau1] <= $slots] )
   IfVarRange( :SOB2e 3FF [ $sox + 2 ] [ $sox + $pau1 ] )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :SOB2e
  melse
   IfVarRange( :SOB2e 3FF [ $sox + 2 ] $slots )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :SOB2e
   IfVarRange( :SOB2ae 3FF 1 [ $sox + $pau1 - $slots ] )
    TransformCall( :train2 0 0 0 0 0 0 0 180 0 )
   :SOB2ae
  mifend
  mif( [ [$sox+$pau2] <= $slots] )
   IfVarRange( :SOB5e 3FF [ $sox + $pau2 ] [ $sox + $pau2 ] )
   TransformCall( :move0 0 0 -$len 0 0 0 0 180 0)
   :SOB5e
  melse
   IfVarRange( :SOB5e 3FF [ $sox + $pau2 -$slots ] [ $sox + $pau2 -$slots ] )
   TransformCall( :move0 0 0 -$len 0 0 0 0 180 0)
   :SOB5e
  mifend
  mif( [ [$sox+$pau2+ 1 ] <= $slots] )
   IfVarRange( :SOB6e 3FF [ $sox + $pau2 + 1] [ $sox + $pau2 + 1 ] )
   TransformCall( :move0 0 0 [-1.5 * $len ] 0 0 0 0 180 0)
   :SOB6e
  melse
   IfVarRange( :SOB6e 3FF [ $sox + $pau2 + 1 -$slots ] [ $sox + $pau2 + 1 -$slots ] )
   TransformCall( :move0 0 0 [-1.5 * $len ] 0 0 0 0 180 0)
   :SOB6e
  mifend
 mifend
 mif( $no )
  IfVarRange( :NOTe 3FF $no $no )
  call( :move0 )
  :NOTe
  mif( [ [$no+1] <= $slots] )
   IfVarRange( :NOT1e 3FF [ $no + 1 ] [ $no + 1 ] )
   TransformCall( :move0 0 0 int[ $len * 0.5 ] 0 0 0 0 0 0)
   :NOT1e
  melse
   IfVarRange( :NOT1e 3FF [ $no + 1 -$slots ] [ $no + 1 -$slots ] )
   TransformCall( :move0 0 0 int[ $len * 0.5 ] 0 0 0 0 0 0)
   :NOT1e
  mifend
  mif( [ [$no+$pau1 ] <= $slots] )
   IfVarRange( :NOT2e 3FF [ $no + 2 ] [ $no + $pau1 ] )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :NOT2e
  melse
   IfVarRange( :NOT2e 3FF [ $no + 2 ] $slots )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :NOT2e
   IfVarRange( :NOT2ae 3FF 1 [ $no + $pau1 - $slots ] )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :NOT2ae
  mifend
 mifend
 mif( $nox )
  IfVarRange( :SOTe 3FF $nox $nox )
  call( :move0 )
  :SOTe
  mif( [ [$nox+1] <= $slots] )
   IfVarRange( :SOT1e 3FF [ $nox + 1 ] [ $nox + 1 ] )
   TransformCall( :move0 0 0 int[ $len * 0.5 ] 0 0 0 0 0 0)
   :SOT1e
  melse
   IfVarRange( :SOT1e 3FF [ $nox + 1 -$slots ] [ $nox + 1 -$slots ] )
   TransformCall( :move0 0 0 int[ $len * 0.5 ] 0 0 0 0 0 0)
   :SOT1e
  mifend
  mif( [ [$nox+$pau1 ] <= $slots] )
   IfVarRange( :SOT2e 3FF [ $nox + 2 ] [ $nox + $pau1 ] )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :SOT2e
  melse
   IfVarRange( :SOT2e 3FF [ $nox + 2 ] $slots )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :SOT2e
   IfVarRange( :SOT2ae 3FF 1 [ $nox + $pau1 - $slots ] )
    TransformCall( :train2 0 0 0 0 0 0 0 0 0 )
   :SOT2ae
  mifend
 mifend
:nixpylon