This repository has been archived by the owner on Oct 18, 2022. It is now read-only.
Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
xtrie/gen_xml.c
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
7482 lines (7480 sloc)
437 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Source for generating xml files | |
// Downloaded form the xpath benchmarking webpage | |
#include <stdlib.h> | |
#include <stdarg.h> | |
#include <string.h> | |
#include <stdlib.h> | |
#include <math.h> | |
#include <stdio.h> | |
#include <stdio.h> | |
#include <sys/time.h> | |
#include <unistd.h> | |
extern char *pmoptarg; | |
extern int pmoptind; | |
extern char dash; | |
int pmgetopt(int argc, char * const argv[], const char *optstring); | |
unsigned long timediff(void); | |
extern int indent_level; | |
extern int fmt_width; | |
int xmlfmtprintf(FILE *, const char *fmt,...); | |
typedef struct | |
{ | |
int type; | |
double mean, dev, min, max; | |
} | |
ProbDesc; | |
typedef struct | |
{ | |
int id; | |
ProbDesc pd; | |
char rec; | |
} | |
ElmDesc; | |
typedef struct | |
{ | |
char name[20]; | |
int type; | |
int ref; | |
ProbDesc pd; | |
float prcnt; | |
} | |
AttDesc; | |
typedef struct SetDesc | |
{ | |
int size,id; | |
struct SetDesc *next; | |
} | |
SetDesc; | |
typedef struct | |
{ | |
int id; | |
char *name; | |
ElmDesc elm[20]; | |
AttDesc att[5]; | |
int type; | |
int kids; | |
SetDesc set; | |
int flag; | |
} | |
ObjDesc; | |
extern int (*xmlprintf)(FILE *stream, const char *format, ...); | |
extern void FixSetByEdge(char *, char *, int size); | |
extern FILE *xmlout; | |
extern FILE *debug; | |
extern int indent_level; | |
extern int indent_inc; | |
extern ObjDesc *stack[]; | |
extern int stackdepth; | |
extern ObjDesc objs[]; | |
extern char dtd_name[128]; | |
extern int dtd_len; | |
extern char *dtd[]; | |
int NumberOfObjs(void); | |
int GenContents(ObjDesc*); | |
void GenAttCDATA(ObjDesc*,char*,char*); | |
extern int (*IdRefHook)(ObjDesc *od, int type, int *iRef); | |
extern void (*InitHook)(void); | |
extern double (*correction)(double scalefactor); | |
typedef struct { | |
int idum,iff; | |
long ix1,ix2,ix3; | |
double r[98]; | |
int ipos; | |
} random_gen; | |
void init_gen(random_gen *rg); | |
float genunf(float low,float high); | |
float genexp(float av); | |
float gennor(float av,float sd); | |
int ignuin(int low, int high); | |
int __ignuin(random_gen *rg, int low, int high); | |
int signuin(int seed, int low, int high); | |
double ranf(); | |
double GenRandomNum(ProbDesc *pd); | |
double GenRandomNumSeeded(int seed, ProbDesc *pd); | |
void MakeRandomString(char *string, int length); | |
static random_gen rgGlobal={-3}; | |
static random_gen rgNull,rgSeed; | |
void init_gen(random_gen *rg) | |
{ | |
memcpy(rg,&rgNull,sizeof(rgNull)); | |
} | |
double __ranf(random_gen *rg) { | |
register double temp; | |
register int j; | |
{ | |
if (rg->idum<0 || rg->iff==0) { | |
rg->iff=1; | |
rg->ix1=(54773-rg->idum) % 259200; | |
rg->ix1=(7141*rg->ix1+54773) % 259200; | |
rg->ix2=rg->ix1 % 134456; | |
rg->ix1=(7141*rg->ix1+54773) % 259200; | |
rg->ix3=rg->ix1 % 243000; | |
for (j=1;j<=97;j++) { | |
rg->ix1=(7141*rg->ix1+54773) % 259200; | |
rg->ix2=(8121*rg->ix2+28411) % 134456; | |
rg->r[j]=(rg->ix1+rg->ix2*(1.0/134456))*(1.0/259200); | |
} | |
rg->idum=1; | |
} | |
rg->ix1=(7141*rg->ix1+54773) % 259200; | |
rg->ix2=(8121*rg->ix2+28411) % 134456; | |
rg->ix3=(4561*rg->ix3+51349) % 243000; | |
j=1+((97*rg->ix3)/243000); | |
if (j>97 || j<1) | |
printf("ranf: index out of range\n"); | |
temp=rg->r[j]; | |
rg->r[j]=(rg->ix1+rg->ix2*(1.0/134456))*(1.0/259200); | |
} | |
return temp; | |
} | |
double ranf() | |
{ | |
return __ranf(&rgGlobal); | |
} | |
float __sexpo(random_gen *rg) | |
{ | |
static float q[8] = { | |
0.6931472,0.9333737,0.9888778,0.9984959,0.9998293,0.9999833,0.9999986,1.0 | |
}; | |
register long i; | |
register float a,u; | |
static float sexpo,ustar,umin; | |
static float *q1 = q; | |
a = 0.0; | |
u = __ranf(rg); | |
goto S30; | |
S20: | |
a += *q1; | |
S30: | |
u += u; | |
if(u <= 1.0) goto S20; | |
u -= 1.0; | |
if(u > *q1) goto S60; | |
sexpo = a+u; | |
return sexpo; | |
S60: | |
i = 1; | |
ustar = __ranf(rg); | |
umin = ustar; | |
S70: | |
ustar = __ranf(rg); | |
if(ustar < umin) umin = ustar; | |
i += 1; | |
if(u > *(q+i-1)) goto S70; | |
sexpo = a+umin**q1; | |
return sexpo; | |
} | |
float sexpo() | |
{ | |
return __sexpo(&rgGlobal); | |
} | |
float __genexp(random_gen *rg, float av) | |
{ | |
static float genexp; | |
genexp = __sexpo(rg)*av; | |
return genexp; | |
} | |
float genexp(float av) | |
{ | |
return __genexp(&rgGlobal,av); | |
} | |
float __snorm(random_gen *rg) | |
{ | |
static float a[32] = { | |
0.0,3.917609E-2,7.841241E-2,0.11777,0.1573107,0.1970991,0.2372021,0.2776904, | |
0.3186394,0.36013,0.4022501,0.4450965,0.4887764,0.5334097,0.5791322, | |
0.626099,0.6744898,0.7245144,0.7764218,0.8305109,0.8871466,0.9467818, | |
1.00999,1.077516,1.150349,1.229859,1.318011,1.417797,1.534121,1.67594, | |
1.862732,2.153875 | |
}; | |
static float d[31] = { | |
0.0,0.0,0.0,0.0,0.0,0.2636843,0.2425085,0.2255674,0.2116342,0.1999243, | |
0.1899108,0.1812252,0.1736014,0.1668419,0.1607967,0.1553497,0.1504094, | |
0.1459026,0.14177,0.1379632,0.1344418,0.1311722,0.128126,0.1252791, | |
0.1226109,0.1201036,0.1177417,0.1155119,0.1134023,0.1114027,0.1095039 | |
}; | |
static float t[31] = { | |
7.673828E-4,2.30687E-3,3.860618E-3,5.438454E-3,7.0507E-3,8.708396E-3, | |
1.042357E-2,1.220953E-2,1.408125E-2,1.605579E-2,1.81529E-2,2.039573E-2, | |
2.281177E-2,2.543407E-2,2.830296E-2,3.146822E-2,3.499233E-2,3.895483E-2, | |
4.345878E-2,4.864035E-2,5.468334E-2,6.184222E-2,7.047983E-2,8.113195E-2, | |
9.462444E-2,0.1123001,0.136498,0.1716886,0.2276241,0.330498,0.5847031 | |
}; | |
static float h[31] = { | |
3.920617E-2,3.932705E-2,3.951E-2,3.975703E-2,4.007093E-2,4.045533E-2, | |
4.091481E-2,4.145507E-2,4.208311E-2,4.280748E-2,4.363863E-2,4.458932E-2, | |
4.567523E-2,4.691571E-2,4.833487E-2,4.996298E-2,5.183859E-2,5.401138E-2, | |
5.654656E-2,5.95313E-2,6.308489E-2,6.737503E-2,7.264544E-2,7.926471E-2, | |
8.781922E-2,9.930398E-2,0.11556,0.1404344,0.1836142,0.2790016,0.7010474 | |
}; | |
static long i; | |
static float snorm,u,s,ustar,aa,w,y,tt; | |
u = __ranf(rg); | |
s = 0.0; | |
if(u > 0.5) s = 1.0; | |
u += (u-s); | |
u = 32.0*u; | |
i = (long) (u); | |
if(i == 32) i = 31; | |
if(i == 0) goto S100; | |
ustar = u-(float)i; | |
aa = *(a+i-1); | |
S40: | |
if(ustar <= *(t+i-1)) goto S60; | |
w = (ustar-*(t+i-1))**(h+i-1); | |
S50: | |
y = aa+w; | |
snorm = y; | |
if(s == 1.0) snorm = -y; | |
return snorm; | |
S60: | |
u = __ranf(rg); | |
w = u*(*(a+i)-aa); | |
tt = (0.5*w+aa)*w; | |
goto S80; | |
S70: | |
tt = u; | |
ustar = __ranf(rg); | |
S80: | |
if(ustar > tt) goto S50; | |
u = __ranf(rg); | |
if(ustar >= u) goto S70; | |
ustar = __ranf(rg); | |
goto S40; | |
S100: | |
i = 6; | |
aa = *(a+31); | |
goto S120; | |
S110: | |
aa += *(d+i-1); | |
i += 1; | |
S120: | |
u += u; | |
if(u < 1.0) goto S110; | |
u -= 1.0; | |
S140: | |
w = u**(d+i-1); | |
tt = (0.5*w+aa)*w; | |
goto S160; | |
S150: | |
tt = u; | |
S160: | |
ustar = __ranf(rg); | |
if(ustar > tt) goto S50; | |
u = __ranf(rg); | |
if(ustar >= u) goto S150; | |
u = __ranf(rg); | |
goto S140; | |
} | |
float snorm() | |
{ | |
return __snorm(&rgGlobal); | |
} | |
float __gennor(random_gen *rg,float av,float sd) | |
{ | |
static float gennor; | |
gennor = sd*__snorm(rg)+av; | |
return gennor; | |
} | |
float gennor(float av, float sd) | |
{ | |
return __gennor(&rgGlobal,av,sd); | |
} | |
float __genunf(random_gen *rg,float low,float high) | |
{ | |
static float genunf; | |
if(!(low > high)) goto S10; | |
fprintf(stderr,"LOW > HIGH in GENUNF: LOW %16.6E HIGH: %16.6E\n",low,high); | |
fputs("Abort",stderr); | |
exit(1); | |
S10: | |
genunf = low+(high-low)*__ranf(rg); | |
return genunf; | |
} | |
float genunf(float low, float high) | |
{ | |
return __genunf(&rgGlobal,low,high); | |
} | |
int __ignuin(random_gen *rg,int low, int high) | |
{ | |
int f=(int)(__ranf(rg)*(high-low+1)); | |
return low+f; | |
} | |
int ignuin(int low, int high) | |
{ | |
return __ignuin(&rgGlobal,low,high); | |
} | |
int signuin(int seed, int low, int high) | |
{ | |
init_gen(&rgSeed); | |
rgSeed.idum=seed; | |
return __ignuin(&rgSeed,low,high); | |
} | |
double GenRandomNum(ProbDesc *pd) | |
{ | |
double res=0; | |
if (pd->max>0) | |
switch(pd->type) | |
{ | |
case 0: | |
if (pd->min==pd->max && pd->min>0) | |
{ | |
res=pd->min; | |
break; | |
} | |
fprintf(stderr,"undefined probdesc.\n"); | |
exit(EXIT_FAILURE); | |
case 1: | |
res=genunf(pd->min,pd->max); | |
break; | |
case 3: | |
res=pd->min+genexp(pd->mean); | |
res=(((pd->max)>(res)?(res):(pd->max))); | |
break; | |
case 2: | |
res=gennor(pd->mean,pd->dev); | |
res=(((pd->min)<((((pd->max)>(res)?(res):(pd->max))))?((((pd->max)>(res)?(res):(pd->max)))):(pd->min))); | |
break; | |
default: | |
fprintf(stderr,"woops! undefined distribution.\n"); | |
exit(EXIT_FAILURE); | |
} | |
return res; | |
} | |
void MakeRandomString(char *string, int length) | |
{ | |
int i; | |
length=(((0)<(length)?(length):(0))); | |
for (i=0;i<length;i++) | |
string[i]=65+(int)(ranf()*26); | |
string[i]=0; | |
} | |
int indent_level=0; | |
int fmt_width=79; | |
int xmlfmtprintf(FILE *xfp, const char *fmt, ...) | |
{ | |
static char buf[20000], *blank=0, *lstblank=0, *start=0, *write=0; | |
static int width=0, indent=0; | |
int newindent=-1; | |
char *trail; | |
va_list ap; | |
if (!blank) | |
{ | |
write=start=lstblank=blank=buf; | |
indent=indent_level; | |
width=indent-1; | |
} | |
va_start (ap,fmt); | |
vsprintf(write, fmt, ap); | |
va_end(ap); | |
trail=write; | |
if (start==trail) indent=indent_level; | |
while(*trail) | |
{ | |
width++; | |
if (*trail=='\n') newindent=indent_level; | |
if (*trail=='\t' || *trail==' ') | |
{ | |
*trail=' '; | |
blank=trail; | |
if (width==fmt_width && lstblank!=blank) *trail='\n'; | |
} | |
if (*trail=='\n') | |
{ | |
*trail='\0'; | |
fprintf(xfp,"%*s%s\n",indent,"",start); | |
start=lstblank=blank=trail+1; | |
width=indent-1; | |
if (newindent>=0) indent=newindent; | |
if (!trail+1) blank=0; | |
} | |
if (width==fmt_width && lstblank!=blank) | |
{ | |
*blank='\0'; | |
fprintf(xfp,"%*s%s\n",indent,"",start); | |
lstblank=start=trail=++blank; | |
width=indent; | |
} | |
trail++; | |
} | |
write=trail; | |
return width; | |
} | |
FILE *xmlout=0; | |
char *outputname=0; | |
int indent_inc=0; | |
double scale_factor=1; | |
ObjDesc *stack[64]; | |
int stackdepth=0; | |
int stackatt=0; | |
int split=0; | |
int splitcnt=0; | |
int (*xmlprintf)(FILE *stream, const char *format, ...)=fprintf; | |
void OpenOutput() | |
{ | |
static int fileno=0; | |
char *newname=outputname; | |
if (!outputname) return; | |
if (xmlout!=stdout) fclose(xmlout); | |
if (split) | |
{ | |
if (fileno>99999) | |
fprintf(stderr,"Warning: More than %d files.\n",99999); | |
newname=(char*)malloc(strlen(outputname)+7); | |
sprintf(newname,"%s%0*d",outputname,5,fileno++); | |
} | |
if ((xmlout=fopen(newname,"w"))==NULL) | |
{ | |
fflush(stdout); | |
fprintf(stderr,"Can't open file %s\n",newname); | |
exit(EXIT_FAILURE); | |
} | |
if (split) free(newname); | |
} | |
int hasID(ObjDesc *od) | |
{ | |
int i; | |
for(i=0;i<5;i++) | |
{ | |
if (od->att[i].type==0) break; | |
if (od->att[i].type==1) return 1; | |
} | |
return 0; | |
} | |
int GenRef(ProbDesc *pd, int type) | |
{ | |
ObjDesc* od=objs+type; | |
static ProbDesc pdnew; | |
((void) 0); | |
((void) 0); | |
((void) 0); | |
if (pd->type!=0) | |
{ | |
pdnew.min=0; | |
pdnew.max=od->set.size-1; | |
pdnew.type=pd->type; | |
if (pd->type!=1) | |
{ | |
pdnew.mean=pd->mean*pdnew.max; | |
pdnew.dev=pd->dev*pdnew.max; | |
} | |
} | |
return (int)GenRandomNum(&pdnew); | |
} | |
void FixDist(ProbDesc *pd, double val) | |
{ | |
((void) 0); | |
pd->min=pd->max=val; | |
pd->type=0; | |
} | |
void FixReferenceSets(ObjDesc *od) | |
{ | |
int i,j,maxref=0; | |
((void) 0); | |
if (od->flag++) return; | |
for (i=0;i<od->kids;i++) | |
{ | |
ElmDesc *ed=&(od->elm[i]); | |
ObjDesc *son=&objs[ed->id]; | |
if (!son) continue; | |
if (ed->pd.min>1 && !hasID(son)) | |
{ | |
int size; | |
double local_factor=1; | |
for (j=0;j<5;j++) | |
{ | |
if (son->att[j].name[0]=='\0') break; | |
maxref=(((maxref)<(objs[son->att[j].ref].set.size)?(objs[son->att[j].ref].set.size):(maxref))); | |
} | |
if (!maxref) break; | |
local_factor=maxref/ed->pd.max; | |
size=(int)(GenRandomNum(&ed->pd)+0.5); | |
size=(int)(((1)<(size*local_factor)?(size*local_factor):(1))); | |
son->set.size+=size; | |
FixDist(&ed->pd,size); | |
} | |
FixReferenceSets(son); | |
} | |
} | |
void FixSetSize(ObjDesc *od) | |
{ | |
int i; | |
((void) 0); | |
if (od->flag++) return; | |
for (i=0;i<od->kids;i++) | |
{ | |
ObjDesc *son; | |
ElmDesc *ed=&(od->elm[i]); | |
son=&objs[ed->id]; | |
if (!son) continue; | |
if (ed->pd.min>1 && (hasID(son) || (son->type&0x04))) | |
{ | |
int size=(int)(GenRandomNum(&ed->pd)+0.5); | |
size=(int)(((1)<(size*scale_factor)?(size*scale_factor):(1))); | |
son->set.size+=size; | |
FixDist(&ed->pd,size); | |
} | |
FixSetSize(son); | |
} | |
} | |
void FixSetByEdge(char *father_name, char *son_name, int size) | |
{ | |
int nobj=NumberOfObjs(); | |
int i,j,fixed=0; | |
for (i=0;i<nobj;i++) | |
{ | |
if (!strcmp(father_name,objs[i].name)) | |
{ | |
ObjDesc *od=objs+i; | |
for (j=0;j<od->kids;j++) | |
{ | |
ElmDesc *ed=&(od->elm[j]); | |
ObjDesc *son=objs+ed->id; | |
if (!strcmp(son_name,son->name)) | |
{ | |
FixDist(&ed->pd,size); | |
fixed=1; | |
} | |
} | |
} | |
} | |
((void) 0); | |
} | |
void ClearFlags() | |
{ | |
int i; | |
int nobj=NumberOfObjs(); | |
for(i=0;i<nobj;i++) | |
objs[i].flag=0; | |
} | |
void OpeningTag(ObjDesc *od) | |
{ | |
static char cdata[1024]="yes"; | |
int i; | |
AttDesc *att=0; | |
((void) 0); | |
((void) 0); | |
stack[stackdepth++]=od; | |
xmlprintf(xmlout,"<%s",od->name); | |
for (i=0;i<5;i++) | |
{ | |
char *attname; | |
att=&od->att[i]; | |
if (att->name[0]=='\0') break; | |
if (att->name[0]=='\1') attname=objs[att->ref].name; | |
else attname=att->name; | |
switch(att->type) | |
{ | |
case 1: | |
xmlprintf(xmlout," %s=\"%s%d\"", | |
attname,od->name,od->set.id++); | |
break; | |
case 2: | |
{ | |
int ref=0; | |
if (!IdRefHook || !IdRefHook(od,att->ref,&ref)) | |
ref=GenRef(&att->pd,att->ref); | |
xmlprintf(xmlout," %s=\"%s%d\"", | |
attname,objs[att->ref].name,ref); | |
} | |
break; | |
case 3: | |
if (genunf(0,1)<att->prcnt) | |
{ | |
GenAttCDATA(od,attname,cdata); | |
xmlprintf(xmlout," %s=\"%s\"",attname,cdata); | |
} | |
break; | |
default: | |
fflush(xmlout); | |
fprintf(stderr,"unknown ATT type %s\n",attname); | |
exit(EXIT_FAILURE); | |
} | |
} | |
if (!(od->elm[0].id!=0) && (od->att[0].name[0])) xmlprintf(xmlout,"/>\n"); | |
else | |
{ | |
xmlprintf(xmlout,">"); | |
if ((od->elm[0].id!=0) || od->type&0x01) xmlprintf(xmlout,"\n"); | |
} | |
} | |
void ClosingTag(ObjDesc *od) | |
{ | |
((void) 0); | |
stackdepth--; | |
if (od->type&0x01) xmlprintf(xmlout,"\n"); | |
if ((od->att[0].name[0]) && !(od->elm[0].id!=0)) return; | |
xmlprintf(xmlout,"</%s>\n",od->name); | |
} | |
void SplitDoc() | |
{ | |
int i; | |
int oldstackdepth=stackdepth; | |
for (i=oldstackdepth-1; i>=0; i--) | |
{ | |
indent_level-=indent_inc; | |
ClosingTag(stack[i]); | |
} | |
OpenOutput(); | |
for (i=0; i<oldstackdepth; i++) | |
{ | |
OpeningTag(stack[i]); | |
indent_level+=indent_inc; | |
} | |
splitcnt=0; | |
} | |
void GenSubtree(ObjDesc *od) | |
{ | |
static int splitnow=0; | |
int i=0; | |
ElmDesc *ed; | |
((void) 0); | |
if (od->type&0x10) return; | |
if (splitnow) | |
{ | |
SplitDoc(); | |
splitnow=0; | |
} | |
OpeningTag(od); | |
indent_level+=indent_inc; | |
od->flag++; | |
if (GenContents(od) && (od->elm[0].id!=0)) xmlprintf(xmlout,"\n"); | |
if (od->type&0x02) | |
{ | |
double sum=0,alt=genunf(0,1); | |
i=0; | |
if (od->flag>2-1) | |
while (i<od->kids-1 && od->elm[i].rec) i++; | |
else | |
while (i<od->kids-1 && (sum+=od->elm[i].pd.mean)<alt) i++; | |
GenSubtree(objs+od->elm[i].id); | |
} | |
else | |
for (i=0;i<od->kids;i++) | |
{ | |
int num; | |
ed=&od->elm[i]; | |
num=(int)(GenRandomNum(&ed->pd)+0.5); | |
while(num--) | |
GenSubtree(objs+ed->id); | |
} | |
indent_level-=indent_inc; | |
ClosingTag(od); | |
if (split && (od->type&0x20 || (od->type&0x40 && splitcnt++>split))) | |
splitnow=1; | |
od->flag--; | |
((void) 0); | |
} | |
void Preamble(int type) | |
{ | |
switch(type) | |
{ | |
case 1: | |
xmlprintf(xmlout,"<?xml version=\"1.0\" standalone=\"yes\"?>\n"); | |
break; | |
case 2: | |
xmlprintf(xmlout,"<?xml version=\"1.0\"?>\n<!DOCTYPE %s SYSTEM \"%s\">\n", | |
objs[1].name,dtd_name); | |
break; | |
case 3: | |
xmlprintf(stderr,"Not yet implemented.\n"); | |
exit(EXIT_FAILURE); | |
} | |
} | |
void Version() | |
{ | |
fprintf(stderr,"This is xmlgen, version %s.%s\n%s\n","0","92","by Florian Waas (flw@mx4.org)"); | |
} | |
void Usage(char *progname) | |
{ | |
Version(); | |
fprintf(stderr, "Usage: %s [ %ch ] [ %cditve ] [ %cf <factor> ] [ %co <file> ] [ %cs <cnt> ]\n",progname,dash,dash,dash,dash,dash); | |
exit(EXIT_FAILURE); | |
} | |
void AlignObjs(void) | |
{ | |
int i=0,j; | |
ObjDesc * newobjs; | |
int nobj=NumberOfObjs(); | |
newobjs=(ObjDesc*)malloc(sizeof(ObjDesc)*nobj); | |
memset(newobjs,0,sizeof(ObjDesc)*nobj); | |
for (i=0;i<nobj;i++) | |
memcpy(&newobjs[objs[i].id], &objs[i],sizeof(ObjDesc)); | |
memcpy(objs,newobjs,sizeof(ObjDesc)*nobj); | |
free(newobjs); | |
for (i=0;i<nobj;i++) | |
for (j=0;j<20;j++) | |
if (objs[i].elm[j].id!=0) objs[i].kids++; | |
} | |
int FindRec(ObjDesc *od, ObjDesc *search) | |
{ | |
int i,r=0; | |
if (od==search) r=1; | |
else | |
{ | |
if(!od->flag) | |
{ | |
od->flag=1; | |
for (i=0;i<od->kids;i++) | |
r+=FindRec(objs+od->elm[i].id,search); | |
} | |
} | |
od->flag=0; | |
return r; | |
} | |
void CheckRecursion() | |
{ | |
int i,j; | |
int nobj=NumberOfObjs(); | |
ObjDesc *root; | |
for (i=1;i<nobj;i++) | |
{ | |
root=objs+i; | |
if (!(root->type&0x02)) continue; | |
for (j=0;j<root->kids;j++) | |
root->elm[j].rec=FindRec(&objs[root->elm[j].id],root); | |
} | |
} | |
void printdtd() | |
{ | |
int i; | |
for (i=0;i<dtd_len;i++) | |
fprintf(xmlout,dtd[i]); | |
} | |
int main(int argc, char **argv) | |
{ | |
int opt,stop=0,timing=0,dumpdtd=0; | |
extern char *pmoptarg; | |
int document_type=1; | |
ObjDesc *root; | |
if (argc==1) Usage(argv[0]); | |
xmlout=stdout; | |
while((opt=pmgetopt(argc,argv, | |
"edf:o:ihvs:tw:" | |
))!=-1) | |
{ | |
switch(opt) | |
{ | |
case 'e': | |
dumpdtd=1; | |
break; | |
case 'f': | |
scale_factor=atof(pmoptarg); | |
if (correction) | |
scale_factor=correction(scale_factor); | |
break; | |
case 'o': | |
outputname=(char*)malloc(strlen(pmoptarg)+1); | |
strcpy(outputname,pmoptarg); | |
break; | |
case 's': | |
split=atoi(pmoptarg); | |
break; | |
case 'd': | |
document_type=2; | |
break; | |
case 'i': | |
indent_inc=2; | |
xmlprintf=xmlfmtprintf; | |
break; | |
case 'v': | |
Version(); | |
stop=1; | |
break; | |
case 't': | |
timing=1; | |
break; | |
case 'w': | |
fmt_width=atoi(pmoptarg); | |
break; | |
default: | |
Usage(argv[0]); | |
} | |
} | |
if (stop) exit(EXIT_SUCCESS); | |
if (timing) timediff(); | |
OpenOutput(); | |
if (dumpdtd) | |
{ | |
printdtd(); | |
goto wrapup; | |
} | |
AlignObjs(); | |
root=objs+1; | |
FixSetSize(root); | |
ClearFlags(); | |
FixReferenceSets(root); | |
ClearFlags(); | |
CheckRecursion(); | |
ClearFlags(); | |
if (InitHook) InitHook(); | |
Preamble(document_type); | |
GenSubtree(root); | |
wrapup: | |
fclose(xmlout); | |
if (timing) | |
fprintf(stderr,"Elapsed time: %.3f sec\n",timediff()/1E6); | |
return 0; | |
} | |
char *pmoptarg; | |
int pmoptind; | |
char dash='-'; | |
int pmgetopt(int argc, char * const argv[], const char *optstring) | |
{ | |
static int next=1,pp=0; | |
int i=0,found=0,len=0; | |
char *option,*tr; | |
pmoptind=next; | |
pmoptarg=0; | |
if (next==argc || ( !pp && (argv[next][0])!=dash)) return -1; | |
option=&argv[next++][pp+1]; | |
while(optstring+len && optstring[len]!='\0') len++; | |
while(i<len && !(found=(optstring[i]==*option))) i++; | |
if (!found) { pp=0; return '?'; } | |
tr=option+1; | |
if (optstring[i+1]==':') | |
{ | |
if (*tr) pmoptarg=tr; | |
else | |
if (next<argc && argv[next][0]!=dash) | |
pmoptarg=&argv[next++][0]; | |
else { pp=0; return '?'; } | |
} | |
else if (*tr) { pp++; next--; } | |
return (int)*option; | |
} | |
unsigned long timediff(void) | |
{ | |
static struct timeval last; | |
struct timeval time; | |
unsigned long diff; | |
gettimeofday(&time,0); | |
diff=(time.tv_sec-last.tv_sec )*1000000L+(time.tv_usec-last.tv_usec); | |
last.tv_sec=time.tv_sec; | |
last.tv_usec=time.tv_usec; | |
return diff; | |
} | |
struct idrepro | |
{ | |
int cur, out, brosout; | |
int max, brosmax; | |
int dir, mydir; | |
int current; | |
random_gen rk; | |
}; | |
void InitReproPair(struct idrepro *, struct idrepro *,int , int ); | |
int GenItemIdRef(struct idrepro *, int *); | |
int firstnames_len=10000; | |
char *firstnames[10000]={ | |
"Frederique","Shigeichiro","Xinan","Takahira","Rildo","IEEE","Weiru", | |
"Nitsan","Taiji","Takahiro","Zsolt","Xiaoheng","Toney","Tru","Nishit", | |
"Gudjon","Satoru","Mohd","Golgen","Nidapan","Lidong","Serap", | |
"Domenick","Woody","Ebbe","Tse","Domenico","Zeydy","Hidde","Fumiko", | |
"Sajjad","Satosi","Hitofumi","Sibyl","Mechthild","Pramod","Eishiro", | |
"Demin","Sajjan","Jinpo","Kazuyasu","Lijia","Branimir","Lijie","Moie", | |
"Yoshimitsu","Tsz","Berhard","Clyde","Shakhar","Moriyoshi","Khedija", | |
"Valdiodio","Xuejia","Guozhong","Gian","Giao","Sailaja","Giap", | |
"Takahito","Dmitri","Licheng","Hideo","Faiza","Masamitsu","Oguz", | |
"Souichi","Fai","Raimond","Dmitry","Candida","Fan","Elliott","Shugo", | |
"Hatem","Tua","Odysseas","Fay","Danae","Angel","Ferdinand","Candido", | |
"Lunjin","Mingsen","Danai","Vugranam","Sushant","Tonia","Shuho", | |
"Jolita","Zine","Jeanna","Franziska","Dhritiman","Jeanne","Mingdong", | |
"Jianhao","Shigeaki","Fumino","Piyawadee","Hein","Zejun","Eben", | |
"Tesuro","Theirry","Ingmar","Otmar","Siamak","Tommaso","Makato", | |
"Rosalie","Genki","Tokuyasu","Bowen","Weiwu","Khosrow","Guadalupe", | |
"Shigenori","Yoshinari","Jaana","Wanqing","Danco","Neelam","Shuji", | |
"Kwan","Lakshmi","Khoa","Trygve","Zhenhua","Yongqiao","Filipe", | |
"Rasiah","Heather","Kokou","Jenwei","Yongmao","Aamer","Radoslaw", | |
"Shridhar","Filipp","Taegyun","Morrie","Elrique","Chiranjit","Weiye", | |
"Kamakshi","Mona","Etsuo","Serge","Weiyi","Fei","Sergi","Amabile", | |
"Morris","Mong","Fen","Moni","Suvo","Aiichiro","Gererd","Jasminko", | |
"Hatim","Iara","Unal","Yunming","Shuky","Udaiprakash","Gadiel","Gift", | |
"Reuven","Ramya","Danel","Zhigen","Yakichi","Arfst","Soenke","Karlis", | |
"Kerhong","Ishfaq","Demos","Suebskul","Mooi","LiMin","Miomir", | |
"Kendra","Guttorm","Moon","Zdislav","Brewster","Tze","Subhankar", | |
"Lansing","Nagui","Guoxiang","Basant","Pantung","Arunachalam", | |
"Froduald","Nobuyoshi","Tzu","Bernardo","Barna","Serif","Kensei", | |
"Diederik","Ramzi","Murthy","Remco","Chandrasekaran","Wilmer","Heng", | |
"Brigham","Henk","Yechezkel","Lobel","Zorica","Jeong","Ulises", | |
"Jinxi","Kwee","Yannik","Tonny","Navid","Shushma","Yannis","Juyoung", | |
"Premsyl","Zita","Terresa","Menkae","Navin","Xiaocheng","Ashish", | |
"Jinya","Zito","Heon","Insup","Abdelkader","Dipankar","Shahab", | |
"Sakthirel","Gladys","Kauko","Shahaf","Rayond","Premal","Elzbieta", | |
"Kellie","Jungsoon","Nikolaos","Mori","Sasan","Shahar","Thanasis", | |
"Gaetan","Tesuya","Arnould","Limsoon","Sadok","Evgueni","Atreye", | |
"Subhada","Takanari","Atreyi","Danil","Gretta","Claude","Roddy", | |
"Claudi","Shooichi","Mabry","Vojin","Amalendu","Yaghout","Ziva", | |
"Khue","Roded","Vidar","Hisao","Tianruo","DAIDA","Moss","Khun", | |
"Caolyn","Shietung","Naftali","Tadanori","Szabolcs","Garnet","Fusako", | |
"Zhanqiu","Jahangir","Vitali","Peternela","Hairong","Sreenivas", | |
"Jacopo","Gila","Hongzhu","Moti","Naftaly","Poornachandra","Herb", | |
"Tran","Pintsang","Moto","Laurentiu","Gill","Cathie","Vitaly", | |
"Sahrah","Otilia","Jingling","Remmert","Moty","Hilari","Reinhold", | |
"Barry","Katsuyuki","Valeska","Shigehiro","Brendon","Adamantios", | |
"Genta","Phillip","Saddek","Karoline","Ipke","Tadahiko", | |
"Sivanarayana","Kaijung","Hilary","Mohammad","Yongmin","Weicheng", | |
"JiYoung","Mayuko","Lokesh","Shrikanth","Conal","Mabo","Xuejun", | |
"Youngkon","Radhia","Janalee","Gina","Ziya","Fumiya","Ohad","Vesna", | |
"Jongsuk","Felicidad","Sungwon","Gino","Fumiyo","Saniya","Mack", | |
"Mansur","Teruyuki","Aruna","Ingemar","Shigehito","Abdulah","Goetz", | |
"Yinghua","Abdelwaheb","Aamod","Sachar","Falguni","Ayonca","Ymte", | |
"Becky","Arvind","Kiyokazu","Barun","Mayumi","Kousuke","Garnik", | |
"Shimshon","Yucai","Taizo","Geoffry","Baziley","Ioana","Shaunak", | |
"Sverrir","Sugwoo","Mads","Nikolaus","Danny","Teunis","Ranan","Dannz", | |
"Remko","Guther","Yuqun","Sanjeeva","Fox","Anyuan","Susuma","Xuedong", | |
"Sadun","Heping","Pranjal","Heejo","Xiaoqiang","Paris","Ebru", | |
"Sampalli","Heeju","Sashi","Mohammed","Radhakrishnan","Susumu", | |
"Hsiangchu","Marsal","Taisook","Sudhanshu","Youjian","Bartek", | |
"Shahid","Mandell","Boutros","Eirik","Rance","Sariel","Kerryn", | |
"Harngdar","Giri","Leaf","Gianluca","Wayne","Parke","Harjit","Leah", | |
"Mariusz","Alois","Jordanka","Udi","Lucian","Chikako","Howell", | |
"Geraldo","Angus","Djenana","Kasidit","Udo","Sachem","Bader", | |
"Masasuke","Siddarth","Kwok","Randi","Magy","Conrado","Kagan", | |
"Yakkov","Yinlin","Maha","Rafols","Anoosh","Prodip","Mizuhito", | |
"Randy","Houman","Pascal","Pohua","Kwangyoen","Debaprosad","Yucel", | |
"Chiradeep","Pasqua","Zengping","Sedat","Ziyad","Rutger","Holgard", | |
"Tadahiro","Qingxiang","Aloke","Gita","Hailing","Aksel","Boguslaw", | |
"Pranas","Leucio","Piyush","Pranav","Jiakeng","Pragnesh","Maia", | |
"Pranay","Mayuri","Rosalyn","Lech","Katsuo","Goncalo","Maik", | |
"Somnath","Yongdong","Jouko","Chaosheng","Abdelaziz","Jianwen", | |
"Shuzo","Alejandra","Maja","Lalit","Dante","Alejandro","Hidekazu", | |
"Hirochika","Juichirou","Ugo","Ranga","Margareta","Alenka","Gunilla", | |
"Oldrich","Sven","Fun","Selwyn","Tomokazu","Dayanand","Shuichi", | |
"Honesty","Make","Teiji","Yuguang","Leen","Lucien","Steen","Jagoda", | |
"Zhiguo","Niteen","Adhemar","Mahmut","Joydip","Nadjib","Sachin", | |
"Sachio","Tamiya","Jianhua","Along","Aral","Aram","Aran","Lihong", | |
"Suzette","Jianhui","Jamaludin","Xinyu","Sukumar","Jouni","Lenore", | |
"Doohun","Kenroku","Divier","Poorav","Ravishankar","Sanjai","Khatoun", | |
"Zijian","Malu","Ottavia","Marsha","Kolar","Youpyo","Sanjay", | |
"Avishai","Honglan","Kristian","Cristinel","Kiam","Feiyu","Inderjeet", | |
"Hongzue","Hideyuki","Nathalie","Arch","Kwun","Xinglin","Hinrich", | |
"Arco","Chikara","Boriana","Kristen","Radhika","Tomoyuki","Mana", | |
"Tsuneo","Krister","Chenxi","Sreekrishna","Eberhardt","Mang","Mani", | |
"Nectarios","Abdulla","Paloma","Luerbio","Isaac","Manu","Subhash", | |
"Genevieve","Baoqiu","Marsja","Ortrud","Kwangsub","Bezalel","Chenye", | |
"Fuqing","Kellyn","Leif","Jessie","Ortrun","Chenyi","Ulf","Minghong", | |
"Uli","Amstein","Troy","Lein","Stein","Ibibia","Tetsurou","Weidon", | |
"Shunichi","Yuuichi","Petter","Ult","Aluzio","Stepehn","Koldo", | |
"Shigeo","Jackson","Uma","Shigeu","Eckart","Muneo","Valeri", | |
"Zhenbing","Mohamadou","Djelloul","Tzvetan","Hatsukazu","Kayoko", | |
"Parto","Barton","Srinidhi","Dekang","Conor","Duangkaew","Quingbo", | |
"Shaleah","Valery","Foong","Jeane","Achilleas","Fayez","Neven", | |
"Valter","Yishai","Cordelia","Kensyu","Nahid","Martial","Kien","Ung", | |
"Manibrata","Zhensheng","Toshimitsu","Uno","Yishay","Godehard","Duke", | |
"Heekeun","DeForest","Oscal","Xiaoshan","Jayson","Shounak","Arlette", | |
"Hyuckchul","Oscar","Vatsa","Kristin","Jaber","Mara","Marc", | |
"Venkatesan","Dzung","Mari","Mark","Hiroyasu","Marl","Christoper", | |
"Yuchang","Mart","Rosella","Niranjan","Mary","Wojceich","Susanna", | |
"Zongyan","Junsik","Susanne","Theron","Bangqing","Nirmal","Yefim", | |
"Uinam","Shmuel","Aria","Aleksandar","Keiichiro","Waiman","Arie", | |
"Arif","Yonghoan","Beshir","Berna","Remzi","Doowon","Bernd", | |
"Kazuhide","Freyja","Koichi","Vishwani","Berni","Lena","Nahla","Aris", | |
"Shichao","Lene","Wuxu","Masoud","Paddy","Leni","Khaled","Rosine", | |
"Munir","Bernt","Mohan","Rafael","Jiong","Matk","Badri","Dipayan", | |
"Niclas","Spyrose","Ronghao","Gully","Mats","Dung","Matt","Vishu", | |
"Rosli","Vishv","Nechama","True","Chuanti","Owen","Geoff","Sanjit", | |
"Shaibal","Wonhee","Kitty","Sanjiv","Janche","Divine","Tsutomu", | |
"Nevin","Christophe","Basem","Nevio","Haldon","Odoardo","Martien", | |
"Uri","Sarita","Sigeru","Leon","Chinho","Gonzalo","Urs","Visit", | |
"Emran","Gopalakrishnan","Oddvar","Macha","Elgin","Saeed", | |
"Ramachenga","Sudharsan","Masanao","Satyanarayana","Hyuncheol", | |
"Edwin","Gritta","Masadi","Denis","Weijing","Percy","Mrinalini", | |
"Slavian","Changho","Deniz","Nakhoon","Hitomi","Boalin","Uta", | |
"Mokhtar","Ute","Constantijn","Aloys","Debatosh","Vidya","Aleksander", | |
"Serenella","Gad","JoAnna","Mitchel","JoAnne","Kristof","Gal","Ennio", | |
"Utz","Gao","Moheb","Luigi","Erzsebet","Younwoo","Anestis","Gay", | |
"Khalid","Rafail","Keung","Mantis","Olivera","Berry","Khalil","Arnd", | |
"Florian","Vivian","Arne","Duri","Christfried","Alagu","Mariangiola", | |
"Duro","Susanta","Arno","Shawna","Jixiang","Basil","Basim","Maya", | |
"Chaoyi","Kshitij","Qunsheng","Frazer","Anneke","Gaurav","Odinaldo", | |
"Chuanyi","Kristina","Kazunori","Rajmohan","Kristine","Yurii","Aron", | |
"Baocai","Yurij","King","Kinh","Torsten","Vincent","Kristinn", | |
"Rosita","Berto","Shai","Uwe","Martijn","Sham","Jacqueline","Shan", | |
"Bogdan","Shao","Hidefumi","Yuriy","Nigel","Werner","Anneli","Miquel", | |
"Alain","Shaw","Alair","Shay","Shaz","Feixiong","Francoise", | |
"Subhrajyoti","Reinhard","Constantine","Herbert","Tomofumi","Sanjoy", | |
"Isamu","Phule","Haldun","Xiaobin","Kazuhiko","Constantino","Temple", | |
"Huican","Fabrizio","Mostafa","Sastry","Pradeep","KayLiang","Jaques", | |
"Gen","Denny","Krassimir","Ger","Mahendra","Huiqun","Steve", | |
"Charmane","Dinkar","Akeel","Saeko","Utpal","Stevo","Padma","Arra", | |
"Mohit","Volkmar","Salvador","Zhaofang","Sorina","Rimli","Billie", | |
"Zeljko","Seongbae","Seshu","Yagil","Uzi","Supot","Nahum","Yuichiro", | |
"Hercules","Tayeb","Mingzeng","Masaki","Armond","Hauke","Jaroslava", | |
"Ekawit","Martina","Masako","Nalini","Martine","Phuoc","Toong", | |
"Nimmagadda","Kirk","Leszek","Nathan","Shaowei","Syozo","Kiyotoshi", | |
"Manton","Arunas","Shem","Shen","Shaowen","Martins","Kannan", | |
"Guenter","Babette","Abdelghani","Josyula","Uriel","Krisda","Masali", | |
"Huai","Lubomir","Huan","Arto","Youssef","Chanjung","Marco","Kish", | |
"Perla","Girolamo","Ronnie","Xianlong","Augustine","Bikash","Adam", | |
"Xiping","Adas","Patricia","Renee","Masami","Snehasis","Gil", | |
"Izaskun","Indrajit","Gio","Arun","Arvin","Carrsten","Arup", | |
"Patricio","Rimon","Giordano","Xumin","Sumali","Roselyn","Annemarie", | |
"Jiafu","Chinhyun","Eldridge","Stamatina","Stabislas","Jovan", | |
"Christoph","Yonghong","Behnaam","Arve","Bernice","Georg","Marek", | |
"Maren","Mountaz","Kiyomitsu","Irena","Munenori","Irene","Cullen", | |
"Apostol","Mihalis","Xiong","Kazuhira","Itzchak","Zhilian","Anwar", | |
"Almudena","Charlene","Shih","Kazuhiro","Xudong","Shim","Prasadram", | |
"Shin","Shir","Sumant","Alexius","Tooru","Peer","Shiv","Jaewon", | |
"Jaewoo","George","Xiaopeng","Sangeeta","Bedir","Shalesh","Georgi", | |
"Huei","Surveyors'","Kersti","Kazuhisa","Munehiko","Eran","Margo", | |
"Mamdouh","Elvia","Georgy","Adel","Aemilian","Ramalingam","Kwangho", | |
"Elvis","Luisa","Ewing","Subbu","Mototsugu","Guiseppe","Luise", | |
"Przemyslawa","Ayakannu","Byong","Miyeon","Parviz","Naraig","Oksana", | |
"Aiman","Alper","Kazuhito","Akemi","Gregory","Kamran","Alselm", | |
"Toshiki","Narain","Fatemeh","Cedric","Xiadong","Noritoshi","Toshiko", | |
"Maria","Sadegh","Marie","Hugh","Thodoros","Tsvetan","Michaela", | |
"Yolla","Gilbert","Hugo","Shirish","Kyoichi","Marin","Mario","Idoia", | |
"Masaru","Maris","Samphel","Marit","Cheong","Florina","Seongbin", | |
"Baruch","Val","Akeno","Greger","Bokyung","Dinah","Van","Goa", | |
"Kwangjo","Bluma","Karsten","Goh","Manohar","Jaihie","Perry","Hausi", | |
"Horward","Goo","Chinya","Marjo","Gor","Tiina","Gou","Yifei","Feipei", | |
"Monique","Lillian","Persi","Toshimori","Toshimi","Stella","Toshimo", | |
"Fumitaka","Magdalena","Kasturi","Marke","Fumitake","Alassane", | |
"Masato","Rasikan","Hironobu","Adib","Marko","Ghassan","Hironoby", | |
"Berthier","Tristan","Breannda","Bilhanan","Chrisa","Zhongwei", | |
"Sandeepan","Xiahua","Vasilii","Adil","Erez","Adin","Chirstian", | |
"Douadi","Boaz","Adit","Muzhong","Vasilis","Marla","Zvonko","Vasiliy", | |
"Mircea","Chriss","Christ","Jiang","Kotesh","Kenton","Aimee", | |
"Flemming","Mohua","Yuping","Marlo","Jiann","Deborah","Palash", | |
"Gurbir","Geoffrey","Mikhail","Lorien","Kankanahalli","Leandro", | |
"Willard","Mabhin","Junichi","Paraskevi","Larisa","Halsur","Emdad", | |
"Yahiko","Stafford","Chaitali","Xiaoqiu","Gro","Bingning","Jayesh", | |
"Tremaine","Tetsushi","Billur","Yechiam","Renny","Zhonghua","Bojan", | |
"Akhilish","Mitsuyuki","Takushi","Qiwen","Zissis","Dharmaraja", | |
"Zhonghui","Dietrich","Dines","Munehiro","Turgut","Bodh","Zhiwei", | |
"Guangming","Gennadi","Arumugam","Panayotis","Tuval","Bodo", | |
"Collette","Richara","Francesca","Bouchung","Richard","Bedrich", | |
"Atilio","Dulce","Jaideep","Gennady","Eric","Adly","Subir", | |
"Francesco","Luiza","Plamen","Shengrui","Satoshi","Erik","Pijush", | |
"Erin","Staphane","Yaoqing","Sophocles","Ghassem","Jimena","Wiebren", | |
"Maros","Heungsoon","Shri","Peng","Graham","Marten","Bharadwaj", | |
"Masaya","Ruslan","Hagen","Toshiro","Qingyuam","Swee","Guenther", | |
"Mandayam","Hung","Patiwat","Mandayan","Gui","Gul","Mallika", | |
"Shashin","Junas","Swen","Gun","Loren","Masayo","Prathima","Guo", | |
"Gur","Peder","Gus","Petrisor","Nivio","Birol","Aimin","Guy","Daoud", | |
"Zhihui","Savita","Biplav","Kevan","Asad","Asaf","Junbo","Taizan", | |
"Dongping","Marshall","Asao","Catalina","Youngsong","Asat","Emden", | |
"Vic","Youcef","Prithwish","Sterling","Surajan","Motokazu","Henrik", | |
"Takao","Gholamali","Toyohide","Hilding","Vir","Giangiacomo","Sadeph", | |
"Achour","Vit","Rense","Viv","Sankar","Weining","Ljiljana","Tunhow", | |
"Martha","Behrokh","Shue","Jungyun","Heekuck","Shui","Shun","Shuo", | |
"Naiem","Saeeiab","Ernie","Debanjan","Fopke","Krista","Gioia", | |
"Wlodek","Mercedes","Meltem","Kristi","Jianxiu","Yongguang","Elham", | |
"Sanzheng","Sophoclis","Evanthia","Zhong","Bagirath","Kristo","Pere", | |
"Shukichi","Pramode","Martii","Changpeng","Peri","Hichem","Martin", | |
"Montse","Kristy","Heuey","Theodoulos","Gregor","Andreas","Marta", | |
"Damodar","Hagit","Francesc","Marti","Boleslaw","Lorin","Devanand", | |
"Claudine","Hongsing","Franceso","Emanuela","Gyu","Renuka","Emanuele", | |
"Hansjurgen","Brenton","Adri","Marty","Icel","Madan","Sridhar", | |
"Motoyuki","Azriel","Keven","Azuma","Hirohide","Iabelle","Jagdish", | |
"Michinori","Erol","Birte","Nimrod","Soumen","Jacco","Peta","Xioalin", | |
"Ajith","Eswaran","Pete","Farshad","Armand","Manual","Okuhiko", | |
"Loring","Joonoo","Shriram","Takeo","Jarrellann","Frantisek","Viera", | |
"Fazel","Petr","Peeter","Guillermo","Shelley","Whay","Komei","Waldo", | |
"Sanket","Lesley","Yuliang","Galina","Yookun","Toshiya","Dietmar", | |
"Minder","Kalvis","Adelinde","Apostolos","Behrooz","Youseek","Enoch", | |
"Serban","Spephan","Junho","Tadaaki","Assaf","Jacek","Yoad", | |
"Goffredo","Rinat","Subra","Assar","Bonggi","Shambhu","Adarsh","Yoav", | |
"Katarina","Von","Alban","Jocelyne","Asha","Niranjani","Oktay", | |
"Kaladhar","Besma","Dinos","Qiping","Bong","Abdelouahab","Stamos", | |
"Johan","Meral","Yerucham","Moreno","Jnan","Geard","Haibin","Lizya", | |
"Merav","Rajani","Erry","Anamaria","Lorna","Kevin","Konstantin", | |
"Pirjo","Junji","Lorne","Xiaoqun","Asif","Rangachari","Olavi", | |
"Suphachai","Edith","Ryosei","Toyohiko","Zakarriae","Vagan","Asim", | |
"Alston","Renzo","Seema","Boon","Asis","Svetozara","Asit","Tsong", | |
"Xiang","Alfried","Manuel","Ramsey","Zoran","Makram","Takio","Leslie", | |
"Pierrette","Timothy","Surajit","Donglai","Takis","Cosmin","Merce", | |
"Junko","Luai","Irfan","Algimantas","Luan","Giopi","Tsun","Naima", | |
"Sushil","Madge","Mikael","Katalin","Priscilla","Atanas","Luba", | |
"Walid","Vicente","Evangelos","Hironori","Vitit","Aske","Wenguang", | |
"Pierangela","Assef","Tsvi","Sashidhar","Vlad","Youran","Iwaro", | |
"Boyan","Arlene","Rajshekhar","Asser","Pierangelo","Bongki","Fredj", | |
"Saumya","Fredo","Teck","Warwich","Claudius","Ramanathan","Xiaoyong", | |
"Fatimah","Mitsushi","Parimal","Nihal","Warwick","Rodion","Hudai", | |
"Satya","Luca","Athushi","Kyujin","Nihar","Madhu","Fredy","Avraham", | |
"Sungjoo","Tetsuo","Giora","Holly","Heung","Hirohiko","Glauco", | |
"Lefteris","Ulric","Lilin","Tatsurou","Tedd","Raimondas","Harwood", | |
"Gennaro","Lucy","Ulrik","Fazli","Zamir","Chandrasekhar","Prince", | |
"Hae","Morten","Mingjian","Vittoria","Lorri","Boyce","Hai","Kimaya", | |
"Chengdian","Yoga","Haj","Dentcho","Hal","Graciela","Han","Hao", | |
"Ludo","Pedro","Edda","Athomas","Ernst","Ceriel","Michihiro", | |
"Vittorio","Esteban","Farshid","Remigijus","Jadwiga","Eddi", | |
"Tsunenori","Sigfus","Jacky","Vuk","LuoQuan","Heeseok","Raouf", | |
"Moiez","Guihai","Sissel","Eddy","Oivind","Yingjia","Irah","Raoul", | |
"Iraj","Waseem","Kishan","Genshiro","Frieder","Bienvenido","Martti", | |
"Wally","Edel","Vaclav","Chandana","Sjaak","Ljupco","Dannie", | |
"Toshimasa","Tsunehiko","Deekap","Assia","Rinie","Tobias","Jianxun", | |
"Asok","Aenne","Mojgan","Analia","ICT","Branka","Hanspeter", | |
"Sukyoung","Ammar","Lilly","Gerhard","Siau","Juregn","Gabor","Babu", | |
"Wieslaw","Aspi","Maguelonne","Siba","Stefaan","Merik","Yoji", | |
"Ramayya","Tmima","Chrisila","Toyohisa","Chumki","Jiangling", | |
"Kyungcheol","Jacob","Yasubumi","Vitor","Merja","Hee","Ljubomir", | |
"Melissa","Junro","Vicenzo","Watani","Shianyow","Bozena","Yanxiang", | |
"Ermanno","Yoko","Conrad","Quingming","Micah","Henryk","Masakiyo", | |
"Detlef","Teik","Motofumi","Tein","Luia","Abdelillah","Subodh", | |
"Winfried","Detlev","JooFung","Irek","Yahia","Wenchang","Masao", | |
"Sidd","Luis","Renger","Edie","Indradeep","Masat","Sidi","Sethu", | |
"Bodonirina","Merlin","Muruganandan","Luiz","Edil","Shiwei", | |
"Xianjing","Edin","Iveta","Tejo","Chisato","Eskinder","Merle","Boyd", | |
"Appie","Qianhong","Moonwook","Driss","Ammei","Terilyn","Chongjiang", | |
"Changsik","Yoonsuck","Mirjana","Hichul","Hichum","Martyn","Linhui", | |
"LeAnn","Seongyeol","Dileep","Akiyoshi","Hirohisa","Sieu","Umeshwar", | |
"Luke","Rosanna","Dylan","Ingar","Fulong","Yong","Siegmar","Yoni", | |
"Daeweon","Rongdong","Jared","Eugenia","Jarek","Shigeyyoshi", | |
"Radomir","Lowell","Gururaj","Bennet","Eitan","Eugenio","Khurshid", | |
"Giansalvatore","Yanling","Clifton","Jakaob","Hirohito","Harlan", | |
"Boyko","Rajaraman","Upen","Hiu","Lulu","Yoon","Johny","Wataru", | |
"Jiazhen","Francisca","Takuo","Sheila","Tsunehiro","Mitsugu", | |
"Eckehard","Angelos","Francisco","Inderjit","Amihood","Anind", | |
"Zubair","Nobuyasu","Iris","Yeshayahu","Irit","Deepali","Lijing", | |
"Evangeline","Baik","Sooyong","Sosuke","Mitsuho","Clay","Baio", | |
"Zhang","Niklas","Vitus","Ashwani","Kieran","Abdelilah","Morton", | |
"Samudra","Edna","Pozung","Wonchan","Natsume","Naphtali","Yigal", | |
"Sigurd","Lippold","Hla","Nanning","Seijiro","Yasukazu","Morakot", | |
"Lloyd","Zhexue","Einoshin","Daishiro","Fuhua","Inger","Krithi", | |
"Maitreya","Micha","Kerttu","Xiangning","Alasdair","Vladan","Miche", | |
"Michi","Evaggelia","Youngmok","Myongsu","Kawon","Elwin","Peitao", | |
"Yuewei","Soumya","Jarir","Susannne","Tanguy","Junzo","Jianming", | |
"Ioanis","Dharmavani","Yosi","Bala","Dominic","Husam","Branislava", | |
"Ingolf","Harley","Yuzheng","Randeep","Dominik","Cohavit","Timofei", | |
"Ravindranath","Lance","Johnette","Herkimer","Ingeborg","Zhiping", | |
"Isidor","Valentina","Jorrge","Moira","Chialin","Valentine","Vasanth", | |
"Jarke","Teri","Valentino","Wai","Shian","Kazimir","Bostjan", | |
"Chrystopher","Krishnaiah","Shuuji","Tero","Wan","Rosziati","Hoa", | |
"Chenming","Tilman","Lushen","Kyle","Teru","LouAnn","Dragomir", | |
"Sture","Yasuyuki","Oskari","Hoi","Kornel","Yusuf","Hon","Malcolm", | |
"Ewgeni","Hou","Anish","Vladislav","Jarle","Bang","Madanpal","Landy", | |
"Aantony","Bani","Micki","Giang","Simo","Zhiliang","Dhruba","Gihwan", | |
"Shavinder","Jacque","Hannelore","Shibu","Tiejun","eva","Ludger", | |
"Kazimierz","Shiby","Yabo","Banu","Grazyna","Corinna","Viswanathan", | |
"Kouichi","Corinne","Mihhail","Freeman","Anita","Esen","Balaji", | |
"Eser","Kishor","Sinh","Nabeel","Karlheinz","Bastiaan","Annegret", | |
"Sybille","Jarmo","Kuorong","Tsang","Benrhard","Brenan","Geber", | |
"Qingming","Jeremiah","Ivandre","Isidro","Ra'ed","Gesualdo","Hrant", | |
"Stefano","Yevgeniy","M'Lissa","Tarcisio","Werasak","Weizhen", | |
"Ranald","Zoubida","Ioanna","Lutz","Kaichang","Hendra","Qutaibah", | |
"Daishi","Edmond","Jarno","Kritchalach","Batya","Minsoo","Sinisa", | |
"Sette","Fytton","Madhukar","Luuk","Kyoo","Parvathi","Mukesh","Eskil", | |
"Yongjian","Jiawan","Haruhiko","Zakaria","Pasquale","Yahui","Shoichi", | |
"Wee","Hendry","Etienne","Cristiana","Bjorn","Wei","Clit","Wen", | |
"Jaron","Yael","Ghulam","Wes","Agatha","Kellogg","Cristiano","Hsi", | |
"Xiaoyang","Fong","Bibhuti","Kyungsook","Evaggelos","Eltefaat", | |
"Hanmao","Falko","Yoshitsugu","Layman","Cuneyt","Kriton","Hsu","Barb", | |
"Soheil","Carrel","Chakravarthy","Akinori","Bard","Brenda","Gurmeet", | |
"Fons","Najah","Ishwar","Dagobert","Gunar","Teageun","Shifu", | |
"Thiagarajan","Aggis","Charanjit","Yigit","Bart","Sauli","Karthick", | |
"Yuanyuan","Anargyros","Masatsugu","Esin","Saulo","Anantha","Uldis", | |
"Torulf","Neila","Vladik","Christelle","Siri","Edsger","Spyros", | |
"Slobodan","Truxton","Rollins","Neill","Aylmer","Wenhong","Hua", | |
"Akihiko","Cimarron","Zhongxiu","Martyne","Mitsuru","Aleksandr", | |
"Chiaki","Hui","Hellis","Huo","Mirco","Huu","Lanju","Huw","Huy", | |
"Shiho","Shailesh","Rohini","Hyoseob","Kewal","Ranabir","Hideho", | |
"Yuejiang","Forest","Esther","Tobin","Hironao","Jiawei","Atanu", | |
"Atam","Yahya","Jiawen","Sita","Esko","Yasuaki","Dhamir","Kexiang", | |
"Leysia","Jianjun","Wie","Raphy","Lyndon","Talal","Piernicola", | |
"Birkett","Ashutosh","Wil","Wim","Win","Ken'ichi","Sitt","Miyuki", | |
"Quinlong","Csaba","Yair","Frederic","Trent","Maitham","Arunabha", | |
"Carrie","Mirek","Frederik","Shuetsu","Ambros","Nelleke","Gunes", | |
"Zhongcheng","Esma","Minsuk","Chiang","Saewoong","Deane","Kehong", | |
"Sydney","Shinsaku","Siva","Junsheng","Jiahua","Object","Elias", | |
"Ariel","Hideki","Hideko","Ramachendra","Kailash","Nozomu","Kieron", | |
"Demetrios","Hirondo","Chebel","Wanjiun","Manoochehr","Saleem", | |
"Raghubir","Oreste","Hyo","Yehea","Myong","Jaejin","Suraj","Cirano", | |
"Rockford","Foto","Helmuth","Sebastiaan","Taokuan","Ryosaku","Yale", | |
"Yueli","Yali","Homer","Ranato","Haruhisa","Kewen","Ubbo","Masud", | |
"Atef","Ojelanki","Patsy","Ataru","Yalu","Peiyuan","Ciprian","Dogan", | |
"Masum","Sauro","Bertrand","Stanly","Husni","Taemin","Parick", | |
"Bastien","Clarisse","Xiangyu","Spiridon","Patti","Hidemi","Talel", | |
"Ysmar","Mirsad","Jitian","Dominique","Sungkil","Srecko","Patty", | |
"Gheorghe","Kiichi","Haifeng","Atsuyuki","Vangalur","Shing", | |
"Graziella","Siyi","Houssem","Bernad","Alyman","Yana","Mirit", | |
"Sestian","Katsushi","Zoltan","Yang","Chiara","Marcelino","Akihiro", | |
"Muguel","Albrecht","Jordan","Yann","Yasufumi","Mirja","Ashley", | |
"Emeka","Maogang","Terence","Aurelie","Yutai","Changsheng","Venkatar", | |
"Akihisa","Sichen","Aurelio","Ernesto","Yunghsiang","Nayeem","Paulis", | |
"Lukas","Fadi","Won","Woo","Masaaki","Wop","Shiou","Elwyn","Kaila", | |
"Soumitra","Mirka","Dabid","Verena","Biswa","Hajnal","Srilekha", | |
"Qinghua","Yehia","Mirko","Joan","Joao","Yifang","Llorenc","Carron", | |
"Jacinto","Achim","Wido","Xuemei","Mariette","Akihito","Shyamal", | |
"Idit","Atif","Teofilo","Xiaofang","Gabriela","Fillia","Gabriele", | |
"Talia","Fabian","Wieb","Aggelos","Ramesh","Shinkyu","Cathrine", | |
"Natacha","Wiet","Ronald","Petar","Berndt","Chitresh","Ghislaine", | |
"Afzal","Wesley","Esti","Maureen","Jock","Jaejoo","Arild","Elihu", | |
"Lampros","Najmi","Johanan","Shiro","CongDuc","Kaushal","Chihping", | |
"Izabela","Ahmadreza","Mirna","Murlidhar","Hartmit","Mathias", | |
"Dragan","Aksenti","Kuniaki","Sitki","Sumanta","Jodi","Micheal", | |
"Jinsong","Hyeokman","Ilona","Shish","Sudhir","Vilena","Yash","Jody", | |
"Atle","Rubens","Giuliana","GuoDong","Annedore","Kouchi","Limin", | |
"Miron","Joel","Taekyoung","Joep","Giuliano","Baktha","Kenichiro", | |
"Iasson","Kyosun","Zicheng","Joey","Hideto","Xuemin","Ryutarou", | |
"Jasmina","Krishnaprasad","Tobun","Yueming","Lorenza","Ian","Ozgur", | |
"DeLiang","Rabab","Fabien","Rabah","Ragnar","Samaradasa","Lorenzo", | |
"Chunho","Nourredine","Peter","Wuu","Detmar","Zhixue","Lorinda", | |
"Sourabh","Isak","Jogg","Shiva","Dongxing","Stven","Isao", | |
"Prithviraj","Yufeng","Rumen","Lamott","Shayne","Janell","Shivi", | |
"Norival","Gautam","Bernie","Dhruva","Chandrajit","Betsy","Kaisa", | |
"Armando","Jayaramaiah","Yousef","Haralampos","Mathieu","Bette", | |
"Klemens","Johnathan","Shiwa","Ramakrishnan","Betti","John", | |
"Shoshana","Felex","Yoshikane","Raimonds","Falk","Betty","Ida", | |
"Natalija","Iskander","Sagit","Ekkart","Naohide","Yassine","Gleb", | |
"Kiyoko","Ido","Bikram","Jaakko","Sebastian","Chilukuri","Ethan", | |
"Wilf","Ghinwa","Erach","Virgilio","Glen","Jois","Dian","Sefeng", | |
"Will","Wilm","Nataraj","Georges","Shamkant","Vahid","Mirta", | |
"Chihong","Puri","Shobana","Joji","Hideya","Petia","Hakjong","Prabal", | |
"Vangelis","Shiyi","Eliot","Fang","Sebastiano","Iztok","Maksim", | |
"Gerardine","Wyn","Hideyo","Shiyu","Lachlan","Fano","Kaname", | |
"Akinari","Ghulum","Jiandong","Vishal","Gerassimos","Masateru", | |
"Yewei","Atri","Shantanu","Kersten","Routo","Adrijana","Atro","Fikri", | |
"Wilco","Avinoam","Fortune","Madhusudhan","Wing","Limor","Dick", | |
"Iksoo","Krishan","Dragutin","Masayoshi","Kaushik","Xiangzhen", | |
"Bassam","Curtis","Georgette","Felic","Jermy","Tyrone","Abhijeet", | |
"Atsufumi","Krasimir","Yoshiak","Subash","Felip","Bitan","Yoneo", | |
"Chendong","Darrell","Felix","Leonid","Leonie","Oyekunle","Yolanda", | |
"Huichun","Petko","Bedabrata","Shreesh","Badrinath","Devesh","Atte", | |
"Hayong","Inhan","Balanjaninath","Torleiv","Chacko","Georgia", | |
"Shoaib","Kapetanakis","Ziqiang","Minesh","Sebastien","Gultekin", | |
"Ethel","Ethem","Subhasish","Thirumalai","Georgij","Georgio", | |
"Hermina","Asanobu","Hoichi","Santiago","Shumeet","Ostap", | |
"Charalampos","Paicheng","Christhard","Qijia","Purnendu","Elisa", | |
"Elise","Haodong","Heneik","Cecile","Atul","Jong","Harman","Dagmar", | |
"Larwence","Alipio","Brigitta","Brigitte","Fangju","Jingyuan","Rabin", | |
"Ruairi","Cecily","Joxan","Difu","Farn","Shigekoto","Michela", | |
"Shannon","Michele","Nobert","Ryouichi","Kerstin","Yoshide","Isik", | |
"Isil","Claire","Mateo","Jool","Gaochao","Edyta","Wire","Joon", | |
"Aviad","Edleno","Kiyoharu","Mahmoud","Joop","Sei'ichi","Joos", | |
"Phalguni","Yacoub","Monvef","Roger","Janett","Margie","Wenlong", | |
"Romesh","Shyamsundar","Nayla","Bassel","Bassem","Madeleine", | |
"Raphael","Hartmut","Johanna","Iko","Naohiko","Margit","Rongyao", | |
"Johanne","Guansong","Stephane","Kongshi","Jerre","Cezar","Puthirak", | |
"Annette","Jerri","Yonit","Atsushi","Glenn","Lichao","Ila","Matjazc", | |
"Odette","Anujan","Lenka","Hwee","Kabekode","Collin","Seung","Prabha", | |
"Jerry","Changhwan","Padmashree","Jinjuan","Saimond","Willemien", | |
"Astro","Thompson","Eiichiro","Debby","Troels","Osten","Prabhu", | |
"Noach","Benoit","Helmar","Kiyoto","Jorg","Shaker","Diethelm", | |
"Harmen","Dragos","Noppanunt","Jorn","Maeve","Okan","Jaedong", | |
"Srinivasa","Eralp","Prabir","Zimin","Meinolf","Jory","Giampaolo", | |
"Ina","Narcis","Haoxun","Diana","Toshitsugu","Leonor","Munish", | |
"Diane","Jose","Jerker","Josh","Wilko","Ismo","Heesung","Diann", | |
"Petra","Tuija","Wonjun","Francesmary","Petre","Jost","Petri","Aviel", | |
"Willa","Petro","Jungho","Dipak","Nobuhiko","Oriol","Wujia","Petru", | |
"Bjajesh","Willi","Ion","Willm","Jayakrishnan","Nanchang","Gookhai", | |
"Willy","Erann","Joakim","Lenny","Iakovos","Ciyou","Mihnea","Taketo", | |
"Eero","Jaak","Wilma","Jonell","Jaan","Creve","Frederich","Goutam", | |
"Jaap","Reihaneh","Frederick","Laurian","Surya","Garng","Yousri", | |
"Veronique","Dima","Yoshikazu","Viggo","Kirsteen","Yoshiji", | |
"Visalakshi","Morgan","Vigyan","Faye","Brock","Eamonn","Shunichiro", | |
"Dingchao","Hideharu","Ganrav","Ignatios","Yoheved","Charlotte", | |
"Shengchang","Keiji","Syam","Dina","Johnathon","Margot","Savio", | |
"Keijo","Tomoharu","Zhenjiang","Yoshiki","Ding","Nejib","Gurdip", | |
"Xunwei","Amnon","Gennoveffa","Yoshiko","Riadh","Deoraj","Misako", | |
"Dino","Angela","Jack","Georghios","Ira","Jaco","Rosemarie","Angelo", | |
"Karabi","Abdelhak","Keiki","Kajal","Naohiro","Takashige","Keiko", | |
"Paula","Taenam","Afke","Sudha","Kalina","Jade","Vojislav","Yufei", | |
"Chunyi","Paulo","Jason","Naohisa","Ilana","Dipen","Masuhiro","Umang", | |
"Isi","Hannah","Stephan","Panagiotis","Ferdinando","Veikko","Noah", | |
"Murial","Yoshiyuki","Debin","Ahsan","Yoshimi","Krishna","Kiriakos", | |
"Gigliola","Noam","Seokwon","Bodhisattwa","Eevi","Franca", | |
"Ramachandran","Irvin","Renwei","France","Saadia","Franck","Sudip", | |
"Franco","Juana","Harriett","Jerzy","Naohito","Norbert","Benedikte", | |
"Krishnan","Burke","Claudionor","Hiryoung","Shabbir","Waldir", | |
"Huapeng","Maharaj","Nobo","Mogens","Sriram","Arjan","Nobu","Garry", | |
"Ondrej","Thoms","Noriyuki","Telis","Syed","Algirdas","Batoul", | |
"Vamsee","Klichiro","Joze","Haojin","Gardiner","Shivaraman","Thong", | |
"Joergen","Jozo","Dirk","Haidar","Zhijun","Jirel","Houari","Jago", | |
"Thony","Nobuhiro","Toyoaki","Lotfi","Hairuo","Garth","Jaspal", | |
"Wissal","Takakazu","Reimer","Ivo","Clinton","Xia","Xie","Jiankun", | |
"Ivy","Nobuhisa","Gautum","Istvan","Tamal","ShengLi","Xin","Tamar", | |
"Tamas","Ossama","Charly","Nestor","Stephen","Manojit","Yinong", | |
"Margus","Donyaprueth","Shuling","Attilio","Wiktor","Muriel","Hannes", | |
"Noel","Telle","Yukari","Umpei","Shaoyun","Klas","Vivan","Belinda", | |
"Nandit","Piera","Jair","Vijayaraghavan","Piere","Mirela","Phill", | |
"Tung","Masayasu","Melven","Piero","Fintan","Guorong","Piers","Eljas", | |
"Glyn","Yoshiro","Tunu","Jovanna","Marvin","Zhenzhong","Arjen", | |
"Evandro","Aude","Soowon","Noga","Yasmin","Matti","Gowri","Namhee", | |
"Yiwan","Yukata","Takayuki","Thore","Jichiang","Adelheit","Matts", | |
"Susan","Linas","Ruihua","Jake","Haider","Piercarlo","Xiuzhen", | |
"Haijo","Vaggelis","Susheel","Waheed","Misha","Supriya","Noha", | |
"Franis","Hengming","Cameron","Bartolomeo","Zhigang","Jasper", | |
"Takayuli","Trudi","Supriyo","Freimut","Adele","Moonhang","Yoshito", | |
"Mukund","Dunja","Tapani","Jianqiang","Wanda","Kincade","Tamer", | |
"Haiko","Manhoi","Trudy","Fermin","Hannie","Witold","Keith","Ozan", | |
"Botond","Burra","Zhixing","Pepijn","Avijit","Giridharan","Shalhav", | |
"Jama","Sreenath","Vishwa","Hian","Kalappa","Vivek","Junguk","Jami", | |
"Calum","Badrul","Mouloud","Debra","Linda","Jesas","Serdar","Shyam", | |
"Sharolyn","Charalambos","Gudmund","Melvin","Marijke","Franky", | |
"Meena","Gerco","Jana","Stanford","Brook","Jane","Juhana","Jang", | |
"Jani","Sahar","Girome","Karama","Juhani","Camilo","Jano","Chiharu", | |
"Daphna","Gerda","Xingong","Jans","Isabella","Xizhong","Vinnakota", | |
"DeWLitt","Daphne","Caterina","Swapna","Sylvain","Yiwei","Isabelle", | |
"Bjarne","Yiwen","Wenjian","Mybrid","Haina","Wenqui","Carson", | |
"Irving","Zenon","Fredric","Jyoti","Shijie","Budak","Chaiyaporn", | |
"Fredrik","Echard","Carsten","Spencer","Vesselin","Pantelis","Filip", | |
"Raghuram","Barbora","Tamio","Filiz","Tamir","Jelena","Camino", | |
"Duncan","Flaminia","Etta","Jichang","Bahram","Chienting","Mingshang", | |
"Prateek","Tirtza","Tinsley","Jaeho","Flaminio","Yihua","Nomi", | |
"Maurelio","Hongsheng","Waltraud","Shishir","Inhye","Lichun", | |
"Cholwich","Vijnan","Hieu","Weiguo","Bennett","Haesun","Koling", | |
"Gerge","Frances","Tuvi","Felicita","Nachimuthu","Yoshifumi","Nong", | |
"Shekar","Ambrose","Britton","Meera","Floor","LaRoy","Leopoldo", | |
"Preben","Vasken","Sylvanus","Jari","Valentin","Jarl","Alden", | |
"Felicity","Pallavi","Helmut","Bertram","Ludwig","Susie","Ludwik", | |
"Fujie","Sanjiva","Shirlei","Somasundaram","Jindong","Keizo", | |
"Sanjive","Vaidy","Albrect","Fujio","Hyeyoung","Guoliang","Vaagan", | |
"Hayato","Srinivas","Dipti","Shirley","Bowden","Anastasios","Hiroomi", | |
"Dudley","Jae","Benedikt","Jai","Jak","Gerie","Bartolome","Anindya", | |
"Joanthan","Kesavan","Jan","Seongsoo","Zhenzhou","Jar","Xuan","Xua", | |
"Pankaj","Xue","Margret","Terrill","Jay","Boudewijn","Jifeng", | |
"Chrysanthos","Anker","Xun","Hyunmin","Jurgen","Matthai","Holger", | |
"Seunghwan","Pushan","Kattamuri","Wanli","Tammy","Maurizio","Raqui", | |
"Ryouji","Bjarte","Itai","Leoan","Xubo","Panayiotis","Kaizheng", | |
"Shigekazu","Thyagaraju","Itay","Tilak","Vlatka","Suneeta","Anatholy", | |
"Sadasaburoh","Vecheslav","Hristo","Lotte","Seungjong","Suneeti", | |
"Traytcho","Nora","Polen","Francis","Kjeld","Danette","Peigen", | |
"Trung","Nori","Kjell","Burchard","Vladimir","Kristoffer","Izumi", | |
"Nieves","Fangqing","Guillaume","Sahin","Chanderjit","Minghua", | |
"Bradd","Catholijn","Nevine","Minghui","Gunter","Effy","Nosa", | |
"Marsaru","Seungjoon","Supratik","Darcy","Syun","Yuuji","Bethany", | |
"Lennart","Frantz","Wunnava","Thulasiraman","Houston","Tassos", | |
"Daniela","Daniele","Antonia","Harpreet","Jea","Margarida","Pitro", | |
"Jed","Jirun","Jef","Hratchia","Antonin","Jaishankar","Christopher", | |
"Antonio","Vaduvur","Jem","Jen","Szymon","Antonis","Francky", | |
"SangKeun","Takafumi","Celia","Margrit","Veronik","Donald", | |
"Shigeyuki","Chadia","Issam","Subhakar","Sairam","Darek","Darel", | |
"Aura","Donall","Laurette","Linglan","Midori","Hosahalli","Archita", | |
"Ushio","Krysia","Alanoly","Narayanan","Tamra","Fuyau","Matthew", | |
"Isdor","Elvira","Matthey","Jaya","Rohan","Ardian","Chong","Ayman", | |
"Efim","Viktors","Tsipora","Lamber","Athanasios","Jayanta","Johnny", | |
"Joobin","TingTing","Jayanth","Jayanti","Mengjou","Prabuddha", | |
"Thorsten","Moustafa","April","Hing","Jongwon","Harjinder","Arjun", | |
"Pham","Phan","Naci","Norris","Pavan","Santonu","Choon","Thane", | |
"Thang","LiWu","Benard","Guntis","Kristiina","Brahm","Linqi","Bonita", | |
"Nicola","Nazim","Shauchi","Thant","Zhouhui","Nicole","Nazir","Nada", | |
"Lashon","Nicolo","Sigal","Jun'ichi","Shalab","Huifen","Jia","Roslyn", | |
"Delbert","van","Jie","Floyd","Heggere","Zizette","Jik","Femke", | |
"Sevki","Brain","Jim","Azaria","Jin","Zineb","Benedita","Jit", | |
"Cherie","Cherif","Daria","Heide","Limsson","Tadakazu","Gregoria", | |
"Roar","Byunggyu","Akhil","Roas","Heidi","Tinghe","Sailesh", | |
"Benedito","Polle","Wilbur","Octavio","Nael","Darin","Dario", | |
"Saurabh","Xiaotao","Gregorio","Dariu","Debashish","Qingxun","Robb", | |
"Gregoris","Lodewijk","Stelios","Gerri","Manisha","Sreerama","Robi", | |
"Damanjit","Polly","Jianlin","Garrel","Lionello","Avinash","Mrinal", | |
"Chaouki","Gerry","Garret","Roby","Egidio","Onkar","Bhabani","Moktar", | |
"Israel","Jaeun","Hira","Nathaniel","Cathryne","Tzilla","Spira", | |
"Mahadev","Roch","Natasha","Hartmann","Grantham","Joyce","Shashank", | |
"Dongseung","Hiro","Skip","Pavel","Weihai","Spiro","Nagi","Masanobu", | |
"Averill","Delgado","Darko","Shuhua","Yoshinao","Cassandra","Inien", | |
"Oswald","Zosimo","Gerth","Gerti","Ulfar","Daeshik","Santosh", | |
"Jiajie","Darla","Linus","Shihming","Jesse","Mehryar","Sarmad", | |
"Irs'hak","Jatin","Newton","Younggeun","Wagish","Rajagopalan", | |
"Cunsheng","Meinhard","Fukumi","Olac","Shaler","Haiming","Arunprasad", | |
"Olaf","Roderick","Roel","Bahaa","Thurman","Miloslav","Kousha", | |
"Vittal","Nassrin","Melville","Casper","Xiaorong","Hisham","Birger", | |
"Annalina","Olav","Koushi","Naim","Donato","Berardo","Herward", | |
"Marjorie","Wenan","Brant","Raghavan","Oryal","Ananth","Yah","Manica", | |
"Amihai","Byron","Gerrine","Yam","Naji","Yan","Rohit","Yao","Joa", | |
"Job","Yap","Idris","Leyuan","Leona","Shyue","Joe","Jesus","Mette", | |
"Yaw","Leone","Leong","Debjit","Samantha","Emmett","Godmar","Wenbo", | |
"Jon","Joo","Jop","Agha","Naranker","Nobuji","Jos","Rayadurgam", | |
"Dunren","Nariankadu","Yimeng","Xingang","Yuejun","Joy","Mieke", | |
"Vikraman","Ailamaki","Phil","Uptal","Aladin","Valentyn","Camil", | |
"Mieko","Sayori","Fosca","Daron","Celso","Waleed","Wenci","Brad", | |
"Baldomir","Gajendra","Debashis","Jianying","Nobuki","Seungjae", | |
"Bram","Bran","Violaine","Nobuko","Manjote","Heike","Pushpa","Marwan", | |
"Scott","Heiki","Shyhtsun","Thomas","Heiko","Yuehong","Balaram", | |
"Maniel","Barbara","Corey","Dorota","Quing","Venkatavasu","Dilvan", | |
"Terrance","Oleg","Quinn","Bevan","Yde","Wendy","Eleanna","Roseane", | |
"Liam","Lian","Xiaotie","Liao","Nami","Antoinette","Channing","Kyung", | |
"Maneesh","Birgit","Baher","Wanlei","Celena","Liba","Thyagarajan", | |
"Theodora","Hiroaki","Pavla","Roji","Theodore","Cherri","Yee", | |
"Suchitra","Yumiko","Nand","Boman","Guang","Toneluh","Annalisa", | |
"Heimo","Simona","Leora","Asger","Simone","Yew","Maung","Jeannie", | |
"Eliahu","Takuji","Eleanor","Avikam","Olga","Aileen","Svetlana", | |
"Mauno","Arding","Jinsei","Guntram","Tuyan","Wilfredo","Zhongzhi", | |
"Kalyan","Binhai","Sungchae","Uros","Chokchai","Darse","Olgo", | |
"Naoaki","Carter","Irwin","Gwenole","Junling","Heino","Meir", | |
"Amitabh","Vijayan","Rowan","Heinz","Raquel","Wynn","Attahiru","Agma", | |
"Rolf","Lide","Jingsen","Arundhati","Aelmut","Kyunghee","Bret", | |
"Rogelio","Sovanna","Shigetoshi","Corin","Selmer","Fehmina","Guilhem", | |
"Margarita","Vagelio","Siddharth","Jud","Jue","Sukemitsu","Gertrude", | |
"Eginhard","Hanoch","Jui","Roma","Euji","Mitch","Boonserm","Jun", | |
"Chaim","Sujata","Jeeho","Qamar","Eduard","Xinfeng","Estanislao", | |
"Masahide","Bingchiang","Sumitaka","Olin","Liem","Pavol","Bohuslav", | |
"Davood","Raymond","Muhsen","Motoei","Satinder","Jiangtao","Zhiyuan", | |
"Ifay","Wilhelm","Takumi","Rona","Guijun","Murad","Kisaburo","Reiner", | |
"Olivier","Rong","Sivan","Monagur","Roni","Jinshi","Debendra", | |
"Czeslaw","Lofti","Achyutram","Guglielmo","Nara","Mandira","LeRoy", | |
"Yih","Guoping","Elyse","Luitpold","Yik","Murat","Sueli","Yim", | |
"Noriyoshi","Nari","Yin","Shiyun","Trishul","Gerlinde","Rony","Amotz", | |
"Maura","Tamitha","Eivor","Shalom","Qingyan","Mauri","Farhad","Suely", | |
"Thucydides","Mauro","Wenju","Mema","Tuyen","Namick","Janusz","Peggy", | |
"Maury","Noburu","Nasi","Tinghuai","Wenke","Wentong","Seraphin", | |
"Nasr","Bianca","Thomals","Reggie","Janathan","Costantine","Ravinder", | |
"Mohlalefi","Brig","Balasubramaniam","Brij","Nicoletta", | |
"Subhachandra","Olle","Jafar","Yka","Costantino","Olli","Ericka", | |
"Jiyuan","Chirag","Eliana","Meng","Seungjin","Yki","Eliane","Nate", | |
"Selmin","Chatschik","Michelene","Udai","Aohan","Thoshiro","Hajin", | |
"Andras","Aryya","Lihu","Uday","Nasreddine","Jozsef","Louis","Chams", | |
"Deanna","Bevin","Deanne","Jagannathan","Cheryl","Gradimir","Simaan", | |
"Daryl","Antoin","Chane","Tandy","Chang","Premachandran","Surnjani", | |
"Gyora","Otmane","Dongming","Truman","Kyoung","Dowming","Nava", | |
"Vanathi","Sheilah","Tanel","Beatrix","Beatriz","Ruxandra","Wifried", | |
"Stijn","Rory","Heikki","Waldemar","Keijiro","Cristopher","Chuang", | |
"Rosa","Tejwansh","Toshinobu","Calogero","Neville","Santanu","Rose", | |
"Binghuan","Takuro","Olof","Masanori","Ruixin","Nandyala","Wijnand", | |
"Ross","Junhui","Fuchun","Kenneth","Didier","Olov","Annick", | |
"Venkataraman","Florin","Monica","Motoki","Floris","Andrea","Kejun", | |
"Lila","Magda","Yuval","Arupratan","Andree","Alicia","Jonanthan", | |
"Ardaman","Andrei","Andrej","Maarten","Magdi","Ettore","Pabitra", | |
"Parker","Masahiko","Yon","Szots","Earlin","Andres","Yoo","Derek", | |
"Jaffa","Alean","Deren","Andrew","Mert","You","Andrey","Lily","Magdy", | |
"Prasasth","Huseyin","Manvinder","Seshashayee","Chungmin","Reriel", | |
"Weiwei","Teresita","Raghunandan","Zoubin","Sigurdur","Alicja", | |
"Maged","Arantza","Zoubir","Ryutaro","Jinsoo","Damianos","Sangyeun", | |
"Aurora","Shalitha","Angotti","Aurore","Rabi","Lingyuan","Gitanjali", | |
"Leiming","Walter","Hiromichi","Yusaku","Giancarlo","Cathleen", | |
"Manindra","Lina","Kirsten","Tania","Chizuko","Brom","Arturo", | |
"Biswanath","Stina","Avis","Hayao","Line","Charu","Thad","Ling", | |
"Aviv","Qiuming","Thai","Linn","Antoni","Ajrapet","Sanggoo", | |
"Kostoula","Bohdan","Thao","Cemal","Duong","Manish","Chase","Tanveer", | |
"Nobuo","Antony","Aleksei","Saida","Tanja","Haklin","Tanji", | |
"Satyandra","Rade","Kunimasa","Estarose","Derrell","Judicael", | |
"Aleksey","Amichai","Lior","Antoon","Bianka","Naixun","Raschid", | |
"Radu","Arnold","Holland","Tanka","Gwenael","Saied","Ivailo","Tokuji", | |
"Efstathios","Fikret","Sentot","Raed","Lipo","Giorgio","Kitsana", | |
"Andris","Wolfram","Joydeep","Phyllis","Fanya","Chandraleka","Cortes", | |
"Sirkka","Roya","Zhaogang","Rossella","Qiming","Iordana","Yixin", | |
"Maartje","Xiaofei","Emmanuel","Magid","Induprakas","Yixiu","Sonal", | |
"Shelby","Tokinori","Rusong","Seizaburo","Enric","Rafi","Takuya", | |
"Kirstie","Kai","Kaj","Hidetosi","Abhijit","Kam","Robert","Kan", | |
"Patrik","Kap","Leana","Thea","Sumedh","Anderson","Toshi","Hoong", | |
"Takuyu","Yue","Kay","Gyozo","Arindam","Parameswaran","Yuk","Luciano", | |
"Thimothy","Yul","Yun","Maggie","Theo","Yuguo","Helfried","Meenakshi", | |
"Fanica","Haitao","Eytan","Rephael","Mattias","Meurig","Lisa","Lise", | |
"Miyoung","Dieter","Meenakshy","Mihael","Annika","Slimane","Tosio", | |
"Amane","Gihyun","Sumeer","Ikuko","Masahiro","Yvo","Kazem", | |
"Geraldine","Sumeet","Ingram","Amani","Danijela","Ifor","Monika", | |
"Shailendra","Mariam","Marian","Florence","Silvina","Marias", | |
"Mayford","Masahisa","Hyongmuk","Kensaku","Ismailcem","Sarnath", | |
"Claas","Itaru","Ravindra","Allison","Atsuko","Helnye","Raid","Raif", | |
"Wendie","Goopeel","Pedrito","Toshihide","Gundula","Nelson", | |
"Federico","Kailasam","Rain","Bulent","Sadashiva","Virginia","Raewyn", | |
"Burzin","Akida","Marcela","Jianjian","Padmaja","Raja","Dorothea", | |
"Baltasar","Jeretta","Ruogu","Madhusudan","Dorothee","Naomichi", | |
"Aikira","Masahito","Hiroshige","Marcelo","Krste","Mostefa","Alejo", | |
"Kee","Kunsoo","Kei","Wenyi","Kek","Youshou","Raju","Kazuyuki", | |
"Zhongde","Ken","Kosmas","Wenyu","Magne","Kev","Atsumi","Hyuck", | |
"Bradley","Smaragda","Radek","Korbin","Zuliang","Alastair","Tadashi", | |
"Uttam","Thio","Giorgos","Avra","Doina","Prabhudev","Simant","Deron", | |
"Changgui","Kiyotaka","Aleks","Friedbert","Euripides","Amilcar", | |
"Saila","Fran","Gordan","Mihail","Bakhadyr","Yunfei","Mituhiro", | |
"Egil","Hubertus","Joceli","Ralf","Randal","Shelia","Amitava", | |
"Adolfa","Liwu","Svatopluk","Codie","Fenia","Shalini","Bernahrd", | |
"Brajendra","Amitavo","Mariet","Adolfo","Myungwhan","Terrence", | |
"Claes","Kanupriya","Elvinia","Debajyoti","Serena","Rama","Rame", | |
"Dolores","Nikil","Pawan","Nalvo","Rami","Ramo","Yasuharu","Sharada", | |
"Sonia","Radha","Liya","Nofumi","Rajamani","Musaravakkam","Joelle", | |
"Nectaria","Liyi","Rana","Eyeun","Sihai","Rand","Rang","Grazia","Kia", | |
"Rani","Murty","Keyun","Kyogji","Indranil","Molly","Kil","Sonja", | |
"Kim","Kin","Radia","Kip","Dongwook","Haymo","Takeshige","Kit", | |
"Farrokh","Idranil","Chitoor","Efthimis","Madhusudhana","Jangsu", | |
"Toshinori","Junping","Zhilin","Kriengkrai","Dhananjai","Mihaly", | |
"Dhabaleswar","Radmilo","Bijendra","Lizy","Shelli","Marilynn","Fred", | |
"Desmond","Dhananjay","Meenakshisundaram","Sinikka","Kobbi","Jianmin", | |
"Shelly","Ingrid","Xingbin","Irina","Xianging","Raph","Yardena", | |
"Irini","Sougata","Hanafy","Toshihiko","Monish","Candy","Mattijs", | |
"Twan","Kyungwol","Weipeng","Yiping","Baldeo","Annita","Masaitsu", | |
"Slim","Marija","Pawel","Dicky","Thom","Chamond","Akiko","Anindo", | |
"Pier","Piet","Jongho","Xiaoping","Millist","Piew","Usha","Vassilios", | |
"Nagabhushana","Edwige","Yixun","Evan","Hidetaka","Rosalind","Akila", | |
"Rangaswamy","Kijoo","Jehoshua","Kaivalya","Coco","Guoting","Egon", | |
"Sihem","Djimitri","Egor","Manjai","Yakov","Niladri","Jongin", | |
"Sansanee","Ounissa","Devillers","Mariko","Aarne","Aduri","Aarni", | |
"DongGill","Elarbi","Tanya","Sonne","Nizam","Aarno","Liehuey","Jozef", | |
"Nizar","Ortwin","Rasa","Jisook","Pradip","Gilberto","Omar", | |
"Wladslaw","Dorothy","Sonny","Nikos","Chengfei","Yudong","Mischa", | |
"Hayri","Azeddine","Subarna","Agusti","Aaron","Aleta","Jeannette", | |
"Mavis","Baudouin","Soufiane","Aditya","Winky","Tianji","Xiaocong", | |
"Asham","Avshalom","Kourosh","Diran","Herhard","Koh","Gudala","Kok", | |
"Jintae","Kon","Rastislav","Tayloe","Kou","Zanoni","Kow","Usko", | |
"Kiyokuni","Ludomir","Eisuke","Anuchit","Marina","Tokuzo","Taylor", | |
"Megan","Deryk","Yosihisa","Raul","Youichi","Marino","Suchendra", | |
"Erran","Tomlinson","Fredeic","Sulekha","Dongqing","Kilian","Gustovo", | |
"Joaquim","Joaquin","Hyung","Putthi","Ryohei","Jaume","Shreeram", | |
"Peiwei","Athena","Ender","Ikuyo","Liangchun","Timon","Hakan","Ravi", | |
"Basuki","Timos","Irith","Hiralal","Shamik","Borislav","Muralidhara", | |
"Roxanne","Marion","Shamim","Zhicheng","Marios","Duane","Seungyup", | |
"Grammati","Kathrin","Mathematics","Omer","Minshine","Hongbin", | |
"Heonchul","Youngbae","Kazufumi","Thuy","Toshihiro","Zhiming", | |
"Liujian","Clemens","Clement","Akira","Paitoon","Alexa","Marzena", | |
"Lyman","Canming","Kazue","Alfons","Toshihisa","Akiro","Prasad", | |
"Alfonz","Kazuo","Asher","Edwina","Lalgudi","Dongdong","Quentin", | |
"Prasan","Nilanjan","Hellmut","WingNing","Aarti","Michaelis","Yijie", | |
"Mandyam","Serafim","Terunao","Serafin","Kazushige","Raya","Zhengxin", | |
"Jarogniew","Rayk","Hector","Bracha","Clara","Kjartan","Harold", | |
"Ragunathan","Clare","Francine","Toshihito","Padhraic","Coke","Clark", | |
"Malgorzata","Victoria","Willett","Qiuhui","Brindell","Maribeth", | |
"Gordon","Ping","Pini","Jiming","Okihiko","Marisa","Arlan","Akito", | |
"Pino","Vyjayanti","Konrad","Nello","Elenita","Ganesh","Fouzia", | |
"Juraj","Hoang","Rajeev","Kui","Anselm","Hisanori","Kun","Orkut", | |
"Manjit","Junzhong","Kuo","Marilde","Nikola","Omid","Richa","Kut", | |
"Nelma","Orestes","Colm","Aiqin","Zhe","Ponnekanti","Akimou", | |
"Edisanter","Jinghong","Jayanata","Zhi","Marita","Igal","Yoshioki", | |
"Sotiris","Zhu","Rashi","Nguyen","Amarnath","Nhora","Tahsin","Zia", | |
"Fotis","Kalev","Ashid","Shervin","Ashih","Ivica","Ashim","Zin", | |
"Yordan","Shizuo","Filomena","Theodosios","Srdjan","Ziv","Baiju", | |
"Hanpei","Manolis","Junghsen","Marius","Nawaaz","Cong","Riqiang", | |
"Rachida","Jagesh","Katrina","Claus","Conn","Naresh","Gurjeet", | |
"Ibrahim","Yuhji","Sivakumar","Kahlil","Diamantino","Harrick", | |
"Jeongyoujng","Fariba","Bhagirath","Sonya","Minshen","Jagan", | |
"Facundo","Kerima","Tjalling","Liana","Qujun","Mahfoud","Kester", | |
"Liane","Baile","Yehudah","Liang","Ricki","Zhiqiang","Vinodh","Hakim", | |
"Sandeep","Kye","Jurek","Willibald","Ricky","Myrna","Kyo","Justinian", | |
"Yuejian","Rajeshkumar","Kyu","Piriya","Tonjua","Adrain","Ileana", | |
"Dongchang","Mahan","Hucang","Debasish","Dorbin","Johann","Farida", | |
"Houria","Behzad","Tushar","Narendar","Harriet","Istva","Kumiko", | |
"Ousmane","Myron","Hakki","Leopold","JongMin","Reinout","Jerrold", | |
"Muhammad","Amber","Cord","Lawrence","Gisli","Zahira","Guoray", | |
"Vannevar","Yingping","Yingnan","Seiji","Arnaud","Cort","Cheeha", | |
"Sajoong","Ahto","Jennie","Seijo","Namio","Denise","Cory","Merrell", | |
"Springer","Pius","Bongham","Bonghan","Katharina","Svietlana", | |
"Kunwadee","Injun","Dedre","Katharine","Hyuk","Vassilis","Hergen", | |
"Hyun","Pratyush","Keitaro","Ellen","Amaryllis","Lakshman","Zoe", | |
"Jieyu","Seiki","Sajal","Joscha","Zahidul","Ashok","Linlin","Felice", | |
"Sandiway","Romulus","Andries","Jurij","Kalle","Tianxu","Edison", | |
"Haihong","Altug","Halime","Juris","Endre","Junxin","Kirack","Geunmo", | |
"Vassilka","Aristotle","PerOlof","Vale","Deganit","Maher","Duccio", | |
"Karakunakara","Shlomi"," |