qbs* FUNC_UDTREFERENCE(qbs*_FUNC_UDTREFERENCE_STRING_O,qbs*_FUNC_UDTREFERENCE_STRING_A,int32*_FUNC_UDTREFERENCE_LONG_TYP){
qbs *tqbs;
ptrszint tmp_long;
int32 tmp_fileno;
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
uint8 *tmp_mem_static_pointer=mem_static_pointer;
uint32 tmp_cmem_sp=cmem_sp;
#include "data53.txt"
mem_lock *sf_mem_lock;
new_mem_lock();
sf_mem_lock=mem_lock_tmp;
sf_mem_lock->type=3;
libqb_check_stack();
if (is_error_pending()) goto exit_subfunc;
do{
if(!qbevent)break;evnt(18633);}while(r);
do{
if(!qbevent)break;evnt(18634);}while(r);
do{
if(!qbevent)break;evnt(18635);}while(r);
do{
if(!qbevent)break;evnt(18636);}while(r);
do{
if(!qbevent)break;evnt(18637);}while(r);
do{
if(!qbevent)break;evnt(18638);}while(r);
do{
if(!qbevent)break;evnt(18639);}while(r);
do{
if(!qbevent)break;evnt(18640);}while(r);
do{
if(!qbevent)break;evnt(18641);}while(r);
do{
if(!qbevent)break;evnt(18642);}while(r);
do{
if(!qbevent)break;evnt(18643);}while(r);
do{
if(!qbevent)break;evnt(18644);}while(r);
do{
if(!qbevent)break;evnt(18645);}while(r);
do{
if(!qbevent)break;evnt(18646);}while(r);
do{
if(!qbevent)break;evnt(18647);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_OBAK,_FUNC_UDTREFERENCE_STRING_O);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18649);}while(r);
S_21668:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTREFERENCE_STRING_O,qbs_new_txt_len("",0))))||is_error_pending()){
if(qbevent){evnt(18650);if(r)goto S_21668;}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_O,qbs_new_txt_len("0",1));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18650);}while(r);
}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_R,qbs_add(qbs__tostr((int32)(*__LONG_CURRENTID),NULL,0),__STRING1_SP3));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18655);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_O= 0 ;
if(!qbevent)break;evnt(18658);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_DYNLAYOUT= 0 ;
if(!qbevent)break;evnt(18660);}while(r);
S_21674:;
if ((*(int16*)(((char*)__UDT_ID)+((0+520))))||is_error_pending()){
if(qbevent){evnt(18661);if(r)goto S_21674;}
do{
*_FUNC_UDTREFERENCE_LONG_DYNLAYOUT= -1 ;
if(!qbevent)break;evnt(18661);}while(r);
}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_ROOT_BASE_PTR,qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("((char*)",8),FUNC_SCOPE()),qbs_new_txt_len("UDT_",4)),qbs_rtrim(qbs_new_fixed((((uint8*)__UDT_ID)+((0+0))),256,1))),qbs_new_txt_len(")",1)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18663);}while(r);
S_21678:;
if ((-(*(int32*)(((char*)__UDT_ID)+((0+540)))== 0 ))||is_error_pending()){
if(qbevent){evnt(18664);if(r)goto S_21678;}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_ROOT_BASE_PTR,qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("((char*)",8),FUNC_SCOPE()),qbs_new_txt_len("ARRAY_UDT_",10)),qbs_rtrim(qbs_new_fixed((((uint8*)__UDT_ID)+((0+0))),256,1))),qbs_new_txt_len("[0])",4)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18664);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_INCMEM= 0 ;
if(!qbevent)break;evnt(18666);}while(r);
S_21682:;
if ((*(int32*)(((char*)__UDT_ID)+((0+540))))||is_error_pending()){
if(qbevent){evnt(18667);if(r)goto S_21682;}
do{
*_FUNC_UDTREFERENCE_LONG_U=*(int32*)(((char*)__UDT_ID)+((0+540)))& 4095ll ;
if(!qbevent)break;evnt(18668);}while(r);
S_21684:;
if ((*(int32*)(((char*)__UDT_ID)+((0+540)))&*__LONG_ISINCONVENTIONALMEMORY)||is_error_pending()){
if(qbevent){evnt(18669);if(r)goto S_21684;}
do{
*_FUNC_UDTREFERENCE_LONG_INCMEM= 1 ;
if(!qbevent)break;evnt(18669);}while(r);
}
}else{
do{
*_FUNC_UDTREFERENCE_LONG_U=*(int32*)(((char*)__UDT_ID)+((0+512)))& 4095ll ;
if(!qbevent)break;evnt(18671);}while(r);
S_21689:;
if ((*(int32*)(((char*)__UDT_ID)+((0+512)))&*__LONG_ISINCONVENTIONALMEMORY)||is_error_pending()){
if(qbevent){evnt(18672);if(r)goto S_21689;}
do{
*_FUNC_UDTREFERENCE_LONG_INCMEM= 1 ;
if(!qbevent)break;evnt(18672);}while(r);
}
}
do{
*_FUNC_UDTREFERENCE_LONG_UDTELEM= 0 ;
if(!qbevent)break;evnt(18674);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_N=FUNC_NUMELEMENTS(_FUNC_UDTREFERENCE_STRING_A);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18676);}while(r);
S_21695:;
if ((-(*_FUNC_UDTREFERENCE_LONG_N== 0 ))||is_error_pending()){
if(qbevent){evnt(18677);if(r)goto S_21695;}
do{
goto LABEL_FULLUDT;
if(!qbevent)break;evnt(18677);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_I= 1 ;
if(!qbevent)break;evnt(18679);}while(r);
LABEL_UDTFINDELENEXT:;
if(qbevent){evnt(18680);r=0;}
do{
*_FUNC_UDTREFERENCE_LONG_LEVEL_BASE_BITS=*_FUNC_UDTREFERENCE_LONG_O;
if(!qbevent)break;evnt(18681);}while(r);
S_21700:;
if ((qbs_cleanup(qbs_tmp_base,qbs_notequal(FUNC_GETELEMENT(_FUNC_UDTREFERENCE_STRING_A,_FUNC_UDTREFERENCE_LONG_I),qbs_new_txt_len(".",1))))||is_error_pending()){
if(qbevent){evnt(18682);if(r)goto S_21700;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Expected .",10));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18682);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18682);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_I=*_FUNC_UDTREFERENCE_LONG_I+ 1 ;
if(!qbevent)break;evnt(18683);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_N,qbs_ucase(FUNC_GETELEMENT(_FUNC_UDTREFERENCE_STRING_A,_FUNC_UDTREFERENCE_LONG_I)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18684);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_NSYM,FUNC_REMOVESYMBOL(_FUNC_UDTREFERENCE_STRING_N));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18685);}while(r);
S_21707:;
if ((qbs_cleanup(qbs_tmp_base,_FUNC_UDTREFERENCE_STRING_NSYM->len))||is_error_pending()){
if(qbevent){evnt(18685);if(r)goto S_21707;}
do{
*_FUNC_UDTREFERENCE_LONG_NTYP=FUNC_TYPNAME2TYP(_FUNC_UDTREFERENCE_STRING_NSYM);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18685);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_NTYPSIZE=*__LONG_TYPNAME2TYPSIZE;
if(!qbevent)break;evnt(18685);}while(r);
}
S_21711:;
if ((*__LONG_ERROR_HAPPENED)||is_error_pending()){
if(qbevent){evnt(18686);if(r)goto S_21711;}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18686);}while(r);
}
S_21714:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTREFERENCE_STRING_N,qbs_new_txt_len("",0))))||is_error_pending()){
if(qbevent){evnt(18688);if(r)goto S_21714;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Expected .elementname",21));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18688);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18688);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND= 0 ;
if(!qbevent)break;evnt(18689);}while(r);
S_21719:;
if ((-(*_FUNC_UDTREFERENCE_LONG_I<*_FUNC_UDTREFERENCE_LONG_N))||is_error_pending()){
if(qbevent){evnt(18690);if(r)goto S_21719;}
S_21720:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(FUNC_GETELEMENT(_FUNC_UDTREFERENCE_STRING_A,&(pass3221=*_FUNC_UDTREFERENCE_LONG_I+ 1 )),qbs_new_txt_len("(",1))))||is_error_pending()){
if(qbevent){evnt(18691);if(r)goto S_21720;}
do{
*_FUNC_UDTREFERENCE_LONG_B2= 1 ;
if(!qbevent)break;evnt(18692);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND=*_FUNC_UDTREFERENCE_LONG_I+ 2 ;
if(!qbevent)break;evnt(18693);}while(r);
S_21723:;
while((-(*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND<=*_FUNC_UDTREFERENCE_LONG_N))||is_error_pending()){
if(qbevent){evnt(18694);if(r)goto S_21723;}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_L,FUNC_GETELEMENT(_FUNC_UDTREFERENCE_STRING_A,_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18695);}while(r);
S_21725:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTREFERENCE_STRING_L,qbs_new_txt_len("(",1))))||is_error_pending()){
if(qbevent){evnt(18696);if(r)goto S_21725;}
do{
*_FUNC_UDTREFERENCE_LONG_B2=*_FUNC_UDTREFERENCE_LONG_B2+ 1 ;
if(!qbevent)break;evnt(18696);}while(r);
}
S_21728:;
if ((qbs_cleanup(qbs_tmp_base,qbs_equal(_FUNC_UDTREFERENCE_STRING_L,qbs_new_txt_len(")",1))))||is_error_pending()){
if(qbevent){evnt(18697);if(r)goto S_21728;}
do{
*_FUNC_UDTREFERENCE_LONG_B2=*_FUNC_UDTREFERENCE_LONG_B2- 1 ;
if(!qbevent)break;evnt(18698);}while(r);
S_21730:;
if ((-(*_FUNC_UDTREFERENCE_LONG_B2== 0 ))||is_error_pending()){
if(qbevent){evnt(18699);if(r)goto S_21730;}
do{
goto dl_exit_3222;
if(!qbevent)break;evnt(18699);}while(r);
}
}
do{
*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND=*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND+ 1 ;
if(!qbevent)break;evnt(18701);}while(r);
dl_continue_3222:;
}
dl_exit_3222:;
S_21736:;
if ((-(*_FUNC_UDTREFERENCE_LONG_B2!= 0 ))||is_error_pending()){
if(qbevent){evnt(18703);if(r)goto S_21736;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Expected )",10));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18703);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18703);}while(r);
}
}
}
LABEL_UDTFINDELE:;
if(qbevent){evnt(18706);r=0;}
S_21742:;
if ((-(*_FUNC_UDTREFERENCE_LONG_UDTELEM== 0 ))||is_error_pending()){
if(qbevent){evnt(18707);if(r)goto S_21742;}
do{
*_FUNC_UDTREFERENCE_LONG_UDTELEM=((int32*)(__ARRAY_LONG_UDTXNEXT[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_U)-__ARRAY_LONG_UDTXNEXT[4],__ARRAY_LONG_UDTXNEXT[5])];
if(!qbevent)break;evnt(18707);}while(r);
}else{
do{
*_FUNC_UDTREFERENCE_LONG_UDTELEM=((int32*)(__ARRAY_LONG_UDTENEXT[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTENEXT[4],__ARRAY_LONG_UDTENEXT[5])];
if(!qbevent)break;evnt(18707);}while(r);
}
S_21747:;
if ((-(*_FUNC_UDTREFERENCE_LONG_UDTELEM== 0 ))||is_error_pending()){
if(qbevent){evnt(18708);if(r)goto S_21747;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Element not defined",19));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18708);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18708);}while(r);
}
S_21751:;
if ((*_FUNC_UDTREFERENCE_LONG_DYNLAYOUT)||is_error_pending()){
if(qbevent){evnt(18714);if(r)goto S_21751;}
do{
*_FUNC_UDTREFERENCE_LONG_O=*_FUNC_UDTREFERENCE_LONG_LEVEL_BASE_BITS+FUNC_UDTDYNMEMBEROFFSET(_FUNC_UDTREFERENCE_LONG_UDTELEM);
if(!qbevent)break;evnt(18714);}while(r);
}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_N2,qbs_rtrim(qbs_new_fixed(&((uint8*)(__ARRAY_STRING256_UDTENAME[0]))[(array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_STRING256_UDTENAME[4],__ARRAY_STRING256_UDTENAME[5]))*256],256,1)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18716);}while(r);
S_21755:;
if ((qbs_cleanup(qbs_tmp_base,qbs_notequal(_FUNC_UDTREFERENCE_STRING_N,_FUNC_UDTREFERENCE_STRING_N2)))||is_error_pending()){
if(qbevent){evnt(18718);if(r)goto S_21755;}
S_21756:;
if ((-(*_FUNC_UDTREFERENCE_LONG_DYNLAYOUT== 0 ))||is_error_pending()){
if(qbevent){evnt(18719);if(r)goto S_21756;}
do{
*_FUNC_UDTREFERENCE_LONG_O=*_FUNC_UDTREFERENCE_LONG_O+((int32*)(__ARRAY_LONG_UDTESIZE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTESIZE[4],__ARRAY_LONG_UDTESIZE[5])];
if(!qbevent)break;evnt(18719);}while(r);
}
do{
goto LABEL_UDTFINDELE;
if(!qbevent)break;evnt(18720);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_MATCHED_MEMBER_ID=*_FUNC_UDTREFERENCE_LONG_UDTELEM;
if(!qbevent)break;evnt(18723);}while(r);
S_21762:;
if ((qbs_cleanup(qbs_tmp_base,_FUNC_UDTREFERENCE_STRING_NSYM->len))||is_error_pending()){
if(qbevent){evnt(18726);if(r)goto S_21762;}
S_21763:;
if ((((int32*)(__ARRAY_LONG_UDTETYPE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTETYPE[4],__ARRAY_LONG_UDTETYPE[5])]&*__LONG_ISUDT)||is_error_pending()){
if(qbevent){evnt(18728);if(r)goto S_21763;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Invalid symbol after user defined type",38));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18728);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18728);}while(r);
}
S_21767:;
if (((-(*_FUNC_UDTREFERENCE_LONG_NTYP!=((int32*)(__ARRAY_LONG_UDTETYPE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTETYPE[4],__ARRAY_LONG_UDTETYPE[5])]))|(-(*_FUNC_UDTREFERENCE_LONG_NTYPSIZE!=((int32*)(__ARRAY_LONG_UDTETYPESIZE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTETYPESIZE[4],__ARRAY_LONG_UDTETYPESIZE[5])])))||is_error_pending()){
if(qbevent){evnt(18729);if(r)goto S_21767;}
S_21768:;
if ((qbs_cleanup(qbs_tmp_base,(qbs_equal(_FUNC_UDTREFERENCE_STRING_NSYM,qbs_new_txt_len("$",1)))&((-((((int32*)(__ARRAY_LONG_UDTETYPE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTETYPE[4],__ARRAY_LONG_UDTETYPE[5])]&*__LONG_ISFIXEDLENGTH)!= 0 )))))||is_error_pending()){
if(qbevent){evnt(18730);if(r)goto S_21768;}
do{
goto LABEL_CORRECTSYMBOL;
if(!qbevent)break;evnt(18730);}while(r);
}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Incorrect symbol after element name",35));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18731);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18731);}while(r);
}
}
LABEL_CORRECTSYMBOL:;
if(qbevent){evnt(18734);r=0;}
S_21775:;
if ((((int32*)(__ARRAY_LONG_UDTEARRAYELEMENTS[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTEARRAYELEMENTS[4],__ARRAY_LONG_UDTEARRAYELEMENTS[5])])||is_error_pending()){
if(qbevent){evnt(18736);if(r)goto S_21775;}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_MEMBERINDEXES,qbs_new_txt_len("",0));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18737);}while(r);
S_21777:;
if ((*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND)||is_error_pending()){
if(qbevent){evnt(18738);if(r)goto S_21777;}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_MEMBERINDEXES,FUNC_GETELEMENTS(_FUNC_UDTREFERENCE_STRING_A,&(pass3224=*_FUNC_UDTREFERENCE_LONG_I+ 2 ),&(pass3225=*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND- 1 )));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18738);}while(r);
}
S_21780:;
if ((qbs_cleanup(qbs_tmp_base,(-(*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND== 0 ))|(qbs_equal(_FUNC_UDTREFERENCE_STRING_MEMBERINDEXES,qbs_new_txt_len("",0)))))||is_error_pending()){
if(qbevent){evnt(18745);if(r)goto S_21780;}
S_21781:;
if ((-(*__INTEGER_UDT_ALLOW_BARE_ARRAY== 0 ))||is_error_pending()){
if(qbevent){evnt(18746);if(r)goto S_21781;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Expected array index",20));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18746);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18746);}while(r);
}
S_21785:;
if ((*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND)||is_error_pending()){
if(qbevent){evnt(18747);if(r)goto S_21785;}
do{
*_FUNC_UDTREFERENCE_LONG_I=*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND;
if(!qbevent)break;evnt(18747);}while(r);
}
S_21788:;
if ((-(*_FUNC_UDTREFERENCE_LONG_I!=*_FUNC_UDTREFERENCE_LONG_N))||is_error_pending()){
if(qbevent){evnt(18748);if(r)goto S_21788;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Expected array index",20));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18748);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18748);}while(r);
}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_R,qbs_add(qbs_add(qbs_add(qbs_add(_FUNC_UDTREFERENCE_STRING_R,qbs__tostr((int32)(*_FUNC_UDTREFERENCE_LONG_U),NULL,0)),__STRING1_SP3),qbs__tostr((int32)(*_FUNC_UDTREFERENCE_LONG_UDTELEM),NULL,0)),__STRING1_SP3));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18750);}while(r);
S_21793:;
if ((qb_safe_mod(*_FUNC_UDTREFERENCE_LONG_O, 8 ))||is_error_pending()){
if(qbevent){evnt(18752);if(r)goto S_21793;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Non-byte aligned user defined type",34));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18752);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18752);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_O=qb_safe_idiv(*_FUNC_UDTREFERENCE_LONG_O, 8 );
if(!qbevent)break;evnt(18753);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_O,qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("(",1),_FUNC_UDTREFERENCE_STRING_O),qbs_new_txt_len("+",1)),qbs__tostr((int32)(*_FUNC_UDTREFERENCE_LONG_O),NULL,0)),qbs_new_txt_len(")",1)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18755);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_R,qbs_add(_FUNC_UDTREFERENCE_STRING_R,_FUNC_UDTREFERENCE_STRING_O));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18757);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_UDTREFERENCE,_FUNC_UDTREFERENCE_STRING_R);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18758);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_TYP=((int32*)(__ARRAY_LONG_UDTETYPE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTETYPE[4],__ARRAY_LONG_UDTETYPE[5])]+*__LONG_ISREFERENCE+*__LONG_ISARRAY;
if(!qbevent)break;evnt(18759);}while(r);
S_21802:;
if ((*_FUNC_UDTREFERENCE_LONG_INCMEM)||is_error_pending()){
if(qbevent){evnt(18760);if(r)goto S_21802;}
do{
*_FUNC_UDTREFERENCE_LONG_TYP=*_FUNC_UDTREFERENCE_LONG_TYP+*__LONG_ISINCONVENTIONALMEMORY;
if(!qbevent)break;evnt(18760);}while(r);
}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18761);}while(r);
}
S_21807:;
if ((*_FUNC_UDTREFERENCE_LONG_DYNLAYOUT&FUNC_UDTMEMBERDYNDESC(_FUNC_UDTREFERENCE_LONG_UDTELEM))||is_error_pending()){
if(qbevent){evnt(18764);if(r)goto S_21807;}
S_21808:;
if ((qb_safe_mod(*_FUNC_UDTREFERENCE_LONG_O, 8 ))||is_error_pending()){
if(qbevent){evnt(18765);if(r)goto S_21808;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Non-byte aligned user defined type",34));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18765);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18765);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_MEMBER_OFFSET_BYTES=qb_safe_idiv(*_FUNC_UDTREFERENCE_LONG_O, 8 );
if(!qbevent)break;evnt(18766);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_MEMBER_BYTES=FUNC_UDT_DYN_ARRAY_ELEM_BYTES(_FUNC_UDTREFERENCE_LONG_UDTELEM);
if(!qbevent)break;evnt(18767);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_BASE_PTR,_FUNC_UDTREFERENCE_STRING_ROOT_BASE_PTR);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18769);}while(r);
S_21815:;
if (((-(*(int32*)(((char*)__UDT_ID)+((0+540)))== 0 ))&*__LONG_CHECKINGON)||is_error_pending()){
if(qbevent){evnt(18770);if(r)goto S_21815;}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_GUARD_DESC,qbs_add(qbs_add(FUNC_SCOPE(),qbs_new_txt_len("ARRAY_UDT_",10)),qbs_rtrim(qbs_new_fixed((((uint8*)__UDT_ID)+((0+0))),256,1))));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18771);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_GUARD_UDT=*(int32*)(((char*)__UDT_ID)+((0+512)))& 4095ll ;
if(!qbevent)break;evnt(18772);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_GUARD_MODE=*(int16*)(((char*)__UDT_ID)+((0+522)));
if(!qbevent)break;evnt(18773);}while(r);
S_21819:;
if ((-(*_FUNC_UDTREFERENCE_LONG_GUARD_MODE== 0 ))||is_error_pending()){
if(qbevent){evnt(18774);if(r)goto S_21819;}
do{
*_FUNC_UDTREFERENCE_LONG_GUARD_MODE=*(int16*)(((char*)__UDT_ID)+((0+520)));
if(!qbevent)break;evnt(18774);}while(r);
}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_BASE_PTR,qbs_add(qbs_add(qbs_new_txt_len("((char*)",8),FUNC_UDTROOTDATAGUARD(_FUNC_UDTREFERENCE_STRING_GUARD_DESC,_FUNC_UDTREFERENCE_LONG_GUARD_UDT,_FUNC_UDTREFERENCE_LONG_GUARD_MODE)),qbs_new_txt_len(")",1)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18775);}while(r);
S_21823:;
if ((*__LONG_ERROR_HAPPENED)||is_error_pending()){
if(qbevent){evnt(18776);if(r)goto S_21823;}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18776);}while(r);
}
}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_DESC_EXPR,qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("(*((ptrszint**)(",16),_FUNC_UDTREFERENCE_STRING_BASE_PTR),qbs_new_txt_len("+(",2)),_FUNC_UDTREFERENCE_STRING_O),qbs_new_txt_len("+",1)),qbs__tostr((int32)(*_FUNC_UDTREFERENCE_LONG_MEMBER_OFFSET_BYTES),NULL,0)),qbs_new_txt_len("))))",4)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18779);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_ACTUAL_MEMBER_DIMS=FUNC_DYNMEMBERINDEXDIMS(_FUNC_UDTREFERENCE_STRING_MEMBERINDEXES);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18780);}while(r);
S_21829:;
if ((-(*_FUNC_UDTREFERENCE_LONG_ACTUAL_MEMBER_DIMS<= 0 ))||is_error_pending()){
if(qbevent){evnt(18781);if(r)goto S_21829;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Array index missing",19));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18781);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18781);}while(r);
}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_DESC_EXPR,FUNC_UDTDYNARRAYDESCGUARD(_FUNC_UDTREFERENCE_STRING_DESC_EXPR,_FUNC_UDTREFERENCE_LONG_ACTUAL_MEMBER_DIMS));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18782);}while(r);
S_21834:;
if ((*__LONG_ERROR_HAPPENED)||is_error_pending()){
if(qbevent){evnt(18783);if(r)goto S_21834;}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18783);}while(r);
}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_ARR_INDEX,FUNC_UDTDYNARRAYINDEXEXPR(_FUNC_UDTREFERENCE_STRING_MEMBERINDEXES,_FUNC_UDTREFERENCE_LONG_ACTUAL_MEMBER_DIMS,_FUNC_UDTREFERENCE_STRING_DESC_EXPR));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18784);}while(r);
S_21838:;
if ((*__LONG_ERROR_HAPPENED)||is_error_pending()){
if(qbevent){evnt(18785);if(r)goto S_21838;}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18785);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_UDTELEM=*_FUNC_UDTREFERENCE_LONG_MATCHED_MEMBER_ID;
if(!qbevent)break;evnt(18786);}while(r);
do{
qbs_set(__STRING_DYNMEMLOCKEXPR,qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("(mem_lock*)(",12),_FUNC_UDTREFERENCE_STRING_DESC_EXPR),qbs_new_txt_len("[",1)),_FUNC_UDTREFERENCE_STRING_DESC_EXPR),qbs_new_txt_len("[3]*4+4])",9)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18787);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_DYN_OFFSET,qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("((ptrszint)(((char*)",20),_FUNC_UDTREFERENCE_STRING_DESC_EXPR),qbs_new_txt_len("[0])+(",6)),_FUNC_UDTREFERENCE_STRING_ARR_INDEX),qbs_new_txt_len(")*",2)),qbs__tostr((int32)(*_FUNC_UDTREFERENCE_LONG_MEMBER_BYTES),NULL,0)),qbs_new_txt_len(")-(ptrszint)",12)),_FUNC_UDTREFERENCE_STRING_BASE_PTR),qbs_new_txt_len(")",1)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18788);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_O,_FUNC_UDTREFERENCE_STRING_DYN_OFFSET);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18789);}while(r);
}else{
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_ARRINDEX,FUNC_UDTARRAYINDEXEXPR(_FUNC_UDTREFERENCE_STRING_MEMBERINDEXES,(&(((int32*)(__ARRAY_LONG_UDTEARRAYDIMS[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTEARRAYDIMS[4],__ARRAY_LONG_UDTEARRAYDIMS[5])])),((qbs*)(((uint64*)(__ARRAY_STRING_UDTEARRAYDESC[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_STRING_UDTEARRAYDESC[4],__ARRAY_STRING_UDTEARRAYDESC[5])]))));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18791);}while(r);
S_21847:;
if ((*__LONG_ERROR_HAPPENED)||is_error_pending()){
if(qbevent){evnt(18792);if(r)goto S_21847;}
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18792);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_UDTELEM=*_FUNC_UDTREFERENCE_LONG_MATCHED_MEMBER_ID;
if(!qbevent)break;evnt(18793);}while(r);
S_21851:;
if ((qb_safe_mod(*_FUNC_UDTREFERENCE_LONG_O, 8 ))||is_error_pending()){
if(qbevent){evnt(18794);if(r)goto S_21851;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Non-byte aligned user defined type",34));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18794);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18794);}while(r);
}
S_21855:;
if ((*_FUNC_UDTREFERENCE_LONG_DYNLAYOUT)||is_error_pending()){
if(qbevent){evnt(18795);if(r)goto S_21855;}
do{
*_FUNC_UDTREFERENCE_LONG_ARRBYTES=FUNC_UDTDYNINLINEELEMBYTES(_FUNC_UDTREFERENCE_LONG_MATCHED_MEMBER_ID,&(pass3226=*(int16*)(((char*)__UDT_ID)+((0+522)))));
if(!qbevent)break;evnt(18796);}while(r);
}else{
do{
*_FUNC_UDTREFERENCE_LONG_ARRBYTES=qb_safe_idiv((qb_safe_idiv(((int32*)(__ARRAY_LONG_UDTESIZE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_MATCHED_MEMBER_ID)-__ARRAY_LONG_UDTESIZE[4],__ARRAY_LONG_UDTESIZE[5])], 8 )),((int32*)(__ARRAY_LONG_UDTEARRAYELEMENTS[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_MATCHED_MEMBER_ID)-__ARRAY_LONG_UDTEARRAYELEMENTS[4],__ARRAY_LONG_UDTEARRAYELEMENTS[5])]);
if(!qbevent)break;evnt(18798);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_O=qb_safe_idiv(*_FUNC_UDTREFERENCE_LONG_O, 8 );
if(!qbevent)break;evnt(18800);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_O,qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("(",1),_FUNC_UDTREFERENCE_STRING_O),qbs_new_txt_len("+",1)),qbs__tostr((int32)(*_FUNC_UDTREFERENCE_LONG_O),NULL,0)),qbs_new_txt_len(")",1)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18802);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_O,qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("(",1),_FUNC_UDTREFERENCE_STRING_O),qbs_new_txt_len("+((",3)),_FUNC_UDTREFERENCE_STRING_ARRINDEX),qbs_new_txt_len(")*",2)),qbs__tostr((int32)(*_FUNC_UDTREFERENCE_LONG_ARRBYTES),NULL,0)),qbs_new_txt_len("))",2)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18803);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_UDTELEM=*_FUNC_UDTREFERENCE_LONG_MATCHED_MEMBER_ID;
if(!qbevent)break;evnt(18806);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_O= 0 ;
if(!qbevent)break;evnt(18807);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_I=*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND;
if(!qbevent)break;evnt(18808);}while(r);
S_21867:;
}else{
if (*_FUNC_UDTREFERENCE_LONG_MEMBERARRAYEND){
if(qbevent){evnt(18809);if(r)goto S_21867;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Element is not an array",23));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18810);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18810);}while(r);
}
}
S_21871:;
if ((-(*_FUNC_UDTREFERENCE_LONG_I!=*_FUNC_UDTREFERENCE_LONG_N))||is_error_pending()){
if(qbevent){evnt(18814);if(r)goto S_21871;}
S_21872:;
if ((-((((int32*)(__ARRAY_LONG_UDTETYPE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTETYPE[4],__ARRAY_LONG_UDTETYPE[5])]&*__LONG_ISUDT)== 0 ))||is_error_pending()){
if(qbevent){evnt(18815);if(r)goto S_21872;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Expected user defined type",26));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18815);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18815);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_U=((int32*)(__ARRAY_LONG_UDTETYPE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTETYPE[4],__ARRAY_LONG_UDTETYPE[5])]& 4095ll ;
if(!qbevent)break;evnt(18816);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_UDTELEM= 0 ;
if(!qbevent)break;evnt(18817);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_I=*_FUNC_UDTREFERENCE_LONG_I+ 1 ;
if(!qbevent)break;evnt(18818);}while(r);
do{
goto LABEL_UDTFINDELENEXT;
if(!qbevent)break;evnt(18819);}while(r);
}
S_21881:;
if ((((int32*)(__ARRAY_LONG_UDTETYPE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTETYPE[4],__ARRAY_LONG_UDTETYPE[5])]&*__LONG_ISUDT)||is_error_pending()){
if(qbevent){evnt(18823);if(r)goto S_21881;}
do{
*_FUNC_UDTREFERENCE_LONG_U=((int32*)(__ARRAY_LONG_UDTETYPE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTETYPE[4],__ARRAY_LONG_UDTETYPE[5])]& 4095ll ;
if(!qbevent)break;evnt(18824);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_UDTELEM= 0 ;
if(!qbevent)break;evnt(18825);}while(r);
}
LABEL_FULLUDT:;
if(qbevent){evnt(18828);r=0;}
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_R,qbs_add(qbs_add(qbs_add(qbs_add(_FUNC_UDTREFERENCE_STRING_R,qbs__tostr((int32)(*_FUNC_UDTREFERENCE_LONG_U),NULL,0)),__STRING1_SP3),qbs__tostr((int32)(*_FUNC_UDTREFERENCE_LONG_UDTELEM),NULL,0)),__STRING1_SP3));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18830);}while(r);
S_21886:;
if ((qb_safe_mod(*_FUNC_UDTREFERENCE_LONG_O, 8 ))||is_error_pending()){
if(qbevent){evnt(18832);if(r)goto S_21886;}
do{
SUB_GIVE_ERROR(qbs_new_txt_len("Non-byte aligned user defined type",34));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18832);}while(r);
do{
goto exit_subfunc;
if(!qbevent)break;evnt(18832);}while(r);
}
do{
*_FUNC_UDTREFERENCE_LONG_O=qb_safe_idiv(*_FUNC_UDTREFERENCE_LONG_O, 8 );
if(!qbevent)break;evnt(18833);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_O,qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("(",1),_FUNC_UDTREFERENCE_STRING_O),qbs_new_txt_len("+",1)),qbs__tostr((int32)(*_FUNC_UDTREFERENCE_LONG_O),NULL,0)),qbs_new_txt_len(")",1)));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18835);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_R,qbs_add(_FUNC_UDTREFERENCE_STRING_R,_FUNC_UDTREFERENCE_STRING_O));
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18837);}while(r);
do{
qbs_set(_FUNC_UDTREFERENCE_STRING_UDTREFERENCE,_FUNC_UDTREFERENCE_STRING_R);
qbs_cleanup(qbs_tmp_base,0);
if(!qbevent)break;evnt(18839);}while(r);
do{
*_FUNC_UDTREFERENCE_LONG_TYP=((int32*)(__ARRAY_LONG_UDTETYPE[0]))[array_check((*_FUNC_UDTREFERENCE_LONG_UDTELEM)-__ARRAY_LONG_UDTETYPE[4],__ARRAY_LONG_UDTETYPE[5])]+*__LONG_ISUDT+*__LONG_ISREFERENCE;
if(!qbevent)break;evnt(18840);}while(r);
S_21895:;
if ((-(*_FUNC_UDTREFERENCE_LONG_UDTELEM== 0 ))||is_error_pending()){
if(qbevent){evnt(18843);if(r)goto S_21895;}
do{
*_FUNC_UDTREFERENCE_LONG_TYP=*_FUNC_UDTREFERENCE_LONG_U+*__LONG_ISUDT+*__LONG_ISREFERENCE;
if(!qbevent)break;evnt(18844);}while(r);
}
S_21898:;
if ((qbs_cleanup(qbs_tmp_base,qbs_notequal(_FUNC_UDTREFERENCE_STRING_OBAK,qbs_new_txt_len("",0))))||is_error_pending()){
if(qbevent){evnt(18847);if(r)goto S_21898;}
do{
*_FUNC_UDTREFERENCE_LONG_TYP=*_FUNC_UDTREFERENCE_LONG_TYP+*__LONG_ISARRAY;
if(!qbevent)break;evnt(18847);}while(r);
}
S_21901:;
if ((*_FUNC_UDTREFERENCE_LONG_INCMEM)||is_error_pending()){
if(qbevent){evnt(18848);if(r)goto S_21901;}
do{
*_FUNC_UDTREFERENCE_LONG_TYP=*_FUNC_UDTREFERENCE_LONG_TYP+*__LONG_ISINCONVENTIONALMEMORY;
if(!qbevent)break;evnt(18848);}while(r);
}
exit_subfunc:;
free_mem_lock(sf_mem_lock);
#include "free53.txt"
if ((tmp_mem_static_pointer>=mem_static)&&(tmp_mem_static_pointer<=mem_static_limit)) mem_static_pointer=tmp_mem_static_pointer; else mem_static_pointer=mem_static;
cmem_sp=tmp_cmem_sp;
qbs_maketmp(_FUNC_UDTREFERENCE_STRING_UDTREFERENCE);return _FUNC_UDTREFERENCE_STRING_UDTREFERENCE;
}
