#include "chdecl.h"
void CH_pshell_plumber(current, sched, cop)
#define ARGUMENTS 9
#include "chhead.h"
select: switch (SELECTOR) {
    case 0: goto c0;
    case 1: goto cb17;
    case 2: goto c18;
    case 3: goto cb20;
    case 4: goto c21;
    case 5: goto cb25;
    case 6: goto c26;
    case 7: goto c29;
    case 8: goto c34;
    case 9: goto c39;
    case 10: goto cb44;
    case 11: goto c45;
    case 12: goto cb50;
    case 13: goto c51;
    case 14: goto c54;
    case 21: goto c58;
    case 15: goto c58;
    case 16: goto cb61;
    case 17: goto c62;
    case 18: goto cb66;
    case 19: goto c67;
    case 20: goto cb71;
    case 22: goto c73;
    case 25: goto c78;
    case 23: goto c78;
    case 24: goto cb82;
    case 26: goto c84;
    case 27: goto c91;
    case 28: goto cb94;
    case 29: goto c95;
    case 30: goto c99;
    case 31: goto c102;  }
c0:
/* block , 0 */
  if((ch_returncode = che_block(QUAL(0),sched)) != Normal)
     goto ch_raise_exception;
/* prog_lit 3 , 1 */
  if ((ch_returncode = che_prog_lit(DEF(3),QUAL(1),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 4 3 , 2 */
  if ((ch_returncode = che_procedure(DEF(4),DEF(3),QUAL(2),sched)) != Normal)
     goto ch_raise_exception;
/* discard 3 */
  (*(REF(3).tsdr)->finalize)(REF(3).value,F_DISCARD,sched);
  REF(3).tsdr = & dr_bottom;
/* move 5 4 */
  (*(REF(5).tsdr)->finalize)(REF(5).value,F_DISCARD,sched);
  REF(5) = REF(4);
  REF(4).tsdr = & dr_bottom;
/* prog_lit 6 , 3 */
  if ((ch_returncode = che_prog_lit(DEF(6),QUAL(3),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 7 6 , 4 */
  if ((ch_returncode = che_procedure(DEF(7),DEF(6),QUAL(4),sched)) != Normal)
     goto ch_raise_exception;
/* discard 6 */
  (*(REF(6).tsdr)->finalize)(REF(6).value,F_DISCARD,sched);
  REF(6).tsdr = & dr_bottom;
/* move 8 7 */
  (*(REF(8).tsdr)->finalize)(REF(8).value,F_DISCARD,sched);
  REF(8) = REF(7);
  REF(7).tsdr = & dr_bottom;
/* prog_lit 9 , 5 */
  if ((ch_returncode = che_prog_lit(DEF(9),QUAL(5),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 10 9 , 6 */
  if ((ch_returncode = che_procedure(DEF(10),DEF(9),QUAL(6),sched)) != Normal)
     goto ch_raise_exception;
/* discard 9 */
  (*(REF(9).tsdr)->finalize)(REF(9).value,F_DISCARD,sched);
  REF(9).tsdr = & dr_bottom;
/* move 11 10 */
  (*(REF(11).tsdr)->finalize)(REF(11).value,F_DISCARD,sched);
  REF(11) = REF(10);
  REF(10).tsdr = & dr_bottom;
/* prog_lit 12 , 7 */
  if ((ch_returncode = che_prog_lit(DEF(12),QUAL(7),sched)) != Normal) 
     goto ch_raise_exception;
/* procedure 13 12 , 8 */
  if ((ch_returncode = che_procedure(DEF(13),DEF(12),QUAL(8)
    ,sched)) != Normal) goto ch_raise_exception;
/* discard 12 */
  (*(REF(12).tsdr)->finalize)(REF(12).value,F_DISCARD,sched);
  REF(12).tsdr = & dr_bottom;
/* move 14 13 */
  (*(REF(14).tsdr)->finalize)(REF(14).value,F_DISCARD,sched);
  REF(14) = REF(13);
  REF(13).tsdr = & dr_bottom;
  current->ip = 1;
cb17:
/* receive 15 0 */
  if ((ch_returncode = che_receive(DEF(15),DEF(0),sched)) != Normal)
     goto ch_raise_exception;
  return;
c18:
/* chs_lit 16 , "pathLoad" */
  if( !chs_lit(DEF(16),"pathLoad") ) goto ch_depletion;
/* chs_lit 17 , "" */
  if( !chs_lit(DEF(17),"") ) goto ch_depletion;
  current->ip = 3;
cb20:
/* call 15.0.2 16 17 18 , 9 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(15)DOT(0)DOT(2),
          arguments[1] = DEF(16),
          arguments[2] = DEF(17),
          arguments[3] = DEF(18),
          arguments[3+1] = nil,& arguments[0]),QUAL(9),sched)) != Normal)
     goto ch_raise_exception;
  return;
c21:
/* unwrap 19 18 , 10 */
  if ((ch_returncode = che_unwrap(DEF(19),DEF(18),QUAL(10),sched)) != Normal)
     goto ch_raise_exception;
/* block , 11 */
  if((ch_returncode = che_block(QUAL(11),sched)) != Normal)
     goto ch_raise_exception;
/* chs_lit 20 , "username" */
  if( !chs_lit(DEF(20),"username") ) goto ch_depletion;
/* chs_lit 21 , "" */
  if( !chs_lit(DEF(21),"") ) goto ch_depletion;
  current->ip = 5;
cb25:
/* call 15.0.2 20 21 22 , 9 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(15)DOT(0)DOT(2),
          arguments[1] = DEF(20),
          arguments[2] = DEF(21),
          arguments[3] = DEF(22),
          arguments[3+1] = nil,& arguments[0]),QUAL(9),sched)) != Normal)
     goto ch_raise_exception;
  return;
c26:
/* unwrap 23 22 , 12 */
  if ((ch_returncode = che_unwrap(DEF(23),DEF(22),QUAL(12),sched)) != Normal)
     goto ch_raise_exception;
/* endblock */
  che_endblock(sched);
/* branch , 34 */
   goto c34;
c29:
/* discard 20 */
  (*(REF(20).tsdr)->finalize)(REF(20).value,F_DISCARD,sched);
  REF(20).tsdr = & dr_bottom;
/* discard 21 */
  (*(REF(21).tsdr)->finalize)(REF(21).value,F_DISCARD,sched);
  REF(21).tsdr = & dr_bottom;
/* discard 22 */
  (*(REF(22).tsdr)->finalize)(REF(22).value,F_DISCARD,sched);
  REF(22).tsdr = & dr_bottom;
/* chs_lit 23 , "anonymous" */
  if( !chs_lit(DEF(23),"anonymous") ) goto ch_depletion;
c34:
/* discard 20 */
  (*(REF(20).tsdr)->finalize)(REF(20).value,F_DISCARD,sched);
  REF(20).tsdr = & dr_bottom;
/* discard 21 */
  (*(REF(21).tsdr)->finalize)(REF(21).value,F_DISCARD,sched);
  REF(21).tsdr = & dr_bottom;
/* new_table 24 , 13 */
  if ((ch_returncode = che_new_table(DEF(24),QUAL(13),sched)) != Normal) 
     goto ch_raise_exception;
/* copy 25 15.1 */
  if((ch_returncode = cp_table(& ch_val, REF(15)DOT(1).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(25).tsdr)->finalize)(REF(25).value,F_DISCARD,sched);
  REF(25).value = ch_val;
  REF(25).tsdr = & dr_table;
/* initget 26 25 , 0,0 */
  (*(REF(26).tsdr)->finalize)(REF(26).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(26),DEF(25),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c39:
/* get_or_goto 26 25 , 54 */
  if ((ch_returncode = get_selected_object(DEF(26),DEF(25),sched)) != Normal)
     goto c54;
/* discard 27 */
  (*(REF(27).tsdr)->finalize)(REF(27).value,F_DISCARD,sched);
  REF(27).tsdr = & dr_bottom;
/* new_record 28 , 3 */
  if ((ch_val.record = new_record(3)) == nil) goto ch_depletion;
  (*(REF(28).tsdr)->finalize)(REF(28).value,F_DISCARD,sched);
  REF(28).value = ch_val; REF(28).tsdr = & dr_record;
/* copy 28.0 26.0 */
  if((ch_returncode = (REF(26)DOT(0).tsdr->copy)(& ch_val, REF(26)DOT(0).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(28)DOT(0).tsdr)->finalize)(REF(28)DOT(0).value,F_DISCARD,sched);
  REF(28)DOT(0).value = ch_val;
  REF(28)DOT(0).tsdr = datarepmap[REF(26)DOT(0).tsdr->number];
/* new_table 27 , 14 */
  if ((ch_returncode = che_new_table(DEF(27),QUAL(14),sched)) != Normal) 
     goto ch_raise_exception;
  current->ip = 10;
cb44:
/* call 8 23 29 , 15 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(8),
          arguments[1] = DEF(23),
          arguments[2] = DEF(29),
          arguments[2+1] = nil,& arguments[0]),QUAL(15),sched)) != Normal)
     goto ch_raise_exception;
  return;
c45:
/* move 28.2 29 */
  (*(REF(28)DOT(2).tsdr)->finalize)(REF(28)DOT(2).value,F_DISCARD,sched);
  REF(28)DOT(2) = REF(29);
  REF(29).tsdr = & dr_bottom;
/* copy 30 28.2 */
  if((ch_returncode = (REF(28)DOT(2).tsdr->copy)(& ch_val, REF(28)DOT(2).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(30).tsdr)->finalize)(REF(30).value,F_DISCARD,sched);
  REF(30).value = ch_val;
  REF(30).tsdr = datarepmap[REF(28)DOT(2).tsdr->number];
/* insert 27 30 */
  if ((ch_returncode = insertfunc(DEF(27),DEF(30),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* copy 31 15.3 */
  if((ch_returncode = (REF(15)DOT(3).tsdr->copy)(& ch_val, REF(15)DOT(3).value
    )) != Normal) goto ch_raise_exception;
  (*(REF(31).tsdr)->finalize)(REF(31).value,F_DISCARD,sched);
  REF(31).value = ch_val;
  REF(31).tsdr = datarepmap[REF(15)DOT(3).tsdr->number];
/* insert 27 31 */
  if ((ch_returncode = insertfunc(DEF(27),DEF(31),FALSE,0)) != Normal)
     goto ch_raise_exception;
  current->ip = 12;
cb50:
/* call 11 27 15.3 32 , 16 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(11),
          arguments[1] = DEF(27),
          arguments[2] = DEF(15)DOT(3),
          arguments[3] = DEF(32),
          arguments[3+1] = nil,& arguments[0]),QUAL(16),sched)) != Normal)
     goto ch_raise_exception;
  return;
c51:
/* move 28.1 32 */
  (*(REF(28)DOT(1).tsdr)->finalize)(REF(28)DOT(1).value,F_DISCARD,sched);
  REF(28)DOT(1) = REF(32);
  REF(32).tsdr = & dr_bottom;
/* insert 24 28 */
  if ((ch_returncode = insertfunc(DEF(24),DEF(28),FALSE,0)) != Normal)
     goto ch_raise_exception;
/* branch , 39 */
   goto c39;
c54:
/* endget 26 25 */
  end_selector(DEF(26),DEF(25),sched,GET);
/* discard 25 */
  (*(REF(25).tsdr)->finalize)(REF(25).value,F_DISCARD,sched);
  REF(25).tsdr = & dr_bottom;
/* copy 33 15.2 */
  if((ch_returncode = cp_table(& ch_val, REF(15)DOT(2).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(33).tsdr)->finalize)(REF(33).value,F_DISCARD,sched);
  REF(33).value = ch_val;
  REF(33).tsdr = & dr_table;
/* initget 34 33 , 0,0 */
  (*(REF(34).tsdr)->finalize)(REF(34).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(34),DEF(33),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c72:
c58:
/* get_or_goto 34 33 , 73 */
  if ((ch_returncode = get_selected_object(DEF(34),DEF(33),sched)) != Normal)
     goto c73;
/* discard 35 */
  (*(REF(35).tsdr)->finalize)(REF(35).value,F_DISCARD,sched);
  REF(35).tsdr = & dr_bottom;
/* discard 36 */
  (*(REF(36).tsdr)->finalize)(REF(36).value,F_DISCARD,sched);
  REF(36).tsdr = & dr_bottom;
  current->ip = 16;
cb61:
/* call 14 19 35 36 , 17 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(14),
          arguments[1] = DEF(19),
          arguments[2] = DEF(35),
          arguments[3] = DEF(36),
          arguments[3+1] = nil,& arguments[0]),QUAL(17),sched)) != Normal)
     goto ch_raise_exception;
  return;
c62:
/* find 37 15.1 34.1 , 0 */
  if (findfunc(DEF(37),DEF(15)DOT(1),(
          arguments[0] = DEF(34)DOT(1),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* find 38 37.5 34.0 , 1 */
  if (findfunc(DEF(38),DEF(37)DOT(5),(
          arguments[0] = DEF(34)DOT(0),& arguments[0]),sched,1) == FAILURE)
             goto ch_notfound;
/* find 39 24 34.1 , 0 */
  if (findfunc(DEF(39),DEF(24),(
          arguments[0] = DEF(34)DOT(1),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* wrap 40 41 , 18 */
  if ((ch_returncode = che_wrap(DEF(40),DEF(41),QUAL(18),sched)) != Normal)
     goto ch_raise_exception;
  current->ip = 18;
cb66:
/* call 39.2.1 38.0 40 35 , 19 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(39)DOT(2)DOT(1),
          arguments[1] = DEF(38)DOT(0),
          arguments[2] = DEF(40),
          arguments[3] = DEF(35),
          arguments[3+1] = nil,& arguments[0]),QUAL(19),sched)) != Normal)
     goto ch_raise_exception;
  return;
c67:
/* find 42 15.1 34.2 , 0 */
  if (findfunc(DEF(42),DEF(15)DOT(1),(
          arguments[0] = DEF(34)DOT(2),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* find 43 42.4 34.0 , 1 */
  if (findfunc(DEF(43),DEF(42)DOT(4),(
          arguments[0] = DEF(34)DOT(0),& arguments[0]),sched,1) == FAILURE)
             goto ch_notfound;
/* find 44 24 34.2 , 0 */
  if (findfunc(DEF(44),DEF(24),(
          arguments[0] = DEF(34)DOT(2),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* wrap 40 41 , 18 */
  if ((ch_returncode = che_wrap(DEF(40),DEF(41),QUAL(18),sched)) != Normal)
     goto ch_raise_exception;
  current->ip = 20;
cb71:
/* call 44.2.1 43.0 40 36 , 19 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(44)DOT(2)DOT(1),
          arguments[1] = DEF(43)DOT(0),
          arguments[2] = DEF(40),
          arguments[3] = DEF(36),
          arguments[3+1] = nil,& arguments[0]),QUAL(19),sched)) != Normal)
     goto ch_raise_exception;
  return;
c73:
/* endget 34 33 */
  end_selector(DEF(34),DEF(33),sched,GET);
/* discard 33 */
  (*(REF(33).tsdr)->finalize)(REF(33).value,F_DISCARD,sched);
  REF(33).tsdr = & dr_bottom;
/* new_inport 45 */
  if ((ch_val.inport = make_inport()) == nil) goto ch_depletion;
  (*(REF(45).tsdr)->finalize)(REF(45).value,F_DISCARD,sched);
  REF(45).value = ch_val; REF(45).tsdr = & dr_inport;
/* copy 46 15.1 */
  if((ch_returncode = cp_table(& ch_val, REF(15)DOT(1).value)) != Normal)
     goto ch_raise_exception;
  (*(REF(46).tsdr)->finalize)(REF(46).value,F_DISCARD,sched);
  REF(46).value = ch_val;
  REF(46).tsdr = & dr_table;
/* initget 47 46 , 0,0 */
  (*(REF(47).tsdr)->finalize)(REF(47).value,F_DISCARD,sched);
  if ((ch_returncode = init_selector(DEF(47),DEF(46),nil,sched,GET,0,0
    )) != Normal) goto ch_raise_exception;
c83:
c78:
/* get_or_goto 47 46 , 84 */
  if ((ch_returncode = get_selected_object(DEF(47),DEF(46),sched)) != Normal)
     goto c84;
/* discard 48 */
  (*(REF(48).tsdr)->finalize)(REF(48).value,F_DISCARD,sched);
  REF(48).tsdr = & dr_bottom;
/* find 49 24 47.0 , 0 */
  if (findfunc(DEF(49),DEF(24),(
          arguments[0] = DEF(47)DOT(0),& arguments[0]),sched,0) == FAILURE)
             goto ch_notfound;
/* connect 48 45 */
  if (REF(45).value.inport->refcount == MAXCOUNTER) goto ch_depletion;
  (*(REF(48).tsdr)->finalize)(REF(48).value,F_DISCARD,sched);
  REF(45).value.inport->refcount++;
  REF(48).value.outport = REF(45).value.inport;
  REF(48).tsdr = & dr_outport;
  current->ip = 24;
cb82:
/* call 5 47.1 47.2 47.3 49.1 48 15.4 , 20 */
  if ((ch_returncode = che_call((
          arguments[0] = DEF(5),
          arguments[1] = DEF(47)DOT(1),
          arguments[2] = DEF(47)DOT(2),
          arguments[3] = DEF(47)DOT(3),
          arguments[4] = DEF(49)DOT(1),
          arguments[5] = DEF(48),
          arguments[6] = DEF(15)DOT(4),
          arguments[6+1] = nil,& arguments[0]),QUAL(20),sched)) != Normal)
     goto ch_raise_exception;
  return;
c84:
/* endget 47 46 */
  end_selector(DEF(47),DEF(46),sched,GET);
/* discard 46 */
  (*(REF(46).tsdr)->finalize)(REF(46).value,F_DISCARD,sched);
  REF(46).tsdr = & dr_bottom;
/* discard 24 */
  (*(REF(24).tsdr)->finalize)(REF(24).value,F_DISCARD,sched);
  REF(24).tsdr = & dr_bottom;
/* not 50 15.4 */
  REF(50).value.boolean = !REF(15)DOT(4).value.boolean;
  REF(50).tsdr = & dr_boolean;
/* branch_false 50 , 99 */
  if ( !REF(50).value.boolean ) goto c99;
/* ilit 51 , 0 */
  REF(51).value.integer = 0;
  REF(51).tsdr = & dr_integer;
c91:
/* size 52 15.1 */
  REF(52).value.integer = REF(15)DOT(1).value.table->size;
  REF(52).tsdr = & dr_integer;
/* ige . 51 52 , 99 */
  if ( REF(51).value.integer >= REF(52).value.integer ) goto c99;
  current->ip = 28;
cb94:
/* receive 53 45 */
  if ((ch_returncode = che_receive(DEF(53),DEF(45),sched)) != Normal)
     goto ch_raise_exception;
  return;
c95:
/* noop */
  
/* iadd 51 51 =(1) */
  if (!chf_iadd(DEF(51),REF(51).value.integer,1)) goto ch_depletion;
/* branch , 91 */
   goto c91;
c99:
/* return 15 */
  if (ch_caller = do_return(REF(15).value)) {
    if (ch_caller->type < CProcess) ch_caller->ip++;
      sched->wakeup_proc(sched, ch_caller);}
  else rem_return(REF(15).value);
  REF(15).tsdr = & dr_bottom;
/* endblock */
  che_endblock(sched);
c102:
/* endprocess */
  che_endprocess(sched); return;
#include "chtail.h"
