ROOT logo

/* Result Sets Interface */
#ifndef SQL_CRSR
#  define SQL_CRSR
  struct sql_cursor
  {
    unsigned int curocn;
    void *ptr1;
    void *ptr2;
    unsigned int magic;
  };
  typedef struct sql_cursor sql_cursor;
  typedef struct sql_cursor SQL_CURSOR;
#endif /* SQL_CRSR */

/* Thread Safety */
typedef void * sql_context;
typedef void * SQL_CONTEXT;

/* Object support */
struct sqltvn
{
  unsigned char *tvnvsn; 
  unsigned short tvnvsnl; 
  unsigned char *tvnnm;
  unsigned short tvnnml; 
  unsigned char *tvnsnm;
  unsigned short tvnsnml;
};
typedef struct sqltvn sqltvn;

struct sqladts
{
  unsigned int adtvsn; 
  unsigned short adtmode; 
  unsigned short adtnum;  
  sqltvn adttvn[1];       
};
typedef struct sqladts sqladts;

static struct sqladts sqladt = {
  1,1,0,
};

/* Binding to PL/SQL Records */
struct sqltdss
{
  unsigned int tdsvsn; 
  unsigned short tdsnum; 
  unsigned char *tdsval[1]; 
};
typedef struct sqltdss sqltdss;
static struct sqltdss sqltds =
{
  1,
  0,
};

/* File name & Package Name */
struct sqlcxp
{
  unsigned short fillen;
           char  filnam[17];
};
static const struct sqlcxp sqlfpn =
{
    16,
    "hemcparora2io.pc"
};


static unsigned int sqlctx = 4706083;


static struct sqlexd {
   unsigned long  sqlvsn;
   unsigned int   arrsiz;
   unsigned int   iters;
   unsigned int   offset;
   unsigned short selerr;
   unsigned short sqlety;
   unsigned int   occurs;
      const short *cud;
   unsigned char  *sqlest;
      const char  *stmt;
   sqladts *sqladtp;
   sqltdss *sqltdsp;
   unsigned char  **sqphsv;
   unsigned long  *sqphsl;
            int   *sqphss;
            short **sqpind;
            int   *sqpins;
   unsigned long  *sqparm;
   unsigned long  **sqparc;
   unsigned short  *sqpadto;
   unsigned short  *sqptdso;
   unsigned int   sqlcmax;
   unsigned int   sqlcmin;
   unsigned int   sqlcincr;
   unsigned int   sqlctimeout;
   unsigned int   sqlcnowait;
            int   sqfoff;
   unsigned int   sqcmod;
   unsigned int   sqfmod;
   unsigned int   sqlpfmem;
   unsigned char  *sqhstv[11];
   unsigned long  sqhstl[11];
            int   sqhsts[11];
            short *sqindv[11];
            int   sqinds[11];
   unsigned long  sqharm[11];
   unsigned long  *sqharc[11];
   unsigned short  sqadto[11];
   unsigned short  sqtdso[11];
} sqlstm = {13,11};

// Prototypes
extern "C" {
  void sqlcxt (void **, unsigned int *,
               struct sqlexd *, const struct sqlcxp *);
  void sqlcx2t(void **, unsigned int *,
               struct sqlexd *, const struct sqlcxp *);
  void sqlbuft(void **, char *);
  void sqlgs2t(void **, char *);
  void sqlorat(void **, unsigned int *, void *);
}

// Forms Interface
static const int IAPSUCC = 0;
static const int IAPFAIL = 1403;
static const int IAPFTL  = 535;
extern "C" { void sqliem(unsigned char *, signed int *); }

typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
typedef struct { unsigned short len; unsigned char arr[1]; } varchar;

/* cud (compilation unit data) array */
static const short sqlcud0[] =
{13,4130,1,0,0,
5,0,0,1,167,0,4,113,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
36,0,0,2,163,0,4,121,0,0,4,1,0,1,0,2,3,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
67,0,0,3,134,0,4,159,0,0,6,1,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,2,3,0,0,1,3,
0,0,
106,0,0,4,220,0,4,207,0,0,11,1,0,1,0,2,3,0,0,2,3,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,
4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,2,4,0,0,1,3,0,0,
165,0,0,5,88,0,4,274,0,0,2,0,0,1,0,2,3,0,0,2,9,0,0,
188,0,0,6,108,0,4,319,0,0,2,0,0,1,0,2,3,0,0,2,9,0,0,
211,0,0,7,242,0,6,419,0,0,5,5,0,1,0,3,3,0,0,1,3,0,0,1,3,0,0,1,97,0,0,1,97,0,0,
246,0,0,8,238,0,6,429,0,0,5,5,0,1,0,3,3,0,0,1,3,0,0,1,3,0,0,1,97,0,0,1,97,0,0,
281,0,0,9,162,0,3,483,0,0,6,6,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,3,0,0,1,
3,0,0,
320,0,0,10,228,0,3,550,0,0,11,11,0,1,0,1,3,0,0,1,3,0,0,1,3,0,0,1,4,0,0,1,4,0,0,
1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,1,4,0,0,
};


//_HADES_CLASS_DESCRIPTION 
//////////////////////////////////////////////////////////////////////////////
// HEmcParOra2Io
//
// Interface class to database Oracle for input/output of parameters needed
// by the EMC for runs since 2010
// (uses the Oracle C/C++ precompiler)
//
//////////////////////////////////////////////////////////////////////////////

using namespace std;
#include "hemcparora2io.h"
#include "hparora2set.h"
#include "hemctrb3lookup.h"
#include "hemccalpar.h"
#include "hemcgeompar.h"
#include "hgeomcompositevolume.h"
#include "hora2geomdetversion.h"
#include "hora2geomobj.h"
#include "TClass.h"
#include "TList.h"
#include <iostream>
#include <iomanip>
#include <unistd.h>

#define SQLCA_STORAGE_CLASS extern
#define ORACA_STORAGE_CLASS extern

// Oracle communication area
#include <oraca.h>
// SQL Communications Area
#include <sqlca.h>

ClassImp(HEmcParOra2Io)

#define EMC_MAXSEC           6
#define EMC_MAXSECCELLS    163
#define EMC_MAXCELLS       1956 //978 * 2 because we have 2 channels per cell
#define EMC_MAXGEOMCELLS   164

HEmcParOra2Io::HEmcParOra2Io(HOra2Conn* pC) : HDetParOra2Io(pC) {
  // constructor
  // sets the name of the I/O class "HEmcParIo"
  // gets the pointer to the connection class
  fName="HEmcParIo";
  initModules=new TArrayI(EMC_MAXSEC);
  geomVers=0;
  sensVolume=0;
}

HEmcParOra2Io::~HEmcParOra2Io(void) {
  // destructor
  if (initModules) delete initModules;
  if (geomVers) delete geomVers;
  if (sensVolume) delete sensVolume; 
}

Bool_t HEmcParOra2Io::init(HParSet* pPar,Int_t* set) {
  // calls special read-function for each parameter container
  if (getRunStart(pPar)<0) {
    pPar->setInputVersion(-1,inputNumber);
    return kFALSE;
  }
  const Text_t* name=pPar->IsA()->GetName();
  if (strcmp(name,"HEmcTrb3Lookup")==0) return read(((HEmcTrb3Lookup*)pPar));
  if (strcmp(name,"HEmcCalPar")==0)     return read(((HEmcCalPar*)pPar),set);
  if (strcmp(name,"HEmcGeomPar")==0)    return read(((HEmcGeomPar*)pPar),set);
  cout<<"No read-interface to Oracle for parameter container "
      <<pPar->GetName()<<endl;
  return kFALSE;
}

Int_t HEmcParOra2Io::write(HParSet* pPar) {
  // calls the appropriate write function for the container
  if (getRunStart(pPar)<=0) return -1;
  const Text_t* name=pPar->IsA()->GetName();
  if (strcmp(name,"HEmcTrb3Lookup")==0) return writePar((HEmcTrb3Lookup*)pPar);
  if (strcmp(name,"HEmcCalPar")==0)     return writePar((HEmcCalPar*)pPar);
  if (strcmp(name,"HEmcGeomPar")==0)    return writeAlignment((HEmcGeomPar*)pPar);
  cout<<"No write-interface to Oracle for parameter container "
      <<pPar->GetName()<<endl;
  return 0;
}

Bool_t HEmcParOra2Io::getVersion(HParSet* pPar,Int_t& version) {
  // checks, if the parameter container needs to be reinitialized
  // reads the newest version valid for the current event file
  // returns kTRUE, if new parameters must be read
  // returns kFALSE, if no reinitialization needed or not valid version found
  HParOra2Set* oraSet=getOraSet(pPar);
  if (oraSet->contextId==-1 || runStart==-1) {
    pPar->setInputVersion(-1,inputNumber);
    version=-1;
    return kFALSE;
  }
  Int_t contVers=pPar->getInputVersion(inputNumber);
  if (contVers!=-1 && runStart>=oraSet->versDate[0] && runStart<=oraSet->versDate[1]) {
    version=contVers;
    return kFALSE;
  }
  const Char_t* containerClass=pPar->IsA()->GetName();
  oraSet->clearVersDate();
  /* EXEC SQL BEGIN DECLARE SECTION; */ 

    int context;
    int vers;
    double since;
    double until;
  /* EXEC SQL END DECLARE SECTION; */ 

  context=oraSet->contextId;
  /* EXEC SQL WHENEVER SQLERROR DO showSqlError("getVersion(HParSet*,Int_t&)"); */ 

  /* EXEC SQL WHENEVER NOT FOUND GOTO notfound; */ 

  if (strcmp(containerClass,"HEmcTrb3Lookup")==0) {
    /* EXEC SQL SELECT version,
                    hanadate.date_to_number(valid_since),
                    hanadate.date_to_number(valid_until)
             INTO :vers, :since, :until
               FROM emc_ana2.trb3lookup_vers_at_date
             WHERE context_id = :context; */ 

{
    struct sqlexd sqlstm;
    sqlorat((void **)0, &sqlctx, &oraca);
    sqlstm.sqlvsn = 13;
    sqlstm.arrsiz = 4;
    sqlstm.sqladtp = &sqladt;
    sqlstm.sqltdsp = &sqltds;
    sqlstm.stmt = "select version ,hanadate.date_to_number(valid_since) ,han\
adate.date_to_number(valid_until) into :b0,:b1,:b2  from emc_ana2.trb3lookup_v\
ers_at_date where context_id=:b3";
    sqlstm.iters = (unsigned int  )1;
    sqlstm.offset = (unsigned int  )5;
    sqlstm.selerr = (unsigned short)1;
    sqlstm.sqlpfmem = (unsigned int  )0;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)4352;
    sqlstm.occurs = (unsigned int  )0;
    sqlstm.sqhstv[0] = (unsigned char  *)&vers;
    sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
    sqlstm.sqhsts[0] = (         int  )0;
    sqlstm.sqindv[0] = (         short *)0;
    sqlstm.sqinds[0] = (         int  )0;
    sqlstm.sqharm[0] = (unsigned long )0;
    sqlstm.sqadto[0] = (unsigned short )0;
    sqlstm.sqtdso[0] = (unsigned short )0;
    sqlstm.sqhstv[1] = (unsigned char  *)&since;
    sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
    sqlstm.sqhsts[1] = (         int  )0;
    sqlstm.sqindv[1] = (         short *)0;
    sqlstm.sqinds[1] = (         int  )0;
    sqlstm.sqharm[1] = (unsigned long )0;
    sqlstm.sqadto[1] = (unsigned short )0;
    sqlstm.sqtdso[1] = (unsigned short )0;
    sqlstm.sqhstv[2] = (unsigned char  *)&until;
    sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
    sqlstm.sqhsts[2] = (         int  )0;
    sqlstm.sqindv[2] = (         short *)0;
    sqlstm.sqinds[2] = (         int  )0;
    sqlstm.sqharm[2] = (unsigned long )0;
    sqlstm.sqadto[2] = (unsigned short )0;
    sqlstm.sqtdso[2] = (unsigned short )0;
    sqlstm.sqhstv[3] = (unsigned char  *)&context;
    sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
    sqlstm.sqhsts[3] = (         int  )0;
    sqlstm.sqindv[3] = (         short *)0;
    sqlstm.sqinds[3] = (         int  )0;
    sqlstm.sqharm[3] = (unsigned long )0;
    sqlstm.sqadto[3] = (unsigned short )0;
    sqlstm.sqtdso[3] = (unsigned short )0;
    sqlstm.sqphsv = sqlstm.sqhstv;
    sqlstm.sqphsl = sqlstm.sqhstl;
    sqlstm.sqphss = sqlstm.sqhsts;
    sqlstm.sqpind = sqlstm.sqindv;
    sqlstm.sqpins = sqlstm.sqinds;
    sqlstm.sqparm = sqlstm.sqharm;
    sqlstm.sqparc = sqlstm.sqharc;
    sqlstm.sqpadto = sqlstm.sqadto;
    sqlstm.sqptdso = sqlstm.sqtdso;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
    if (sqlca.sqlcode == 1403) goto notfound;
    if (sqlca.sqlcode < 0) showSqlError("getVersion(HParSet*,Int_t&)");
}


  } else {
    if (strcmp(containerClass,"HEmcCalPar")==0) {
      /* EXEC SQL SELECT version,
                      hanadate.date_to_number(valid_since),
                      hanadate.date_to_number(valid_until)
               INTO :vers, :since, :until
             FROM emc_ana2.calpar_vers_at_date
               WHERE context_id = :context; */ 

{
      struct sqlexd sqlstm;
      sqlorat((void **)0, &sqlctx, &oraca);
      sqlstm.sqlvsn = 13;
      sqlstm.arrsiz = 4;
      sqlstm.sqladtp = &sqladt;
      sqlstm.sqltdsp = &sqltds;
      sqlstm.stmt = "select version ,hanadate.date_to_number(valid_since) ,h\
anadate.date_to_number(valid_until) into :b0,:b1,:b2  from emc_ana2.calpar_ver\
s_at_date where context_id=:b3";
      sqlstm.iters = (unsigned int  )1;
      sqlstm.offset = (unsigned int  )36;
      sqlstm.selerr = (unsigned short)1;
      sqlstm.sqlpfmem = (unsigned int  )0;
      sqlstm.cud = sqlcud0;
      sqlstm.sqlest = (unsigned char  *)&sqlca;
      sqlstm.sqlety = (unsigned short)4352;
      sqlstm.occurs = (unsigned int  )0;
      sqlstm.sqhstv[0] = (unsigned char  *)&vers;
      sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
      sqlstm.sqhsts[0] = (         int  )0;
      sqlstm.sqindv[0] = (         short *)0;
      sqlstm.sqinds[0] = (         int  )0;
      sqlstm.sqharm[0] = (unsigned long )0;
      sqlstm.sqadto[0] = (unsigned short )0;
      sqlstm.sqtdso[0] = (unsigned short )0;
      sqlstm.sqhstv[1] = (unsigned char  *)&since;
      sqlstm.sqhstl[1] = (unsigned long )sizeof(double);
      sqlstm.sqhsts[1] = (         int  )0;
      sqlstm.sqindv[1] = (         short *)0;
      sqlstm.sqinds[1] = (         int  )0;
      sqlstm.sqharm[1] = (unsigned long )0;
      sqlstm.sqadto[1] = (unsigned short )0;
      sqlstm.sqtdso[1] = (unsigned short )0;
      sqlstm.sqhstv[2] = (unsigned char  *)&until;
      sqlstm.sqhstl[2] = (unsigned long )sizeof(double);
      sqlstm.sqhsts[2] = (         int  )0;
      sqlstm.sqindv[2] = (         short *)0;
      sqlstm.sqinds[2] = (         int  )0;
      sqlstm.sqharm[2] = (unsigned long )0;
      sqlstm.sqadto[2] = (unsigned short )0;
      sqlstm.sqtdso[2] = (unsigned short )0;
      sqlstm.sqhstv[3] = (unsigned char  *)&context;
      sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
      sqlstm.sqhsts[3] = (         int  )0;
      sqlstm.sqindv[3] = (         short *)0;
      sqlstm.sqinds[3] = (         int  )0;
      sqlstm.sqharm[3] = (unsigned long )0;
      sqlstm.sqadto[3] = (unsigned short )0;
      sqlstm.sqtdso[3] = (unsigned short )0;
      sqlstm.sqphsv = sqlstm.sqhstv;
      sqlstm.sqphsl = sqlstm.sqhstl;
      sqlstm.sqphss = sqlstm.sqhsts;
      sqlstm.sqpind = sqlstm.sqindv;
      sqlstm.sqpins = sqlstm.sqinds;
      sqlstm.sqparm = sqlstm.sqharm;
      sqlstm.sqparc = sqlstm.sqharc;
      sqlstm.sqpadto = sqlstm.sqadto;
      sqlstm.sqptdso = sqlstm.sqtdso;
      sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
      if (sqlca.sqlcode == 1403) goto notfound;
      if (sqlca.sqlcode < 0) showSqlError("getVersion(HParSet*,Int_t&)");
}


    }
  }
  version=vers;
  oraSet->versDate[0]=since;
  oraSet->versDate[1]=until;
  return kTRUE;
notfound:
  pPar->setInputVersion(-1,inputNumber);
  version=-1;
  return kFALSE;
};

Bool_t HEmcParOra2Io::read(HEmcTrb3Lookup* pPar) {
  // reads the lookup table for the Trb3 unpacker and fill the container EmcTrb3Lookup
  Int_t oraVersion=-1;
  Bool_t rc=getVersion(pPar,oraVersion);
  if (oraVersion<0) return kFALSE;
  if (oraVersion>=0&&rc==kFALSE) return kTRUE;
  pPar->clear();
  /* EXEC SQL BEGIN DECLARE SECTION; */ 

    int vers;
    struct {
      int  address[EMC_MAXCELLS];
      int  channel[EMC_MAXCELLS];
      int  module[EMC_MAXCELLS];
      int  cell[EMC_MAXCELLS];
      int  flag[EMC_MAXCELLS];
    } lookup;
  /* EXEC SQL END DECLARE SECTION; */ 

  vers=oraVersion;
  /* EXEC SQL WHENEVER SQLERROR DO showSqlError("read(HEmcTrb3Lookup*)"); */ 

  /* EXEC SQL WHENEVER NOT FOUND CONTINUE; */ 

  /* EXEC SQL SELECT trbnet_address, channel,
                  module, cell, flag
           INTO :lookup
           FROM emc_ana2.trb3lookup_data_view
           WHERE vers_id = :vers; */ 

{
  struct sqlexd sqlstm;
  sqlorat((void **)0, &sqlctx, &oraca);
  sqlstm.sqlvsn = 13;
  sqlstm.arrsiz = 6;
  sqlstm.sqladtp = &sqladt;
  sqlstm.sqltdsp = &sqltds;
  sqlstm.stmt = "select trbnet_address ,channel ,module ,cell ,flag into :s1\
 ,:s2 ,:s3 ,:s4 ,:s5   from emc_ana2.trb3lookup_data_view where vers_id=:b1";
  sqlstm.iters = (unsigned int  )1956;
  sqlstm.offset = (unsigned int  )67;
  sqlstm.selerr = (unsigned short)1;
  sqlstm.sqlpfmem = (unsigned int  )0;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)4352;
  sqlstm.occurs = (unsigned int  )0;
  sqlstm.sqhstv[0] = (unsigned char  *)lookup.address;
  sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[0] = (         int  )sizeof(int);
  sqlstm.sqindv[0] = (         short *)0;
  sqlstm.sqinds[0] = (         int  )0;
  sqlstm.sqharm[0] = (unsigned long )0;
  sqlstm.sqharc[0] = (unsigned long  *)0;
  sqlstm.sqadto[0] = (unsigned short )0;
  sqlstm.sqtdso[0] = (unsigned short )0;
  sqlstm.sqhstv[1] = (unsigned char  *)lookup.channel;
  sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[1] = (         int  )sizeof(int);
  sqlstm.sqindv[1] = (         short *)0;
  sqlstm.sqinds[1] = (         int  )0;
  sqlstm.sqharm[1] = (unsigned long )0;
  sqlstm.sqharc[1] = (unsigned long  *)0;
  sqlstm.sqadto[1] = (unsigned short )0;
  sqlstm.sqtdso[1] = (unsigned short )0;
  sqlstm.sqhstv[2] = (unsigned char  *)lookup.module;
  sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[2] = (         int  )sizeof(int);
  sqlstm.sqindv[2] = (         short *)0;
  sqlstm.sqinds[2] = (         int  )0;
  sqlstm.sqharm[2] = (unsigned long )0;
  sqlstm.sqharc[2] = (unsigned long  *)0;
  sqlstm.sqadto[2] = (unsigned short )0;
  sqlstm.sqtdso[2] = (unsigned short )0;
  sqlstm.sqhstv[3] = (unsigned char  *)lookup.cell;
  sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[3] = (         int  )sizeof(int);
  sqlstm.sqindv[3] = (         short *)0;
  sqlstm.sqinds[3] = (         int  )0;
  sqlstm.sqharm[3] = (unsigned long )0;
  sqlstm.sqharc[3] = (unsigned long  *)0;
  sqlstm.sqadto[3] = (unsigned short )0;
  sqlstm.sqtdso[3] = (unsigned short )0;
  sqlstm.sqhstv[4] = (unsigned char  *)lookup.flag;
  sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[4] = (         int  )sizeof(int);
  sqlstm.sqindv[4] = (         short *)0;
  sqlstm.sqinds[4] = (         int  )0;
  sqlstm.sqharm[4] = (unsigned long )0;
  sqlstm.sqharc[4] = (unsigned long  *)0;
  sqlstm.sqadto[4] = (unsigned short )0;
  sqlstm.sqtdso[4] = (unsigned short )0;
  sqlstm.sqhstv[5] = (unsigned char  *)&vers;
  sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[5] = (         int  )sizeof(int);
  sqlstm.sqindv[5] = (         short *)0;
  sqlstm.sqinds[5] = (         int  )0;
  sqlstm.sqharm[5] = (unsigned long )0;
  sqlstm.sqadto[5] = (unsigned short )0;
  sqlstm.sqtdso[5] = (unsigned short )0;
  sqlstm.sqphsv = sqlstm.sqhstv;
  sqlstm.sqphsl = sqlstm.sqhstl;
  sqlstm.sqphss = sqlstm.sqhsts;
  sqlstm.sqpind = sqlstm.sqindv;
  sqlstm.sqpins = sqlstm.sqinds;
  sqlstm.sqparm = sqlstm.sqharm;
  sqlstm.sqparc = sqlstm.sqharc;
  sqlstm.sqpadto = sqlstm.sqadto;
  sqlstm.sqptdso = sqlstm.sqtdso;
  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
  if (sqlca.sqlcode < 0) showSqlError("read(HEmcTrb3Lookup*)");
}


  Int_t nData=sqlca.sqlerrd[2];
  for (Int_t i=0;i<nData;i++) {
    pPar->fill(lookup.address[i],lookup.channel[i],
               lookup.module[i]-1,lookup.cell[i], lookup.flag[i]);
  }
  rc=kTRUE;
  if (nData>0) {
    setChanged(pPar,oraVersion);
    cout<<pPar->GetName()<<" initialized from Oracle"<<endl;
  } else {
    pPar->setInputVersion(-1,inputNumber);
    rc=kFALSE;
  }
  return rc;
}

Bool_t HEmcParOra2Io::read(HEmcCalPar* pPar, Int_t* set) {
  // reads the calibration parameters and fill the EmcCalPar container
  Int_t oraVersion=-1;
  Bool_t rc=getVersion(pPar,oraVersion);
  if (oraVersion<0) return kFALSE;
  if (oraVersion>=0&&rc==kFALSE) return kTRUE;
  pPar->clear();
  initModules->Reset();
  /* EXEC SQL BEGIN DECLARE SECTION; */ 

    int vers;
    struct {
      int module[EMC_MAXCELLS];
      int cell[EMC_MAXCELLS];
      float tdcSlope[EMC_MAXCELLS];
      float tdcOffset[EMC_MAXCELLS];
      float adcPar_0[EMC_MAXCELLS];
      float adcPar_1[EMC_MAXCELLS];
      float adcPar_2[EMC_MAXCELLS];
      float timeWalkCorr_0[EMC_MAXCELLS];
      float timeWalkCorr_1[EMC_MAXCELLS];
      float timeWalkCorr_2[EMC_MAXCELLS];
    } cal;
    
  /* EXEC SQL END DECLARE SECTION; */ 

  vers=oraVersion;
  /* EXEC SQL WHENEVER SQLERROR DO showSqlError("read(HEmcCalPar*,Int_t*)"); */ 

  /* EXEC SQL WHENEVER NOT FOUND CONTINUE; */ 

  /* EXEC SQL SELECT module, cell, tdc_slope, tdc_offset, adc_par_0, adc_par_1, adc_par_2, time_walk_0, time_walk_1, time_walk_2
           INTO :cal
           FROM emc_ana2.calpar_data_view
           WHERE vers_id = :vers; */ 

{
  struct sqlexd sqlstm;
  sqlorat((void **)0, &sqlctx, &oraca);
  sqlstm.sqlvsn = 13;
  sqlstm.arrsiz = 11;
  sqlstm.sqladtp = &sqladt;
  sqlstm.sqltdsp = &sqltds;
  sqlstm.stmt = "select module ,cell ,tdc_slope ,tdc_offset ,adc_par_0 ,adc_\
par_1 ,adc_par_2 ,time_walk_0 ,time_walk_1 ,time_walk_2 into :s1 ,:s2 ,:s3 ,:s\
4 ,:s5 ,:s6 ,:s7 ,:s8 ,:s9 ,:s10   from emc_ana2.calpar_data_view where vers_i\
d=:b1";
  sqlstm.iters = (unsigned int  )1956;
  sqlstm.offset = (unsigned int  )106;
  sqlstm.selerr = (unsigned short)1;
  sqlstm.sqlpfmem = (unsigned int  )0;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)4352;
  sqlstm.occurs = (unsigned int  )0;
  sqlstm.sqhstv[0] = (unsigned char  *)cal.module;
  sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[0] = (         int  )sizeof(int);
  sqlstm.sqindv[0] = (         short *)0;
  sqlstm.sqinds[0] = (         int  )0;
  sqlstm.sqharm[0] = (unsigned long )0;
  sqlstm.sqharc[0] = (unsigned long  *)0;
  sqlstm.sqadto[0] = (unsigned short )0;
  sqlstm.sqtdso[0] = (unsigned short )0;
  sqlstm.sqhstv[1] = (unsigned char  *)cal.cell;
  sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[1] = (         int  )sizeof(int);
  sqlstm.sqindv[1] = (         short *)0;
  sqlstm.sqinds[1] = (         int  )0;
  sqlstm.sqharm[1] = (unsigned long )0;
  sqlstm.sqharc[1] = (unsigned long  *)0;
  sqlstm.sqadto[1] = (unsigned short )0;
  sqlstm.sqtdso[1] = (unsigned short )0;
  sqlstm.sqhstv[2] = (unsigned char  *)cal.tdcSlope;
  sqlstm.sqhstl[2] = (unsigned long )sizeof(float);
  sqlstm.sqhsts[2] = (         int  )sizeof(float);
  sqlstm.sqindv[2] = (         short *)0;
  sqlstm.sqinds[2] = (         int  )0;
  sqlstm.sqharm[2] = (unsigned long )0;
  sqlstm.sqharc[2] = (unsigned long  *)0;
  sqlstm.sqadto[2] = (unsigned short )0;
  sqlstm.sqtdso[2] = (unsigned short )0;
  sqlstm.sqhstv[3] = (unsigned char  *)cal.tdcOffset;
  sqlstm.sqhstl[3] = (unsigned long )sizeof(float);
  sqlstm.sqhsts[3] = (         int  )sizeof(float);
  sqlstm.sqindv[3] = (         short *)0;
  sqlstm.sqinds[3] = (         int  )0;
  sqlstm.sqharm[3] = (unsigned long )0;
  sqlstm.sqharc[3] = (unsigned long  *)0;
  sqlstm.sqadto[3] = (unsigned short )0;
  sqlstm.sqtdso[3] = (unsigned short )0;
  sqlstm.sqhstv[4] = (unsigned char  *)cal.adcPar_0;
  sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
  sqlstm.sqhsts[4] = (         int  )sizeof(float);
  sqlstm.sqindv[4] = (         short *)0;
  sqlstm.sqinds[4] = (         int  )0;
  sqlstm.sqharm[4] = (unsigned long )0;
  sqlstm.sqharc[4] = (unsigned long  *)0;
  sqlstm.sqadto[4] = (unsigned short )0;
  sqlstm.sqtdso[4] = (unsigned short )0;
  sqlstm.sqhstv[5] = (unsigned char  *)cal.adcPar_1;
  sqlstm.sqhstl[5] = (unsigned long )sizeof(float);
  sqlstm.sqhsts[5] = (         int  )sizeof(float);
  sqlstm.sqindv[5] = (         short *)0;
  sqlstm.sqinds[5] = (         int  )0;
  sqlstm.sqharm[5] = (unsigned long )0;
  sqlstm.sqharc[5] = (unsigned long  *)0;
  sqlstm.sqadto[5] = (unsigned short )0;
  sqlstm.sqtdso[5] = (unsigned short )0;
  sqlstm.sqhstv[6] = (unsigned char  *)cal.adcPar_2;
  sqlstm.sqhstl[6] = (unsigned long )sizeof(float);
  sqlstm.sqhsts[6] = (         int  )sizeof(float);
  sqlstm.sqindv[6] = (         short *)0;
  sqlstm.sqinds[6] = (         int  )0;
  sqlstm.sqharm[6] = (unsigned long )0;
  sqlstm.sqharc[6] = (unsigned long  *)0;
  sqlstm.sqadto[6] = (unsigned short )0;
  sqlstm.sqtdso[6] = (unsigned short )0;
  sqlstm.sqhstv[7] = (unsigned char  *)cal.timeWalkCorr_0;
  sqlstm.sqhstl[7] = (unsigned long )sizeof(float);
  sqlstm.sqhsts[7] = (         int  )sizeof(float);
  sqlstm.sqindv[7] = (         short *)0;
  sqlstm.sqinds[7] = (         int  )0;
  sqlstm.sqharm[7] = (unsigned long )0;
  sqlstm.sqharc[7] = (unsigned long  *)0;
  sqlstm.sqadto[7] = (unsigned short )0;
  sqlstm.sqtdso[7] = (unsigned short )0;
  sqlstm.sqhstv[8] = (unsigned char  *)cal.timeWalkCorr_1;
  sqlstm.sqhstl[8] = (unsigned long )sizeof(float);
  sqlstm.sqhsts[8] = (         int  )sizeof(float);
  sqlstm.sqindv[8] = (         short *)0;
  sqlstm.sqinds[8] = (         int  )0;
  sqlstm.sqharm[8] = (unsigned long )0;
  sqlstm.sqharc[8] = (unsigned long  *)0;
  sqlstm.sqadto[8] = (unsigned short )0;
  sqlstm.sqtdso[8] = (unsigned short )0;
  sqlstm.sqhstv[9] = (unsigned char  *)cal.timeWalkCorr_2;
  sqlstm.sqhstl[9] = (unsigned long )sizeof(float);
  sqlstm.sqhsts[9] = (         int  )sizeof(float);
  sqlstm.sqindv[9] = (         short *)0;
  sqlstm.sqinds[9] = (         int  )0;
  sqlstm.sqharm[9] = (unsigned long )0;
  sqlstm.sqharc[9] = (unsigned long  *)0;
  sqlstm.sqadto[9] = (unsigned short )0;
  sqlstm.sqtdso[9] = (unsigned short )0;
  sqlstm.sqhstv[10] = (unsigned char  *)&vers;
  sqlstm.sqhstl[10] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[10] = (         int  )sizeof(int);
  sqlstm.sqindv[10] = (         short *)0;
  sqlstm.sqinds[10] = (         int  )0;
  sqlstm.sqharm[10] = (unsigned long )0;
  sqlstm.sqadto[10] = (unsigned short )0;
  sqlstm.sqtdso[10] = (unsigned short )0;
  sqlstm.sqphsv = sqlstm.sqhstv;
  sqlstm.sqphsl = sqlstm.sqhstl;
  sqlstm.sqphss = sqlstm.sqhsts;
  sqlstm.sqpind = sqlstm.sqindv;
  sqlstm.sqpins = sqlstm.sqinds;
  sqlstm.sqparm = sqlstm.sqharm;
  sqlstm.sqparc = sqlstm.sqharc;
  sqlstm.sqpadto = sqlstm.sqadto;
  sqlstm.sqptdso = sqlstm.sqtdso;
  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
  if (sqlca.sqlcode < 0) showSqlError("read(HEmcCalPar*,Int_t*)");
}


  Int_t nData=sqlca.sqlerrd[2];
  Int_t m=-1;
  for (Int_t i=0;i<nData;i++) {
    m=cal.module[i]-1;
    if (set[m]) {
      (*pPar)[m][cal.cell[i]].fill(cal.tdcSlope[i],cal.tdcOffset[i],
                                   cal.adcPar_0[i],cal.adcPar_1[i],cal.adcPar_2[i],
                                   cal.timeWalkCorr_0[i], cal.timeWalkCorr_1[i], cal.timeWalkCorr_2[i]);
      initModules->AddAt(1,m);
    }
  }
  rc=kTRUE;
  for(Int_t i=0;i<EMC_MAXSEC;i++) {
    if (set[i]==1 && initModules->At(i)==0) rc=kFALSE;
  }
  if (rc) {
    setChanged(pPar,oraVersion);
    printInfo(pPar->GetName());
  } else {
    pPar->setInputVersion(-1,inputNumber);
  }
  return rc;
}

Bool_t HEmcParOra2Io::read(HEmcGeomPar* pPar, Int_t* set) {
  // reads the geometry of the EMC and fills the EmcGeomPar container
  Bool_t allFound=kTRUE;
  Int_t detId=-1;
  if (!geomVers) {
    detId=getDetectorId(pPar->getDetectorName());
    geomVers=new HOra2GeomDetVersion(pPar->getDetectorName(),detId);
  } else {
    detId=geomVers->getDetectorId();
  }
  if (detId<=0) {
    allFound=kFALSE;
    delete geomVers;
    geomVers=0;
  }
  if (detId>0&&pPar->isFirstInitialization()) {
    if (!readModGeomNames(pPar,set) || !readCompGeomNames(pPar,set)) {
      allFound=kFALSE;
      pPar->clear();
    } else addGeomOraSet(pPar);
  }
  if (allFound) allFound=readDetectorGeometry(pPar,set,geomVers);
  return allFound;    
}

Bool_t HEmcParOra2Io::readModGeomNames(HEmcGeomPar* pPar,Int_t* set) {
  // reads the GEANT geometry names of all modules
  /* EXEC SQL BEGIN DECLARE SECTION; */ 

    struct {
      int sec[EMC_MAXSEC];
      /* varchar oname[EMC_MAXSEC][9]; */ 
struct { unsigned short len; unsigned char arr[10]; } oname[6];

    } mods;
    struct {
      short sec[EMC_MAXSEC];
      short oname[EMC_MAXSEC];
    } mods_Ind;
  /* EXEC SQL END DECLARE SECTION; */ 

  /* EXEC SQL WHENEVER SQLERROR DO showSqlError("readModGeomNames()"); */ 

  /* EXEC SQL WHENEVER NOT FOUND CONTINUE; */ 

  /* EXEC SQL SELECT sector, geom_obj_name
    INTO :mods INDICATOR :mods_Ind
    FROM emc_ana2.detector_setup_at_date; */ 

{
  struct sqlexd sqlstm;
  sqlorat((void **)0, &sqlctx, &oraca);
  sqlstm.sqlvsn = 13;
  sqlstm.arrsiz = 11;
  sqlstm.sqladtp = &sqladt;
  sqlstm.sqltdsp = &sqltds;
  sqlstm.stmt = "select sector ,geom_obj_name into :s1:s2 ,:s3:s4   from emc\
_ana2.detector_setup_at_date ";
  sqlstm.iters = (unsigned int  )6;
  sqlstm.offset = (unsigned int  )165;
  sqlstm.selerr = (unsigned short)1;
  sqlstm.sqlpfmem = (unsigned int  )0;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)4352;
  sqlstm.occurs = (unsigned int  )0;
  sqlstm.sqhstv[0] = (unsigned char  *)mods.sec;
  sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[0] = (         int  )sizeof(int);
  sqlstm.sqindv[0] = (         short *)mods_Ind.sec;
  sqlstm.sqinds[0] = (         int  )sizeof(short);
  sqlstm.sqharm[0] = (unsigned long )0;
  sqlstm.sqharc[0] = (unsigned long  *)0;
  sqlstm.sqadto[0] = (unsigned short )0;
  sqlstm.sqtdso[0] = (unsigned short )0;
  sqlstm.sqhstv[1] = (unsigned char  *)mods.oname;
  sqlstm.sqhstl[1] = (unsigned long )11;
  sqlstm.sqhsts[1] = (         int  )12;
  sqlstm.sqindv[1] = (         short *)mods_Ind.oname;
  sqlstm.sqinds[1] = (         int  )sizeof(short);
  sqlstm.sqharm[1] = (unsigned long )0;
  sqlstm.sqharc[1] = (unsigned long  *)0;
  sqlstm.sqadto[1] = (unsigned short )0;
  sqlstm.sqtdso[1] = (unsigned short )0;
  sqlstm.sqphsv = sqlstm.sqhstv;
  sqlstm.sqphsl = sqlstm.sqhstl;
  sqlstm.sqphss = sqlstm.sqhsts;
  sqlstm.sqpind = sqlstm.sqindv;
  sqlstm.sqpins = sqlstm.sqinds;
  sqlstm.sqparm = sqlstm.sqharm;
  sqlstm.sqparc = sqlstm.sqharc;
  sqlstm.sqpadto = sqlstm.sqadto;
  sqlstm.sqptdso = sqlstm.sqtdso;
  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
  if (sqlca.sqlcode < 0) showSqlError("readModGeomNames()");
}


  Int_t nMods=sqlca.sqlerrd[2];
  Int_t s;
  Char_t ref[10];
  initModules->Reset();
  for(Int_t i=0;i<nMods;i++) {
    s=mods.sec[i]-1;
    HModGeomPar* pMod=pPar->getModule(s,0);
    if (pMod && set[s]) {
      if (mods_Ind.oname[i]!=-1) {
        mods.oname[i].arr[mods.oname[i].len]='\0';
        pMod->SetName((Char_t*)(mods.oname[i].arr));
        initModules->AddAt(s+1,s);
        strcpy(ref,(Char_t*)(mods.oname[i].arr));
        ref[4]='1'; // reference module in sector 1
        pMod->setRefName(ref);
        HGeomCompositeVolume* refMod=pPar->getRefVolume(0);
        if (refMod==0) {
          refMod=new HGeomCompositeVolume(pPar->getNumComponents());
          refMod->SetName(ref);
          pPar->addRefVolume(refMod,0);
        }
        pMod->setVolume(refMod);
      }
    }
  }
  Bool_t allFound=kTRUE;
  for(Int_t i=0;i<EMC_MAXSEC;i++) {
    if (set[i]>0 && initModules->At(i)==0) allFound=kFALSE;
  }
  return allFound;
}

Bool_t HEmcParOra2Io::readCompGeomNames(HEmcGeomPar* pPar,Int_t* set) {
  // reads the names of all cells in the geometry tables
  /* EXEC SQL BEGIN DECLARE SECTION; */ 

    struct {
      int cell_index[EMC_MAXGEOMCELLS];
      /* varchar oname[EMC_MAXGEOMCELLS][9]; */ 
struct { unsigned short len; unsigned char arr[10]; } oname[164];

    } lrecG;
  /* EXEC SQL END DECLARE SECTION; */ 

  /* EXEC SQL WHENEVER SQLERROR DO showSqlError("readCompGeomNames(...)"); */ 

  /* EXEC SQL WHENEVER NOT FOUND CONTINUE; */ 

  /* EXEC SQL SELECT cell_index, geom_obj_name
    INTO :lrecG
    FROM emc_ana2.module_cell
    WHERE geom_obj_name IS NOT NULL; */ 

{
  struct sqlexd sqlstm;
  sqlorat((void **)0, &sqlctx, &oraca);
  sqlstm.sqlvsn = 13;
  sqlstm.arrsiz = 11;
  sqlstm.sqladtp = &sqladt;
  sqlstm.sqltdsp = &sqltds;
  sqlstm.stmt = "select cell_index ,geom_obj_name into :s1 ,:s2   from emc_a\
na2.module_cell where geom_obj_name is  not null ";
  sqlstm.iters = (unsigned int  )164;
  sqlstm.offset = (unsigned int  )188;
  sqlstm.selerr = (unsigned short)1;
  sqlstm.sqlpfmem = (unsigned int  )0;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)4352;
  sqlstm.occurs = (unsigned int  )0;
  sqlstm.sqhstv[0] = (unsigned char  *)lrecG.cell_index;
  sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[0] = (         int  )sizeof(int);
  sqlstm.sqindv[0] = (         short *)0;
  sqlstm.sqinds[0] = (         int  )0;
  sqlstm.sqharm[0] = (unsigned long )0;
  sqlstm.sqharc[0] = (unsigned long  *)0;
  sqlstm.sqadto[0] = (unsigned short )0;
  sqlstm.sqtdso[0] = (unsigned short )0;
  sqlstm.sqhstv[1] = (unsigned char  *)lrecG.oname;
  sqlstm.sqhstl[1] = (unsigned long )11;
  sqlstm.sqhsts[1] = (         int  )12;
  sqlstm.sqindv[1] = (         short *)0;
  sqlstm.sqinds[1] = (         int  )0;
  sqlstm.sqharm[1] = (unsigned long )0;
  sqlstm.sqharc[1] = (unsigned long  *)0;
  sqlstm.sqadto[1] = (unsigned short )0;
  sqlstm.sqtdso[1] = (unsigned short )0;
  sqlstm.sqphsv = sqlstm.sqhstv;
  sqlstm.sqphsl = sqlstm.sqhstl;
  sqlstm.sqphss = sqlstm.sqhsts;
  sqlstm.sqpind = sqlstm.sqindv;
  sqlstm.sqpins = sqlstm.sqinds;
  sqlstm.sqparm = sqlstm.sqharm;
  sqlstm.sqparc = sqlstm.sqharc;
  sqlstm.sqpadto = sqlstm.sqadto;
  sqlstm.sqptdso = sqlstm.sqtdso;
  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
  if (sqlca.sqlcode < 0) showSqlError("readCompGeomNames(...)");
}


  HGeomCompositeVolume* pRefMod=pPar->getRefVolume(0);
  Int_t nCells=sqlca.sqlerrd[2];
  Int_t cell=-1;
  for(Int_t k=0;k<nCells;k++) {
    lrecG.oname[k].arr[lrecG.oname[k].len]='\0';
    TString cName((Char_t*)(lrecG.oname[k].arr));    
    if (lrecG.cell_index[k] != 999) {
      cell=pPar->getCompNum(cName);
      HGeomVolume* volu=pRefMod->getComponent(cell);
      if (volu) volu->SetName(cName);
      else {
        Error("readCompGeomNames","Index for cell %s not found",cName.Data());
        return kFALSE;
      }
    } else {
      if (!sensVolume) sensVolume=new HGeomVolume();
      sensVolume->SetName(cName);
    }
  }
  return (nCells>0) ? kTRUE : kFALSE;
}

void HEmcParOra2Io::addGeomRefComponents(HDetGeomPar* pPar,TList* geomObjects) {
  // Adds the reference modules and inner components to list of geometry objets to be read
  HGeomCompositeVolume* refMod=pPar->getRefVolume(0);
  if (refMod && refMod->getNumPoints()==0) {
    geomObjects->Add(new HOra2GeomObj(refMod->GetName(),refMod,'R',0));
    for(Int_t l=0;l<refMod->getNumComponents();l++) {
      HGeomVolume* comp=refMod->getComponent(l);
      TString compName=comp->GetName();
      if (!compName.IsNull()) {
        geomObjects->Add(new HOra2GeomObj(compName,comp,'I',refMod));
      }
    }
  }
  geomObjects->Add(new HOra2GeomObj(sensVolume->GetName(),sensVolume,'C',refMod));
}

Bool_t HEmcParOra2Io::transformGeomCompositeComponents(HDetGeomPar* pPar) {
  // Replaces the name and the points of the components GTOWx by the name and points of the
  // sensitive volume GLEA
  // IMPORTANT: The actual interface expects that the coordinate systems of the "towers" GTOWx
  // and GLEA including all intermediate volumes (GTOF, GTOI, GREF) are identical. Otherwise the
  // chain of mother volumes of GLEA must be read from Oracle to find the transformation 
  // relative to the reference "tower" volume.  
  HGeomCompositeVolume* refMod=pPar->getRefVolume(0);
  Bool_t rc=kTRUE;
  if (refMod && sensVolume) {
    TString sensVoluName=sensVolume->GetName();
    Int_t nPoints=sensVolume->getNumPoints();
    HGeomVolume* refComp=refMod->getComponent(0);
    if (sensVoluName.Length()==4 && nPoints>0 && refComp) {
      for(Int_t l=0;l<refMod->getNumComponents();l++) {
        HGeomVolume* comp=refMod->getComponent(l);
        TString compName=comp->GetName();
        if (compName.Length()>0) {
          comp->SetName(compName.Replace(0,4,sensVoluName));
          comp->createPoints(nPoints);
          for (Int_t i=0;i<nPoints;i++) comp->setPoint(i,*(sensVolume->getPoint(i)));
        }
      }
    } else rc=kFALSE;
  } else rc=kFALSE;
  return rc;
}

Int_t HEmcParOra2Io::createVers(HParSet* pPar) {
  // creates a new version for parameters
  // returns the new version
  cout<<"---------------  "<<pPar->GetName()<<"   ---------------\n";
  if (strlen(pPar->getAuthor())==0) {
    Error("createVers(HParSet*)",
          "author of parameters not defined");
    return -1;
  }
  if (strlen(pPar->getDescription())==0) {
    Error("createVers(HParSet*)",
          "descriction of parameters not defined");
    return -1;
  }
  const Char_t* contName=pPar->IsA()->GetName();
  /* EXEC SQL BEGIN DECLARE SECTION; */ 

    int   vers=-1;
    int   context;
    int   run;
    char* creator;
    char* descript;
  /* EXEC SQL END DECLARE SECTION; */ 

  context = getContextId(contName,pPar->getParamContext());
  if (context==-1) return -1;
  run=getActRunId();
  creator=(Char_t*)pPar->getAuthor();
  descript=(Char_t*)pPar->getDescription();
  /* EXEC SQL WHENEVER SQLERROR GOTO not_found; */ 

  /* EXEC SQL WHENEVER NOT FOUND GOTO not_found; */ 

  if (strcmp(contName,"HEmcTrb3Lookup")==0) {
    /* EXEC SQL EXECUTE
      BEGIN
        SELECT emc_ana2.emc_par_query.next_version INTO :vers FROM DUAL;
        INSERT INTO emc_ana2.trb3lookup_vers
                   (vers_id, orig_context_id, run_id, author, description)
            VALUES (:vers, :context, :run, :creator, :descript);
      END;
    END-EXEC; */ 

{
    struct sqlexd sqlstm;
    sqlorat((void **)0, &sqlctx, &oraca);
    sqlstm.sqlvsn = 13;
    sqlstm.arrsiz = 11;
    sqlstm.sqladtp = &sqladt;
    sqlstm.sqltdsp = &sqltds;
    sqlstm.stmt = "begin SELECT emc_ana2 . emc_par_query . next_version INTO\
 :vers FROM DUAL ; INSERT INTO emc_ana2 . trb3lookup_vers ( vers_id , orig_con\
text_id , run_id , author , description ) VALUES ( :vers , :context , :run , :\
creator , :descript ) ; END ;";
    sqlstm.iters = (unsigned int  )1;
    sqlstm.offset = (unsigned int  )211;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)4352;
    sqlstm.occurs = (unsigned int  )0;
    sqlstm.sqhstv[0] = (unsigned char  *)&vers;
    sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
    sqlstm.sqhsts[0] = (         int  )0;
    sqlstm.sqindv[0] = (         short *)0;
    sqlstm.sqinds[0] = (         int  )0;
    sqlstm.sqharm[0] = (unsigned long )0;
    sqlstm.sqadto[0] = (unsigned short )0;
    sqlstm.sqtdso[0] = (unsigned short )0;
    sqlstm.sqhstv[1] = (unsigned char  *)&context;
    sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
    sqlstm.sqhsts[1] = (         int  )0;
    sqlstm.sqindv[1] = (         short *)0;
    sqlstm.sqinds[1] = (         int  )0;
    sqlstm.sqharm[1] = (unsigned long )0;
    sqlstm.sqadto[1] = (unsigned short )0;
    sqlstm.sqtdso[1] = (unsigned short )0;
    sqlstm.sqhstv[2] = (unsigned char  *)&run;
    sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
    sqlstm.sqhsts[2] = (         int  )0;
    sqlstm.sqindv[2] = (         short *)0;
    sqlstm.sqinds[2] = (         int  )0;
    sqlstm.sqharm[2] = (unsigned long )0;
    sqlstm.sqadto[2] = (unsigned short )0;
    sqlstm.sqtdso[2] = (unsigned short )0;
    sqlstm.sqhstv[3] = (unsigned char  *)creator;
    sqlstm.sqhstl[3] = (unsigned long )0;
    sqlstm.sqhsts[3] = (         int  )0;
    sqlstm.sqindv[3] = (         short *)0;
    sqlstm.sqinds[3] = (         int  )0;
    sqlstm.sqharm[3] = (unsigned long )0;
    sqlstm.sqadto[3] = (unsigned short )0;
    sqlstm.sqtdso[3] = (unsigned short )0;
    sqlstm.sqhstv[4] = (unsigned char  *)descript;
    sqlstm.sqhstl[4] = (unsigned long )0;
    sqlstm.sqhsts[4] = (         int  )0;
    sqlstm.sqindv[4] = (         short *)0;
    sqlstm.sqinds[4] = (         int  )0;
    sqlstm.sqharm[4] = (unsigned long )0;
    sqlstm.sqadto[4] = (unsigned short )0;
    sqlstm.sqtdso[4] = (unsigned short )0;
    sqlstm.sqphsv = sqlstm.sqhstv;
    sqlstm.sqphsl = sqlstm.sqhstl;
    sqlstm.sqphss = sqlstm.sqhsts;
    sqlstm.sqpind = sqlstm.sqindv;
    sqlstm.sqpins = sqlstm.sqinds;
    sqlstm.sqparm = sqlstm.sqharm;
    sqlstm.sqparc = sqlstm.sqharc;
    sqlstm.sqpadto = sqlstm.sqadto;
    sqlstm.sqptdso = sqlstm.sqtdso;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
    if (sqlca.sqlcode == 1403) goto not_found;
    if (sqlca.sqlcode < 0) goto not_found;
}


  } else {
    if (strcmp(contName,"HEmcCalPar")==0) {
      /* EXEC SQL EXECUTE
        BEGIN
          SELECT emc_ana2.emc_par_query.next_version INTO :vers FROM DUAL;
          INSERT INTO emc_ana2.calpar_vers
                     (vers_id, orig_context_id, run_id, author, description)
              VALUES (:vers, :context, :run, :creator, :descript);
        END;
      END-EXEC; */ 

{
      struct sqlexd sqlstm;
      sqlorat((void **)0, &sqlctx, &oraca);
      sqlstm.sqlvsn = 13;
      sqlstm.arrsiz = 11;
      sqlstm.sqladtp = &sqladt;
      sqlstm.sqltdsp = &sqltds;
      sqlstm.stmt = "begin SELECT emc_ana2 . emc_par_query . next_version IN\
TO :vers FROM DUAL ; INSERT INTO emc_ana2 . calpar_vers ( vers_id , orig_conte\
xt_id , run_id , author , description ) VALUES ( :vers , :context , :run , :cr\
eator , :descript ) ; END ;";
      sqlstm.iters = (unsigned int  )1;
      sqlstm.offset = (unsigned int  )246;
      sqlstm.cud = sqlcud0;
      sqlstm.sqlest = (unsigned char  *)&sqlca;
      sqlstm.sqlety = (unsigned short)4352;
      sqlstm.occurs = (unsigned int  )0;
      sqlstm.sqhstv[0] = (unsigned char  *)&vers;
      sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
      sqlstm.sqhsts[0] = (         int  )0;
      sqlstm.sqindv[0] = (         short *)0;
      sqlstm.sqinds[0] = (         int  )0;
      sqlstm.sqharm[0] = (unsigned long )0;
      sqlstm.sqadto[0] = (unsigned short )0;
      sqlstm.sqtdso[0] = (unsigned short )0;
      sqlstm.sqhstv[1] = (unsigned char  *)&context;
      sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
      sqlstm.sqhsts[1] = (         int  )0;
      sqlstm.sqindv[1] = (         short *)0;
      sqlstm.sqinds[1] = (         int  )0;
      sqlstm.sqharm[1] = (unsigned long )0;
      sqlstm.sqadto[1] = (unsigned short )0;
      sqlstm.sqtdso[1] = (unsigned short )0;
      sqlstm.sqhstv[2] = (unsigned char  *)&run;
      sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
      sqlstm.sqhsts[2] = (         int  )0;
      sqlstm.sqindv[2] = (         short *)0;
      sqlstm.sqinds[2] = (         int  )0;
      sqlstm.sqharm[2] = (unsigned long )0;
      sqlstm.sqadto[2] = (unsigned short )0;
      sqlstm.sqtdso[2] = (unsigned short )0;
      sqlstm.sqhstv[3] = (unsigned char  *)creator;
      sqlstm.sqhstl[3] = (unsigned long )0;
      sqlstm.sqhsts[3] = (         int  )0;
      sqlstm.sqindv[3] = (         short *)0;
      sqlstm.sqinds[3] = (         int  )0;
      sqlstm.sqharm[3] = (unsigned long )0;
      sqlstm.sqadto[3] = (unsigned short )0;
      sqlstm.sqtdso[3] = (unsigned short )0;
      sqlstm.sqhstv[4] = (unsigned char  *)descript;
      sqlstm.sqhstl[4] = (unsigned long )0;
      sqlstm.sqhsts[4] = (         int  )0;
      sqlstm.sqindv[4] = (         short *)0;
      sqlstm.sqinds[4] = (         int  )0;
      sqlstm.sqharm[4] = (unsigned long )0;
      sqlstm.sqadto[4] = (unsigned short )0;
      sqlstm.sqtdso[4] = (unsigned short )0;
      sqlstm.sqphsv = sqlstm.sqhstv;
      sqlstm.sqphsl = sqlstm.sqhstl;
      sqlstm.sqphss = sqlstm.sqhsts;
      sqlstm.sqpind = sqlstm.sqindv;
      sqlstm.sqpins = sqlstm.sqinds;
      sqlstm.sqparm = sqlstm.sqharm;
      sqlstm.sqparc = sqlstm.sqharc;
      sqlstm.sqpadto = sqlstm.sqadto;
      sqlstm.sqptdso = sqlstm.sqtdso;
      sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
      if (sqlca.sqlcode == 1403) goto not_found;
      if (sqlca.sqlcode < 0) goto not_found;
}


    }
  }
  cout<<"Oracle version for "<<pPar->GetName()<<" created:  "<<vers<<endl;
  return vers;
not_found:
  showSqlError("createVers(HParSet*)");
  return vers;
}

Int_t HEmcParOra2Io::writePar(HEmcTrb3Lookup* pPar) {
  // creates a new version and writes the lookup table to Oracle
  Int_t version=createVers(pPar);
  if (version==-1) return -1;
  /* EXEC SQL BEGIN DECLARE SECTION; */ 

    int   rows_to_insert;
    int   vers[EMC_MAXCELLS];
    int   address[EMC_MAXCELLS];
    int   channel[EMC_MAXCELLS];
    int   module[EMC_MAXCELLS];
    int   cell[EMC_MAXCELLS];
    int   flag[EMC_MAXCELLS];
  /* EXEC SQL END DECLARE SECTION; */ 

  Int_t nChan=0;
  Int_t arrayOffset=pPar->getArrayOffset();
  for(Int_t b=0;b<pPar->getSize();b++) {
    HEmcTrb3LookupBoard* board=(*pPar)[b];
    if (board) {
      for(Int_t t=0;t<board->getSize();t++) {
        HEmcTrb3LookupChan& rChan=(*board)[t];
        if (rChan.getSector()!=-1&&rChan.getCell()!=-1) {
          vers[nChan]=version;
          address[nChan]=arrayOffset+b;
          channel[nChan]=t;
          module[nChan]=rChan.getSector()+1;
          cell[nChan]=rChan.getCell();
          flag[nChan]=rChan.getFlag();
//          printf("HEmcParOra2Io::writePar %d- address:0x%x c:%d mod:%d cell:%d flag:%d\n", 
//        		  nChan,  address[nChan],  channel[nChan], module[nChan], cell[nChan], flag[nChan]);
          nChan++;
        }
      }
    }
  }
  rows_to_insert=nChan;
  /* EXEC SQL WHENEVER SQLERROR GOTO errorfound; */ 

  /* EXEC SQL WHENEVER NOT FOUND GOTO errorfound; */ 

  /* EXEC SQL FOR :rows_to_insert
  INSERT INTO emc_ana2.trb3lookup_data
              (vers_id, trbnet_address, channel_id, cell_id, channel_flag)
       VALUES (:vers, :address, :channel,
               emc_ana2.emc_par_query.get_cell_id(:module,:cell), :flag); */ 

{
  struct sqlexd sqlstm;
  sqlorat((void **)0, &sqlctx, &oraca);
  sqlstm.sqlvsn = 13;
  sqlstm.arrsiz = 11;
  sqlstm.sqladtp = &sqladt;
  sqlstm.sqltdsp = &sqltds;
  sqlstm.stmt = "insert into emc_ana2.trb3lookup_data (vers_id,trbnet_addres\
s,channel_id,cell_id,channel_flag) values (:b1,:b2,:b3,emc_ana2.emc_par_query.\
get_cell_id(:b4,:b5),:b6)";
  sqlstm.iters = (unsigned int  )rows_to_insert;
  sqlstm.offset = (unsigned int  )281;
  sqlstm.cud = sqlcud0;
  sqlstm.sqlest = (unsigned char  *)&sqlca;
  sqlstm.sqlety = (unsigned short)4352;
  sqlstm.occurs = (unsigned int  )0;
  sqlstm.sqhstv[0] = (unsigned char  *)vers;
  sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[0] = (         int  )sizeof(int);
  sqlstm.sqindv[0] = (         short *)0;
  sqlstm.sqinds[0] = (         int  )0;
  sqlstm.sqharm[0] = (unsigned long )0;
  sqlstm.sqharc[0] = (unsigned long  *)0;
  sqlstm.sqadto[0] = (unsigned short )0;
  sqlstm.sqtdso[0] = (unsigned short )0;
  sqlstm.sqhstv[1] = (unsigned char  *)address;
  sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[1] = (         int  )sizeof(int);
  sqlstm.sqindv[1] = (         short *)0;
  sqlstm.sqinds[1] = (         int  )0;
  sqlstm.sqharm[1] = (unsigned long )0;
  sqlstm.sqharc[1] = (unsigned long  *)0;
  sqlstm.sqadto[1] = (unsigned short )0;
  sqlstm.sqtdso[1] = (unsigned short )0;
  sqlstm.sqhstv[2] = (unsigned char  *)channel;
  sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[2] = (         int  )sizeof(int);
  sqlstm.sqindv[2] = (         short *)0;
  sqlstm.sqinds[2] = (         int  )0;
  sqlstm.sqharm[2] = (unsigned long )0;
  sqlstm.sqharc[2] = (unsigned long  *)0;
  sqlstm.sqadto[2] = (unsigned short )0;
  sqlstm.sqtdso[2] = (unsigned short )0;
  sqlstm.sqhstv[3] = (unsigned char  *)module;
  sqlstm.sqhstl[3] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[3] = (         int  )sizeof(int);
  sqlstm.sqindv[3] = (         short *)0;
  sqlstm.sqinds[3] = (         int  )0;
  sqlstm.sqharm[3] = (unsigned long )0;
  sqlstm.sqharc[3] = (unsigned long  *)0;
  sqlstm.sqadto[3] = (unsigned short )0;
  sqlstm.sqtdso[3] = (unsigned short )0;
  sqlstm.sqhstv[4] = (unsigned char  *)cell;
  sqlstm.sqhstl[4] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[4] = (         int  )sizeof(int);
  sqlstm.sqindv[4] = (         short *)0;
  sqlstm.sqinds[4] = (         int  )0;
  sqlstm.sqharm[4] = (unsigned long )0;
  sqlstm.sqharc[4] = (unsigned long  *)0;
  sqlstm.sqadto[4] = (unsigned short )0;
  sqlstm.sqtdso[4] = (unsigned short )0;
  sqlstm.sqhstv[5] = (unsigned char  *)flag;
  sqlstm.sqhstl[5] = (unsigned long )sizeof(int);
  sqlstm.sqhsts[5] = (         int  )sizeof(int);
  sqlstm.sqindv[5] = (         short *)0;
  sqlstm.sqinds[5] = (         int  )0;
  sqlstm.sqharm[5] = (unsigned long )0;
  sqlstm.sqharc[5] = (unsigned long  *)0;
  sqlstm.sqadto[5] = (unsigned short )0;
  sqlstm.sqtdso[5] = (unsigned short )0;
  sqlstm.sqphsv = sqlstm.sqhstv;
  sqlstm.sqphsl = sqlstm.sqhstl;
  sqlstm.sqphss = sqlstm.sqhsts;
  sqlstm.sqpind = sqlstm.sqindv;
  sqlstm.sqpins = sqlstm.sqinds;
  sqlstm.sqparm = sqlstm.sqharm;
  sqlstm.sqparc = sqlstm.sqharc;
  sqlstm.sqpadto = sqlstm.sqadto;
  sqlstm.sqptdso = sqlstm.sqtdso;
  sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
  if (sqlca.sqlcode == 1403) goto errorfound;
  if (sqlca.sqlcode < 0) goto errorfound;
}


  cout<<rows_to_insert<<" rows inserted\n";
  commit();
  pPar->setChanged(kFALSE);
  return version;
errorfound:
  showSqlError("writePar(HEmcTrb3Lookup*)");
  rollback();
  pPar->setChanged(kFALSE);
  return -1;
}

Int_t HEmcParOra2Io:: writePar(HEmcCalPar* pPar) {
  // creates a new version and writes the calibration parameters to Oracle
  Int_t version=createVers(pPar);
  if (version==-1) return -1;
  /* EXEC SQL BEGIN DECLARE SECTION; */ 

    int   module[EMC_MAXSECCELLS];
    int   cell[EMC_MAXSECCELLS];
    int   vers[EMC_MAXSECCELLS];
    float tdcSlope[EMC_MAXSECCELLS];
    float tdcOffset[EMC_MAXSECCELLS];
    float adcPar_0[EMC_MAXSECCELLS];
    float adcPar_1[EMC_MAXSECCELLS];
    float adcPar_2[EMC_MAXSECCELLS];
    float timeWalkCorr_0[EMC_MAXCELLS];
    float timeWalkCorr_1[EMC_MAXCELLS];
    float timeWalkCorr_2[EMC_MAXCELLS];
    int rows_to_insert;
  /* EXEC SQL END DECLARE SECTION; */ 

  Int_t nCell=0;
  for(Int_t s=0; s<pPar->getSize(); s++) {
    HEmcCalParSec& rSec= (*pPar)[s];
    nCell=0;
    for(Int_t c=0; c<rSec.getSize(); c++) {
      HEmcCalParCell& rCell= rSec[c];
      if (rCell.getTdcSlope()!=1||rCell.getTdcOffset()!=0
          ||rCell.getAdcPar2()!=0||rCell.getAdcPar1()!=1||rCell.getAdcPar0()!=0
          ||rCell.getTwcPar2()!=0||rCell.getTwcPar1()!=0||rCell.getTwcPar0()!=0) {
        if (nCell >= EMC_MAXSECCELLS) {
          Error("writePar(HEmcCalPar*)","Too many cells in sector %i",s);
          rollback();
          pPar->setChanged(kFALSE);
          return -1;
        }
        module[nCell]=s+1;
        cell[nCell]=c;
        vers[nCell]=version;
        tdcSlope[nCell]=rCell.getTdcSlope();
        tdcOffset[nCell]=rCell.getTdcOffset();
        adcPar_0[nCell]=rCell.getAdcPar0();
        adcPar_1[nCell]=rCell.getAdcPar1();
        adcPar_2[nCell]=rCell.getAdcPar2();
        timeWalkCorr_0[nCell]=rCell.getTwcPar0();
        timeWalkCorr_1[nCell]=rCell.getTwcPar1();
        timeWalkCorr_2[nCell]=rCell.getTwcPar2();
        nCell++;
      }     
    }
    if (nCell==0) continue;
    rows_to_insert=nCell;
    /* EXEC SQL WHENEVER SQLERROR GOTO not_found; */ 

    /* EXEC SQL WHENEVER NOT FOUND GOTO not_found; */ 

    /* EXEC SQL FOR :rows_to_insert
      INSERT INTO emc_ana2.calpar_data
      (vers_id, cell_id, tdc_slope, tdc_offset, adc_par_0, adc_par_1, adc_par_2, time_walk_0, time_walk_1, time_walk_2)
        VALUES (:vers, emc_ana2.emc_par_query.get_cell_id(:module,:cell),
                :tdcSlope, :tdcOffset, :adcPar_0, :adcPar_1, :adcPar_2, :timeWalkCorr_0, :timeWalkCorr_1, :timeWalkCorr_2); */ 

{
    struct sqlexd sqlstm;
    sqlorat((void **)0, &sqlctx, &oraca);
    sqlstm.sqlvsn = 13;
    sqlstm.arrsiz = 11;
    sqlstm.sqladtp = &sqladt;
    sqlstm.sqltdsp = &sqltds;
    sqlstm.stmt = "insert into emc_ana2.calpar_data (vers_id,cell_id,tdc_slo\
pe,tdc_offset,adc_par_0,adc_par_1,adc_par_2,time_walk_0,time_walk_1,time_walk_\
2) values (:b1,emc_ana2.emc_par_query.get_cell_id(:b2,:b3),:b4,:b5,:b6,:b7,:b8\
,:b9,:b10,:b11)";
    sqlstm.iters = (unsigned int  )rows_to_insert;
    sqlstm.offset = (unsigned int  )320;
    sqlstm.cud = sqlcud0;
    sqlstm.sqlest = (unsigned char  *)&sqlca;
    sqlstm.sqlety = (unsigned short)4352;
    sqlstm.occurs = (unsigned int  )0;
    sqlstm.sqhstv[0] = (unsigned char  *)vers;
    sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
    sqlstm.sqhsts[0] = (         int  )sizeof(int);
    sqlstm.sqindv[0] = (         short *)0;
    sqlstm.sqinds[0] = (         int  )0;
    sqlstm.sqharm[0] = (unsigned long )0;
    sqlstm.sqharc[0] = (unsigned long  *)0;
    sqlstm.sqadto[0] = (unsigned short )0;
    sqlstm.sqtdso[0] = (unsigned short )0;
    sqlstm.sqhstv[1] = (unsigned char  *)module;
    sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
    sqlstm.sqhsts[1] = (         int  )sizeof(int);
    sqlstm.sqindv[1] = (         short *)0;
    sqlstm.sqinds[1] = (         int  )0;
    sqlstm.sqharm[1] = (unsigned long )0;
    sqlstm.sqharc[1] = (unsigned long  *)0;
    sqlstm.sqadto[1] = (unsigned short )0;
    sqlstm.sqtdso[1] = (unsigned short )0;
    sqlstm.sqhstv[2] = (unsigned char  *)cell;
    sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
    sqlstm.sqhsts[2] = (         int  )sizeof(int);
    sqlstm.sqindv[2] = (         short *)0;
    sqlstm.sqinds[2] = (         int  )0;
    sqlstm.sqharm[2] = (unsigned long )0;
    sqlstm.sqharc[2] = (unsigned long  *)0;
    sqlstm.sqadto[2] = (unsigned short )0;
    sqlstm.sqtdso[2] = (unsigned short )0;
    sqlstm.sqhstv[3] = (unsigned char  *)tdcSlope;
    sqlstm.sqhstl[3] = (unsigned long )sizeof(float);
    sqlstm.sqhsts[3] = (         int  )sizeof(float);
    sqlstm.sqindv[3] = (         short *)0;
    sqlstm.sqinds[3] = (         int  )0;
    sqlstm.sqharm[3] = (unsigned long )0;
    sqlstm.sqharc[3] = (unsigned long  *)0;
    sqlstm.sqadto[3] = (unsigned short )0;
    sqlstm.sqtdso[3] = (unsigned short )0;
    sqlstm.sqhstv[4] = (unsigned char  *)tdcOffset;
    sqlstm.sqhstl[4] = (unsigned long )sizeof(float);
    sqlstm.sqhsts[4] = (         int  )sizeof(float);
    sqlstm.sqindv[4] = (         short *)0;
    sqlstm.sqinds[4] = (         int  )0;
    sqlstm.sqharm[4] = (unsigned long )0;
    sqlstm.sqharc[4] = (unsigned long  *)0;
    sqlstm.sqadto[4] = (unsigned short )0;
    sqlstm.sqtdso[4] = (unsigned short )0;
    sqlstm.sqhstv[5] = (unsigned char  *)adcPar_0;
    sqlstm.sqhstl[5] = (unsigned long )sizeof(float);
    sqlstm.sqhsts[5] = (         int  )sizeof(float);
    sqlstm.sqindv[5] = (         short *)0;
    sqlstm.sqinds[5] = (         int  )0;
    sqlstm.sqharm[5] = (unsigned long )0;
    sqlstm.sqharc[5] = (unsigned long  *)0;
    sqlstm.sqadto[5] = (unsigned short )0;
    sqlstm.sqtdso[5] = (unsigned short )0;
    sqlstm.sqhstv[6] = (unsigned char  *)adcPar_1;
    sqlstm.sqhstl[6] = (unsigned long )sizeof(float);
    sqlstm.sqhsts[6] = (         int  )sizeof(float);
    sqlstm.sqindv[6] = (         short *)0;
    sqlstm.sqinds[6] = (         int  )0;
    sqlstm.sqharm[6] = (unsigned long )0;
    sqlstm.sqharc[6] = (unsigned long  *)0;
    sqlstm.sqadto[6] = (unsigned short )0;
    sqlstm.sqtdso[6] = (unsigned short )0;
    sqlstm.sqhstv[7] = (unsigned char  *)adcPar_2;
    sqlstm.sqhstl[7] = (unsigned long )sizeof(float);
    sqlstm.sqhsts[7] = (         int  )sizeof(float);
    sqlstm.sqindv[7] = (         short *)0;
    sqlstm.sqinds[7] = (         int  )0;
    sqlstm.sqharm[7] = (unsigned long )0;
    sqlstm.sqharc[7] = (unsigned long  *)0;
    sqlstm.sqadto[7] = (unsigned short )0;
    sqlstm.sqtdso[7] = (unsigned short )0;
    sqlstm.sqhstv[8] = (unsigned char  *)timeWalkCorr_0;
    sqlstm.sqhstl[8] = (unsigned long )sizeof(float);
    sqlstm.sqhsts[8] = (         int  )sizeof(float);
    sqlstm.sqindv[8] = (         short *)0;
    sqlstm.sqinds[8] = (         int  )0;
    sqlstm.sqharm[8] = (unsigned long )0;
    sqlstm.sqharc[8] = (unsigned long  *)0;
    sqlstm.sqadto[8] = (unsigned short )0;
    sqlstm.sqtdso[8] = (unsigned short )0;
    sqlstm.sqhstv[9] = (unsigned char  *)timeWalkCorr_1;
    sqlstm.sqhstl[9] = (unsigned long )sizeof(float);
    sqlstm.sqhsts[9] = (         int  )sizeof(float);
    sqlstm.sqindv[9] = (         short *)0;
    sqlstm.sqinds[9] = (         int  )0;
    sqlstm.sqharm[9] = (unsigned long )0;
    sqlstm.sqharc[9] = (unsigned long  *)0;
    sqlstm.sqadto[9] = (unsigned short )0;
    sqlstm.sqtdso[9] = (unsigned short )0;
    sqlstm.sqhstv[10] = (unsigned char  *)timeWalkCorr_2;
    sqlstm.sqhstl[10] = (unsigned long )sizeof(float);
    sqlstm.sqhsts[10] = (         int  )sizeof(float);
    sqlstm.sqindv[10] = (         short *)0;
    sqlstm.sqinds[10] = (         int  )0;
    sqlstm.sqharm[10] = (unsigned long )0;
    sqlstm.sqharc[10] = (unsigned long  *)0;
    sqlstm.sqadto[10] = (unsigned short )0;
    sqlstm.sqtdso[10] = (unsigned short )0;
    sqlstm.sqphsv = sqlstm.sqhstv;
    sqlstm.sqphsl = sqlstm.sqhstl;
    sqlstm.sqphss = sqlstm.sqhsts;
    sqlstm.sqpind = sqlstm.sqindv;
    sqlstm.sqpins = sqlstm.sqinds;
    sqlstm.sqparm = sqlstm.sqharm;
    sqlstm.sqparc = sqlstm.sqharc;
    sqlstm.sqpadto = sqlstm.sqadto;
    sqlstm.sqptdso = sqlstm.sqtdso;
    sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
    if (sqlca.sqlcode == 1403) goto not_found;
    if (sqlca.sqlcode < 0) goto not_found;
}


    cout<<"Sector "<<s<<"    "<<rows_to_insert<<" rows inserted\n";
  }
  commit();
  pPar->setChanged(kFALSE);
  return version;
not_found:
  showSqlError("writePar(HEmcCalPar*)");
  rollback();
  pPar->setChanged(kFALSE);
  return -1;
}


void HEmcParOra2Io::printInfo(const Char_t* contName) {
  // prints the sectors initialized from Oracle
  Bool_t first=kTRUE;
  for(Int_t i=0;i<EMC_MAXSEC;i++) {
    if (initModules->At(i)) {
      if (first) {
        cout<<contName<<": sector(s) initialized from Oracle: ";
        first=kFALSE;
      }
      cout<<i<<" ";
    }
  }
  cout<<'\n';
}
 hemcparora2io.pc.cc:1
 hemcparora2io.pc.cc:2
 hemcparora2io.pc.cc:3
 hemcparora2io.pc.cc:4
 hemcparora2io.pc.cc:5
 hemcparora2io.pc.cc:6
 hemcparora2io.pc.cc:7
 hemcparora2io.pc.cc:8
 hemcparora2io.pc.cc:9
 hemcparora2io.pc.cc:10
 hemcparora2io.pc.cc:11
 hemcparora2io.pc.cc:12
 hemcparora2io.pc.cc:13
 hemcparora2io.pc.cc:14
 hemcparora2io.pc.cc:15
 hemcparora2io.pc.cc:16
 hemcparora2io.pc.cc:17
 hemcparora2io.pc.cc:18
 hemcparora2io.pc.cc:19
 hemcparora2io.pc.cc:20
 hemcparora2io.pc.cc:21
 hemcparora2io.pc.cc:22
 hemcparora2io.pc.cc:23
 hemcparora2io.pc.cc:24
 hemcparora2io.pc.cc:25
 hemcparora2io.pc.cc:26
 hemcparora2io.pc.cc:27
 hemcparora2io.pc.cc:28
 hemcparora2io.pc.cc:29
 hemcparora2io.pc.cc:30
 hemcparora2io.pc.cc:31
 hemcparora2io.pc.cc:32
 hemcparora2io.pc.cc:33
 hemcparora2io.pc.cc:34
 hemcparora2io.pc.cc:35
 hemcparora2io.pc.cc:36
 hemcparora2io.pc.cc:37
 hemcparora2io.pc.cc:38
 hemcparora2io.pc.cc:39
 hemcparora2io.pc.cc:40
 hemcparora2io.pc.cc:41
 hemcparora2io.pc.cc:42
 hemcparora2io.pc.cc:43
 hemcparora2io.pc.cc:44
 hemcparora2io.pc.cc:45
 hemcparora2io.pc.cc:46
 hemcparora2io.pc.cc:47
 hemcparora2io.pc.cc:48
 hemcparora2io.pc.cc:49
 hemcparora2io.pc.cc:50
 hemcparora2io.pc.cc:51
 hemcparora2io.pc.cc:52
 hemcparora2io.pc.cc:53
 hemcparora2io.pc.cc:54
 hemcparora2io.pc.cc:55
 hemcparora2io.pc.cc:56
 hemcparora2io.pc.cc:57
 hemcparora2io.pc.cc:58
 hemcparora2io.pc.cc:59
 hemcparora2io.pc.cc:60
 hemcparora2io.pc.cc:61
 hemcparora2io.pc.cc:62
 hemcparora2io.pc.cc:63
 hemcparora2io.pc.cc:64
 hemcparora2io.pc.cc:65
 hemcparora2io.pc.cc:66
 hemcparora2io.pc.cc:67
 hemcparora2io.pc.cc:68
 hemcparora2io.pc.cc:69
 hemcparora2io.pc.cc:70
 hemcparora2io.pc.cc:71
 hemcparora2io.pc.cc:72
 hemcparora2io.pc.cc:73
 hemcparora2io.pc.cc:74
 hemcparora2io.pc.cc:75
 hemcparora2io.pc.cc:76
 hemcparora2io.pc.cc:77
 hemcparora2io.pc.cc:78
 hemcparora2io.pc.cc:79
 hemcparora2io.pc.cc:80
 hemcparora2io.pc.cc:81
 hemcparora2io.pc.cc:82
 hemcparora2io.pc.cc:83
 hemcparora2io.pc.cc:84
 hemcparora2io.pc.cc:85
 hemcparora2io.pc.cc:86
 hemcparora2io.pc.cc:87
 hemcparora2io.pc.cc:88
 hemcparora2io.pc.cc:89
 hemcparora2io.pc.cc:90
 hemcparora2io.pc.cc:91
 hemcparora2io.pc.cc:92
 hemcparora2io.pc.cc:93
 hemcparora2io.pc.cc:94
 hemcparora2io.pc.cc:95
 hemcparora2io.pc.cc:96
 hemcparora2io.pc.cc:97
 hemcparora2io.pc.cc:98
 hemcparora2io.pc.cc:99
 hemcparora2io.pc.cc:100
 hemcparora2io.pc.cc:101
 hemcparora2io.pc.cc:102
 hemcparora2io.pc.cc:103
 hemcparora2io.pc.cc:104
 hemcparora2io.pc.cc:105
 hemcparora2io.pc.cc:106
 hemcparora2io.pc.cc:107
 hemcparora2io.pc.cc:108
 hemcparora2io.pc.cc:109
 hemcparora2io.pc.cc:110
 hemcparora2io.pc.cc:111
 hemcparora2io.pc.cc:112
 hemcparora2io.pc.cc:113
 hemcparora2io.pc.cc:114
 hemcparora2io.pc.cc:115
 hemcparora2io.pc.cc:116
 hemcparora2io.pc.cc:117
 hemcparora2io.pc.cc:118
 hemcparora2io.pc.cc:119
 hemcparora2io.pc.cc:120
 hemcparora2io.pc.cc:121
 hemcparora2io.pc.cc:122
 hemcparora2io.pc.cc:123
 hemcparora2io.pc.cc:124
 hemcparora2io.pc.cc:125
 hemcparora2io.pc.cc:126
 hemcparora2io.pc.cc:127
 hemcparora2io.pc.cc:128
 hemcparora2io.pc.cc:129
 hemcparora2io.pc.cc:130
 hemcparora2io.pc.cc:131
 hemcparora2io.pc.cc:132
 hemcparora2io.pc.cc:133
 hemcparora2io.pc.cc:134
 hemcparora2io.pc.cc:135
 hemcparora2io.pc.cc:136
 hemcparora2io.pc.cc:137
 hemcparora2io.pc.cc:138
 hemcparora2io.pc.cc:139
 hemcparora2io.pc.cc:140
 hemcparora2io.pc.cc:141
 hemcparora2io.pc.cc:142
 hemcparora2io.pc.cc:143
 hemcparora2io.pc.cc:144
 hemcparora2io.pc.cc:145
 hemcparora2io.pc.cc:146
 hemcparora2io.pc.cc:147
 hemcparora2io.pc.cc:148
 hemcparora2io.pc.cc:149
 hemcparora2io.pc.cc:150
 hemcparora2io.pc.cc:151
 hemcparora2io.pc.cc:152
 hemcparora2io.pc.cc:153
 hemcparora2io.pc.cc:154
 hemcparora2io.pc.cc:155
 hemcparora2io.pc.cc:156
 hemcparora2io.pc.cc:157
 hemcparora2io.pc.cc:158
 hemcparora2io.pc.cc:159
 hemcparora2io.pc.cc:160
 hemcparora2io.pc.cc:161
 hemcparora2io.pc.cc:162
 hemcparora2io.pc.cc:163
 hemcparora2io.pc.cc:164
 hemcparora2io.pc.cc:165
 hemcparora2io.pc.cc:166
 hemcparora2io.pc.cc:167
 hemcparora2io.pc.cc:168
 hemcparora2io.pc.cc:169
 hemcparora2io.pc.cc:170
 hemcparora2io.pc.cc:171
 hemcparora2io.pc.cc:172
 hemcparora2io.pc.cc:173
 hemcparora2io.pc.cc:174
 hemcparora2io.pc.cc:175
 hemcparora2io.pc.cc:176
 hemcparora2io.pc.cc:177
 hemcparora2io.pc.cc:178
 hemcparora2io.pc.cc:179
 hemcparora2io.pc.cc:180
 hemcparora2io.pc.cc:181
 hemcparora2io.pc.cc:182
 hemcparora2io.pc.cc:183
 hemcparora2io.pc.cc:184
 hemcparora2io.pc.cc:185
 hemcparora2io.pc.cc:186
 hemcparora2io.pc.cc:187
 hemcparora2io.pc.cc:188
 hemcparora2io.pc.cc:189
 hemcparora2io.pc.cc:190
 hemcparora2io.pc.cc:191
 hemcparora2io.pc.cc:192
 hemcparora2io.pc.cc:193
 hemcparora2io.pc.cc:194
 hemcparora2io.pc.cc:195
 hemcparora2io.pc.cc:196
 hemcparora2io.pc.cc:197
 hemcparora2io.pc.cc:198
 hemcparora2io.pc.cc:199
 hemcparora2io.pc.cc:200
 hemcparora2io.pc.cc:201
 hemcparora2io.pc.cc:202
 hemcparora2io.pc.cc:203
 hemcparora2io.pc.cc:204
 hemcparora2io.pc.cc:205
 hemcparora2io.pc.cc:206
 hemcparora2io.pc.cc:207
 hemcparora2io.pc.cc:208
 hemcparora2io.pc.cc:209
 hemcparora2io.pc.cc:210
 hemcparora2io.pc.cc:211
 hemcparora2io.pc.cc:212
 hemcparora2io.pc.cc:213
 hemcparora2io.pc.cc:214
 hemcparora2io.pc.cc:215
 hemcparora2io.pc.cc:216
 hemcparora2io.pc.cc:217
 hemcparora2io.pc.cc:218
 hemcparora2io.pc.cc:219
 hemcparora2io.pc.cc:220
 hemcparora2io.pc.cc:221
 hemcparora2io.pc.cc:222
 hemcparora2io.pc.cc:223
 hemcparora2io.pc.cc:224
 hemcparora2io.pc.cc:225
 hemcparora2io.pc.cc:226
 hemcparora2io.pc.cc:227
 hemcparora2io.pc.cc:228
 hemcparora2io.pc.cc:229
 hemcparora2io.pc.cc:230
 hemcparora2io.pc.cc:231
 hemcparora2io.pc.cc:232
 hemcparora2io.pc.cc:233
 hemcparora2io.pc.cc:234
 hemcparora2io.pc.cc:235
 hemcparora2io.pc.cc:236
 hemcparora2io.pc.cc:237
 hemcparora2io.pc.cc:238
 hemcparora2io.pc.cc:239
 hemcparora2io.pc.cc:240
 hemcparora2io.pc.cc:241
 hemcparora2io.pc.cc:242
 hemcparora2io.pc.cc:243
 hemcparora2io.pc.cc:244
 hemcparora2io.pc.cc:245
 hemcparora2io.pc.cc:246
 hemcparora2io.pc.cc:247
 hemcparora2io.pc.cc:248
 hemcparora2io.pc.cc:249
 hemcparora2io.pc.cc:250
 hemcparora2io.pc.cc:251
 hemcparora2io.pc.cc:252
 hemcparora2io.pc.cc:253
 hemcparora2io.pc.cc:254
 hemcparora2io.pc.cc:255
 hemcparora2io.pc.cc:256
 hemcparora2io.pc.cc:257
 hemcparora2io.pc.cc:258
 hemcparora2io.pc.cc:259
 hemcparora2io.pc.cc:260
 hemcparora2io.pc.cc:261
 hemcparora2io.pc.cc:262
 hemcparora2io.pc.cc:263
 hemcparora2io.pc.cc:264
 hemcparora2io.pc.cc:265
 hemcparora2io.pc.cc:266
 hemcparora2io.pc.cc:267
 hemcparora2io.pc.cc:268
 hemcparora2io.pc.cc:269
 hemcparora2io.pc.cc:270
 hemcparora2io.pc.cc:271
 hemcparora2io.pc.cc:272
 hemcparora2io.pc.cc:273
 hemcparora2io.pc.cc:274
 hemcparora2io.pc.cc:275
 hemcparora2io.pc.cc:276
 hemcparora2io.pc.cc:277
 hemcparora2io.pc.cc:278
 hemcparora2io.pc.cc:279
 hemcparora2io.pc.cc:280
 hemcparora2io.pc.cc:281
 hemcparora2io.pc.cc:282
 hemcparora2io.pc.cc:283
 hemcparora2io.pc.cc:284
 hemcparora2io.pc.cc:285
 hemcparora2io.pc.cc:286
 hemcparora2io.pc.cc:287
 hemcparora2io.pc.cc:288
 hemcparora2io.pc.cc:289
 hemcparora2io.pc.cc:290
 hemcparora2io.pc.cc:291
 hemcparora2io.pc.cc:292
 hemcparora2io.pc.cc:293
 hemcparora2io.pc.cc:294
 hemcparora2io.pc.cc:295
 hemcparora2io.pc.cc:296
 hemcparora2io.pc.cc:297
 hemcparora2io.pc.cc:298
 hemcparora2io.pc.cc:299
 hemcparora2io.pc.cc:300
 hemcparora2io.pc.cc:301
 hemcparora2io.pc.cc:302
 hemcparora2io.pc.cc:303
 hemcparora2io.pc.cc:304
 hemcparora2io.pc.cc:305
 hemcparora2io.pc.cc:306
 hemcparora2io.pc.cc:307
 hemcparora2io.pc.cc:308
 hemcparora2io.pc.cc:309
 hemcparora2io.pc.cc:310
 hemcparora2io.pc.cc:311
 hemcparora2io.pc.cc:312
 hemcparora2io.pc.cc:313
 hemcparora2io.pc.cc:314
 hemcparora2io.pc.cc:315
 hemcparora2io.pc.cc:316
 hemcparora2io.pc.cc:317
 hemcparora2io.pc.cc:318
 hemcparora2io.pc.cc:319
 hemcparora2io.pc.cc:320
 hemcparora2io.pc.cc:321
 hemcparora2io.pc.cc:322
 hemcparora2io.pc.cc:323
 hemcparora2io.pc.cc:324
 hemcparora2io.pc.cc:325
 hemcparora2io.pc.cc:326
 hemcparora2io.pc.cc:327
 hemcparora2io.pc.cc:328
 hemcparora2io.pc.cc:329
 hemcparora2io.pc.cc:330
 hemcparora2io.pc.cc:331
 hemcparora2io.pc.cc:332
 hemcparora2io.pc.cc:333
 hemcparora2io.pc.cc:334
 hemcparora2io.pc.cc:335
 hemcparora2io.pc.cc:336
 hemcparora2io.pc.cc:337
 hemcparora2io.pc.cc:338
 hemcparora2io.pc.cc:339
 hemcparora2io.pc.cc:340
 hemcparora2io.pc.cc:341
 hemcparora2io.pc.cc:342
 hemcparora2io.pc.cc:343
 hemcparora2io.pc.cc:344
 hemcparora2io.pc.cc:345
 hemcparora2io.pc.cc:346
 hemcparora2io.pc.cc:347
 hemcparora2io.pc.cc:348
 hemcparora2io.pc.cc:349
 hemcparora2io.pc.cc:350
 hemcparora2io.pc.cc:351
 hemcparora2io.pc.cc:352
 hemcparora2io.pc.cc:353
 hemcparora2io.pc.cc:354
 hemcparora2io.pc.cc:355
 hemcparora2io.pc.cc:356
 hemcparora2io.pc.cc:357
 hemcparora2io.pc.cc:358
 hemcparora2io.pc.cc:359
 hemcparora2io.pc.cc:360
 hemcparora2io.pc.cc:361
 hemcparora2io.pc.cc:362
 hemcparora2io.pc.cc:363
 hemcparora2io.pc.cc:364
 hemcparora2io.pc.cc:365
 hemcparora2io.pc.cc:366
 hemcparora2io.pc.cc:367
 hemcparora2io.pc.cc:368
 hemcparora2io.pc.cc:369
 hemcparora2io.pc.cc:370
 hemcparora2io.pc.cc:371
 hemcparora2io.pc.cc:372
 hemcparora2io.pc.cc:373
 hemcparora2io.pc.cc:374
 hemcparora2io.pc.cc:375
 hemcparora2io.pc.cc:376
 hemcparora2io.pc.cc:377
 hemcparora2io.pc.cc:378
 hemcparora2io.pc.cc:379
 hemcparora2io.pc.cc:380
 hemcparora2io.pc.cc:381
 hemcparora2io.pc.cc:382
 hemcparora2io.pc.cc:383
 hemcparora2io.pc.cc:384
 hemcparora2io.pc.cc:385
 hemcparora2io.pc.cc:386
 hemcparora2io.pc.cc:387
 hemcparora2io.pc.cc:388
 hemcparora2io.pc.cc:389
 hemcparora2io.pc.cc:390
 hemcparora2io.pc.cc:391
 hemcparora2io.pc.cc:392
 hemcparora2io.pc.cc:393
 hemcparora2io.pc.cc:394
 hemcparora2io.pc.cc:395
 hemcparora2io.pc.cc:396
 hemcparora2io.pc.cc:397
 hemcparora2io.pc.cc:398
 hemcparora2io.pc.cc:399
 hemcparora2io.pc.cc:400
 hemcparora2io.pc.cc:401
 hemcparora2io.pc.cc:402
 hemcparora2io.pc.cc:403
 hemcparora2io.pc.cc:404
 hemcparora2io.pc.cc:405
 hemcparora2io.pc.cc:406
 hemcparora2io.pc.cc:407
 hemcparora2io.pc.cc:408
 hemcparora2io.pc.cc:409
 hemcparora2io.pc.cc:410
 hemcparora2io.pc.cc:411
 hemcparora2io.pc.cc:412
 hemcparora2io.pc.cc:413
 hemcparora2io.pc.cc:414
 hemcparora2io.pc.cc:415
 hemcparora2io.pc.cc:416
 hemcparora2io.pc.cc:417
 hemcparora2io.pc.cc:418
 hemcparora2io.pc.cc:419
 hemcparora2io.pc.cc:420
 hemcparora2io.pc.cc:421
 hemcparora2io.pc.cc:422
 hemcparora2io.pc.cc:423
 hemcparora2io.pc.cc:424
 hemcparora2io.pc.cc:425
 hemcparora2io.pc.cc:426
 hemcparora2io.pc.cc:427
 hemcparora2io.pc.cc:428
 hemcparora2io.pc.cc:429
 hemcparora2io.pc.cc:430
 hemcparora2io.pc.cc:431
 hemcparora2io.pc.cc:432
 hemcparora2io.pc.cc:433
 hemcparora2io.pc.cc:434
 hemcparora2io.pc.cc:435
 hemcparora2io.pc.cc:436
 hemcparora2io.pc.cc:437
 hemcparora2io.pc.cc:438
 hemcparora2io.pc.cc:439
 hemcparora2io.pc.cc:440
 hemcparora2io.pc.cc:441
 hemcparora2io.pc.cc:442
 hemcparora2io.pc.cc:443
 hemcparora2io.pc.cc:444
 hemcparora2io.pc.cc:445
 hemcparora2io.pc.cc:446
 hemcparora2io.pc.cc:447
 hemcparora2io.pc.cc:448
 hemcparora2io.pc.cc:449
 hemcparora2io.pc.cc:450
 hemcparora2io.pc.cc:451
 hemcparora2io.pc.cc:452
 hemcparora2io.pc.cc:453
 hemcparora2io.pc.cc:454
 hemcparora2io.pc.cc:455
 hemcparora2io.pc.cc:456
 hemcparora2io.pc.cc:457
 hemcparora2io.pc.cc:458
 hemcparora2io.pc.cc:459
 hemcparora2io.pc.cc:460
 hemcparora2io.pc.cc:461
 hemcparora2io.pc.cc:462
 hemcparora2io.pc.cc:463
 hemcparora2io.pc.cc:464
 hemcparora2io.pc.cc:465
 hemcparora2io.pc.cc:466
 hemcparora2io.pc.cc:467
 hemcparora2io.pc.cc:468
 hemcparora2io.pc.cc:469
 hemcparora2io.pc.cc:470
 hemcparora2io.pc.cc:471
 hemcparora2io.pc.cc:472
 hemcparora2io.pc.cc:473
 hemcparora2io.pc.cc:474
 hemcparora2io.pc.cc:475
 hemcparora2io.pc.cc:476
 hemcparora2io.pc.cc:477
 hemcparora2io.pc.cc:478
 hemcparora2io.pc.cc:479
 hemcparora2io.pc.cc:480
 hemcparora2io.pc.cc:481
 hemcparora2io.pc.cc:482
 hemcparora2io.pc.cc:483
 hemcparora2io.pc.cc:484
 hemcparora2io.pc.cc:485
 hemcparora2io.pc.cc:486
 hemcparora2io.pc.cc:487
 hemcparora2io.pc.cc:488
 hemcparora2io.pc.cc:489
 hemcparora2io.pc.cc:490
 hemcparora2io.pc.cc:491
 hemcparora2io.pc.cc:492
 hemcparora2io.pc.cc:493
 hemcparora2io.pc.cc:494
 hemcparora2io.pc.cc:495
 hemcparora2io.pc.cc:496
 hemcparora2io.pc.cc:497
 hemcparora2io.pc.cc:498
 hemcparora2io.pc.cc:499
 hemcparora2io.pc.cc:500
 hemcparora2io.pc.cc:501
 hemcparora2io.pc.cc:502
 hemcparora2io.pc.cc:503
 hemcparora2io.pc.cc:504
 hemcparora2io.pc.cc:505
 hemcparora2io.pc.cc:506
 hemcparora2io.pc.cc:507
 hemcparora2io.pc.cc:508
 hemcparora2io.pc.cc:509
 hemcparora2io.pc.cc:510
 hemcparora2io.pc.cc:511
 hemcparora2io.pc.cc:512
 hemcparora2io.pc.cc:513
 hemcparora2io.pc.cc:514
 hemcparora2io.pc.cc:515
 hemcparora2io.pc.cc:516
 hemcparora2io.pc.cc:517
 hemcparora2io.pc.cc:518
 hemcparora2io.pc.cc:519
 hemcparora2io.pc.cc:520
 hemcparora2io.pc.cc:521
 hemcparora2io.pc.cc:522
 hemcparora2io.pc.cc:523
 hemcparora2io.pc.cc:524
 hemcparora2io.pc.cc:525
 hemcparora2io.pc.cc:526
 hemcparora2io.pc.cc:527
 hemcparora2io.pc.cc:528
 hemcparora2io.pc.cc:529
 hemcparora2io.pc.cc:530
 hemcparora2io.pc.cc:531
 hemcparora2io.pc.cc:532
 hemcparora2io.pc.cc:533
 hemcparora2io.pc.cc:534
 hemcparora2io.pc.cc:535
 hemcparora2io.pc.cc:536
 hemcparora2io.pc.cc:537
 hemcparora2io.pc.cc:538
 hemcparora2io.pc.cc:539
 hemcparora2io.pc.cc:540
 hemcparora2io.pc.cc:541
 hemcparora2io.pc.cc:542
 hemcparora2io.pc.cc:543
 hemcparora2io.pc.cc:544
 hemcparora2io.pc.cc:545
 hemcparora2io.pc.cc:546
 hemcparora2io.pc.cc:547
 hemcparora2io.pc.cc:548
 hemcparora2io.pc.cc:549
 hemcparora2io.pc.cc:550
 hemcparora2io.pc.cc:551
 hemcparora2io.pc.cc:552
 hemcparora2io.pc.cc:553
 hemcparora2io.pc.cc:554
 hemcparora2io.pc.cc:555
 hemcparora2io.pc.cc:556
 hemcparora2io.pc.cc:557
 hemcparora2io.pc.cc:558
 hemcparora2io.pc.cc:559
 hemcparora2io.pc.cc:560
 hemcparora2io.pc.cc:561
 hemcparora2io.pc.cc:562
 hemcparora2io.pc.cc:563
 hemcparora2io.pc.cc:564
 hemcparora2io.pc.cc:565
 hemcparora2io.pc.cc:566
 hemcparora2io.pc.cc:567
 hemcparora2io.pc.cc:568
 hemcparora2io.pc.cc:569
 hemcparora2io.pc.cc:570
 hemcparora2io.pc.cc:571
 hemcparora2io.pc.cc:572
 hemcparora2io.pc.cc:573
 hemcparora2io.pc.cc:574
 hemcparora2io.pc.cc:575
 hemcparora2io.pc.cc:576
 hemcparora2io.pc.cc:577
 hemcparora2io.pc.cc:578
 hemcparora2io.pc.cc:579
 hemcparora2io.pc.cc:580
 hemcparora2io.pc.cc:581
 hemcparora2io.pc.cc:582
 hemcparora2io.pc.cc:583
 hemcparora2io.pc.cc:584
 hemcparora2io.pc.cc:585
 hemcparora2io.pc.cc:586
 hemcparora2io.pc.cc:587
 hemcparora2io.pc.cc:588
 hemcparora2io.pc.cc:589
 hemcparora2io.pc.cc:590
 hemcparora2io.pc.cc:591
 hemcparora2io.pc.cc:592
 hemcparora2io.pc.cc:593
 hemcparora2io.pc.cc:594
 hemcparora2io.pc.cc:595
 hemcparora2io.pc.cc:596
 hemcparora2io.pc.cc:597
 hemcparora2io.pc.cc:598
 hemcparora2io.pc.cc:599
 hemcparora2io.pc.cc:600
 hemcparora2io.pc.cc:601
 hemcparora2io.pc.cc:602
 hemcparora2io.pc.cc:603
 hemcparora2io.pc.cc:604
 hemcparora2io.pc.cc:605
 hemcparora2io.pc.cc:606
 hemcparora2io.pc.cc:607
 hemcparora2io.pc.cc:608
 hemcparora2io.pc.cc:609
 hemcparora2io.pc.cc:610
 hemcparora2io.pc.cc:611
 hemcparora2io.pc.cc:612
 hemcparora2io.pc.cc:613
 hemcparora2io.pc.cc:614
 hemcparora2io.pc.cc:615
 hemcparora2io.pc.cc:616
 hemcparora2io.pc.cc:617
 hemcparora2io.pc.cc:618
 hemcparora2io.pc.cc:619
 hemcparora2io.pc.cc:620
 hemcparora2io.pc.cc:621
 hemcparora2io.pc.cc:622
 hemcparora2io.pc.cc:623
 hemcparora2io.pc.cc:624
 hemcparora2io.pc.cc:625
 hemcparora2io.pc.cc:626
 hemcparora2io.pc.cc:627
 hemcparora2io.pc.cc:628
 hemcparora2io.pc.cc:629
 hemcparora2io.pc.cc:630
 hemcparora2io.pc.cc:631
 hemcparora2io.pc.cc:632
 hemcparora2io.pc.cc:633
 hemcparora2io.pc.cc:634
 hemcparora2io.pc.cc:635
 hemcparora2io.pc.cc:636
 hemcparora2io.pc.cc:637
 hemcparora2io.pc.cc:638
 hemcparora2io.pc.cc:639
 hemcparora2io.pc.cc:640
 hemcparora2io.pc.cc:641
 hemcparora2io.pc.cc:642
 hemcparora2io.pc.cc:643
 hemcparora2io.pc.cc:644
 hemcparora2io.pc.cc:645
 hemcparora2io.pc.cc:646
 hemcparora2io.pc.cc:647
 hemcparora2io.pc.cc:648
 hemcparora2io.pc.cc:649
 hemcparora2io.pc.cc:650
 hemcparora2io.pc.cc:651
 hemcparora2io.pc.cc:652
 hemcparora2io.pc.cc:653
 hemcparora2io.pc.cc:654
 hemcparora2io.pc.cc:655
 hemcparora2io.pc.cc:656
 hemcparora2io.pc.cc:657
 hemcparora2io.pc.cc:658
 hemcparora2io.pc.cc:659
 hemcparora2io.pc.cc:660
 hemcparora2io.pc.cc:661
 hemcparora2io.pc.cc:662
 hemcparora2io.pc.cc:663
 hemcparora2io.pc.cc:664
 hemcparora2io.pc.cc:665
 hemcparora2io.pc.cc:666
 hemcparora2io.pc.cc:667
 hemcparora2io.pc.cc:668
 hemcparora2io.pc.cc:669
 hemcparora2io.pc.cc:670
 hemcparora2io.pc.cc:671
 hemcparora2io.pc.cc:672
 hemcparora2io.pc.cc:673
 hemcparora2io.pc.cc:674
 hemcparora2io.pc.cc:675
 hemcparora2io.pc.cc:676
 hemcparora2io.pc.cc:677
 hemcparora2io.pc.cc:678
 hemcparora2io.pc.cc:679
 hemcparora2io.pc.cc:680
 hemcparora2io.pc.cc:681
 hemcparora2io.pc.cc:682
 hemcparora2io.pc.cc:683
 hemcparora2io.pc.cc:684
 hemcparora2io.pc.cc:685
 hemcparora2io.pc.cc:686
 hemcparora2io.pc.cc:687
 hemcparora2io.pc.cc:688
 hemcparora2io.pc.cc:689
 hemcparora2io.pc.cc:690
 hemcparora2io.pc.cc:691
 hemcparora2io.pc.cc:692
 hemcparora2io.pc.cc:693
 hemcparora2io.pc.cc:694
 hemcparora2io.pc.cc:695
 hemcparora2io.pc.cc:696
 hemcparora2io.pc.cc:697
 hemcparora2io.pc.cc:698
 hemcparora2io.pc.cc:699
 hemcparora2io.pc.cc:700
 hemcparora2io.pc.cc:701
 hemcparora2io.pc.cc:702
 hemcparora2io.pc.cc:703
 hemcparora2io.pc.cc:704
 hemcparora2io.pc.cc:705
 hemcparora2io.pc.cc:706
 hemcparora2io.pc.cc:707
 hemcparora2io.pc.cc:708
 hemcparora2io.pc.cc:709
 hemcparora2io.pc.cc:710
 hemcparora2io.pc.cc:711
 hemcparora2io.pc.cc:712
 hemcparora2io.pc.cc:713
 hemcparora2io.pc.cc:714
 hemcparora2io.pc.cc:715
 hemcparora2io.pc.cc:716
 hemcparora2io.pc.cc:717
 hemcparora2io.pc.cc:718
 hemcparora2io.pc.cc:719
 hemcparora2io.pc.cc:720
 hemcparora2io.pc.cc:721
 hemcparora2io.pc.cc:722
 hemcparora2io.pc.cc:723
 hemcparora2io.pc.cc:724
 hemcparora2io.pc.cc:725
 hemcparora2io.pc.cc:726
 hemcparora2io.pc.cc:727
 hemcparora2io.pc.cc:728
 hemcparora2io.pc.cc:729
 hemcparora2io.pc.cc:730
 hemcparora2io.pc.cc:731
 hemcparora2io.pc.cc:732
 hemcparora2io.pc.cc:733
 hemcparora2io.pc.cc:734
 hemcparora2io.pc.cc:735
 hemcparora2io.pc.cc:736
 hemcparora2io.pc.cc:737
 hemcparora2io.pc.cc:738
 hemcparora2io.pc.cc:739
 hemcparora2io.pc.cc:740
 hemcparora2io.pc.cc:741
 hemcparora2io.pc.cc:742
 hemcparora2io.pc.cc:743
 hemcparora2io.pc.cc:744
 hemcparora2io.pc.cc:745
 hemcparora2io.pc.cc:746
 hemcparora2io.pc.cc:747
 hemcparora2io.pc.cc:748
 hemcparora2io.pc.cc:749
 hemcparora2io.pc.cc:750
 hemcparora2io.pc.cc:751
 hemcparora2io.pc.cc:752
 hemcparora2io.pc.cc:753
 hemcparora2io.pc.cc:754
 hemcparora2io.pc.cc:755
 hemcparora2io.pc.cc:756
 hemcparora2io.pc.cc:757
 hemcparora2io.pc.cc:758
 hemcparora2io.pc.cc:759
 hemcparora2io.pc.cc:760
 hemcparora2io.pc.cc:761
 hemcparora2io.pc.cc:762
 hemcparora2io.pc.cc:763
 hemcparora2io.pc.cc:764
 hemcparora2io.pc.cc:765
 hemcparora2io.pc.cc:766
 hemcparora2io.pc.cc:767
 hemcparora2io.pc.cc:768
 hemcparora2io.pc.cc:769
 hemcparora2io.pc.cc:770
 hemcparora2io.pc.cc:771
 hemcparora2io.pc.cc:772
 hemcparora2io.pc.cc:773
 hemcparora2io.pc.cc:774
 hemcparora2io.pc.cc:775
 hemcparora2io.pc.cc:776
 hemcparora2io.pc.cc:777
 hemcparora2io.pc.cc:778
 hemcparora2io.pc.cc:779
 hemcparora2io.pc.cc:780
 hemcparora2io.pc.cc:781
 hemcparora2io.pc.cc:782
 hemcparora2io.pc.cc:783
 hemcparora2io.pc.cc:784
 hemcparora2io.pc.cc:785
 hemcparora2io.pc.cc:786
 hemcparora2io.pc.cc:787
 hemcparora2io.pc.cc:788
 hemcparora2io.pc.cc:789
 hemcparora2io.pc.cc:790
 hemcparora2io.pc.cc:791
 hemcparora2io.pc.cc:792
 hemcparora2io.pc.cc:793
 hemcparora2io.pc.cc:794
 hemcparora2io.pc.cc:795
 hemcparora2io.pc.cc:796
 hemcparora2io.pc.cc:797
 hemcparora2io.pc.cc:798
 hemcparora2io.pc.cc:799
 hemcparora2io.pc.cc:800
 hemcparora2io.pc.cc:801
 hemcparora2io.pc.cc:802
 hemcparora2io.pc.cc:803
 hemcparora2io.pc.cc:804
 hemcparora2io.pc.cc:805
 hemcparora2io.pc.cc:806
 hemcparora2io.pc.cc:807
 hemcparora2io.pc.cc:808
 hemcparora2io.pc.cc:809
 hemcparora2io.pc.cc:810
 hemcparora2io.pc.cc:811
 hemcparora2io.pc.cc:812
 hemcparora2io.pc.cc:813
 hemcparora2io.pc.cc:814
 hemcparora2io.pc.cc:815
 hemcparora2io.pc.cc:816
 hemcparora2io.pc.cc:817
 hemcparora2io.pc.cc:818
 hemcparora2io.pc.cc:819
 hemcparora2io.pc.cc:820
 hemcparora2io.pc.cc:821
 hemcparora2io.pc.cc:822
 hemcparora2io.pc.cc:823
 hemcparora2io.pc.cc:824
 hemcparora2io.pc.cc:825
 hemcparora2io.pc.cc:826
 hemcparora2io.pc.cc:827
 hemcparora2io.pc.cc:828
 hemcparora2io.pc.cc:829
 hemcparora2io.pc.cc:830
 hemcparora2io.pc.cc:831
 hemcparora2io.pc.cc:832
 hemcparora2io.pc.cc:833
 hemcparora2io.pc.cc:834
 hemcparora2io.pc.cc:835
 hemcparora2io.pc.cc:836
 hemcparora2io.pc.cc:837
 hemcparora2io.pc.cc:838
 hemcparora2io.pc.cc:839
 hemcparora2io.pc.cc:840
 hemcparora2io.pc.cc:841
 hemcparora2io.pc.cc:842
 hemcparora2io.pc.cc:843
 hemcparora2io.pc.cc:844
 hemcparora2io.pc.cc:845
 hemcparora2io.pc.cc:846
 hemcparora2io.pc.cc:847
 hemcparora2io.pc.cc:848
 hemcparora2io.pc.cc:849
 hemcparora2io.pc.cc:850
 hemcparora2io.pc.cc:851
 hemcparora2io.pc.cc:852
 hemcparora2io.pc.cc:853
 hemcparora2io.pc.cc:854
 hemcparora2io.pc.cc:855
 hemcparora2io.pc.cc:856
 hemcparora2io.pc.cc:857
 hemcparora2io.pc.cc:858
 hemcparora2io.pc.cc:859
 hemcparora2io.pc.cc:860
 hemcparora2io.pc.cc:861
 hemcparora2io.pc.cc:862
 hemcparora2io.pc.cc:863
 hemcparora2io.pc.cc:864
 hemcparora2io.pc.cc:865
 hemcparora2io.pc.cc:866
 hemcparora2io.pc.cc:867
 hemcparora2io.pc.cc:868
 hemcparora2io.pc.cc:869
 hemcparora2io.pc.cc:870
 hemcparora2io.pc.cc:871
 hemcparora2io.pc.cc:872
 hemcparora2io.pc.cc:873
 hemcparora2io.pc.cc:874
 hemcparora2io.pc.cc:875
 hemcparora2io.pc.cc:876
 hemcparora2io.pc.cc:877
 hemcparora2io.pc.cc:878
 hemcparora2io.pc.cc:879
 hemcparora2io.pc.cc:880
 hemcparora2io.pc.cc:881
 hemcparora2io.pc.cc:882
 hemcparora2io.pc.cc:883
 hemcparora2io.pc.cc:884
 hemcparora2io.pc.cc:885
 hemcparora2io.pc.cc:886
 hemcparora2io.pc.cc:887
 hemcparora2io.pc.cc:888
 hemcparora2io.pc.cc:889
 hemcparora2io.pc.cc:890
 hemcparora2io.pc.cc:891
 hemcparora2io.pc.cc:892
 hemcparora2io.pc.cc:893
 hemcparora2io.pc.cc:894
 hemcparora2io.pc.cc:895
 hemcparora2io.pc.cc:896
 hemcparora2io.pc.cc:897
 hemcparora2io.pc.cc:898
 hemcparora2io.pc.cc:899
 hemcparora2io.pc.cc:900
 hemcparora2io.pc.cc:901
 hemcparora2io.pc.cc:902
 hemcparora2io.pc.cc:903
 hemcparora2io.pc.cc:904
 hemcparora2io.pc.cc:905
 hemcparora2io.pc.cc:906
 hemcparora2io.pc.cc:907
 hemcparora2io.pc.cc:908
 hemcparora2io.pc.cc:909
 hemcparora2io.pc.cc:910
 hemcparora2io.pc.cc:911
 hemcparora2io.pc.cc:912
 hemcparora2io.pc.cc:913
 hemcparora2io.pc.cc:914
 hemcparora2io.pc.cc:915
 hemcparora2io.pc.cc:916
 hemcparora2io.pc.cc:917
 hemcparora2io.pc.cc:918
 hemcparora2io.pc.cc:919
 hemcparora2io.pc.cc:920
 hemcparora2io.pc.cc:921
 hemcparora2io.pc.cc:922
 hemcparora2io.pc.cc:923
 hemcparora2io.pc.cc:924
 hemcparora2io.pc.cc:925
 hemcparora2io.pc.cc:926
 hemcparora2io.pc.cc:927
 hemcparora2io.pc.cc:928
 hemcparora2io.pc.cc:929
 hemcparora2io.pc.cc:930
 hemcparora2io.pc.cc:931
 hemcparora2io.pc.cc:932
 hemcparora2io.pc.cc:933
 hemcparora2io.pc.cc:934
 hemcparora2io.pc.cc:935
 hemcparora2io.pc.cc:936
 hemcparora2io.pc.cc:937
 hemcparora2io.pc.cc:938
 hemcparora2io.pc.cc:939
 hemcparora2io.pc.cc:940
 hemcparora2io.pc.cc:941
 hemcparora2io.pc.cc:942
 hemcparora2io.pc.cc:943
 hemcparora2io.pc.cc:944
 hemcparora2io.pc.cc:945
 hemcparora2io.pc.cc:946
 hemcparora2io.pc.cc:947
 hemcparora2io.pc.cc:948
 hemcparora2io.pc.cc:949
 hemcparora2io.pc.cc:950
 hemcparora2io.pc.cc:951
 hemcparora2io.pc.cc:952
 hemcparora2io.pc.cc:953
 hemcparora2io.pc.cc:954
 hemcparora2io.pc.cc:955
 hemcparora2io.pc.cc:956
 hemcparora2io.pc.cc:957
 hemcparora2io.pc.cc:958
 hemcparora2io.pc.cc:959
 hemcparora2io.pc.cc:960
 hemcparora2io.pc.cc:961
 hemcparora2io.pc.cc:962
 hemcparora2io.pc.cc:963
 hemcparora2io.pc.cc:964
 hemcparora2io.pc.cc:965
 hemcparora2io.pc.cc:966
 hemcparora2io.pc.cc:967
 hemcparora2io.pc.cc:968
 hemcparora2io.pc.cc:969
 hemcparora2io.pc.cc:970
 hemcparora2io.pc.cc:971
 hemcparora2io.pc.cc:972
 hemcparora2io.pc.cc:973
 hemcparora2io.pc.cc:974
 hemcparora2io.pc.cc:975
 hemcparora2io.pc.cc:976
 hemcparora2io.pc.cc:977
 hemcparora2io.pc.cc:978
 hemcparora2io.pc.cc:979
 hemcparora2io.pc.cc:980
 hemcparora2io.pc.cc:981
 hemcparora2io.pc.cc:982
 hemcparora2io.pc.cc:983
 hemcparora2io.pc.cc:984
 hemcparora2io.pc.cc:985
 hemcparora2io.pc.cc:986
 hemcparora2io.pc.cc:987
 hemcparora2io.pc.cc:988
 hemcparora2io.pc.cc:989
 hemcparora2io.pc.cc:990
 hemcparora2io.pc.cc:991
 hemcparora2io.pc.cc:992
 hemcparora2io.pc.cc:993
 hemcparora2io.pc.cc:994
 hemcparora2io.pc.cc:995
 hemcparora2io.pc.cc:996
 hemcparora2io.pc.cc:997
 hemcparora2io.pc.cc:998
 hemcparora2io.pc.cc:999
 hemcparora2io.pc.cc:1000
 hemcparora2io.pc.cc:1001
 hemcparora2io.pc.cc:1002
 hemcparora2io.pc.cc:1003
 hemcparora2io.pc.cc:1004
 hemcparora2io.pc.cc:1005
 hemcparora2io.pc.cc:1006
 hemcparora2io.pc.cc:1007
 hemcparora2io.pc.cc:1008
 hemcparora2io.pc.cc:1009
 hemcparora2io.pc.cc:1010
 hemcparora2io.pc.cc:1011
 hemcparora2io.pc.cc:1012
 hemcparora2io.pc.cc:1013
 hemcparora2io.pc.cc:1014
 hemcparora2io.pc.cc:1015
 hemcparora2io.pc.cc:1016
 hemcparora2io.pc.cc:1017
 hemcparora2io.pc.cc:1018
 hemcparora2io.pc.cc:1019
 hemcparora2io.pc.cc:1020
 hemcparora2io.pc.cc:1021
 hemcparora2io.pc.cc:1022
 hemcparora2io.pc.cc:1023
 hemcparora2io.pc.cc:1024
 hemcparora2io.pc.cc:1025
 hemcparora2io.pc.cc:1026
 hemcparora2io.pc.cc:1027
 hemcparora2io.pc.cc:1028
 hemcparora2io.pc.cc:1029
 hemcparora2io.pc.cc:1030
 hemcparora2io.pc.cc:1031
 hemcparora2io.pc.cc:1032
 hemcparora2io.pc.cc:1033
 hemcparora2io.pc.cc:1034
 hemcparora2io.pc.cc:1035
 hemcparora2io.pc.cc:1036
 hemcparora2io.pc.cc:1037
 hemcparora2io.pc.cc:1038
 hemcparora2io.pc.cc:1039
 hemcparora2io.pc.cc:1040
 hemcparora2io.pc.cc:1041
 hemcparora2io.pc.cc:1042
 hemcparora2io.pc.cc:1043
 hemcparora2io.pc.cc:1044
 hemcparora2io.pc.cc:1045
 hemcparora2io.pc.cc:1046
 hemcparora2io.pc.cc:1047
 hemcparora2io.pc.cc:1048
 hemcparora2io.pc.cc:1049
 hemcparora2io.pc.cc:1050
 hemcparora2io.pc.cc:1051
 hemcparora2io.pc.cc:1052
 hemcparora2io.pc.cc:1053
 hemcparora2io.pc.cc:1054
 hemcparora2io.pc.cc:1055
 hemcparora2io.pc.cc:1056
 hemcparora2io.pc.cc:1057
 hemcparora2io.pc.cc:1058
 hemcparora2io.pc.cc:1059
 hemcparora2io.pc.cc:1060
 hemcparora2io.pc.cc:1061
 hemcparora2io.pc.cc:1062
 hemcparora2io.pc.cc:1063
 hemcparora2io.pc.cc:1064
 hemcparora2io.pc.cc:1065
 hemcparora2io.pc.cc:1066
 hemcparora2io.pc.cc:1067
 hemcparora2io.pc.cc:1068
 hemcparora2io.pc.cc:1069
 hemcparora2io.pc.cc:1070
 hemcparora2io.pc.cc:1071
 hemcparora2io.pc.cc:1072
 hemcparora2io.pc.cc:1073
 hemcparora2io.pc.cc:1074
 hemcparora2io.pc.cc:1075
 hemcparora2io.pc.cc:1076
 hemcparora2io.pc.cc:1077
 hemcparora2io.pc.cc:1078
 hemcparora2io.pc.cc:1079
 hemcparora2io.pc.cc:1080
 hemcparora2io.pc.cc:1081
 hemcparora2io.pc.cc:1082
 hemcparora2io.pc.cc:1083
 hemcparora2io.pc.cc:1084
 hemcparora2io.pc.cc:1085
 hemcparora2io.pc.cc:1086
 hemcparora2io.pc.cc:1087
 hemcparora2io.pc.cc:1088
 hemcparora2io.pc.cc:1089
 hemcparora2io.pc.cc:1090
 hemcparora2io.pc.cc:1091
 hemcparora2io.pc.cc:1092
 hemcparora2io.pc.cc:1093
 hemcparora2io.pc.cc:1094
 hemcparora2io.pc.cc:1095
 hemcparora2io.pc.cc:1096
 hemcparora2io.pc.cc:1097
 hemcparora2io.pc.cc:1098
 hemcparora2io.pc.cc:1099
 hemcparora2io.pc.cc:1100
 hemcparora2io.pc.cc:1101
 hemcparora2io.pc.cc:1102
 hemcparora2io.pc.cc:1103
 hemcparora2io.pc.cc:1104
 hemcparora2io.pc.cc:1105
 hemcparora2io.pc.cc:1106
 hemcparora2io.pc.cc:1107
 hemcparora2io.pc.cc:1108
 hemcparora2io.pc.cc:1109
 hemcparora2io.pc.cc:1110
 hemcparora2io.pc.cc:1111
 hemcparora2io.pc.cc:1112
 hemcparora2io.pc.cc:1113
 hemcparora2io.pc.cc:1114
 hemcparora2io.pc.cc:1115
 hemcparora2io.pc.cc:1116
 hemcparora2io.pc.cc:1117
 hemcparora2io.pc.cc:1118
 hemcparora2io.pc.cc:1119
 hemcparora2io.pc.cc:1120
 hemcparora2io.pc.cc:1121
 hemcparora2io.pc.cc:1122
 hemcparora2io.pc.cc:1123
 hemcparora2io.pc.cc:1124
 hemcparora2io.pc.cc:1125
 hemcparora2io.pc.cc:1126
 hemcparora2io.pc.cc:1127
 hemcparora2io.pc.cc:1128
 hemcparora2io.pc.cc:1129
 hemcparora2io.pc.cc:1130
 hemcparora2io.pc.cc:1131
 hemcparora2io.pc.cc:1132
 hemcparora2io.pc.cc:1133
 hemcparora2io.pc.cc:1134
 hemcparora2io.pc.cc:1135
 hemcparora2io.pc.cc:1136
 hemcparora2io.pc.cc:1137
 hemcparora2io.pc.cc:1138
 hemcparora2io.pc.cc:1139
 hemcparora2io.pc.cc:1140
 hemcparora2io.pc.cc:1141
 hemcparora2io.pc.cc:1142
 hemcparora2io.pc.cc:1143
 hemcparora2io.pc.cc:1144
 hemcparora2io.pc.cc:1145
 hemcparora2io.pc.cc:1146
 hemcparora2io.pc.cc:1147
 hemcparora2io.pc.cc:1148
 hemcparora2io.pc.cc:1149
 hemcparora2io.pc.cc:1150
 hemcparora2io.pc.cc:1151
 hemcparora2io.pc.cc:1152
 hemcparora2io.pc.cc:1153
 hemcparora2io.pc.cc:1154
 hemcparora2io.pc.cc:1155
 hemcparora2io.pc.cc:1156
 hemcparora2io.pc.cc:1157
 hemcparora2io.pc.cc:1158
 hemcparora2io.pc.cc:1159
 hemcparora2io.pc.cc:1160
 hemcparora2io.pc.cc:1161
 hemcparora2io.pc.cc:1162
 hemcparora2io.pc.cc:1163
 hemcparora2io.pc.cc:1164
 hemcparora2io.pc.cc:1165
 hemcparora2io.pc.cc:1166
 hemcparora2io.pc.cc:1167
 hemcparora2io.pc.cc:1168
 hemcparora2io.pc.cc:1169
 hemcparora2io.pc.cc:1170
 hemcparora2io.pc.cc:1171
 hemcparora2io.pc.cc:1172
 hemcparora2io.pc.cc:1173
 hemcparora2io.pc.cc:1174
 hemcparora2io.pc.cc:1175
 hemcparora2io.pc.cc:1176
 hemcparora2io.pc.cc:1177
 hemcparora2io.pc.cc:1178
 hemcparora2io.pc.cc:1179
 hemcparora2io.pc.cc:1180
 hemcparora2io.pc.cc:1181
 hemcparora2io.pc.cc:1182
 hemcparora2io.pc.cc:1183
 hemcparora2io.pc.cc:1184
 hemcparora2io.pc.cc:1185
 hemcparora2io.pc.cc:1186
 hemcparora2io.pc.cc:1187
 hemcparora2io.pc.cc:1188
 hemcparora2io.pc.cc:1189
 hemcparora2io.pc.cc:1190
 hemcparora2io.pc.cc:1191
 hemcparora2io.pc.cc:1192
 hemcparora2io.pc.cc:1193
 hemcparora2io.pc.cc:1194
 hemcparora2io.pc.cc:1195
 hemcparora2io.pc.cc:1196
 hemcparora2io.pc.cc:1197
 hemcparora2io.pc.cc:1198
 hemcparora2io.pc.cc:1199
 hemcparora2io.pc.cc:1200
 hemcparora2io.pc.cc:1201
 hemcparora2io.pc.cc:1202
 hemcparora2io.pc.cc:1203
 hemcparora2io.pc.cc:1204
 hemcparora2io.pc.cc:1205
 hemcparora2io.pc.cc:1206
 hemcparora2io.pc.cc:1207
 hemcparora2io.pc.cc:1208
 hemcparora2io.pc.cc:1209
 hemcparora2io.pc.cc:1210
 hemcparora2io.pc.cc:1211
 hemcparora2io.pc.cc:1212
 hemcparora2io.pc.cc:1213
 hemcparora2io.pc.cc:1214
 hemcparora2io.pc.cc:1215
 hemcparora2io.pc.cc:1216
 hemcparora2io.pc.cc:1217
 hemcparora2io.pc.cc:1218
 hemcparora2io.pc.cc:1219
 hemcparora2io.pc.cc:1220
 hemcparora2io.pc.cc:1221
 hemcparora2io.pc.cc:1222
 hemcparora2io.pc.cc:1223
 hemcparora2io.pc.cc:1224
 hemcparora2io.pc.cc:1225
 hemcparora2io.pc.cc:1226
 hemcparora2io.pc.cc:1227
 hemcparora2io.pc.cc:1228
 hemcparora2io.pc.cc:1229
 hemcparora2io.pc.cc:1230
 hemcparora2io.pc.cc:1231
 hemcparora2io.pc.cc:1232
 hemcparora2io.pc.cc:1233
 hemcparora2io.pc.cc:1234
 hemcparora2io.pc.cc:1235
 hemcparora2io.pc.cc:1236
 hemcparora2io.pc.cc:1237
 hemcparora2io.pc.cc:1238
 hemcparora2io.pc.cc:1239
 hemcparora2io.pc.cc:1240
 hemcparora2io.pc.cc:1241
 hemcparora2io.pc.cc:1242
 hemcparora2io.pc.cc:1243
 hemcparora2io.pc.cc:1244
 hemcparora2io.pc.cc:1245
 hemcparora2io.pc.cc:1246
 hemcparora2io.pc.cc:1247
 hemcparora2io.pc.cc:1248
 hemcparora2io.pc.cc:1249
 hemcparora2io.pc.cc:1250
 hemcparora2io.pc.cc:1251
 hemcparora2io.pc.cc:1252
 hemcparora2io.pc.cc:1253
 hemcparora2io.pc.cc:1254
 hemcparora2io.pc.cc:1255
 hemcparora2io.pc.cc:1256
 hemcparora2io.pc.cc:1257
 hemcparora2io.pc.cc:1258
 hemcparora2io.pc.cc:1259
 hemcparora2io.pc.cc:1260
 hemcparora2io.pc.cc:1261
 hemcparora2io.pc.cc:1262
 hemcparora2io.pc.cc:1263
 hemcparora2io.pc.cc:1264
 hemcparora2io.pc.cc:1265
 hemcparora2io.pc.cc:1266
 hemcparora2io.pc.cc:1267
 hemcparora2io.pc.cc:1268
 hemcparora2io.pc.cc:1269
 hemcparora2io.pc.cc:1270
 hemcparora2io.pc.cc:1271
 hemcparora2io.pc.cc:1272
 hemcparora2io.pc.cc:1273
 hemcparora2io.pc.cc:1274
 hemcparora2io.pc.cc:1275
 hemcparora2io.pc.cc:1276
 hemcparora2io.pc.cc:1277
 hemcparora2io.pc.cc:1278
 hemcparora2io.pc.cc:1279
 hemcparora2io.pc.cc:1280
 hemcparora2io.pc.cc:1281
 hemcparora2io.pc.cc:1282
 hemcparora2io.pc.cc:1283
 hemcparora2io.pc.cc:1284
 hemcparora2io.pc.cc:1285
 hemcparora2io.pc.cc:1286
 hemcparora2io.pc.cc:1287
 hemcparora2io.pc.cc:1288
 hemcparora2io.pc.cc:1289
 hemcparora2io.pc.cc:1290
 hemcparora2io.pc.cc:1291
 hemcparora2io.pc.cc:1292
 hemcparora2io.pc.cc:1293
 hemcparora2io.pc.cc:1294
 hemcparora2io.pc.cc:1295
 hemcparora2io.pc.cc:1296
 hemcparora2io.pc.cc:1297
 hemcparora2io.pc.cc:1298
 hemcparora2io.pc.cc:1299
 hemcparora2io.pc.cc:1300
 hemcparora2io.pc.cc:1301
 hemcparora2io.pc.cc:1302
 hemcparora2io.pc.cc:1303
 hemcparora2io.pc.cc:1304
 hemcparora2io.pc.cc:1305
 hemcparora2io.pc.cc:1306
 hemcparora2io.pc.cc:1307
 hemcparora2io.pc.cc:1308
 hemcparora2io.pc.cc:1309
 hemcparora2io.pc.cc:1310
 hemcparora2io.pc.cc:1311
 hemcparora2io.pc.cc:1312
 hemcparora2io.pc.cc:1313
 hemcparora2io.pc.cc:1314
 hemcparora2io.pc.cc:1315
 hemcparora2io.pc.cc:1316
 hemcparora2io.pc.cc:1317
 hemcparora2io.pc.cc:1318
 hemcparora2io.pc.cc:1319
 hemcparora2io.pc.cc:1320
 hemcparora2io.pc.cc:1321
 hemcparora2io.pc.cc:1322
 hemcparora2io.pc.cc:1323
 hemcparora2io.pc.cc:1324
 hemcparora2io.pc.cc:1325
 hemcparora2io.pc.cc:1326
 hemcparora2io.pc.cc:1327
 hemcparora2io.pc.cc:1328
 hemcparora2io.pc.cc:1329
 hemcparora2io.pc.cc:1330
 hemcparora2io.pc.cc:1331
 hemcparora2io.pc.cc:1332
 hemcparora2io.pc.cc:1333
 hemcparora2io.pc.cc:1334
 hemcparora2io.pc.cc:1335
 hemcparora2io.pc.cc:1336
 hemcparora2io.pc.cc:1337
 hemcparora2io.pc.cc:1338
 hemcparora2io.pc.cc:1339
 hemcparora2io.pc.cc:1340
 hemcparora2io.pc.cc:1341
 hemcparora2io.pc.cc:1342
 hemcparora2io.pc.cc:1343
 hemcparora2io.pc.cc:1344
 hemcparora2io.pc.cc:1345
 hemcparora2io.pc.cc:1346
 hemcparora2io.pc.cc:1347
 hemcparora2io.pc.cc:1348
 hemcparora2io.pc.cc:1349
 hemcparora2io.pc.cc:1350
 hemcparora2io.pc.cc:1351
 hemcparora2io.pc.cc:1352
 hemcparora2io.pc.cc:1353
 hemcparora2io.pc.cc:1354
 hemcparora2io.pc.cc:1355
 hemcparora2io.pc.cc:1356
 hemcparora2io.pc.cc:1357
 hemcparora2io.pc.cc:1358
 hemcparora2io.pc.cc:1359
 hemcparora2io.pc.cc:1360
 hemcparora2io.pc.cc:1361
 hemcparora2io.pc.cc:1362
 hemcparora2io.pc.cc:1363
 hemcparora2io.pc.cc:1364
 hemcparora2io.pc.cc:1365
 hemcparora2io.pc.cc:1366
 hemcparora2io.pc.cc:1367
 hemcparora2io.pc.cc:1368
 hemcparora2io.pc.cc:1369
 hemcparora2io.pc.cc:1370
 hemcparora2io.pc.cc:1371
 hemcparora2io.pc.cc:1372
 hemcparora2io.pc.cc:1373
 hemcparora2io.pc.cc:1374
 hemcparora2io.pc.cc:1375
 hemcparora2io.pc.cc:1376
 hemcparora2io.pc.cc:1377
 hemcparora2io.pc.cc:1378
 hemcparora2io.pc.cc:1379
 hemcparora2io.pc.cc:1380
 hemcparora2io.pc.cc:1381
 hemcparora2io.pc.cc:1382
 hemcparora2io.pc.cc:1383
 hemcparora2io.pc.cc:1384
 hemcparora2io.pc.cc:1385
 hemcparora2io.pc.cc:1386
 hemcparora2io.pc.cc:1387
 hemcparora2io.pc.cc:1388
 hemcparora2io.pc.cc:1389
 hemcparora2io.pc.cc:1390
 hemcparora2io.pc.cc:1391
 hemcparora2io.pc.cc:1392
 hemcparora2io.pc.cc:1393
 hemcparora2io.pc.cc:1394
 hemcparora2io.pc.cc:1395
 hemcparora2io.pc.cc:1396
 hemcparora2io.pc.cc:1397
 hemcparora2io.pc.cc:1398
 hemcparora2io.pc.cc:1399
 hemcparora2io.pc.cc:1400
 hemcparora2io.pc.cc:1401
 hemcparora2io.pc.cc:1402
 hemcparora2io.pc.cc:1403
 hemcparora2io.pc.cc:1404
 hemcparora2io.pc.cc:1405
 hemcparora2io.pc.cc:1406
 hemcparora2io.pc.cc:1407
 hemcparora2io.pc.cc:1408
 hemcparora2io.pc.cc:1409
 hemcparora2io.pc.cc:1410
 hemcparora2io.pc.cc:1411
 hemcparora2io.pc.cc:1412
 hemcparora2io.pc.cc:1413
 hemcparora2io.pc.cc:1414
 hemcparora2io.pc.cc:1415
 hemcparora2io.pc.cc:1416
 hemcparora2io.pc.cc:1417
 hemcparora2io.pc.cc:1418
 hemcparora2io.pc.cc:1419
 hemcparora2io.pc.cc:1420
 hemcparora2io.pc.cc:1421
 hemcparora2io.pc.cc:1422
 hemcparora2io.pc.cc:1423
 hemcparora2io.pc.cc:1424
 hemcparora2io.pc.cc:1425
 hemcparora2io.pc.cc:1426
 hemcparora2io.pc.cc:1427
 hemcparora2io.pc.cc:1428
 hemcparora2io.pc.cc:1429
 hemcparora2io.pc.cc:1430
 hemcparora2io.pc.cc:1431
 hemcparora2io.pc.cc:1432
 hemcparora2io.pc.cc:1433
 hemcparora2io.pc.cc:1434
 hemcparora2io.pc.cc:1435
 hemcparora2io.pc.cc:1436
 hemcparora2io.pc.cc:1437
 hemcparora2io.pc.cc:1438
 hemcparora2io.pc.cc:1439
 hemcparora2io.pc.cc:1440
 hemcparora2io.pc.cc:1441
 hemcparora2io.pc.cc:1442
 hemcparora2io.pc.cc:1443
 hemcparora2io.pc.cc:1444
 hemcparora2io.pc.cc:1445
 hemcparora2io.pc.cc:1446
 hemcparora2io.pc.cc:1447
 hemcparora2io.pc.cc:1448
 hemcparora2io.pc.cc:1449
 hemcparora2io.pc.cc:1450
 hemcparora2io.pc.cc:1451
 hemcparora2io.pc.cc:1452
 hemcparora2io.pc.cc:1453
 hemcparora2io.pc.cc:1454
 hemcparora2io.pc.cc:1455
 hemcparora2io.pc.cc:1456
 hemcparora2io.pc.cc:1457
 hemcparora2io.pc.cc:1458
 hemcparora2io.pc.cc:1459
 hemcparora2io.pc.cc:1460
 hemcparora2io.pc.cc:1461
 hemcparora2io.pc.cc:1462
 hemcparora2io.pc.cc:1463
 hemcparora2io.pc.cc:1464
 hemcparora2io.pc.cc:1465
 hemcparora2io.pc.cc:1466
 hemcparora2io.pc.cc:1467
 hemcparora2io.pc.cc:1468
 hemcparora2io.pc.cc:1469
 hemcparora2io.pc.cc:1470
 hemcparora2io.pc.cc:1471
 hemcparora2io.pc.cc:1472
 hemcparora2io.pc.cc:1473
 hemcparora2io.pc.cc:1474
 hemcparora2io.pc.cc:1475
 hemcparora2io.pc.cc:1476
 hemcparora2io.pc.cc:1477
 hemcparora2io.pc.cc:1478
 hemcparora2io.pc.cc:1479
 hemcparora2io.pc.cc:1480
 hemcparora2io.pc.cc:1481
 hemcparora2io.pc.cc:1482
 hemcparora2io.pc.cc:1483
 hemcparora2io.pc.cc:1484
 hemcparora2io.pc.cc:1485
 hemcparora2io.pc.cc:1486
 hemcparora2io.pc.cc:1487
 hemcparora2io.pc.cc:1488
 hemcparora2io.pc.cc:1489
 hemcparora2io.pc.cc:1490
 hemcparora2io.pc.cc:1491
 hemcparora2io.pc.cc:1492
 hemcparora2io.pc.cc:1493
 hemcparora2io.pc.cc:1494
 hemcparora2io.pc.cc:1495
 hemcparora2io.pc.cc:1496
 hemcparora2io.pc.cc:1497
 hemcparora2io.pc.cc:1498
 hemcparora2io.pc.cc:1499
 hemcparora2io.pc.cc:1500
 hemcparora2io.pc.cc:1501
 hemcparora2io.pc.cc:1502
 hemcparora2io.pc.cc:1503
 hemcparora2io.pc.cc:1504
 hemcparora2io.pc.cc:1505
 hemcparora2io.pc.cc:1506
 hemcparora2io.pc.cc:1507
 hemcparora2io.pc.cc:1508
 hemcparora2io.pc.cc:1509
 hemcparora2io.pc.cc:1510
 hemcparora2io.pc.cc:1511
 hemcparora2io.pc.cc:1512
 hemcparora2io.pc.cc:1513
 hemcparora2io.pc.cc:1514
 hemcparora2io.pc.cc:1515
 hemcparora2io.pc.cc:1516
 hemcparora2io.pc.cc:1517
 hemcparora2io.pc.cc:1518
 hemcparora2io.pc.cc:1519
 hemcparora2io.pc.cc:1520
 hemcparora2io.pc.cc:1521
 hemcparora2io.pc.cc:1522
 hemcparora2io.pc.cc:1523
 hemcparora2io.pc.cc:1524
 hemcparora2io.pc.cc:1525
 hemcparora2io.pc.cc:1526
 hemcparora2io.pc.cc:1527
 hemcparora2io.pc.cc:1528
 hemcparora2io.pc.cc:1529
 hemcparora2io.pc.cc:1530
 hemcparora2io.pc.cc:1531
 hemcparora2io.pc.cc:1532
 hemcparora2io.pc.cc:1533
 hemcparora2io.pc.cc:1534
 hemcparora2io.pc.cc:1535
 hemcparora2io.pc.cc:1536
 hemcparora2io.pc.cc:1537
 hemcparora2io.pc.cc:1538
 hemcparora2io.pc.cc:1539
 hemcparora2io.pc.cc:1540
 hemcparora2io.pc.cc:1541
 hemcparora2io.pc.cc:1542
 hemcparora2io.pc.cc:1543
 hemcparora2io.pc.cc:1544
 hemcparora2io.pc.cc:1545
 hemcparora2io.pc.cc:1546
 hemcparora2io.pc.cc:1547
 hemcparora2io.pc.cc:1548
 hemcparora2io.pc.cc:1549
 hemcparora2io.pc.cc:1550
 hemcparora2io.pc.cc:1551
 hemcparora2io.pc.cc:1552
 hemcparora2io.pc.cc:1553
 hemcparora2io.pc.cc:1554
 hemcparora2io.pc.cc:1555
 hemcparora2io.pc.cc:1556
 hemcparora2io.pc.cc:1557
 hemcparora2io.pc.cc:1558
 hemcparora2io.pc.cc:1559
 hemcparora2io.pc.cc:1560
 hemcparora2io.pc.cc:1561
 hemcparora2io.pc.cc:1562
 hemcparora2io.pc.cc:1563
 hemcparora2io.pc.cc:1564
 hemcparora2io.pc.cc:1565
 hemcparora2io.pc.cc:1566
 hemcparora2io.pc.cc:1567
 hemcparora2io.pc.cc:1568
 hemcparora2io.pc.cc:1569
 hemcparora2io.pc.cc:1570
 hemcparora2io.pc.cc:1571
 hemcparora2io.pc.cc:1572
 hemcparora2io.pc.cc:1573
 hemcparora2io.pc.cc:1574
 hemcparora2io.pc.cc:1575
 hemcparora2io.pc.cc:1576
 hemcparora2io.pc.cc:1577
 hemcparora2io.pc.cc:1578
 hemcparora2io.pc.cc:1579
 hemcparora2io.pc.cc:1580
 hemcparora2io.pc.cc:1581
 hemcparora2io.pc.cc:1582
 hemcparora2io.pc.cc:1583
 hemcparora2io.pc.cc:1584
 hemcparora2io.pc.cc:1585
 hemcparora2io.pc.cc:1586