#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 */
typedef void * sql_context;
typedef void * SQL_CONTEXT;
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,
};
struct sqltdss
{
unsigned int tdsvsn;
unsigned short tdsnum;
unsigned char *tdsval[1];
};
typedef struct sqltdss sqltdss;
static struct sqltdss sqltds =
{
1,
0,
};
struct sqlcxp
{
unsigned short fillen;
char filnam[20];
};
static const struct sqlcxp sqlfpn =
{
19,
"hshowerparora2io.pc"
};
static unsigned int sqlctx = 39698211;
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[9];
unsigned long sqhstl[9];
int sqhsts[9];
short *sqindv[9];
int sqinds[9];
unsigned long sqharm[9];
unsigned long *sqharc[9];
unsigned short sqadto[9];
unsigned short sqtdso[9];
} sqlstm = {13,9};
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 *);
}
static const int IAPSUCC = 0;
static const int IAPFAIL = 1403;
static const int IAPFTL = 535;
extern "C" { void sqliem(unsigned char *, signed int *); }
static const char *sq0002 =
"select sector ,module ,pad_col ,pad_row ,slope ,offset ,threshold ,gain fro\
m shower_ana2.shw_calpar_data_view where vers_id=:b0 ";
typedef struct { unsigned short len; unsigned char arr[1]; } VARCHAR;
typedef struct { unsigned short len; unsigned char arr[1]; } varchar;
static const short sqlcud0[] =
{13,4130,1,0,0,
5,0,0,1,170,0,4,116,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,139,0,9,167,0,0,1,1,0,1,0,1,3,0,0,
55,0,0,2,0,0,13,170,0,0,8,0,0,1,0,2,3,0,0,2,3,0,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,
102,0,0,2,0,0,15,202,0,0,0,0,0,1,0,
117,0,0,3,154,0,4,262,0,0,5,0,0,1,0,2,3,0,0,2,3,0,0,2,3,0,0,2,9,0,0,2,9,0,0,
152,0,0,4,251,0,6,336,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,
187,0,0,5,170,0,3,415,0,0,9,9,0,1,0,1,3,0,0,1,3,0,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,
};
using namespace std;
#include "hshowerparora2io.h"
#include "hparora2set.h"
#include "hshowercalpar.h"
#include "hshowergeompar.h"
#include "hgeomcompositevolume.h"
#include "hora2geomdetversion.h"
#include "TClass.h"
#include <iostream>
#include <iomanip>
#include <unistd.h>
#define SQLCA_STORAGE_CLASS extern
#define ORACA_STORAGE_CLASS extern
#include <oraca.h>
#include <sqlca.h>
#include <sqlcpr.h>
ClassImp(HShowerParOra2Io)
#define SHOWER_MAXSEC 6
#define SHOWER_MAXSECMODS 3
#define SHOWER_MAXMODS 18
#define SHOWER_MAXARR 5000
#define SHOWER_MAXPADS 1024
HShowerParOra2Io::HShowerParOra2Io(HOra2Conn* pC) : HDetParOra2Io(pC) {
fName="HShowerParIo";
initModules=new TArrayI(SHOWER_MAXMODS);
geomVers=0;
}
HShowerParOra2Io::~HShowerParOra2Io() {
if (initModules) delete initModules;
if (geomVers) delete geomVers;
}
Bool_t HShowerParOra2Io::init(HParSet* pPar,Int_t* set) {
if (getRunStart(pPar)<0) {
pPar->setInputVersion(-1,inputNumber);
return kFALSE;
}
const Text_t* name=pPar->IsA()->GetName();
if (strcmp(name,"HShowerCalPar")==0)
return read(((HShowerCalPar*)pPar),set);
if (strcmp(name,"HShowerGeomPar")==0)
return read(((HShowerGeomPar*)pPar),set);
Error("init","Initialization of %s not possible from Oracle!",name);
return kFALSE;
}
Int_t HShowerParOra2Io::write(HParSet* pPar) {
if (getRunStart(pPar)<=0) return -1;
const Text_t* name=pPar->IsA()->GetName();
if (!strcmp(name,"HShowerCalPar"))
return writePar((HShowerCalPar*)pPar);
if (strcmp(name,"HShowerGeomPar")==0)
return writeAlignment((HShowerGeomPar*)pPar);
Error("write","Storage of %s not possible in Oracle!",name);
return 0;
}
Bool_t HShowerParOra2Io::getVersion(HParSet* pPar,Int_t& version) {
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();
int context;
int vers;
double since;
double until;
context=oraSet->contextId;
if (strcmp(containerClass,"HShowerCalPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 4;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select vers_id ,hanadate.date_to_number(valid_since) ,han\
adate.date_to_number(valid_until) into :b0,:b1,:b2 from shower_ana2.shw_calpa\
r_vers_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&)");
}
}
version=vers;
oraSet->versDate[0]=since;
oraSet->versDate[1]=until;
return kTRUE;
notfound:
pPar->setInputVersion(-1,inputNumber);
version=-1;
return kFALSE;
};
Bool_t HShowerParOra2Io::read(HShowerCalPar* pPar, Int_t* set) {
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();
int vers;
struct {
int p_sec[SHOWER_MAXARR];
int p_mod[SHOWER_MAXARR];
int p_col[SHOWER_MAXARR];
int p_row[SHOWER_MAXARR];
float slo[SHOWER_MAXARR];
float ofs[SHOWER_MAXARR];
float thr[SHOWER_MAXARR];
float gai[SHOWER_MAXARR];
} cal;
Bool_t isOpenCursor=kFALSE;
Bool_t allFound=kTRUE;
Int_t s=-1, m=-1, nTot=0, nLast=0;
HLocation loc;
loc.setNIndex(4);
HShowerCalParCell* pCell=0;
vers=oraVersion;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 4;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = sq0002;
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.sqcmod = (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.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(HShowerCalPar*,Int_t*)");
}
isOpenCursor=kTRUE;
do {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )5000;
sqlstm.offset = (unsigned int )55;
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.sqfoff = ( int )0;
sqlstm.sqfmod = (unsigned int )2;
sqlstm.sqhstv[0] = (unsigned char *)cal.p_sec;
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.p_mod;
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.p_col;
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 *)cal.p_row;
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 *)cal.slo;
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.ofs;
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.thr;
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.gai;
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.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(HShowerCalPar*,Int_t*)");
}
nLast=sqlca.sqlerrd[2]-nTot;
if (nLast>0) {
for (Int_t i=0;i<nLast;i++) {
s=cal.p_sec[i]-1;
m=cal.p_mod[i];
if (set[s*3+m]) {
loc[0] = s;
loc[1] = m;
loc[2] = cal.p_row[i];
loc[3] = cal.p_col[i];
pCell = (HShowerCalParCell*)pPar->getSlot(loc);
if (pCell) {
pCell = new(pCell) HShowerCalParCell;
pCell->setSlope(cal.slo[i]);
pCell->setOffset(cal.ofs[i]);
pCell->setThreshold(cal.thr[i]);
pCell->setGain(cal.gai[i]);
} else {
Error("read(HShowerCalPar*,Int_t*)",
"slot not found: %i %i %i %i",loc[0],loc[1],loc[2],loc[3]);
allFound=kFALSE;
break;
}
initModules->AddAt(1,s*3+m);
}
nTot++;
}
}
} while (nLast==SHOWER_MAXARR&&nTot<=20000&&allFound);
if (isOpenCursor) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )102;
sqlstm.cud = sqlcud0;
sqlstm.sqlest = (unsigned char *)&sqlca;
sqlstm.sqlety = (unsigned short)4352;
sqlstm.occurs = (unsigned int )0;
sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
if (sqlca.sqlcode < 0) showSqlError("read(HShowerCalPar*,Int_t*)");
}
for(Int_t i=0;i<SHOWER_MAXMODS;i++) {
if (set[i]>0 && initModules->At(i)==0) allFound=kFALSE;
}
} else allFound=kFALSE;
if (allFound) {
setChanged(pPar,oraVersion);
printInfo(pPar->GetName());
} else {
pPar->setInputVersion(-1,inputNumber);
}
return allFound;
}
Bool_t HShowerParOra2Io::read(HShowerGeomPar* pPar, Int_t* set) {
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 (!readGeomNames(pPar,set)) {
allFound=kFALSE;
pPar->clear();
} else addGeomOraSet(pPar);
}
if (allFound) allFound=readDetectorGeometry(pPar,set,geomVers);
return allFound;
}
Bool_t HShowerParOra2Io::readGeomNames(HShowerGeomPar* pPar,Int_t* set) {
struct {
int id[SHOWER_MAXMODS];
int sector[SHOWER_MAXMODS];
int module[SHOWER_MAXMODS];
struct { unsigned short len; unsigned char arr[10]; } modName[18];
struct { unsigned short len; unsigned char arr[10]; } compName[18];
} mods;
struct {
short id_Ind[SHOWER_MAXMODS];
short sector_Ind[SHOWER_MAXMODS];
short module_Ind[SHOWER_MAXMODS];
short modName_Ind[SHOWER_MAXMODS];
short compName_Ind[SHOWER_MAXMODS];
} mods_Ind;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "select module_id ,sector ,module ,geom_module_name ,geom_co\
mponent_name into :s1:s2 ,:s3:s4 ,:s5:s6 ,:s7:s8 ,:s9:s10 from shower_ana2.s\
hw_setup_at_date ";
sqlstm.iters = (unsigned int )18;
sqlstm.offset = (unsigned int )117;
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.id;
sqlstm.sqhstl[0] = (unsigned long )sizeof(int);
sqlstm.sqhsts[0] = ( int )sizeof(int);
sqlstm.sqindv[0] = ( short *)mods_Ind.id_Ind;
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.sector;
sqlstm.sqhstl[1] = (unsigned long )sizeof(int);
sqlstm.sqhsts[1] = ( int )sizeof(int);
sqlstm.sqindv[1] = ( short *)mods_Ind.sector_Ind;
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.sqhstv[2] = (unsigned char *)mods.module;
sqlstm.sqhstl[2] = (unsigned long )sizeof(int);
sqlstm.sqhsts[2] = ( int )sizeof(int);
sqlstm.sqindv[2] = ( short *)mods_Ind.module_Ind;
sqlstm.sqinds[2] = ( int )sizeof(short);
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 *)mods.modName;
sqlstm.sqhstl[3] = (unsigned long )11;
sqlstm.sqhsts[3] = ( int )12;
sqlstm.sqindv[3] = ( short *)mods_Ind.modName_Ind;
sqlstm.sqinds[3] = ( int )sizeof(short);
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 *)mods.compName;
sqlstm.sqhstl[4] = (unsigned long )11;
sqlstm.sqhsts[4] = ( int )12;
sqlstm.sqindv[4] = ( short *)mods_Ind.compName_Ind;
sqlstm.sqinds[4] = ( int )sizeof(short);
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.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("readGeomNames()");
}
Int_t pos, sec, mod;
Char_t ref[10];
initModules->Reset();
for(Int_t i=0;i<sqlca.sqlerrd[2];i++) {
sec=mods.sector[i]-1;
mod=mods.module[i];
HModGeomPar* pMod=pPar->getModule(sec,mod);
pos=sec*SHOWER_MAXSECMODS + mod;
if (pMod && set[pos]) {
if (mods_Ind.modName_Ind[i]!=-1) {
mods.modName[i].arr[mods.modName[i].len]='\0';
pMod->SetName((Char_t*)(mods.modName[i].arr));
initModules->AddAt(pos+1,pos);
strcpy(ref,(Char_t*)(mods.modName[i].arr));
ref[4]='1';
pMod->setRefName(ref);
Int_t mr=pPar->getModNumInMod(ref);
HGeomCompositeVolume* refMod=pPar->getRefVolume(mr);
if (refMod==0) {
refMod=new HGeomCompositeVolume(pPar->getNumComponents());
refMod->SetName(ref);
pPar->addRefVolume(refMod,mr);
}
pMod->setVolume(refMod);
if (mods_Ind.compName_Ind[i]!=-1) {
HGeomVolume* volu=refMod->getComponent(0);
mods.compName[i].arr[mods.compName[i].len]='\0';
volu->SetName((Char_t*)(mods.compName[i].arr));
}
}
}
}
Bool_t allFound=kTRUE;
for(Int_t i=0;i<SHOWER_MAXMODS;i++) {
if (set[i]>0 && initModules->At(i)==0) allFound=kFALSE;
}
return allFound;
}
Int_t HShowerParOra2Io::createVers(HParSet* pPar) {
cout<<"--------------- "<<pPar->GetName()<<" ---------------\n";
if (strlen(pPar->getAuthor())==0) {
Error("createVers(...)",
"author of parameters not defined");
return -1;
}
if (strlen(pPar->getDescription())==0) {
Error("createVers(...)",
"descriction of parameters not defined");
return -1;
}
const Char_t* contName=pPar->IsA()->GetName();
int context;
int vers=-1;
int run;
char* creator;
char* descript;
context = getContextId(contName,pPar->getParamContext());
if (context==-1) return -1;
run=getActRunId();
creator=(Char_t*)pPar->getAuthor();
descript=(Char_t*)pPar->getDescription();
if (strcmp(contName,"HShowerCalPar")==0) {
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 8;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "begin SELECT shower_ana2 . shower_par_query . next_versio\
n INTO :vers FROM DUAL ; INSERT INTO shower_ana2 . shw_calpar_vers ( vers_id ,\
orig_context_id , run_id , author , description ) VALUES ( :vers , :context ,\
:run , :creator , :descript ) ; END ;";
sqlstm.iters = (unsigned int )1;
sqlstm.offset = (unsigned int )152;
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()");
return -1;
}
Int_t HShowerParOra2Io::writePar(HShowerCalPar* pPar) {
if(!pPar) return -1;
Int_t version=createVers(pPar);
if (version==-1) return -1;
int p_sec[SHOWER_MAXARR];
int p_mod[SHOWER_MAXARR];
int p_col[SHOWER_MAXARR];
int p_row[SHOWER_MAXARR];
int vers[SHOWER_MAXPADS];
float slo[SHOWER_MAXPADS];
float ofs[SHOWER_MAXPADS];
float trh[SHOWER_MAXPADS];
float gai[SHOWER_MAXPADS];
int rows_to_insert;
HLocation loc;
loc.set(4,0,0,0,0);
HShowerCalParCell* pCell=0;
Float_t cs=0, co=0, cg=0, ct=0;
for(Int_t s=0;s<pPar->getNSectors();s++){
for(Int_t m=0;m<pPar->getNModules();m++){
Int_t nCell=-1;
Int_t sId=(s+1)*10+m;
if (sId>0){
loc[0] = s;
loc[1] = m;
for(Int_t r=0;r<pPar->getNRows();r++) {
loc[2]=r;
for(Int_t c=0;c<pPar->getNColumns();c++){
loc[3]=c;
pCell = (HShowerCalParCell*)pPar->getObject(loc);
if (pCell) {
cs=pCell->getSlope();
co=pCell->getOffset();
ct=pCell->getThreshold();
cg=pCell->getGain();
if (co!=0 || cs!=1) {
nCell++;
if (nCell==SHOWER_MAXPADS) {
Error("writePar(HShowerCalPar*)","\n Number of Pads > 1024\n");
rollback();
return -1;
}
p_sec[nCell]=s+1;
p_mod[nCell]=m;
p_row[nCell]=r;
p_col[nCell]=c;
vers[nCell]=version;
slo[nCell]=cs;
ofs[nCell]=co;
trh[nCell]=ct;
gai[nCell]=cg;
}
}
}
}
}
if (nCell==-1) continue;
rows_to_insert=nCell+1;
{
struct sqlexd sqlstm;
sqlorat((void **)0, &sqlctx, &oraca);
sqlstm.sqlvsn = 13;
sqlstm.arrsiz = 9;
sqlstm.sqladtp = &sqladt;
sqlstm.sqltdsp = &sqltds;
sqlstm.stmt = "insert into shower_ana2.shw_calpar_data (vers_id,pad_id\
,slope,offset,threshold,gain) values (:b1,shower_ana2.shower_par_query.get_pad\
_id(:b2,:b3,:b4,:b5),:b6,:b7,:b8,:b9)";
sqlstm.iters = (unsigned int )rows_to_insert;
sqlstm.offset = (unsigned int )187;
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 *)p_sec;
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 *)p_mod;
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 *)p_row;
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 *)p_col;
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 *)slo;
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 *)ofs;
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 *)trh;
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 *)gai;
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.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<<" module: "<<m<<" "<<rows_to_insert<<" rows inserted\n";
}
}
cout<<"****************************************************************\n";
commit();
pPar->setChanged(kFALSE);
return version;
not_found:
showSqlError("writePar(HShowerCalPar*)");
rollback();
return -1;
}
void HShowerParOra2Io::printInfo(const Char_t* contName) {
Bool_t first=kTRUE;
cout<<'\n';
for(Int_t i=0;i<SHOWER_MAXMODS;i++) {
if (initModules->At(i)>0) {
if (first) {
cout<<contName<<": modules(s) initialized from Oracle: ";
first=kFALSE;
}
cout<<i<<" ";
}
}
cout<<endl;
}
hshowerparora2io.pc.cc:10 hshowerparora2io.pc.cc:11 hshowerparora2io.pc.cc:12 hshowerparora2io.pc.cc:13 hshowerparora2io.pc.cc:14 hshowerparora2io.pc.cc:15 hshowerparora2io.pc.cc:16 hshowerparora2io.pc.cc:17 hshowerparora2io.pc.cc:18 hshowerparora2io.pc.cc:19 hshowerparora2io.pc.cc:20 hshowerparora2io.pc.cc:21 hshowerparora2io.pc.cc:22 hshowerparora2io.pc.cc:23 hshowerparora2io.pc.cc:24 hshowerparora2io.pc.cc:25 hshowerparora2io.pc.cc:26 hshowerparora2io.pc.cc:27 hshowerparora2io.pc.cc:28 hshowerparora2io.pc.cc:29 hshowerparora2io.pc.cc:30 hshowerparora2io.pc.cc:31 hshowerparora2io.pc.cc:32 hshowerparora2io.pc.cc:33 hshowerparora2io.pc.cc:34 hshowerparora2io.pc.cc:35 hshowerparora2io.pc.cc:36 hshowerparora2io.pc.cc:37 hshowerparora2io.pc.cc:38 hshowerparora2io.pc.cc:39 hshowerparora2io.pc.cc:40 hshowerparora2io.pc.cc:41 hshowerparora2io.pc.cc:42 hshowerparora2io.pc.cc:43 hshowerparora2io.pc.cc:44 hshowerparora2io.pc.cc:45 hshowerparora2io.pc.cc:46 hshowerparora2io.pc.cc:47 hshowerparora2io.pc.cc:48 hshowerparora2io.pc.cc:49 hshowerparora2io.pc.cc:50 hshowerparora2io.pc.cc:51 hshowerparora2io.pc.cc:52 hshowerparora2io.pc.cc:53 hshowerparora2io.pc.cc:54 hshowerparora2io.pc.cc:55 hshowerparora2io.pc.cc:56 hshowerparora2io.pc.cc:57 hshowerparora2io.pc.cc:58 hshowerparora2io.pc.cc:59 hshowerparora2io.pc.cc:60 hshowerparora2io.pc.cc:61 hshowerparora2io.pc.cc:62 hshowerparora2io.pc.cc:63 hshowerparora2io.pc.cc:64 hshowerparora2io.pc.cc:65 hshowerparora2io.pc.cc:66 hshowerparora2io.pc.cc:67 hshowerparora2io.pc.cc:68 hshowerparora2io.pc.cc:69 hshowerparora2io.pc.cc:70 hshowerparora2io.pc.cc:71 hshowerparora2io.pc.cc:72 hshowerparora2io.pc.cc:73 hshowerparora2io.pc.cc:74 hshowerparora2io.pc.cc:75 hshowerparora2io.pc.cc:76 hshowerparora2io.pc.cc:77 hshowerparora2io.pc.cc:78 hshowerparora2io.pc.cc:79 hshowerparora2io.pc.cc:80 hshowerparora2io.pc.cc:81 hshowerparora2io.pc.cc:82 hshowerparora2io.pc.cc:83 hshowerparora2io.pc.cc:84 hshowerparora2io.pc.cc:85 hshowerparora2io.pc.cc:86 hshowerparora2io.pc.cc:87 hshowerparora2io.pc.cc:88 hshowerparora2io.pc.cc:89 hshowerparora2io.pc.cc:90 hshowerparora2io.pc.cc:91 hshowerparora2io.pc.cc:92 hshowerparora2io.pc.cc:93 hshowerparora2io.pc.cc:94 hshowerparora2io.pc.cc:95 hshowerparora2io.pc.cc:96 hshowerparora2io.pc.cc:97 hshowerparora2io.pc.cc:98 hshowerparora2io.pc.cc:99 hshowerparora2io.pc.cc:100 hshowerparora2io.pc.cc:101 hshowerparora2io.pc.cc:102 hshowerparora2io.pc.cc:103 hshowerparora2io.pc.cc:104 hshowerparora2io.pc.cc:105 hshowerparora2io.pc.cc:106 hshowerparora2io.pc.cc:107 hshowerparora2io.pc.cc:108 hshowerparora2io.pc.cc:109 hshowerparora2io.pc.cc:110 hshowerparora2io.pc.cc:111 hshowerparora2io.pc.cc:112 hshowerparora2io.pc.cc:113 hshowerparora2io.pc.cc:114 hshowerparora2io.pc.cc:115 hshowerparora2io.pc.cc:116 hshowerparora2io.pc.cc:117 hshowerparora2io.pc.cc:118 hshowerparora2io.pc.cc:119 hshowerparora2io.pc.cc:120 hshowerparora2io.pc.cc:121 hshowerparora2io.pc.cc:122 hshowerparora2io.pc.cc:123 hshowerparora2io.pc.cc:124 hshowerparora2io.pc.cc:125 hshowerparora2io.pc.cc:126 hshowerparora2io.pc.cc:127 hshowerparora2io.pc.cc:128 hshowerparora2io.pc.cc:129 hshowerparora2io.pc.cc:130 hshowerparora2io.pc.cc:131 hshowerparora2io.pc.cc:132 hshowerparora2io.pc.cc:133 hshowerparora2io.pc.cc:134 hshowerparora2io.pc.cc:135 hshowerparora2io.pc.cc:136 hshowerparora2io.pc.cc:137 hshowerparora2io.pc.cc:138 hshowerparora2io.pc.cc:139 hshowerparora2io.pc.cc:140 hshowerparora2io.pc.cc:141 hshowerparora2io.pc.cc:142 hshowerparora2io.pc.cc:143 hshowerparora2io.pc.cc:144 hshowerparora2io.pc.cc:145 hshowerparora2io.pc.cc:146 hshowerparora2io.pc.cc:147 hshowerparora2io.pc.cc:148 hshowerparora2io.pc.cc:149 hshowerparora2io.pc.cc:150 hshowerparora2io.pc.cc:151 hshowerparora2io.pc.cc:152 hshowerparora2io.pc.cc:153 hshowerparora2io.pc.cc:154 hshowerparora2io.pc.cc:155 hshowerparora2io.pc.cc:156 hshowerparora2io.pc.cc:157 hshowerparora2io.pc.cc:158 hshowerparora2io.pc.cc:159 hshowerparora2io.pc.cc:160 hshowerparora2io.pc.cc:161 hshowerparora2io.pc.cc:162 hshowerparora2io.pc.cc:163 hshowerparora2io.pc.cc:164 hshowerparora2io.pc.cc:165 hshowerparora2io.pc.cc:166 hshowerparora2io.pc.cc:167 hshowerparora2io.pc.cc:168 hshowerparora2io.pc.cc:169 hshowerparora2io.pc.cc:170 hshowerparora2io.pc.cc:171 hshowerparora2io.pc.cc:172 hshowerparora2io.pc.cc:173 hshowerparora2io.pc.cc:174 hshowerparora2io.pc.cc:175 hshowerparora2io.pc.cc:176 hshowerparora2io.pc.cc:177 hshowerparora2io.pc.cc:178 hshowerparora2io.pc.cc:179 hshowerparora2io.pc.cc:180 hshowerparora2io.pc.cc:181 hshowerparora2io.pc.cc:182 hshowerparora2io.pc.cc:183 hshowerparora2io.pc.cc:184 hshowerparora2io.pc.cc:185 hshowerparora2io.pc.cc:186 hshowerparora2io.pc.cc:187 hshowerparora2io.pc.cc:188 hshowerparora2io.pc.cc:189 hshowerparora2io.pc.cc:190 hshowerparora2io.pc.cc:191 hshowerparora2io.pc.cc:192 hshowerparora2io.pc.cc:193 hshowerparora2io.pc.cc:194 hshowerparora2io.pc.cc:195 hshowerparora2io.pc.cc:196 hshowerparora2io.pc.cc:197 hshowerparora2io.pc.cc:198 hshowerparora2io.pc.cc:199 hshowerparora2io.pc.cc:200 hshowerparora2io.pc.cc:201 hshowerparora2io.pc.cc:202 hshowerparora2io.pc.cc:203 hshowerparora2io.pc.cc:204 hshowerparora2io.pc.cc:205 hshowerparora2io.pc.cc:206 hshowerparora2io.pc.cc:207 hshowerparora2io.pc.cc:208 hshowerparora2io.pc.cc:209 hshowerparora2io.pc.cc:210 hshowerparora2io.pc.cc:211 hshowerparora2io.pc.cc:212 hshowerparora2io.pc.cc:213 hshowerparora2io.pc.cc:214 hshowerparora2io.pc.cc:215 hshowerparora2io.pc.cc:216 hshowerparora2io.pc.cc:217 hshowerparora2io.pc.cc:218 hshowerparora2io.pc.cc:219 hshowerparora2io.pc.cc:220 hshowerparora2io.pc.cc:221 hshowerparora2io.pc.cc:222 hshowerparora2io.pc.cc:223 hshowerparora2io.pc.cc:224 hshowerparora2io.pc.cc:225 hshowerparora2io.pc.cc:226 hshowerparora2io.pc.cc:227 hshowerparora2io.pc.cc:228 hshowerparora2io.pc.cc:229 hshowerparora2io.pc.cc:230 hshowerparora2io.pc.cc:231 hshowerparora2io.pc.cc:232 hshowerparora2io.pc.cc:233 hshowerparora2io.pc.cc:234 hshowerparora2io.pc.cc:235 hshowerparora2io.pc.cc:236 hshowerparora2io.pc.cc:237 hshowerparora2io.pc.cc:238 hshowerparora2io.pc.cc:239 hshowerparora2io.pc.cc:240 hshowerparora2io.pc.cc:241 hshowerparora2io.pc.cc:242 hshowerparora2io.pc.cc:243 hshowerparora2io.pc.cc:244 hshowerparora2io.pc.cc:245 hshowerparora2io.pc.cc:246 hshowerparora2io.pc.cc:247 hshowerparora2io.pc.cc:248 hshowerparora2io.pc.cc:249 hshowerparora2io.pc.cc:250 hshowerparora2io.pc.cc:251 hshowerparora2io.pc.cc:252 hshowerparora2io.pc.cc:253 hshowerparora2io.pc.cc:254 hshowerparora2io.pc.cc:255 hshowerparora2io.pc.cc:256 hshowerparora2io.pc.cc:257 hshowerparora2io.pc.cc:258 hshowerparora2io.pc.cc:259 hshowerparora2io.pc.cc:260 hshowerparora2io.pc.cc:261 hshowerparora2io.pc.cc:262 hshowerparora2io.pc.cc:263 hshowerparora2io.pc.cc:264 hshowerparora2io.pc.cc:265 hshowerparora2io.pc.cc:266 hshowerparora2io.pc.cc:267 hshowerparora2io.pc.cc:268 hshowerparora2io.pc.cc:269 hshowerparora2io.pc.cc:270 hshowerparora2io.pc.cc:271 hshowerparora2io.pc.cc:272 hshowerparora2io.pc.cc:273 hshowerparora2io.pc.cc:274 hshowerparora2io.pc.cc:275 hshowerparora2io.pc.cc:276 hshowerparora2io.pc.cc:277 hshowerparora2io.pc.cc:278 hshowerparora2io.pc.cc:279 hshowerparora2io.pc.cc:280 hshowerparora2io.pc.cc:281 hshowerparora2io.pc.cc:282 hshowerparora2io.pc.cc:283 hshowerparora2io.pc.cc:284 hshowerparora2io.pc.cc:285 hshowerparora2io.pc.cc:286 hshowerparora2io.pc.cc:287 hshowerparora2io.pc.cc:288 hshowerparora2io.pc.cc:289 hshowerparora2io.pc.cc:290 hshowerparora2io.pc.cc:291 hshowerparora2io.pc.cc:292 hshowerparora2io.pc.cc:293 hshowerparora2io.pc.cc:294 hshowerparora2io.pc.cc:295 hshowerparora2io.pc.cc:296 hshowerparora2io.pc.cc:297 hshowerparora2io.pc.cc:298 hshowerparora2io.pc.cc:299 hshowerparora2io.pc.cc:300 hshowerparora2io.pc.cc:301 hshowerparora2io.pc.cc:302 hshowerparora2io.pc.cc:303 hshowerparora2io.pc.cc:304 hshowerparora2io.pc.cc:305 hshowerparora2io.pc.cc:306 hshowerparora2io.pc.cc:307 hshowerparora2io.pc.cc:308 hshowerparora2io.pc.cc:309 hshowerparora2io.pc.cc:310 hshowerparora2io.pc.cc:311 hshowerparora2io.pc.cc:312 hshowerparora2io.pc.cc:313 hshowerparora2io.pc.cc:314 hshowerparora2io.pc.cc:315 hshowerparora2io.pc.cc:316 hshowerparora2io.pc.cc:317 hshowerparora2io.pc.cc:318 hshowerparora2io.pc.cc:319 hshowerparora2io.pc.cc:320 hshowerparora2io.pc.cc:321 hshowerparora2io.pc.cc:322 hshowerparora2io.pc.cc:323 hshowerparora2io.pc.cc:324 hshowerparora2io.pc.cc:325 hshowerparora2io.pc.cc:326 hshowerparora2io.pc.cc:327 hshowerparora2io.pc.cc:328 hshowerparora2io.pc.cc:329 hshowerparora2io.pc.cc:330 hshowerparora2io.pc.cc:331 hshowerparora2io.pc.cc:332 hshowerparora2io.pc.cc:333 hshowerparora2io.pc.cc:334 hshowerparora2io.pc.cc:335 hshowerparora2io.pc.cc:336 hshowerparora2io.pc.cc:337 hshowerparora2io.pc.cc:338 hshowerparora2io.pc.cc:339 hshowerparora2io.pc.cc:340 hshowerparora2io.pc.cc:341 hshowerparora2io.pc.cc:342 hshowerparora2io.pc.cc:343 hshowerparora2io.pc.cc:344 hshowerparora2io.pc.cc:345 hshowerparora2io.pc.cc:346 hshowerparora2io.pc.cc:347 hshowerparora2io.pc.cc:348 hshowerparora2io.pc.cc:349 hshowerparora2io.pc.cc:350 hshowerparora2io.pc.cc:351 hshowerparora2io.pc.cc:352 hshowerparora2io.pc.cc:353 hshowerparora2io.pc.cc:354 hshowerparora2io.pc.cc:355 hshowerparora2io.pc.cc:356 hshowerparora2io.pc.cc:357 hshowerparora2io.pc.cc:358 hshowerparora2io.pc.cc:359 hshowerparora2io.pc.cc:360 hshowerparora2io.pc.cc:361 hshowerparora2io.pc.cc:362 hshowerparora2io.pc.cc:363 hshowerparora2io.pc.cc:364 hshowerparora2io.pc.cc:365 hshowerparora2io.pc.cc:366 hshowerparora2io.pc.cc:367 hshowerparora2io.pc.cc:368 hshowerparora2io.pc.cc:369 hshowerparora2io.pc.cc:370 hshowerparora2io.pc.cc:371 hshowerparora2io.pc.cc:372 hshowerparora2io.pc.cc:373 hshowerparora2io.pc.cc:374 hshowerparora2io.pc.cc:375 hshowerparora2io.pc.cc:376 hshowerparora2io.pc.cc:377 hshowerparora2io.pc.cc:378 hshowerparora2io.pc.cc:379 hshowerparora2io.pc.cc:380 hshowerparora2io.pc.cc:381 hshowerparora2io.pc.cc:382 hshowerparora2io.pc.cc:383 hshowerparora2io.pc.cc:384 hshowerparora2io.pc.cc:385 hshowerparora2io.pc.cc:386 hshowerparora2io.pc.cc:387 hshowerparora2io.pc.cc:388 hshowerparora2io.pc.cc:389 hshowerparora2io.pc.cc:390 hshowerparora2io.pc.cc:391 hshowerparora2io.pc.cc:392 hshowerparora2io.pc.cc:393 hshowerparora2io.pc.cc:394 hshowerparora2io.pc.cc:395 hshowerparora2io.pc.cc:396 hshowerparora2io.pc.cc:397 hshowerparora2io.pc.cc:398 hshowerparora2io.pc.cc:399 hshowerparora2io.pc.cc:400 hshowerparora2io.pc.cc:401 hshowerparora2io.pc.cc:402 hshowerparora2io.pc.cc:403 hshowerparora2io.pc.cc:404 hshowerparora2io.pc.cc:405 hshowerparora2io.pc.cc:406 hshowerparora2io.pc.cc:407 hshowerparora2io.pc.cc:408 hshowerparora2io.pc.cc:409 hshowerparora2io.pc.cc:410 hshowerparora2io.pc.cc:411 hshowerparora2io.pc.cc:412 hshowerparora2io.pc.cc:413 hshowerparora2io.pc.cc:414 hshowerparora2io.pc.cc:415 hshowerparora2io.pc.cc:416 hshowerparora2io.pc.cc:417 hshowerparora2io.pc.cc:418 hshowerparora2io.pc.cc:419 hshowerparora2io.pc.cc:420 hshowerparora2io.pc.cc:421 hshowerparora2io.pc.cc:422 hshowerparora2io.pc.cc:423 hshowerparora2io.pc.cc:424 hshowerparora2io.pc.cc:425 hshowerparora2io.pc.cc:426 hshowerparora2io.pc.cc:427 hshowerparora2io.pc.cc:428 hshowerparora2io.pc.cc:429 hshowerparora2io.pc.cc:430 hshowerparora2io.pc.cc:431 hshowerparora2io.pc.cc:432 hshowerparora2io.pc.cc:433 hshowerparora2io.pc.cc:434 hshowerparora2io.pc.cc:435 hshowerparora2io.pc.cc:436 hshowerparora2io.pc.cc:437 hshowerparora2io.pc.cc:438 hshowerparora2io.pc.cc:439 hshowerparora2io.pc.cc:440 hshowerparora2io.pc.cc:441 hshowerparora2io.pc.cc:442 hshowerparora2io.pc.cc:443 hshowerparora2io.pc.cc:444 hshowerparora2io.pc.cc:445 hshowerparora2io.pc.cc:446 hshowerparora2io.pc.cc:447 hshowerparora2io.pc.cc:448 hshowerparora2io.pc.cc:449 hshowerparora2io.pc.cc:450 hshowerparora2io.pc.cc:451 hshowerparora2io.pc.cc:452 hshowerparora2io.pc.cc:453 hshowerparora2io.pc.cc:454 hshowerparora2io.pc.cc:455 hshowerparora2io.pc.cc:456 hshowerparora2io.pc.cc:457 hshowerparora2io.pc.cc:458 hshowerparora2io.pc.cc:459 hshowerparora2io.pc.cc:460 hshowerparora2io.pc.cc:461 hshowerparora2io.pc.cc:462 hshowerparora2io.pc.cc:463 hshowerparora2io.pc.cc:464 hshowerparora2io.pc.cc:465 hshowerparora2io.pc.cc:466 hshowerparora2io.pc.cc:467 hshowerparora2io.pc.cc:468 hshowerparora2io.pc.cc:469 hshowerparora2io.pc.cc:470 hshowerparora2io.pc.cc:471 hshowerparora2io.pc.cc:472 hshowerparora2io.pc.cc:473 hshowerparora2io.pc.cc:474 hshowerparora2io.pc.cc:475 hshowerparora2io.pc.cc:476 hshowerparora2io.pc.cc:477 hshowerparora2io.pc.cc:478 hshowerparora2io.pc.cc:479 hshowerparora2io.pc.cc:480 hshowerparora2io.pc.cc:481 hshowerparora2io.pc.cc:482 hshowerparora2io.pc.cc:483 hshowerparora2io.pc.cc:484 hshowerparora2io.pc.cc:485 hshowerparora2io.pc.cc:486 hshowerparora2io.pc.cc:487 hshowerparora2io.pc.cc:488 hshowerparora2io.pc.cc:489 hshowerparora2io.pc.cc:490 hshowerparora2io.pc.cc:491 hshowerparora2io.pc.cc:492 hshowerparora2io.pc.cc:493 hshowerparora2io.pc.cc:494 hshowerparora2io.pc.cc:495 hshowerparora2io.pc.cc:496 hshowerparora2io.pc.cc:497 hshowerparora2io.pc.cc:498 hshowerparora2io.pc.cc:499 hshowerparora2io.pc.cc:500 hshowerparora2io.pc.cc:501 hshowerparora2io.pc.cc:502 hshowerparora2io.pc.cc:503 hshowerparora2io.pc.cc:504 hshowerparora2io.pc.cc:505 hshowerparora2io.pc.cc:506 hshowerparora2io.pc.cc:507 hshowerparora2io.pc.cc:508 hshowerparora2io.pc.cc:509 hshowerparora2io.pc.cc:510 hshowerparora2io.pc.cc:511 hshowerparora2io.pc.cc:512 hshowerparora2io.pc.cc:513 hshowerparora2io.pc.cc:514 hshowerparora2io.pc.cc:515 hshowerparora2io.pc.cc:516 hshowerparora2io.pc.cc:517 hshowerparora2io.pc.cc:518 hshowerparora2io.pc.cc:519 hshowerparora2io.pc.cc:520 hshowerparora2io.pc.cc:521 hshowerparora2io.pc.cc:522 hshowerparora2io.pc.cc:523 hshowerparora2io.pc.cc:524 hshowerparora2io.pc.cc:525 hshowerparora2io.pc.cc:526 hshowerparora2io.pc.cc:527 hshowerparora2io.pc.cc:528 hshowerparora2io.pc.cc:529 hshowerparora2io.pc.cc:530 hshowerparora2io.pc.cc:531 hshowerparora2io.pc.cc:532 hshowerparora2io.pc.cc:533 hshowerparora2io.pc.cc:534 hshowerparora2io.pc.cc:535 hshowerparora2io.pc.cc:536 hshowerparora2io.pc.cc:537 hshowerparora2io.pc.cc:538 hshowerparora2io.pc.cc:539 hshowerparora2io.pc.cc:540 hshowerparora2io.pc.cc:541 hshowerparora2io.pc.cc:542 hshowerparora2io.pc.cc:543 hshowerparora2io.pc.cc:544 hshowerparora2io.pc.cc:545 hshowerparora2io.pc.cc:546 hshowerparora2io.pc.cc:547 hshowerparora2io.pc.cc:548 hshowerparora2io.pc.cc:549 hshowerparora2io.pc.cc:550 hshowerparora2io.pc.cc:551 hshowerparora2io.pc.cc:552 hshowerparora2io.pc.cc:553 hshowerparora2io.pc.cc:554 hshowerparora2io.pc.cc:555 hshowerparora2io.pc.cc:556 hshowerparora2io.pc.cc:557 hshowerparora2io.pc.cc:558 hshowerparora2io.pc.cc:559 hshowerparora2io.pc.cc:560 hshowerparora2io.pc.cc:561 hshowerparora2io.pc.cc:562 hshowerparora2io.pc.cc:563 hshowerparora2io.pc.cc:564 hshowerparora2io.pc.cc:565 hshowerparora2io.pc.cc:566 hshowerparora2io.pc.cc:567 hshowerparora2io.pc.cc:568 hshowerparora2io.pc.cc:569 hshowerparora2io.pc.cc:570 hshowerparora2io.pc.cc:571 hshowerparora2io.pc.cc:572 hshowerparora2io.pc.cc:573 hshowerparora2io.pc.cc:574 hshowerparora2io.pc.cc:575 hshowerparora2io.pc.cc:576 hshowerparora2io.pc.cc:577 hshowerparora2io.pc.cc:578 hshowerparora2io.pc.cc:579 hshowerparora2io.pc.cc:580 hshowerparora2io.pc.cc:581 hshowerparora2io.pc.cc:582 hshowerparora2io.pc.cc:583 hshowerparora2io.pc.cc:584 hshowerparora2io.pc.cc:585 hshowerparora2io.pc.cc:586 hshowerparora2io.pc.cc:587 hshowerparora2io.pc.cc:588 hshowerparora2io.pc.cc:589 hshowerparora2io.pc.cc:590 hshowerparora2io.pc.cc:591 hshowerparora2io.pc.cc:592 hshowerparora2io.pc.cc:593 hshowerparora2io.pc.cc:594 hshowerparora2io.pc.cc:595 hshowerparora2io.pc.cc:596 hshowerparora2io.pc.cc:597 hshowerparora2io.pc.cc:598 hshowerparora2io.pc.cc:599 hshowerparora2io.pc.cc:600 hshowerparora2io.pc.cc:601 hshowerparora2io.pc.cc:602 hshowerparora2io.pc.cc:603 hshowerparora2io.pc.cc:604 hshowerparora2io.pc.cc:605 hshowerparora2io.pc.cc:606 hshowerparora2io.pc.cc:607 hshowerparora2io.pc.cc:608 hshowerparora2io.pc.cc:609 hshowerparora2io.pc.cc:610 hshowerparora2io.pc.cc:611 hshowerparora2io.pc.cc:612 hshowerparora2io.pc.cc:613 hshowerparora2io.pc.cc:614 hshowerparora2io.pc.cc:615 hshowerparora2io.pc.cc:616 hshowerparora2io.pc.cc:617 hshowerparora2io.pc.cc:618 hshowerparora2io.pc.cc:619 hshowerparora2io.pc.cc:620 hshowerparora2io.pc.cc:621 hshowerparora2io.pc.cc:622 hshowerparora2io.pc.cc:623 hshowerparora2io.pc.cc:624 hshowerparora2io.pc.cc:625 hshowerparora2io.pc.cc:626 hshowerparora2io.pc.cc:627 hshowerparora2io.pc.cc:628 hshowerparora2io.pc.cc:629 hshowerparora2io.pc.cc:630 hshowerparora2io.pc.cc:631 hshowerparora2io.pc.cc:632 hshowerparora2io.pc.cc:633 hshowerparora2io.pc.cc:634 hshowerparora2io.pc.cc:635 hshowerparora2io.pc.cc:636 hshowerparora2io.pc.cc:637 hshowerparora2io.pc.cc:638 hshowerparora2io.pc.cc:639 hshowerparora2io.pc.cc:640 hshowerparora2io.pc.cc:641 hshowerparora2io.pc.cc:642 hshowerparora2io.pc.cc:643 hshowerparora2io.pc.cc:644 hshowerparora2io.pc.cc:645 hshowerparora2io.pc.cc:646 hshowerparora2io.pc.cc:647 hshowerparora2io.pc.cc:648 hshowerparora2io.pc.cc:649 hshowerparora2io.pc.cc:650 hshowerparora2io.pc.cc:651 hshowerparora2io.pc.cc:652 hshowerparora2io.pc.cc:653 hshowerparora2io.pc.cc:654 hshowerparora2io.pc.cc:655 hshowerparora2io.pc.cc:656 hshowerparora2io.pc.cc:657 hshowerparora2io.pc.cc:658 hshowerparora2io.pc.cc:659 hshowerparora2io.pc.cc:660 hshowerparora2io.pc.cc:661 hshowerparora2io.pc.cc:662 hshowerparora2io.pc.cc:663 hshowerparora2io.pc.cc:664 hshowerparora2io.pc.cc:665 hshowerparora2io.pc.cc:666 hshowerparora2io.pc.cc:667 hshowerparora2io.pc.cc:668 hshowerparora2io.pc.cc:669 hshowerparora2io.pc.cc:670 hshowerparora2io.pc.cc:671 hshowerparora2io.pc.cc:672 hshowerparora2io.pc.cc:673 hshowerparora2io.pc.cc:674 hshowerparora2io.pc.cc:675 hshowerparora2io.pc.cc:676 hshowerparora2io.pc.cc:677 hshowerparora2io.pc.cc:678 hshowerparora2io.pc.cc:679 hshowerparora2io.pc.cc:680 hshowerparora2io.pc.cc:681 hshowerparora2io.pc.cc:682 hshowerparora2io.pc.cc:683 hshowerparora2io.pc.cc:684 hshowerparora2io.pc.cc:685 hshowerparora2io.pc.cc:686 hshowerparora2io.pc.cc:687 hshowerparora2io.pc.cc:688 hshowerparora2io.pc.cc:689 hshowerparora2io.pc.cc:690 hshowerparora2io.pc.cc:691 hshowerparora2io.pc.cc:692 hshowerparora2io.pc.cc:693 hshowerparora2io.pc.cc:694 hshowerparora2io.pc.cc:695 hshowerparora2io.pc.cc:696 hshowerparora2io.pc.cc:697 hshowerparora2io.pc.cc:698 hshowerparora2io.pc.cc:699 hshowerparora2io.pc.cc:700 hshowerparora2io.pc.cc:701 hshowerparora2io.pc.cc:702 hshowerparora2io.pc.cc:703 hshowerparora2io.pc.cc:704 hshowerparora2io.pc.cc:705 hshowerparora2io.pc.cc:706 hshowerparora2io.pc.cc:707 hshowerparora2io.pc.cc:708 hshowerparora2io.pc.cc:709 hshowerparora2io.pc.cc:710 hshowerparora2io.pc.cc:711 hshowerparora2io.pc.cc:712 hshowerparora2io.pc.cc:713 hshowerparora2io.pc.cc:714 hshowerparora2io.pc.cc:715 hshowerparora2io.pc.cc:716 hshowerparora2io.pc.cc:717 hshowerparora2io.pc.cc:718 hshowerparora2io.pc.cc:719 hshowerparora2io.pc.cc:720 hshowerparora2io.pc.cc:721 hshowerparora2io.pc.cc:722 hshowerparora2io.pc.cc:723 hshowerparora2io.pc.cc:724 hshowerparora2io.pc.cc:725 hshowerparora2io.pc.cc:726 hshowerparora2io.pc.cc:727 hshowerparora2io.pc.cc:728 hshowerparora2io.pc.cc:729 hshowerparora2io.pc.cc:730 hshowerparora2io.pc.cc:731 hshowerparora2io.pc.cc:732 hshowerparora2io.pc.cc:733 hshowerparora2io.pc.cc:734 hshowerparora2io.pc.cc:735 hshowerparora2io.pc.cc:736 hshowerparora2io.pc.cc:737 hshowerparora2io.pc.cc:738 hshowerparora2io.pc.cc:739 hshowerparora2io.pc.cc:740 hshowerparora2io.pc.cc:741 hshowerparora2io.pc.cc:742 hshowerparora2io.pc.cc:743 hshowerparora2io.pc.cc:744 hshowerparora2io.pc.cc:745 hshowerparora2io.pc.cc:746 hshowerparora2io.pc.cc:747 hshowerparora2io.pc.cc:748 hshowerparora2io.pc.cc:749 hshowerparora2io.pc.cc:750 hshowerparora2io.pc.cc:751 hshowerparora2io.pc.cc:752 hshowerparora2io.pc.cc:753 hshowerparora2io.pc.cc:754 hshowerparora2io.pc.cc:755 hshowerparora2io.pc.cc:756 hshowerparora2io.pc.cc:757 hshowerparora2io.pc.cc:758 hshowerparora2io.pc.cc:759 hshowerparora2io.pc.cc:760 hshowerparora2io.pc.cc:761 hshowerparora2io.pc.cc:762 hshowerparora2io.pc.cc:763 hshowerparora2io.pc.cc:764 hshowerparora2io.pc.cc:765 hshowerparora2io.pc.cc:766 hshowerparora2io.pc.cc:767 hshowerparora2io.pc.cc:768 hshowerparora2io.pc.cc:769 hshowerparora2io.pc.cc:770 hshowerparora2io.pc.cc:771 hshowerparora2io.pc.cc:772 hshowerparora2io.pc.cc:773 hshowerparora2io.pc.cc:774 hshowerparora2io.pc.cc:775 hshowerparora2io.pc.cc:776 hshowerparora2io.pc.cc:777 hshowerparora2io.pc.cc:778 hshowerparora2io.pc.cc:779 hshowerparora2io.pc.cc:780 hshowerparora2io.pc.cc:781 hshowerparora2io.pc.cc:782 hshowerparora2io.pc.cc:783 hshowerparora2io.pc.cc:784 hshowerparora2io.pc.cc:785 hshowerparora2io.pc.cc:786 hshowerparora2io.pc.cc:787 hshowerparora2io.pc.cc:788 hshowerparora2io.pc.cc:789 hshowerparora2io.pc.cc:790 hshowerparora2io.pc.cc:791 hshowerparora2io.pc.cc:792 hshowerparora2io.pc.cc:793 hshowerparora2io.pc.cc:794 hshowerparora2io.pc.cc:795 hshowerparora2io.pc.cc:796 hshowerparora2io.pc.cc:797 hshowerparora2io.pc.cc:798 hshowerparora2io.pc.cc:799 hshowerparora2io.pc.cc:800 hshowerparora2io.pc.cc:801 hshowerparora2io.pc.cc:802 hshowerparora2io.pc.cc:803 hshowerparora2io.pc.cc:804 hshowerparora2io.pc.cc:805 hshowerparora2io.pc.cc:806 hshowerparora2io.pc.cc:807 hshowerparora2io.pc.cc:808 hshowerparora2io.pc.cc:809 hshowerparora2io.pc.cc:810 hshowerparora2io.pc.cc:811 hshowerparora2io.pc.cc:812 hshowerparora2io.pc.cc:813 hshowerparora2io.pc.cc:814 hshowerparora2io.pc.cc:815 hshowerparora2io.pc.cc:816 hshowerparora2io.pc.cc:817 hshowerparora2io.pc.cc:818 hshowerparora2io.pc.cc:819 hshowerparora2io.pc.cc:820 hshowerparora2io.pc.cc:821 hshowerparora2io.pc.cc:822 hshowerparora2io.pc.cc:823 hshowerparora2io.pc.cc:824 hshowerparora2io.pc.cc:825 hshowerparora2io.pc.cc:826 hshowerparora2io.pc.cc:827 hshowerparora2io.pc.cc:828 hshowerparora2io.pc.cc:829 hshowerparora2io.pc.cc:830 hshowerparora2io.pc.cc:831 hshowerparora2io.pc.cc:832 hshowerparora2io.pc.cc:833 hshowerparora2io.pc.cc:834 hshowerparora2io.pc.cc:835 hshowerparora2io.pc.cc:836 hshowerparora2io.pc.cc:837 hshowerparora2io.pc.cc:838 hshowerparora2io.pc.cc:839 hshowerparora2io.pc.cc:840 hshowerparora2io.pc.cc:841 hshowerparora2io.pc.cc:842 hshowerparora2io.pc.cc:843 hshowerparora2io.pc.cc:844 hshowerparora2io.pc.cc:845 hshowerparora2io.pc.cc:846 hshowerparora2io.pc.cc:847 hshowerparora2io.pc.cc:848 hshowerparora2io.pc.cc:849 hshowerparora2io.pc.cc:850 hshowerparora2io.pc.cc:851 hshowerparora2io.pc.cc:852 hshowerparora2io.pc.cc:853 hshowerparora2io.pc.cc:854 hshowerparora2io.pc.cc:855 hshowerparora2io.pc.cc:856 hshowerparora2io.pc.cc:857 hshowerparora2io.pc.cc:858 hshowerparora2io.pc.cc:859 hshowerparora2io.pc.cc:860 hshowerparora2io.pc.cc:861 hshowerparora2io.pc.cc:862 hshowerparora2io.pc.cc:863 hshowerparora2io.pc.cc:864 hshowerparora2io.pc.cc:865 hshowerparora2io.pc.cc:866 hshowerparora2io.pc.cc:867 hshowerparora2io.pc.cc:868 hshowerparora2io.pc.cc:869 hshowerparora2io.pc.cc:870 hshowerparora2io.pc.cc:871 hshowerparora2io.pc.cc:872 hshowerparora2io.pc.cc:873 hshowerparora2io.pc.cc:874 hshowerparora2io.pc.cc:875 hshowerparora2io.pc.cc:876 hshowerparora2io.pc.cc:877 hshowerparora2io.pc.cc:878 hshowerparora2io.pc.cc:879 hshowerparora2io.pc.cc:880 hshowerparora2io.pc.cc:881 hshowerparora2io.pc.cc:882 hshowerparora2io.pc.cc:883 hshowerparora2io.pc.cc:884 hshowerparora2io.pc.cc:885 hshowerparora2io.pc.cc:886 hshowerparora2io.pc.cc:887 hshowerparora2io.pc.cc:888 hshowerparora2io.pc.cc:889 hshowerparora2io.pc.cc:890 hshowerparora2io.pc.cc:891 hshowerparora2io.pc.cc:892 hshowerparora2io.pc.cc:893 hshowerparora2io.pc.cc:894 hshowerparora2io.pc.cc:895 hshowerparora2io.pc.cc:896 hshowerparora2io.pc.cc:897 hshowerparora2io.pc.cc:898 hshowerparora2io.pc.cc:899 hshowerparora2io.pc.cc:900 hshowerparora2io.pc.cc:901 hshowerparora2io.pc.cc:902 hshowerparora2io.pc.cc:903 hshowerparora2io.pc.cc:904 hshowerparora2io.pc.cc:905 hshowerparora2io.pc.cc:906 hshowerparora2io.pc.cc:907 hshowerparora2io.pc.cc:908 hshowerparora2io.pc.cc:909 hshowerparora2io.pc.cc:910 hshowerparora2io.pc.cc:911 hshowerparora2io.pc.cc:912 hshowerparora2io.pc.cc:913 hshowerparora2io.pc.cc:914 hshowerparora2io.pc.cc:915 hshowerparora2io.pc.cc:916 hshowerparora2io.pc.cc:917 hshowerparora2io.pc.cc:918 hshowerparora2io.pc.cc:919 hshowerparora2io.pc.cc:920 hshowerparora2io.pc.cc:921 hshowerparora2io.pc.cc:922 hshowerparora2io.pc.cc:923 hshowerparora2io.pc.cc:924 hshowerparora2io.pc.cc:925 hshowerparora2io.pc.cc:926 hshowerparora2io.pc.cc:927 hshowerparora2io.pc.cc:928 hshowerparora2io.pc.cc:929 hshowerparora2io.pc.cc:930 hshowerparora2io.pc.cc:931 hshowerparora2io.pc.cc:932 hshowerparora2io.pc.cc:933 hshowerparora2io.pc.cc:934 hshowerparora2io.pc.cc:935 hshowerparora2io.pc.cc:936 hshowerparora2io.pc.cc:937 hshowerparora2io.pc.cc:938 hshowerparora2io.pc.cc:939 hshowerparora2io.pc.cc:940 hshowerparora2io.pc.cc:941 hshowerparora2io.pc.cc:942 hshowerparora2io.pc.cc:943 hshowerparora2io.pc.cc:944 hshowerparora2io.pc.cc:945 hshowerparora2io.pc.cc:946 hshowerparora2io.pc.cc:947 hshowerparora2io.pc.cc:948 hshowerparora2io.pc.cc:949 hshowerparora2io.pc.cc:950 hshowerparora2io.pc.cc:951 hshowerparora2io.pc.cc:952 hshowerparora2io.pc.cc:953 hshowerparora2io.pc.cc:954 hshowerparora2io.pc.cc:955 hshowerparora2io.pc.cc:956 hshowerparora2io.pc.cc:957 hshowerparora2io.pc.cc:958 hshowerparora2io.pc.cc:959 hshowerparora2io.pc.cc:960 hshowerparora2io.pc.cc:961 hshowerparora2io.pc.cc:962 hshowerparora2io.pc.cc:963 hshowerparora2io.pc.cc:964 hshowerparora2io.pc.cc:965 hshowerparora2io.pc.cc:966 hshowerparora2io.pc.cc:967 hshowerparora2io.pc.cc:968 hshowerparora2io.pc.cc:969 hshowerparora2io.pc.cc:970 hshowerparora2io.pc.cc:971 hshowerparora2io.pc.cc:972 hshowerparora2io.pc.cc:973 hshowerparora2io.pc.cc:974 hshowerparora2io.pc.cc:975 hshowerparora2io.pc.cc:976 hshowerparora2io.pc.cc:977 hshowerparora2io.pc.cc:978 hshowerparora2io.pc.cc:979 hshowerparora2io.pc.cc:980 hshowerparora2io.pc.cc:981 hshowerparora2io.pc.cc:982 hshowerparora2io.pc.cc:983 hshowerparora2io.pc.cc:984 hshowerparora2io.pc.cc:985 hshowerparora2io.pc.cc:986 hshowerparora2io.pc.cc:987 hshowerparora2io.pc.cc:988 hshowerparora2io.pc.cc:989 hshowerparora2io.pc.cc:990 hshowerparora2io.pc.cc:991 hshowerparora2io.pc.cc:992 hshowerparora2io.pc.cc:993 hshowerparora2io.pc.cc:994 hshowerparora2io.pc.cc:995 hshowerparora2io.pc.cc:996 hshowerparora2io.pc.cc:997 hshowerparora2io.pc.cc:998 hshowerparora2io.pc.cc:999 hshowerparora2io.pc.cc:1000 hshowerparora2io.pc.cc:1001 hshowerparora2io.pc.cc:1002 hshowerparora2io.pc.cc:1003 hshowerparora2io.pc.cc:1004 hshowerparora2io.pc.cc:1005 hshowerparora2io.pc.cc:1006 hshowerparora2io.pc.cc:1007 hshowerparora2io.pc.cc:1008 hshowerparora2io.pc.cc:1009 hshowerparora2io.pc.cc:1010 hshowerparora2io.pc.cc:1011 hshowerparora2io.pc.cc:1012 hshowerparora2io.pc.cc:1013 hshowerparora2io.pc.cc:1014 hshowerparora2io.pc.cc:1015 hshowerparora2io.pc.cc:1016 hshowerparora2io.pc.cc:1017 hshowerparora2io.pc.cc:1018 hshowerparora2io.pc.cc:1019 hshowerparora2io.pc.cc:1020 hshowerparora2io.pc.cc:1021 hshowerparora2io.pc.cc:1022 hshowerparora2io.pc.cc:1023 hshowerparora2io.pc.cc:1024 hshowerparora2io.pc.cc:1025 hshowerparora2io.pc.cc:1026 hshowerparora2io.pc.cc:1027 hshowerparora2io.pc.cc:1028 hshowerparora2io.pc.cc:1029 hshowerparora2io.pc.cc:1030 hshowerparora2io.pc.cc:1031 hshowerparora2io.pc.cc:1032 hshowerparora2io.pc.cc:1033 hshowerparora2io.pc.cc:1034 hshowerparora2io.pc.cc:1035 hshowerparora2io.pc.cc:1036 hshowerparora2io.pc.cc:1037 hshowerparora2io.pc.cc:1038 hshowerparora2io.pc.cc:1039 hshowerparora2io.pc.cc:1040 hshowerparora2io.pc.cc:1041 hshowerparora2io.pc.cc:1042 hshowerparora2io.pc.cc:1043 hshowerparora2io.pc.cc:1044 hshowerparora2io.pc.cc:1045 hshowerparora2io.pc.cc:1046 hshowerparora2io.pc.cc:1047 hshowerparora2io.pc.cc:1048 hshowerparora2io.pc.cc:1049 hshowerparora2io.pc.cc:1050 hshowerparora2io.pc.cc:1051 hshowerparora2io.pc.cc:1052 hshowerparora2io.pc.cc:1053 hshowerparora2io.pc.cc:1054 hshowerparora2io.pc.cc:1055 hshowerparora2io.pc.cc:1056 hshowerparora2io.pc.cc:1057 hshowerparora2io.pc.cc:1058 hshowerparora2io.pc.cc:1059 hshowerparora2io.pc.cc:1060 hshowerparora2io.pc.cc:1061 hshowerparora2io.pc.cc:1062 hshowerparora2io.pc.cc:1063 hshowerparora2io.pc.cc:1064 hshowerparora2io.pc.cc:1065 hshowerparora2io.pc.cc:1066 hshowerparora2io.pc.cc:1067 hshowerparora2io.pc.cc:1068 hshowerparora2io.pc.cc:1069 hshowerparora2io.pc.cc:1070 hshowerparora2io.pc.cc:1071 hshowerparora2io.pc.cc:1072 hshowerparora2io.pc.cc:1073 hshowerparora2io.pc.cc:1074 hshowerparora2io.pc.cc:1075 hshowerparora2io.pc.cc:1076 hshowerparora2io.pc.cc:1077 hshowerparora2io.pc.cc:1078 hshowerparora2io.pc.cc:1079 hshowerparora2io.pc.cc:1080 hshowerparora2io.pc.cc:1081 hshowerparora2io.pc.cc:1082 hshowerparora2io.pc.cc:1083 hshowerparora2io.pc.cc:1084 hshowerparora2io.pc.cc:1085 hshowerparora2io.pc.cc:1086 hshowerparora2io.pc.cc:1087 hshowerparora2io.pc.cc:1088 hshowerparora2io.pc.cc:1089 hshowerparora2io.pc.cc:1090 hshowerparora2io.pc.cc:1091 hshowerparora2io.pc.cc:1092 hshowerparora2io.pc.cc:1093 hshowerparora2io.pc.cc:1094 hshowerparora2io.pc.cc:1095 hshowerparora2io.pc.cc:1096 hshowerparora2io.pc.cc:1097 hshowerparora2io.pc.cc:1098 hshowerparora2io.pc.cc:1099 hshowerparora2io.pc.cc:1100 hshowerparora2io.pc.cc:1101 hshowerparora2io.pc.cc:1102 hshowerparora2io.pc.cc:1103 hshowerparora2io.pc.cc:1104 hshowerparora2io.pc.cc:1105 hshowerparora2io.pc.cc:1106 hshowerparora2io.pc.cc:1107 hshowerparora2io.pc.cc:1108 hshowerparora2io.pc.cc:1109 hshowerparora2io.pc.cc:1110 hshowerparora2io.pc.cc:1111 hshowerparora2io.pc.cc:1112 hshowerparora2io.pc.cc:1113 hshowerparora2io.pc.cc:1114 hshowerparora2io.pc.cc:1115 hshowerparora2io.pc.cc:1116 hshowerparora2io.pc.cc:1117 hshowerparora2io.pc.cc:1118 hshowerparora2io.pc.cc:1119 hshowerparora2io.pc.cc:1120 hshowerparora2io.pc.cc:1121 hshowerparora2io.pc.cc:1122 hshowerparora2io.pc.cc:1123 hshowerparora2io.pc.cc:1124 hshowerparora2io.pc.cc:1125 hshowerparora2io.pc.cc:1126 hshowerparora2io.pc.cc:1127 hshowerparora2io.pc.cc:1128 hshowerparora2io.pc.cc:1129 hshowerparora2io.pc.cc:1130 hshowerparora2io.pc.cc:1131 hshowerparora2io.pc.cc:1132 hshowerparora2io.pc.cc:1133 hshowerparora2io.pc.cc:1134 hshowerparora2io.pc.cc:1135 hshowerparora2io.pc.cc:1136 hshowerparora2io.pc.cc:1137 hshowerparora2io.pc.cc:1138 hshowerparora2io.pc.cc:1139 hshowerparora2io.pc.cc:1140 hshowerparora2io.pc.cc:1141 hshowerparora2io.pc.cc:1142 hshowerparora2io.pc.cc:1143 hshowerparora2io.pc.cc:1144 hshowerparora2io.pc.cc:1145 hshowerparora2io.pc.cc:1146 hshowerparora2io.pc.cc:1147 hshowerparora2io.pc.cc:1148 hshowerparora2io.pc.cc:1149 hshowerparora2io.pc.cc:1150 hshowerparora2io.pc.cc:1151 hshowerparora2io.pc.cc:1152 hshowerparora2io.pc.cc:1153 hshowerparora2io.pc.cc:1154 hshowerparora2io.pc.cc:1155 hshowerparora2io.pc.cc:1156 hshowerparora2io.pc.cc:1157 hshowerparora2io.pc.cc:1158 hshowerparora2io.pc.cc:1159 hshowerparora2io.pc.cc:1160 hshowerparora2io.pc.cc:1161 hshowerparora2io.pc.cc:1162 hshowerparora2io.pc.cc:1163 hshowerparora2io.pc.cc:1164 hshowerparora2io.pc.cc:1165 hshowerparora2io.pc.cc:1166 hshowerparora2io.pc.cc:1167 hshowerparora2io.pc.cc:1168 hshowerparora2io.pc.cc:1169 hshowerparora2io.pc.cc:1170 hshowerparora2io.pc.cc:1171 hshowerparora2io.pc.cc:1172 hshowerparora2io.pc.cc:1173 hshowerparora2io.pc.cc:1174 hshowerparora2io.pc.cc:1175 hshowerparora2io.pc.cc:1176 hshowerparora2io.pc.cc:1177 hshowerparora2io.pc.cc:1178 hshowerparora2io.pc.cc:1179 hshowerparora2io.pc.cc:1180 hshowerparora2io.pc.cc:1181 hshowerparora2io.pc.cc:1182 hshowerparora2io.pc.cc:1183 hshowerparora2io.pc.cc:1184 hshowerparora2io.pc.cc:1185 hshowerparora2io.pc.cc:1186 hshowerparora2io.pc.cc:1187 hshowerparora2io.pc.cc:1188 hshowerparora2io.pc.cc:1189 hshowerparora2io.pc.cc:1190 hshowerparora2io.pc.cc:1191 hshowerparora2io.pc.cc:1192 hshowerparora2io.pc.cc:1193 hshowerparora2io.pc.cc:1194 hshowerparora2io.pc.cc:1195 hshowerparora2io.pc.cc:1196 hshowerparora2io.pc.cc:1197 hshowerparora2io.pc.cc:1198 hshowerparora2io.pc.cc:1199 hshowerparora2io.pc.cc:1200 hshowerparora2io.pc.cc:1201 hshowerparora2io.pc.cc:1202 hshowerparora2io.pc.cc:1203 hshowerparora2io.pc.cc:1204 hshowerparora2io.pc.cc:1205 hshowerparora2io.pc.cc:1206 hshowerparora2io.pc.cc:1207 hshowerparora2io.pc.cc:1208 hshowerparora2io.pc.cc:1209 hshowerparora2io.pc.cc:1210 hshowerparora2io.pc.cc:1211 hshowerparora2io.pc.cc:1212 hshowerparora2io.pc.cc:1213 hshowerparora2io.pc.cc:1214 hshowerparora2io.pc.cc:1215 hshowerparora2io.pc.cc:1216 hshowerparora2io.pc.cc:1217 hshowerparora2io.pc.cc:1218 hshowerparora2io.pc.cc:1219 hshowerparora2io.pc.cc:1220 hshowerparora2io.pc.cc:1221 hshowerparora2io.pc.cc:1222 hshowerparora2io.pc.cc:1223 hshowerparora2io.pc.cc:1224 hshowerparora2io.pc.cc:1225 hshowerparora2io.pc.cc:1226 hshowerparora2io.pc.cc:1227 hshowerparora2io.pc.cc:1228 hshowerparora2io.pc.cc:1229 hshowerparora2io.pc.cc:1230 hshowerparora2io.pc.cc:1231 hshowerparora2io.pc.cc:1232 hshowerparora2io.pc.cc:1233 hshowerparora2io.pc.cc:1234 hshowerparora2io.pc.cc:1235 hshowerparora2io.pc.cc:1236 hshowerparora2io.pc.cc:1237 hshowerparora2io.pc.cc:1238 hshowerparora2io.pc.cc:1239 hshowerparora2io.pc.cc:1240 hshowerparora2io.pc.cc:1241 hshowerparora2io.pc.cc:1242 hshowerparora2io.pc.cc:1243 hshowerparora2io.pc.cc:1244 hshowerparora2io.pc.cc:1245 hshowerparora2io.pc.cc:1246 hshowerparora2io.pc.cc:1247 hshowerparora2io.pc.cc:1248 hshowerparora2io.pc.cc:1249 hshowerparora2io.pc.cc:1250 hshowerparora2io.pc.cc:1251 hshowerparora2io.pc.cc:1252 hshowerparora2io.pc.cc:1253 hshowerparora2io.pc.cc:1254 hshowerparora2io.pc.cc:1255 hshowerparora2io.pc.cc:1256 hshowerparora2io.pc.cc:1257 hshowerparora2io.pc.cc:1258 hshowerparora2io.pc.cc:1259 hshowerparora2io.pc.cc:1260 hshowerparora2io.pc.cc:1261 hshowerparora2io.pc.cc:1262 hshowerparora2io.pc.cc:1263 hshowerparora2io.pc.cc:1264 hshowerparora2io.pc.cc:1265 hshowerparora2io.pc.cc:1266 hshowerparora2io.pc.cc:1267 hshowerparora2io.pc.cc:1268 hshowerparora2io.pc.cc:1269 hshowerparora2io.pc.cc:1270 hshowerparora2io.pc.cc:1271 hshowerparora2io.pc.cc:1272 hshowerparora2io.pc.cc:1273 hshowerparora2io.pc.cc:1274 hshowerparora2io.pc.cc:1275 hshowerparora2io.pc.cc:1276 hshowerparora2io.pc.cc:1277 hshowerparora2io.pc.cc:1278 hshowerparora2io.pc.cc:1279 hshowerparora2io.pc.cc:1280 hshowerparora2io.pc.cc:1281 hshowerparora2io.pc.cc:1282 hshowerparora2io.pc.cc:1283 hshowerparora2io.pc.cc:1284 hshowerparora2io.pc.cc:1285 hshowerparora2io.pc.cc:1286 hshowerparora2io.pc.cc:1287 hshowerparora2io.pc.cc:1288 hshowerparora2io.pc.cc:1289 hshowerparora2io.pc.cc:1290 hshowerparora2io.pc.cc:1291 hshowerparora2io.pc.cc:1292 hshowerparora2io.pc.cc:1293 hshowerparora2io.pc.cc:1294 hshowerparora2io.pc.cc:1295 hshowerparora2io.pc.cc:1296 hshowerparora2io.pc.cc:1297 hshowerparora2io.pc.cc:1298 hshowerparora2io.pc.cc:1299 hshowerparora2io.pc.cc:1300 hshowerparora2io.pc.cc:1301