#line 883 "utilities/arrcpy.bm"
void SUB_EMITARRAYCOPYRANGEWHOLEND(qbs*_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_SRC_REF,qbs*_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_SRC_RANGE_LIST,qbs*_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_DST_REF){
#line 883 "utilities/arrcpy.bm"
qbs *tqbs;
#line 883 "utilities/arrcpy.bm"
ptrszint tmp_long;
#line 883 "utilities/arrcpy.bm"
int32 tmp_fileno;
#line 883 "utilities/arrcpy.bm"
uint32 qbs_tmp_base=qbs_tmp_list_nexti;
#line 883 "utilities/arrcpy.bm"
uint8 *tmp_mem_static_pointer=mem_static_pointer;
#line 883 "utilities/arrcpy.bm"
uint32 tmp_cmem_sp=cmem_sp;
#line 883 "utilities/arrcpy.bm"
#include "data138.txt"
#line 883 "utilities/arrcpy.bm"
mem_lock *sf_mem_lock;
#line 883 "utilities/arrcpy.bm"
new_mem_lock();
#line 883 "utilities/arrcpy.bm"
sf_mem_lock=mem_lock_tmp;
#line 883 "utilities/arrcpy.bm"
sf_mem_lock->type=3;
#line 883 "utilities/arrcpy.bm"
libqb_check_stack();
#line 883 "utilities/arrcpy.bm"
if (is_error_pending()) goto exit_subfunc;
#line 884 "utilities/arrcpy.bm"
do{
#line 884 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,884,"arrcpy.bm");}while(r);
#line 885 "utilities/arrcpy.bm"
do{
#line 885 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,885,"arrcpy.bm");}while(r);
#line 886 "utilities/arrcpy.bm"
do{
#line 886 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,886,"arrcpy.bm");}while(r);
#line 887 "utilities/arrcpy.bm"
do{
#line 887 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,887,"arrcpy.bm");}while(r);
#line 888 "utilities/arrcpy.bm"
do{
#line 888 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,888,"arrcpy.bm");}while(r);
#line 890 "utilities/arrcpy.bm"
do{
#line 890 "utilities/arrcpy.bm"
SUB_RESOLVEARRAYCOPYPAIREX(_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_SRC_REF,_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_DST_REF,_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_SRC_DESC,_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_SRC_PREP,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_TYPE,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_SIZE,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_DIMS,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_STRING_SLOT_MODE,_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_DST_DESC,_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_DST_PREP,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_DST_TYPE,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_DST_SIZE,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_DST_DIMS,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_DST_STRING_SLOT_MODE);
#line 890 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 890 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,890,"arrcpy.bm");}while(r);
#line 891 "utilities/arrcpy.bm"
S_38119:;
#line 891 "utilities/arrcpy.bm"
if ((*__LONG_ERROR_HAPPENED)||is_error_pending()){
#line 891 "utilities/arrcpy.bm"
if(qbevent){evnt(28798,891,"arrcpy.bm");if(r)goto S_38119;}
#line 891 "utilities/arrcpy.bm"
do{
#line 891 "utilities/arrcpy.bm"
goto exit_subfunc;
#line 891 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,891,"arrcpy.bm");}while(r);
#line 891 "utilities/arrcpy.bm"
}
#line 893 "utilities/arrcpy.bm"
do{
#line 893 "utilities/arrcpy.bm"
SUB_CHECKARRAYCOPYRANGENDPAIR(_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_TYPE,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_SIZE,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_DIMS,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_STRING_SLOT_MODE,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_DST_TYPE,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_DST_SIZE,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_DST_DIMS,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_DST_STRING_SLOT_MODE,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_ELEMENT_BYTES,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_VAR_STRING_COPY);
#line 893 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,893,"arrcpy.bm");}while(r);
#line 894 "utilities/arrcpy.bm"
S_38123:;
#line 894 "utilities/arrcpy.bm"
if ((*__LONG_ERROR_HAPPENED)||is_error_pending()){
#line 894 "utilities/arrcpy.bm"
if(qbevent){evnt(28798,894,"arrcpy.bm");if(r)goto S_38123;}
#line 894 "utilities/arrcpy.bm"
do{
#line 894 "utilities/arrcpy.bm"
goto exit_subfunc;
#line 894 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,894,"arrcpy.bm");}while(r);
#line 894 "utilities/arrcpy.bm"
}
#line 896 "utilities/arrcpy.bm"
S_38126:;
#line 896 "utilities/arrcpy.bm"
if ((-(*_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_DIMS<= 1 ))||is_error_pending()){
#line 896 "utilities/arrcpy.bm"
if(qbevent){evnt(28798,896,"arrcpy.bm");if(r)goto S_38126;}
#line 897 "utilities/arrcpy.bm"
do{
#line 897 "utilities/arrcpy.bm"
SUB_GIVE_ERROR(qbs_new_txt_len("_ArrayCopy multidimensional source ranges require at least two dimensions",73));
#line 897 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 897 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,897,"arrcpy.bm");}while(r);
#line 898 "utilities/arrcpy.bm"
do{
#line 898 "utilities/arrcpy.bm"
goto exit_subfunc;
#line 898 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,898,"arrcpy.bm");}while(r);
#line 899 "utilities/arrcpy.bm"
}
#line 901 "utilities/arrcpy.bm"
do{
#line 901 "utilities/arrcpy.bm"
SUB_PARSEARRAYCOPYSOURCERANGES(_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_SRC_RANGE_LIST,_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_DIMS,_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_LOW_INIT,_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_HIGH_INIT);
#line 901 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 901 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,901,"arrcpy.bm");}while(r);
#line 902 "utilities/arrcpy.bm"
S_38131:;
#line 902 "utilities/arrcpy.bm"
if ((*__LONG_ERROR_HAPPENED)||is_error_pending()){
#line 902 "utilities/arrcpy.bm"
if(qbevent){evnt(28798,902,"arrcpy.bm");if(r)goto S_38131;}
#line 902 "utilities/arrcpy.bm"
do{
#line 902 "utilities/arrcpy.bm"
goto exit_subfunc;
#line 902 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,902,"arrcpy.bm");}while(r);
#line 902 "utilities/arrcpy.bm"
}
#line 908 "utilities/arrcpy.bm"
do{
#line 908 "utilities/arrcpy.bm"
SUB_WRITEBUFLINECPP(__LONG_MAINTXTBUF,qbs_new_txt_len("{",1));
#line 908 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 908 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,908,"arrcpy.bm");}while(r);
#line 909 "utilities/arrcpy.bm"
S_38135:;
#line 909 "utilities/arrcpy.bm"
if ((qbs_cleanup(qbs_tmp_base,qbs_notequal(_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_SRC_PREP,qbs_new_txt_len("",0))))||is_error_pending()){
#line 909 "utilities/arrcpy.bm"
if(qbevent){evnt(28798,909,"arrcpy.bm");if(r)goto S_38135;}
#line 909 "utilities/arrcpy.bm"
do{
#line 909 "utilities/arrcpy.bm"
SUB_WRITEBUFRAWDATA(&(pass3664=*__LONG_MAINTXTBUF),_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_SRC_PREP);
#line 909 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 909 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,909,"arrcpy.bm");}while(r);
#line 909 "utilities/arrcpy.bm"
}
#line 910 "utilities/arrcpy.bm"
S_38138:;
#line 910 "utilities/arrcpy.bm"
if ((qbs_cleanup(qbs_tmp_base,qbs_notequal(_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_DST_PREP,qbs_new_txt_len("",0))))||is_error_pending()){
#line 910 "utilities/arrcpy.bm"
if(qbevent){evnt(28798,910,"arrcpy.bm");if(r)goto S_38138;}
#line 910 "utilities/arrcpy.bm"
do{
#line 910 "utilities/arrcpy.bm"
SUB_WRITEBUFRAWDATA(&(pass3665=*__LONG_MAINTXTBUF),_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_DST_PREP);
#line 910 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 910 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,910,"arrcpy.bm");}while(r);
#line 910 "utilities/arrcpy.bm"
}
#line 911 "utilities/arrcpy.bm"
do{
#line 911 "utilities/arrcpy.bm"
SUB_WRITEBUFLINECPP(__LONG_MAINTXTBUF,qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("int64 array_copy_src_low[",25),qbs__tostr((int32)(*_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_DIMS),NULL,0)),qbs_new_txt_len("]={",3)),_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_LOW_INIT),qbs_new_txt_len("};",2)));
#line 911 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 911 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,911,"arrcpy.bm");}while(r);
#line 912 "utilities/arrcpy.bm"
do{
#line 912 "utilities/arrcpy.bm"
SUB_WRITEBUFLINECPP(__LONG_MAINTXTBUF,qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("int64 array_copy_src_high[",26),qbs__tostr((int32)(*_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_DIMS),NULL,0)),qbs_new_txt_len("]={",3)),_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_HIGH_INIT),qbs_new_txt_len("};",2)));
#line 912 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 912 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,912,"arrcpy.bm");}while(r);
#line 913 "utilities/arrcpy.bm"
do{
#line 913 "utilities/arrcpy.bm"
SUB_WRITEBUFLINECPP(__LONG_MAINTXTBUF,qbs_add(qbs_add(qbs_new_txt_len("ptrszint *array_copy_src=",25),_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_SRC_DESC),qbs_new_txt_len(";",1)));
#line 913 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 913 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,913,"arrcpy.bm");}while(r);
#line 914 "utilities/arrcpy.bm"
do{
#line 914 "utilities/arrcpy.bm"
SUB_WRITEBUFLINECPP(__LONG_MAINTXTBUF,qbs_add(qbs_add(qbs_new_txt_len("ptrszint *array_copy_dst=",25),_SUB_EMITARRAYCOPYRANGEWHOLEND_STRING_DST_DESC),qbs_new_txt_len(";",1)));
#line 914 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 914 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,914,"arrcpy.bm");}while(r);
#line 915 "utilities/arrcpy.bm"
S_38145:;
#line 915 "utilities/arrcpy.bm"
if ((*_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_VAR_STRING_COPY)||is_error_pending()){
#line 915 "utilities/arrcpy.bm"
if(qbevent){evnt(28798,915,"arrcpy.bm");if(r)goto S_38145;}
#line 916 "utilities/arrcpy.bm"
do{
#line 916 "utilities/arrcpy.bm"
SUB_WRITEBUFLINECPP(__LONG_MAINTXTBUF,qbs_add(qbs_add(qbs_new_txt_len("qb64_array_copy_nd_range_at_string(array_copy_src,array_copy_dst,",65),qbs__tostr((int32)(*_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_DIMS),NULL,0)),qbs_new_txt_len(",array_copy_src_low,array_copy_src_high,array_copy_src_low);",60)));
#line 916 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 916 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,916,"arrcpy.bm");}while(r);
#line 917 "utilities/arrcpy.bm"
}else{
#line 918 "utilities/arrcpy.bm"
do{
#line 918 "utilities/arrcpy.bm"
SUB_WRITEBUFLINECPP(__LONG_MAINTXTBUF,qbs_add(qbs_add(qbs_add(qbs_add(qbs_new_txt_len("qb64_array_copy_nd_range_at_fixed(array_copy_src,array_copy_dst,",64),qbs__tostr((int32)(*_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_SRC_DIMS),NULL,0)),qbs_new_txt_len(",array_copy_src_low,array_copy_src_high,array_copy_src_low,(uint64)",67)),qbs__tostr((int32)(*_SUB_EMITARRAYCOPYRANGEWHOLEND_LONG_ELEMENT_BYTES),NULL,0)),qbs_new_txt_len(");",2)));
#line 918 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 918 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,918,"arrcpy.bm");}while(r);
#line 919 "utilities/arrcpy.bm"
}
#line 920 "utilities/arrcpy.bm"
do{
#line 920 "utilities/arrcpy.bm"
SUB_WRITEBUFLINECPP(__LONG_MAINTXTBUF,qbs_new_txt_len("}",1));
#line 920 "utilities/arrcpy.bm"
qbs_cleanup(qbs_tmp_base,0);
#line 920 "utilities/arrcpy.bm"
if(!qbevent)break;evnt(28798,920,"arrcpy.bm");}while(r);
#line 921 "utilities/arrcpy.bm"
exit_subfunc:;
#line 921 "utilities/arrcpy.bm"
free_mem_lock(sf_mem_lock);
#line 921 "utilities/arrcpy.bm"
#include "free138.txt"
#line 921 "utilities/arrcpy.bm"
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;
#line 921 "utilities/arrcpy.bm"
cmem_sp=tmp_cmem_sp;
#line 921 "utilities/arrcpy.bm"
}
