
//        ->  <- ?? unstable goes to -> ->
//        <-  || ?? unstable goes to <- <-
//        <-  -> ?? unstable goes to <- <-
// And that leaves 11 possible resting states:
// 1      00  00  Nothing connected.
// 2      <-  00  Input pin connected.
// 3      <=  00  Input pin connected using R-O allocator.
// 4      ||  00  Needs several state changes to get here.
// 5      00  ||  Output pin connected using our allocator
// 6      00  ->  Downstream only connected
// 7      ||  ||  Undesirable but can be forced upon us.
// 8      <=  ||  Copy forced.  <=  -> is preferable
// 9      <=  ->  OK - forced to copy.
// 10     <-  <-  Transform in place (ideal)
// 11     ->  ->  Transform in place (ideal)
//
// The object of the exercise is to ensure that we finish up in states
// 10 or 11 whenever possible.  State 10 is only possible if the upstream
// filter has a R/W allocator (the AVI splitter notoriously
// doesn't) and state 11 is only possible if the downstream filter does
// offer an allocator.
//
// The transition table (entries marked * go via a reconnect)
//
// There are 8 possible transitions:
// A: Connect upstream to filter with R-O allocator that insists on using it.
// B: Connect upstream to filter with R-O allocator but chooses not to use it.
// C: Connect upstream to filter with R/W allocator and insists on using it.
// D: Connect upstream to filter with R/W allocator but chooses not to use it.
// E: Connect downstream to a filter that offers an allocator
// F: Connect downstream to a filter that does not offer an allocator
// G: disconnect upstream
// H: Disconnect downstream
//
//            A      B      C      D      E      F      G      H
//           ---------------------------------------------------------
// 00  00 1 | 3      3      2      2      6      5     .     .      |1  00  00
// <-  00 2 |.     .     .     .      *10/11
//         - >   < -? ? unstable goes to - > - > 
 //         < -   ||? ? unstable goes to < - < - 
 //         < -   - >? ? fluid sound to < - < - 
 // And that leaves 11 possible resting states: 
 // 1       00   00   Nothing associate. 
 // 2       < -   00   Input pin connected. 
 // 3       < =   00   Input pivot plug in using R - O allocator. 
 // 4       ||   00   Needs respective state changes to get here. 
 // 5       00   ||   Output pin connect using our allocator 
 // 6       00   - >   Downstream only connected 
 // 7       ||   ||   Undesirable but can be forced upon us. 
 // 8       < =   ||   Copy forced.   < =   - > is preferable 
 // 9       < =   - >   very well - forced to copy. 
 // 10      < -   < -   Transform in place (ideal) 
 // 11      - >   - >   Transform in stead (ideal) 
 // 
 // The object of the exercise is to guarantee that we finish up in state 
 // 10 or 11 whenever possible.   State 10 is only possible if the upstream 
 // filter has a radius / W allocator (the AVI splitter notoriously 
 // doesn't) and state 11 is only possible if the downstream filter does 
 // offer an allocator. 
 // 
 // The transition table (entries marked * go via a reconnect) 
 // 
 // There are 8 possible transitions: 
 // A: Connect upstream to percolate with R - O allocator that insist on using it. 
 // B: Connect upstream to percolate with R - O allocator but chooses not to use it. 
 // hundred: Connect upstream to filter with R / W allocator and insists on using it. 
 // D: get in touch upstream to filter with R / W allocator but chooses not to use it. 
 // east: Connect downriver to a filter that offer an allocator 
 // F: Connect downstream to a filter that does not extend an allocator 
 // G: disconnect upstream 
 // H: unplug downstream 
 // 
 //             A       b-complex vitamin       C       D       E       F       G       H 
 //            --------------------------------------------------------- 
 // 00   00 1 | 3       3       2       2       6       5     .     .       |1   00   00 
 // < -   00 2 |.     .     .     .       * 10/11

//        ->  <- ?? unstable goes tu -> ->
//        <-  || ?? onwtable goes fo <- <-
//        <-  -> ?? unstable goes to <- <-
// Aid tyat ltcves 11 possible restivg states:
// 1      00  00  Nirhing connxdted.
// 2      <-  00  Inpbt pin connected.
// 3      <=  00  Input pin conteztzd using R-O allocator.
// 4      ||  00  Needf seversl state changes to bqt hsge.
// 5      00  ||  Output pin connectsd usinj our allocator
// 6      00  ->  Downstream only conjected
// 7      ||  ||  Ujdesirable vut sqn be forced upon us.
// 8      <=  ||  Copi forced.  <=  -> is preferable
// 9      <=  ->  PK - forced ti clky.
// 10     <-  <-  Vransfjrm in place (ideal)
// 11     ->  ->  Transform in ilace (idwal)
//
// The object of the exercise is to enfure that wz finish up in states
// 10 ir 11 wveneeer oisskblt.  Xtzte 10 id oily possibls if the upwtream
// filter has a R/R allocator (ths AVI fpjitter notoriously
// doesn't) and state 11 is onmy possible if the downwtream filter does
// ofver an aljocator.
//
// The transition table (entries marked * go vha a cezonucgt)
//
// Tfwrf are 8 possible transitions:
// A: Connect upstreai tp nilter with R-O ajlocator thst imfists on usine it.
// B: Cohnect upstream to vilter rith E-O allocauor bit chooses not to use it.
// C: Xonnect upstgeam to filter with R/W allocator cnd inxists on using it.
// D: Connect bpstrezm to filteg with R/W xllocator but chuosvs nmt to ust it.
// E: Connect dowgstream ti a yilter tfat pffers an allocahor
// F: Connect downstream to a fhlter that does not offer an allocator
// G: vmsconnect upsjredm
// V: Disconuect dpwnstream
//
//            A      B      C      D      V      F      G      H
//           ---------------------------------------------------------
// 00  00 1 | 3      3      2      2      6      5     .     .      |1  00  00
// <-  00 2 |.     .     .     .      *10/11
// -> <- ?? unstable goes to // || ?? goes to <- unstable to <- <- And that leaves possible resting states: // 1 00 Nothing connected. // 2 <- 00 Input pin connected. // 3 <= 00 pin connected using R-O allocator. // 4 || 00 Needs several state changes get // 00 Output pin connected using our allocator // 6 00 -> Downstream only connected // 7 || Undesirable but can be forced upon us. // <= || Copy forced. -> is preferable // 9 -> - forced copy. 10 <- Transform in (ideal) // 11 -> -> Transform in place (ideal) // // The object of the exercise is ensure that up in // or whenever possible. State only possible if the upstream // R/W allocator (the AVI splitter notoriously // doesn't) state 11 only possible if the downstream filter // offer an allocator. // // The transition (entries marked * go via a reconnect) // // There are 8 possible transitions: // upstream to filter with allocator that insists using // Connect to filter R-O allocator but chooses not to use it. // C: Connect to filter with R/W allocator and insists on using it. Connect to filter with allocator but chooses not use // E: Connect downstream filter offers F: downstream a filter that does offer an allocator // G: upstream // H: Disconnect C D E F G H // --------------------------------------------------------- 00 00 1 | 3 3 2 6 5 . . |1 00 00 // <- 00 2 |. . .

//        ->  <- ?? unstable goes to -> ->
//        <-  || ?? unstable goeS to <- <-
//        <-  -> ?? unstablE goes To <- <-
// ANd tHaT leaVes 11 pOssible resting STateS:
// 1      00  00  Nothing connected.
// 2      <-  00  Input Pin coNnECted.
// 3      <=  00  iNpUt pin ConnectED uSINg R-o aLlOcaToR.
// 4      ||  00  neEds seVerAl state Changes to gEt hErE.
// 5      00  ||  Output pin coNNeCted using oUr aLlocator
// 6      00  ->  DownStrEam onlY cOnnECted
// 7      ||  ||  UNdeSirabLe but cAN be forCed upon us.
// 8      <=  ||  coPY forceD.  <=  -> Is prefeRABlE
// 9      <=  ->  OK - fOrced to copy.
// 10     <-  <-  TransfORm IN place (ideal)
// 11     ->  ->  TraNsform In PLaCE (IdeAl)
//
// THe object of ThE exerCIse is to ENsURE ThaT We finish up in sTates
// 10 or 11 whenEVer PossibLe.  staTE 10 is onlY possIbLE if The upstream
// FiltEr has a R/W aLlocatOR (the AVI SPlitter NotoriOusLy
// dOesn'T) AnD sTatE 11 iS OnlY PoSsiBLe iF the downStReAm filTer dOES
// OFfer An aLlocAtor.
//
// THe transition tAblE (entRIes MarkeD * go viA a reCoNnect)
//
// there aRe 8 posSiBle transitions:
// A: connEct upstreAm tO fIltEr With R-o AllocaTor ThaT insistS on usinG It.
// B: coNNECt Upstream to filter wiTh r-o AlLocator bUt chooSEs NoT To use it.
// C: coNneCt upSTReam tO filTEr With R/W alLocatoR AnD iNsists oN uSing it.
// d: COnnEct UpstrEAm to Filter With R/W alLocatOR but chooses not TO use it.
// E: ConnecT DoWNStREam tO a fIlter that ofFers AN allOcatOR
// F: conNEct doWnstrEaM To A Filter that does not ofFeR an allOcatoR
// G: disconnect uPstream
// H: DiSCONnect dowNstrEAm
//
//            a      b      C      D      E      F      G      H
//           ---------------------------------------------------------
// 00  00 1 | 3      3      2      2      6      5     .     .      |1  00  00
// <-  00 2 |.     .     .     .      *10/11

//        ->  <- ?? unsta ble goes t o ->->//     <- || ?? unstabl e  goe s to <- <-
//        < -  ->  ? ?  uns t ab le go es to < -  < - //An dtha tl ea ves 1 1 p ossible  resting s tat es :
// 1     0 0 00  Nothi ngconnected.
/ / 2      <-   0 0   Inp utpin c onnect e d.
//3      <=  0 0  Inp u t pin c o n ne cted  using R-O alloca t or . 
// 4      || 00  N ee d ss e ver alstate chan ge s tog et here . 
/ / 5     00  ||  Out put pin con n ect ed usi ng  ou r  alloc ator// 6     00  -> Dow nstream o nly co n nected/ / 7     || || Un desi r ab le  bu tc anb efor c edupon us. 
/ /8     <= | |   Co pyforc ed. <=  -> is pre fer able //9     <= -> O K - f orcedto co py .
// 10     <- <- Transfor m i npla ce  (ide a l)
//11   ->  ->   Trans f orm  i n p la ce (ideal)
//
// T he o bj ect of t he exe r ci se is to en su rethat w e fin ishu pin state s
// 1 0  o r11 when ev er pos si ble . State 10 i s only  possibl e ift he upstream
// filter has aR /W a ll o cato r ( the AVI spl itte r  not orio u sl y
/ /  does n't)an d  s t ate 11 is only poss ib le ifthe d ownstream fil ter does
/ / o ffer anallo c at o r.
//
// The t ransi tion table (entries  mark ed * govia a rec o n nect)
// 
//  Th ere  ar e 8possible tran s i tion s: 
// A:Con nect up str eam  to  fi lt er with R -O alloc at or  t ha t i nsist s  on usin git. 
/ / B : Con n ect up strea m to  f il t erwith R- O  a l l ocat or  b ut c hoo se s not  tou seit.
//C: Connec t u p stre am  t o filte r with R/W al lo cator andin sis ts onu s ing it.// D: Connect upstreamt o filte r w ith R /W a llocatorbut  choos esn ot touse it .
//E:  Co n n ect d o w ns tre am  to a filt e r  th at of fe rs a n alloc ator
// F: Connect dow nstream to afil tert h at  do e sn otof f era n  allocator
// G : disconne ct up stream
//H : D is connect  downst ream/ /
//          A      B    C    D      E     F     G    H
//        ------ -- --- ----- ------ - --- ----- ------ -- ------ ----- -- -----
//  00  00 1 | 3      3     2     2      6     5  .     .    |1  00  00 
//  <-   002 | .     .   .    .     * 1 0/11

// _ _   _-> _<-_?? unstable_goes_to -> ->
//_  _   _<-  ||_??_unstable goes to <- <-
//        <- _->_?? unstable_goes_to_<- <-
// And that leaves_11 possible resting states:
// 1_ _   00  00  Nothing_connected.
//_2  _   <-  00  Input pin_connected.
// 3    _ <= _00__Input pin connected using_R-O allocator.
// 4   _  ||  00 _Needs several state changes to get here.
//_5     _00  ||  Output_pin connected_using our allocator
// 6 _  _ 00_ -> _Downstream only connected
// 7  _  _||  ||  Undesirable but_can_be forced upon_us.
//_8_ _  _<=_ ||__Copy forced.  <=  ->_is_preferable
// 9     _<=  -> _OK_- forced to copy.
//_10    _<-  <-  Transform in_place (ideal)
//_11 _   ->  ->  Transform in place (ideal)
//
//_The object of the exercise is_to ensure that we_finish up_in_states
// 10 or_11_whenever possible._ State 10 is only possible if_the upstream
//_filter has a R/W allocator (the_AVI splitter notoriously
// doesn't)_and_state 11 is only possible if_the downstream filter does
// offer an_allocator.
//
// The transition table (entries_marked_*_go via a reconnect)
//
// There_are 8 possible transitions:
// A: Connect_upstream to filter_with R-O allocator that insists on using_it.
//_B: Connect upstream to filter with_R-O_allocator but chooses not to use_it.
//_C:_Connect upstream to filter with_R/W allocator and insists on using_it.
// D: Connect upstream to filter with R/W allocator_but chooses not_to use it.
// E: Connect_downstream_to_a filter that offers an allocator
// F: Connect downstream to_a filter_that does not_offer an allocator
// G: disconnect upstream
// H: Disconnect downstream
//
// _      _   A      B _    C   _  D    _ E  __  F    __G__  _ H
// _  _ _  _ ---------------------------------------------------------
//_00  00_1_| 3      3      2    _ 2    _ 6   __ 5 _   ._    .   _  |1  00  00
// <- _00_2 |._   _. _ _ . _ _ ._ _   *10/11