<statemachine id="SelectionMachine.PageMachine.SyncMachine.PlaybackMachine">
  <initialstate id="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}"/>
  <variables>
    <field id="SyncPointL" type="number" value="-1"/>
    <field id="HoverStart" type="number" value="-1"/>
    <field id="SyncPointR" type="number" value="-1"/>
    <field id="SelStart" type="number" value="-1"/>
    <field id="SelId" type="number" value="-1"/>
    <field id="SmoothParam" type="number" value="0"/>
    <field id="HoverEnd" type="number" value="-1"/>
    <field id="HoverParam" type="number" value="-1"/>
    <field id="HoverId" type="number" value="-1"/>
    <field id="SelParam" type="number" value="-1"/>
    <field id="PageIndex" type="number" value="-1"/>
    <field id="SelEnd" type="number" value="-1"/>
  </variables>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="NOHOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="NOSEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYING}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PAUSED}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELACTIONS"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{NOSEL,NOHOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.UNSEL">
        <transition guard="true" target="{NOSEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;"/>
      </event>
      <event id="SELECTION.UNHOVER">
        <transition guard="true" target="{SEL,NOHOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;"/>
      </event>
      <event id="SELECTION.HOVER">
        <transition guard="variables.SelParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
        <transition guard="variables.SelParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.HoverStart=variables.selectionPoints[PARAM].start;result.HoverEnd=variables.selectionPoints[PARAM].end;result.HoverId=variables.selectionPoints[PARAM].id; result.HoverParam=PARAM;"/>
      </event>
      <event id="SELECTION.INVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SELECTION.SEL">
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam!=PARAM" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
        <transition guard="variables.HoverParam==PARAM" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=variables.selectionPoints[PARAM].start;result.SelEnd=variables.selectionPoints[PARAM].end;result.SelId=variables.selectionPoints[PARAM].id; result.SelParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{NOSEL,NOHOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,STOPPED}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{NOSEL,NOHOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SelStart=-1;result.SelEnd=-1;result.SelId=-1;result.HoverStart=-1;result.HoverEnd=-1;result.HoverId=-1;result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELACTIONS,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELACTIONS,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELACTIONS,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="NOPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="NOPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,NOPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,NOPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="FIRSTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="FIRSTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,FIRSTPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="MIDDLEPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="MIDDLEPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.NEXT">
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex&lt;12;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex+1;"/>
        <transition guard="variables.PageIndex==12;" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex+1;"/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="LASTPAGE"/>
    <string value="NOSYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="STOPPED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYING"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYING}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYING}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYING}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYING}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PAUSED"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PAUSED}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PAUSED}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PAUSED}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.PLAYPAUSE">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYING}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PAUSED}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PAUSED}" actions=""/>
      </event>
    </transitiontable>
  </state>
  <state>
    <string value="SEL"/>
    <string value="HOVER"/>
    <string value="SELINVESTIGATE"/>
    <string value="LASTPAGE"/>
    <string value="SYNC"/>
    <string value="PLAYINGSEL"/>
    <transitiontable>
      <event id="SELECTION.UNINVESTIGATE">
        <transition guard="true" target="{SEL,HOVER,LASTPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SMOOTH">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SmoothParam=PARAM;"/>
      </event>
      <event id="SELECTION.PLAY">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYINGSEL}" actions=""/>
      </event>
      <event id="SYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,PLAYINGSEL}" actions="result.SyncPointL=variables.syncPoints[PARAM];result.SyncPointR=variables.syncPoints[PARAM+1];result.SmoothParam=0;"/>
      </event>
      <event id="PLAYBACK.STOP">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PLAYBACK.SNIPPETEND">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,STOPPED}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,SYNC,STOPPED}" actions=""/>
      </event>
      <event id="PAGE.PREVIOUS">
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex>1;" target="{SEL,HOVER,SELINVESTIGATE,MIDDLEPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,NOSYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,STOPPED}" actions="result.PageIndex=variables.PageIndex-1;"/>
        <transition guard="variables.PageIndex==1;" target="{SEL,HOVER,SELINVESTIGATE,FIRSTPAGE,SYNC,PLAYINGSEL}" actions="result.PageIndex=variables.PageIndex-1;"/>
      </event>
      <event id="UNSYNC">
        <transition guard="true" target="{SEL,HOVER,SELINVESTIGATE,LASTPAGE,NOSYNC,PLAYINGSEL}" actions=""/>
      </event>
    </transitiontable>
  </state>
</statemachine>