csources_v2/c_code/5_12/@m..@slib@sstd@seditdistance.nim.c
2022-12-16 10:54:01 +08:00

1541 lines
56 KiB
C

/* Generated by Nim Compiler v1.9.0 */
#define NIM_INTBITS 32
#include "nimbase.h"
#undef LANGUAGE_C
#undef MIPSEB
#undef MIPSEL
#undef PPC
#undef R3000
#undef R4000
#undef i386
#undef linux
#undef mips
#undef near
#undef far
#undef powerpc
#undef unix
#define nimfr_(x, y)
#define nimln_(x, y)
typedef struct NimStrPayload NimStrPayload;
typedef struct NimStringV2 NimStringV2;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g tySequence__qwqHTkRvwhrRyENtudHQ7g;
typedef struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content tySequence__qwqHTkRvwhrRyENtudHQ7g_Content;
struct NimStrPayload {
NI cap;
NIM_CHAR data[SEQ_DECL_SIZE];
};
struct NimStringV2 {
NI len;
NimStrPayload* p;
};
struct tySequence__qwqHTkRvwhrRyENtudHQ7g {
NI len; tySequence__qwqHTkRvwhrRyENtudHQ7g_Content* p;
};
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
#endif
#ifndef tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
#define tySequence__qwqHTkRvwhrRyENtudHQ7g_Content_PP
struct tySequence__qwqHTkRvwhrRyENtudHQ7g_Content { NI cap; NI data[SEQ_DECL_SIZE];};
#endif
N_LIB_PRIVATE N_NIMCALL(NI, editDistance__stdZeditdistance_2)(NimStringV2 a, NimStringV2 b);
N_LIB_PRIVATE N_NIMCALL(void, eqdestroy___pureZosproc_403)(tySequence__qwqHTkRvwhrRyENtudHQ7g* dest);
N_LIB_PRIVATE N_NIMCALL(NIM_BOOL, eqeq___pureZunicode_1065)(NI32 a, NI32 b);
N_LIB_PRIVATE N_NIMCALL(void, newSeq__pureZosproc_302)(tySequence__qwqHTkRvwhrRyENtudHQ7g* s, NI len);
static N_INLINE(NI32, runeAt__pureZunicode_7222)(NimStringV2 s, NI i);
N_LIB_PRIVATE N_NIMCALL(NI, size__pureZunicode_5855)(NI32 r);
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void);
extern NIM_BOOL nimInErrorMode__system_3994;
static N_INLINE(NI32, runeAt__pureZunicode_7222)(NimStringV2 s, NI i) {
NI32 result;
result = (NI32)0;
{
if (!((NU32)(((NU) (((NU8)(s.p->data[i]))))) <= (NU32)(((NU)127)))) goto LA3_;
result = ((NI32) (((NU) (((NU8)(s.p->data[i]))))));
}
goto LA1_;
LA3_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(s.p->data[i]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA6_;
{
if (!(((NI) (i)) <= (NI)(s.len - ((NI)2)))) goto LA10_;
result = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[i])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)1))])))) & ((NU)63)))));
}
goto LA8_;
LA10_: ;
{
result = ((NI32)65533);
}
LA8_: ;
}
goto LA1_;
LA6_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(s.p->data[i]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA14_;
{
if (!(((NI) (i)) <= (NI)(s.len - ((NI)3)))) goto LA18_;
result = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[i])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)2))])))) & ((NU)63)))));
}
goto LA16_;
LA18_: ;
{
result = ((NI32)65533);
}
LA16_: ;
}
goto LA1_;
LA14_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(s.p->data[i]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA22_;
{
if (!(((NI) (i)) <= (NI)(s.len - ((NI)4)))) goto LA26_;
result = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[i])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)3))])))) & ((NU)63)))));
}
goto LA24_;
LA26_: ;
{
result = ((NI32)65533);
}
LA24_: ;
}
goto LA1_;
LA22_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(s.p->data[i]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA30_;
{
if (!(((NI) (i)) <= (NI)(s.len - ((NI)5)))) goto LA34_;
result = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[i])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)4))])))) & ((NU)63)))));
}
goto LA32_;
LA34_: ;
{
result = ((NI32)65533);
}
LA32_: ;
}
goto LA1_;
LA30_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(s.p->data[i]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA38_;
{
if (!(((NI) (i)) <= (NI)(s.len - ((NI)6)))) goto LA42_;
result = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[i])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(s.p->data[(NI)(((NI) (i)) + ((NI)5))])))) & ((NU)63)))));
}
goto LA40_;
LA42_: ;
{
result = ((NI32)65533);
}
LA40_: ;
}
goto LA1_;
LA38_: ;
{
result = ((NI32) (((NU) (((NU8)(s.p->data[i]))))));
}
LA1_: ;
return result;
}
static N_INLINE(NIM_BOOL*, nimErrorFlag)(void) {
NIM_BOOL* result;
result = (NIM_BOOL*)0;
result = (&nimInErrorMode__system_3994);
return result;
}
N_LIB_PRIVATE N_NIMCALL(NI, editDistance__stdZeditdistance_2)(NimStringV2 a, NimStringV2 b) {
NI result;
tySequence__qwqHTkRvwhrRyENtudHQ7g row;
NI iStart;
NI iNextA;
NI iNextB;
NI32 runeA;
NI32 runeB;
NI lenRunesA;
NI lenRunesB;
NI iEndA;
NI iEndB;
NI iCurrentA;
NI iCurrentB;
NI len1;
NI len2;
NI half;
NI e;
NI char2pI;
NI char2pPrev;
NIM_BOOL* nimErr_;
{nimErr_ = nimErrorFlag();
result = (NI)0;
row.len = 0; row.p = NIM_NIL;
{
if (!(b.len < a.len)) goto LA4_;
result = editDistance__stdZeditdistance_2(b, a);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
eqdestroy___pureZosproc_403((&row));
goto BeforeRet_;
}
LA4_: ;
iStart = ((NI)0);
iNextA = ((NI)0);
iNextB = ((NI)0);
runeA = (NI32)0;
runeB = (NI32)0;
lenRunesA = ((NI)0);
lenRunesB = ((NI)0);
{
{
while (1) {
if (!(iStart < a.len)) goto LA8 ;
iNextA = iStart;
{
if (!((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) <= (NU32)(((NU)127)))) goto LA11_;
runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA]))))));
iNextA += ((NI)1);
}
goto LA9_;
LA11_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA14_;
{
if (!(iNextA <= (NI)(a.len - ((NI)2)))) goto LA18_;
runeA = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63)))));
iNextA += ((NI)2);
}
goto LA16_;
LA18_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA16_: ;
}
goto LA9_;
LA14_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA22_;
{
if (!(iNextA <= (NI)(a.len - ((NI)3)))) goto LA26_;
runeA = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63)))));
iNextA += ((NI)3);
}
goto LA24_;
LA26_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA24_: ;
}
goto LA9_;
LA22_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA30_;
{
if (!(iNextA <= (NI)(a.len - ((NI)4)))) goto LA34_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63)))));
iNextA += ((NI)4);
}
goto LA32_;
LA34_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA32_: ;
}
goto LA9_;
LA30_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA38_;
{
if (!(iNextA <= (NI)(a.len - ((NI)5)))) goto LA42_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63)))));
iNextA += ((NI)5);
}
goto LA40_;
LA42_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA40_: ;
}
goto LA9_;
LA38_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA46_;
{
if (!(iNextA <= (NI)(a.len - ((NI)6)))) goto LA50_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)5))])))) & ((NU)63)))));
iNextA += ((NI)6);
}
goto LA48_;
LA50_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA48_: ;
}
goto LA9_;
LA46_: ;
{
runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA]))))));
iNextA += ((NI)1);
}
LA9_: ;
iNextB = iStart;
{
if (!((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) <= (NU32)(((NU)127)))) goto LA56_;
runeB = ((NI32) (((NU) (((NU8)(b.p->data[iNextB]))))));
iNextB += ((NI)1);
}
goto LA54_;
LA56_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA59_;
{
if (!(iNextB <= (NI)(b.len - ((NI)2)))) goto LA63_;
runeB = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63)))));
iNextB += ((NI)2);
}
goto LA61_;
LA63_: ;
{
runeB = ((NI32)65533);
iNextB += ((NI)1);
}
LA61_: ;
}
goto LA54_;
LA59_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA67_;
{
if (!(iNextB <= (NI)(b.len - ((NI)3)))) goto LA71_;
runeB = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63)))));
iNextB += ((NI)3);
}
goto LA69_;
LA71_: ;
{
runeB = ((NI32)65533);
iNextB += ((NI)1);
}
LA69_: ;
}
goto LA54_;
LA67_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA75_;
{
if (!(iNextB <= (NI)(b.len - ((NI)4)))) goto LA79_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63)))));
iNextB += ((NI)4);
}
goto LA77_;
LA79_: ;
{
runeB = ((NI32)65533);
iNextB += ((NI)1);
}
LA77_: ;
}
goto LA54_;
LA75_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA83_;
{
if (!(iNextB <= (NI)(b.len - ((NI)5)))) goto LA87_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)4))])))) & ((NU)63)))));
iNextB += ((NI)5);
}
goto LA85_;
LA87_: ;
{
runeB = ((NI32)65533);
iNextB += ((NI)1);
}
LA85_: ;
}
goto LA54_;
LA83_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA91_;
{
if (!(iNextB <= (NI)(b.len - ((NI)6)))) goto LA95_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)5))])))) & ((NU)63)))));
iNextB += ((NI)6);
}
goto LA93_;
LA95_: ;
{
runeB = ((NI32)65533);
iNextB += ((NI)1);
}
LA93_: ;
}
goto LA54_;
LA91_: ;
{
runeB = ((NI32) (((NU) (((NU8)(b.p->data[iNextB]))))));
iNextB += ((NI)1);
}
LA54_: ;
{
NIM_BOOL T101_;
T101_ = (NIM_BOOL)0;
T101_ = eqeq___pureZunicode_1065(runeA, runeB);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!!(T101_)) goto LA102_;
lenRunesA += ((NI)1);
lenRunesB += ((NI)1);
goto LA7;
}
LA102_: ;
iStart = iNextA;
} LA8: ;
} LA7: ;
}
iEndA = iNextA;
iEndB = iNextB;
iCurrentA = iNextA;
iCurrentB = iNextB;
{
NI addRunesA;
NI addRunesB;
addRunesA = ((NI)0);
addRunesB = ((NI)0);
{
while (1) {
NIM_BOOL T107_;
T107_ = (NIM_BOOL)0;
T107_ = (iCurrentA < a.len);
if (!(T107_)) goto LA108_;
T107_ = (iCurrentB < b.len);
LA108_: ;
if (!T107_) goto LA106 ;
iNextA = iCurrentA;
{
if (!((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) <= (NU32)(((NU)127)))) goto LA111_;
runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA]))))));
iNextA += ((NI)1);
}
goto LA109_;
LA111_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA114_;
{
if (!(iNextA <= (NI)(a.len - ((NI)2)))) goto LA118_;
runeA = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63)))));
iNextA += ((NI)2);
}
goto LA116_;
LA118_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA116_: ;
}
goto LA109_;
LA114_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA122_;
{
if (!(iNextA <= (NI)(a.len - ((NI)3)))) goto LA126_;
runeA = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63)))));
iNextA += ((NI)3);
}
goto LA124_;
LA126_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA124_: ;
}
goto LA109_;
LA122_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA130_;
{
if (!(iNextA <= (NI)(a.len - ((NI)4)))) goto LA134_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63)))));
iNextA += ((NI)4);
}
goto LA132_;
LA134_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA132_: ;
}
goto LA109_;
LA130_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA138_;
{
if (!(iNextA <= (NI)(a.len - ((NI)5)))) goto LA142_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63)))));
iNextA += ((NI)5);
}
goto LA140_;
LA142_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA140_: ;
}
goto LA109_;
LA138_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA146_;
{
if (!(iNextA <= (NI)(a.len - ((NI)6)))) goto LA150_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)5))])))) & ((NU)63)))));
iNextA += ((NI)6);
}
goto LA148_;
LA150_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA148_: ;
}
goto LA109_;
LA146_: ;
{
runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA]))))));
iNextA += ((NI)1);
}
LA109_: ;
iNextB = iCurrentB;
{
if (!((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) <= (NU32)(((NU)127)))) goto LA156_;
runeB = ((NI32) (((NU) (((NU8)(b.p->data[iNextB]))))));
iNextB += ((NI)1);
}
goto LA154_;
LA156_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA159_;
{
if (!(iNextB <= (NI)(b.len - ((NI)2)))) goto LA163_;
runeB = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63)))));
iNextB += ((NI)2);
}
goto LA161_;
LA163_: ;
{
runeB = ((NI32)65533);
iNextB += ((NI)1);
}
LA161_: ;
}
goto LA154_;
LA159_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA167_;
{
if (!(iNextB <= (NI)(b.len - ((NI)3)))) goto LA171_;
runeB = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63)))));
iNextB += ((NI)3);
}
goto LA169_;
LA171_: ;
{
runeB = ((NI32)65533);
iNextB += ((NI)1);
}
LA169_: ;
}
goto LA154_;
LA167_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA175_;
{
if (!(iNextB <= (NI)(b.len - ((NI)4)))) goto LA179_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63)))));
iNextB += ((NI)4);
}
goto LA177_;
LA179_: ;
{
runeB = ((NI32)65533);
iNextB += ((NI)1);
}
LA177_: ;
}
goto LA154_;
LA175_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA183_;
{
if (!(iNextB <= (NI)(b.len - ((NI)5)))) goto LA187_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)4))])))) & ((NU)63)))));
iNextB += ((NI)5);
}
goto LA185_;
LA187_: ;
{
runeB = ((NI32)65533);
iNextB += ((NI)1);
}
LA185_: ;
}
goto LA154_;
LA183_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iNextB]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA191_;
{
if (!(iNextB <= (NI)(b.len - ((NI)6)))) goto LA195_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iNextB])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iNextB + ((NI)5))])))) & ((NU)63)))));
iNextB += ((NI)6);
}
goto LA193_;
LA195_: ;
{
runeB = ((NI32)65533);
iNextB += ((NI)1);
}
LA193_: ;
}
goto LA154_;
LA191_: ;
{
runeB = ((NI32) (((NU) (((NU8)(b.p->data[iNextB]))))));
iNextB += ((NI)1);
}
LA154_: ;
addRunesA += ((NI)1);
addRunesB += ((NI)1);
{
NIM_BOOL T201_;
T201_ = (NIM_BOOL)0;
T201_ = eqeq___pureZunicode_1065(runeA, runeB);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!!(T201_)) goto LA202_;
iEndA = iNextA;
iEndB = iNextB;
lenRunesA += addRunesA;
lenRunesB += addRunesB;
addRunesA = ((NI)0);
addRunesB = ((NI)0);
}
LA202_: ;
iCurrentA = iNextA;
iCurrentB = iNextB;
} LA106: ;
}
{
if (!(a.len <= iCurrentA)) goto LA206_;
{
if (!(iCurrentB < b.len)) goto LA210_;
iEndA = iCurrentA;
iEndB = iCurrentB;
lenRunesA += addRunesA;
lenRunesB += addRunesB;
{
while (1) {
{
if (!((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) <= (NU32)(((NU)127)))) goto LA216_;
runeB = ((NI32) (((NU) (((NU8)(b.p->data[iEndB]))))));
iEndB += ((NI)1);
}
goto LA214_;
LA216_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA219_;
{
if (!(iEndB <= (NI)(b.len - ((NI)2)))) goto LA223_;
runeB = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iEndB])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)1))])))) & ((NU)63)))));
iEndB += ((NI)2);
}
goto LA221_;
LA223_: ;
{
runeB = ((NI32)65533);
iEndB += ((NI)1);
}
LA221_: ;
}
goto LA214_;
LA219_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA227_;
{
if (!(iEndB <= (NI)(b.len - ((NI)3)))) goto LA231_;
runeB = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iEndB])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)2))])))) & ((NU)63)))));
iEndB += ((NI)3);
}
goto LA229_;
LA231_: ;
{
runeB = ((NI32)65533);
iEndB += ((NI)1);
}
LA229_: ;
}
goto LA214_;
LA227_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA235_;
{
if (!(iEndB <= (NI)(b.len - ((NI)4)))) goto LA239_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iEndB])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)3))])))) & ((NU)63)))));
iEndB += ((NI)4);
}
goto LA237_;
LA239_: ;
{
runeB = ((NI32)65533);
iEndB += ((NI)1);
}
LA237_: ;
}
goto LA214_;
LA235_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA243_;
{
if (!(iEndB <= (NI)(b.len - ((NI)5)))) goto LA247_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iEndB])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)4))])))) & ((NU)63)))));
iEndB += ((NI)5);
}
goto LA245_;
LA247_: ;
{
runeB = ((NI32)65533);
iEndB += ((NI)1);
}
LA245_: ;
}
goto LA214_;
LA243_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iEndB]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA251_;
{
if (!(iEndB <= (NI)(b.len - ((NI)6)))) goto LA255_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iEndB])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iEndB + ((NI)5))])))) & ((NU)63)))));
iEndB += ((NI)6);
}
goto LA253_;
LA255_: ;
{
runeB = ((NI32)65533);
iEndB += ((NI)1);
}
LA253_: ;
}
goto LA214_;
LA251_: ;
{
runeB = ((NI32) (((NU) (((NU8)(b.p->data[iEndB]))))));
iEndB += ((NI)1);
}
LA214_: ;
lenRunesB += ((NI)1);
{
if (!(b.len <= iEndB)) goto LA261_;
goto LA212;
}
LA261_: ;
}
} LA212: ;
}
LA210_: ;
}
goto LA204_;
LA206_: ;
{
if (!(b.len <= iCurrentB)) goto LA264_;
iEndA = iCurrentA;
iEndB = iCurrentB;
lenRunesA += addRunesA;
lenRunesB += addRunesB;
{
while (1) {
{
if (!((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) <= (NU32)(((NU)127)))) goto LA270_;
runeA = ((NI32) (((NU) (((NU8)(a.p->data[iEndA]))))));
iEndA += ((NI)1);
}
goto LA268_;
LA270_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA273_;
{
if (!(iEndA <= (NI)(a.len - ((NI)2)))) goto LA277_;
runeA = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iEndA])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)1))])))) & ((NU)63)))));
iEndA += ((NI)2);
}
goto LA275_;
LA277_: ;
{
runeA = ((NI32)65533);
iEndA += ((NI)1);
}
LA275_: ;
}
goto LA268_;
LA273_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA281_;
{
if (!(iEndA <= (NI)(a.len - ((NI)3)))) goto LA285_;
runeA = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iEndA])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)2))])))) & ((NU)63)))));
iEndA += ((NI)3);
}
goto LA283_;
LA285_: ;
{
runeA = ((NI32)65533);
iEndA += ((NI)1);
}
LA283_: ;
}
goto LA268_;
LA281_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA289_;
{
if (!(iEndA <= (NI)(a.len - ((NI)4)))) goto LA293_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iEndA])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)3))])))) & ((NU)63)))));
iEndA += ((NI)4);
}
goto LA291_;
LA293_: ;
{
runeA = ((NI32)65533);
iEndA += ((NI)1);
}
LA291_: ;
}
goto LA268_;
LA289_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA297_;
{
if (!(iEndA <= (NI)(a.len - ((NI)5)))) goto LA301_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iEndA])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)4))])))) & ((NU)63)))));
iEndA += ((NI)5);
}
goto LA299_;
LA301_: ;
{
runeA = ((NI32)65533);
iEndA += ((NI)1);
}
LA299_: ;
}
goto LA268_;
LA297_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iEndA]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA305_;
{
if (!(iEndA <= (NI)(a.len - ((NI)6)))) goto LA309_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iEndA])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iEndA + ((NI)5))])))) & ((NU)63)))));
iEndA += ((NI)6);
}
goto LA307_;
LA309_: ;
{
runeA = ((NI32)65533);
iEndA += ((NI)1);
}
LA307_: ;
}
goto LA268_;
LA305_: ;
{
runeA = ((NI32) (((NU) (((NU8)(a.p->data[iEndA]))))));
iEndA += ((NI)1);
}
LA268_: ;
lenRunesA += ((NI)1);
{
if (!(a.len <= iEndA)) goto LA315_;
goto LA266;
}
LA315_: ;
}
} LA266: ;
}
goto LA204_;
LA264_: ;
LA204_: ;
}
{
{
if (!(lenRunesA == ((NI)0))) goto LA320_;
result = lenRunesB;
eqdestroy___pureZosproc_403((&row));
goto BeforeRet_;
}
LA320_: ;
{
if (!(lenRunesB == ((NI)0))) goto LA324_;
result = lenRunesA;
eqdestroy___pureZosproc_403((&row));
goto BeforeRet_;
}
LA324_: ;
{
NI iCurrentB_2;
if (!(lenRunesA == ((NI)1))) goto LA328_;
{
if (!((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) <= (NU32)(((NU)127)))) goto LA332_;
runeA = ((NI32) (((NU) (((NU8)(a.p->data[iStart]))))));
}
goto LA330_;
LA332_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA335_;
{
if (!(iStart <= (NI)(a.len - ((NI)2)))) goto LA339_;
runeA = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iStart])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)1))])))) & ((NU)63)))));
}
goto LA337_;
LA339_: ;
{
runeA = ((NI32)65533);
}
LA337_: ;
}
goto LA330_;
LA335_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA343_;
{
if (!(iStart <= (NI)(a.len - ((NI)3)))) goto LA347_;
runeA = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iStart])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)2))])))) & ((NU)63)))));
}
goto LA345_;
LA347_: ;
{
runeA = ((NI32)65533);
}
LA345_: ;
}
goto LA330_;
LA343_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA351_;
{
if (!(iStart <= (NI)(a.len - ((NI)4)))) goto LA355_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iStart])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)3))])))) & ((NU)63)))));
}
goto LA353_;
LA355_: ;
{
runeA = ((NI32)65533);
}
LA353_: ;
}
goto LA330_;
LA351_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA359_;
{
if (!(iStart <= (NI)(a.len - ((NI)5)))) goto LA363_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iStart])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)4))])))) & ((NU)63)))));
}
goto LA361_;
LA363_: ;
{
runeA = ((NI32)65533);
}
LA361_: ;
}
goto LA330_;
LA359_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iStart]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA367_;
{
if (!(iStart <= (NI)(a.len - ((NI)6)))) goto LA371_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iStart])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iStart + ((NI)5))])))) & ((NU)63)))));
}
goto LA369_;
LA371_: ;
{
runeA = ((NI32)65533);
}
LA369_: ;
}
goto LA330_;
LA367_: ;
{
runeA = ((NI32) (((NU) (((NU8)(a.p->data[iStart]))))));
}
LA330_: ;
iCurrentB_2 = iStart;
{
while (1) {
if (!(iCurrentB_2 < iEndB)) goto LA376 ;
{
if (!((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) <= (NU32)(((NU)127)))) goto LA379_;
runeB = ((NI32) (((NU) (((NU8)(b.p->data[iCurrentB_2]))))));
iCurrentB_2 += ((NI)1);
}
goto LA377_;
LA379_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA382_;
{
if (!(iCurrentB_2 <= (NI)(b.len - ((NI)2)))) goto LA386_;
runeB = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iCurrentB_2])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)1))])))) & ((NU)63)))));
iCurrentB_2 += ((NI)2);
}
goto LA384_;
LA386_: ;
{
runeB = ((NI32)65533);
iCurrentB_2 += ((NI)1);
}
LA384_: ;
}
goto LA377_;
LA382_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA390_;
{
if (!(iCurrentB_2 <= (NI)(b.len - ((NI)3)))) goto LA394_;
runeB = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iCurrentB_2])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)2))])))) & ((NU)63)))));
iCurrentB_2 += ((NI)3);
}
goto LA392_;
LA394_: ;
{
runeB = ((NI32)65533);
iCurrentB_2 += ((NI)1);
}
LA392_: ;
}
goto LA377_;
LA390_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA398_;
{
if (!(iCurrentB_2 <= (NI)(b.len - ((NI)4)))) goto LA402_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iCurrentB_2])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)3))])))) & ((NU)63)))));
iCurrentB_2 += ((NI)4);
}
goto LA400_;
LA402_: ;
{
runeB = ((NI32)65533);
iCurrentB_2 += ((NI)1);
}
LA400_: ;
}
goto LA377_;
LA398_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA406_;
{
if (!(iCurrentB_2 <= (NI)(b.len - ((NI)5)))) goto LA410_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iCurrentB_2])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)4))])))) & ((NU)63)))));
iCurrentB_2 += ((NI)5);
}
goto LA408_;
LA410_: ;
{
runeB = ((NI32)65533);
iCurrentB_2 += ((NI)1);
}
LA408_: ;
}
goto LA377_;
LA406_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[iCurrentB_2]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA414_;
{
if (!(iCurrentB_2 <= (NI)(b.len - ((NI)6)))) goto LA418_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[iCurrentB_2])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(iCurrentB_2 + ((NI)5))])))) & ((NU)63)))));
iCurrentB_2 += ((NI)6);
}
goto LA416_;
LA418_: ;
{
runeB = ((NI32)65533);
iCurrentB_2 += ((NI)1);
}
LA416_: ;
}
goto LA377_;
LA414_: ;
{
runeB = ((NI32) (((NU) (((NU8)(b.p->data[iCurrentB_2]))))));
iCurrentB_2 += ((NI)1);
}
LA377_: ;
{
NIM_BOOL T424_;
T424_ = (NIM_BOOL)0;
T424_ = eqeq___pureZunicode_1065(runeA, runeB);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!T424_) goto LA425_;
result = (NI)(lenRunesB - ((NI)1));
eqdestroy___pureZosproc_403((&row));
goto BeforeRet_;
}
LA425_: ;
} LA376: ;
}
result = lenRunesB;
eqdestroy___pureZosproc_403((&row));
goto BeforeRet_;
}
LA328_: ;
}
len1 = (NI)(lenRunesA + ((NI)1));
len2 = (NI)(lenRunesB + ((NI)1));
half = (NI)(lenRunesA / ((NI)2));
newSeq__pureZosproc_302((&row), ((NI) (len2)));
e = (NI)((NI)(iStart + len2) - ((NI)1));
{
NI i;
NI colontmp_;
NI res;
i = (NI)0;
colontmp_ = (NI)0;
colontmp_ = (NI)((NI)(len2 - half) - ((NI)1));
res = ((NI)1);
{
while (1) {
if (!(res <= colontmp_)) goto LA429 ;
i = res;
row.p->data[i] = i;
res += ((NI)1);
} LA429: ;
}
}
row.p->data[((NI)0)] = (NI)((NI)(len1 - half) - ((NI)1));
iCurrentA = iStart;
char2pI = ((NI)-1);
char2pPrev = (NI)0;
{
NI i_2;
NI colontmp__2;
NI res_2;
i_2 = (NI)0;
colontmp__2 = (NI)0;
colontmp__2 = (NI)(len1 - ((NI)1));
res_2 = ((NI)1);
{
while (1) {
NI char2p;
NI diff;
NI x;
NI p;
if (!(res_2 <= colontmp__2)) goto LA432 ;
i_2 = res_2;
iNextA = iCurrentA;
{
if (!((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) <= (NU32)(((NU)127)))) goto LA435_;
runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA]))))));
iNextA += ((NI)1);
}
goto LA433_;
LA435_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA438_;
{
if (!(iNextA <= (NI)(a.len - ((NI)2)))) goto LA442_;
runeA = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63)))));
iNextA += ((NI)2);
}
goto LA440_;
LA442_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA440_: ;
}
goto LA433_;
LA438_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA446_;
{
if (!(iNextA <= (NI)(a.len - ((NI)3)))) goto LA450_;
runeA = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63)))));
iNextA += ((NI)3);
}
goto LA448_;
LA450_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA448_: ;
}
goto LA433_;
LA446_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA454_;
{
if (!(iNextA <= (NI)(a.len - ((NI)4)))) goto LA458_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63)))));
iNextA += ((NI)4);
}
goto LA456_;
LA458_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA456_: ;
}
goto LA433_;
LA454_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA462_;
{
if (!(iNextA <= (NI)(a.len - ((NI)5)))) goto LA466_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63)))));
iNextA += ((NI)5);
}
goto LA464_;
LA466_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA464_: ;
}
goto LA433_;
LA462_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(a.p->data[iNextA]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA470_;
{
if (!(iNextA <= (NI)(a.len - ((NI)6)))) goto LA474_;
runeA = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[iNextA])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(a.p->data[(NI)(iNextA + ((NI)5))])))) & ((NU)63)))));
iNextA += ((NI)6);
}
goto LA472_;
LA474_: ;
{
runeA = ((NI32)65533);
iNextA += ((NI)1);
}
LA472_: ;
}
goto LA433_;
LA470_: ;
{
runeA = ((NI32) (((NU) (((NU8)(a.p->data[iNextA]))))));
iNextA += ((NI)1);
}
LA433_: ;
char2p = (NI)0;
diff = (NI)0;
x = (NI)0;
p = (NI)0;
{
NI colontmpD_;
NI colontmpD__2;
NI offset;
NI c3;
NI T536_;
NI T543_;
if (!((NI)(len1 - half) <= i_2)) goto LA480_;
colontmpD_ = (NI)0;
colontmpD__2 = (NI)0;
offset = (NI)((NI)(i_2 + half) - len1);
{
if (!(char2pI == i_2)) goto LA484_;
{
if (!((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) <= (NU32)(((NU)127)))) goto LA488_;
runeB = ((NI32) (((NU) (((NU8)(b.p->data[char2pPrev]))))));
char2pPrev += ((NI)1);
}
goto LA486_;
LA488_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) >> (NU32)(((NI)5))) == ((NU)6))) goto LA491_;
{
if (!(char2pPrev <= (NI)(b.len - ((NI)2)))) goto LA495_;
runeB = ((NI32) ((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[char2pPrev])))) & ((NU)31))) << (NU32)(((NI)6))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)1))])))) & ((NU)63)))));
char2pPrev += ((NI)2);
}
goto LA493_;
LA495_: ;
{
runeB = ((NI32)65533);
char2pPrev += ((NI)1);
}
LA493_: ;
}
goto LA486_;
LA491_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) >> (NU32)(((NI)4))) == ((NU)14))) goto LA499_;
{
if (!(char2pPrev <= (NI)(b.len - ((NI)3)))) goto LA503_;
runeB = ((NI32) ((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[char2pPrev])))) & ((NU)15))) << (NU32)(((NI)12))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)2))])))) & ((NU)63)))));
char2pPrev += ((NI)3);
}
goto LA501_;
LA503_: ;
{
runeB = ((NI32)65533);
char2pPrev += ((NI)1);
}
LA501_: ;
}
goto LA486_;
LA499_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) >> (NU32)(((NI)3))) == ((NU)30))) goto LA507_;
{
if (!(char2pPrev <= (NI)(b.len - ((NI)4)))) goto LA511_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[char2pPrev])))) & ((NU)7))) << (NU32)(((NI)18))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)3))])))) & ((NU)63)))));
char2pPrev += ((NI)4);
}
goto LA509_;
LA511_: ;
{
runeB = ((NI32)65533);
char2pPrev += ((NI)1);
}
LA509_: ;
}
goto LA486_;
LA507_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) >> (NU32)(((NI)2))) == ((NU)62))) goto LA515_;
{
if (!(char2pPrev <= (NI)(b.len - ((NI)5)))) goto LA519_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[char2pPrev])))) & ((NU)3))) << (NU32)(((NI)24))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)4))])))) & ((NU)63)))));
char2pPrev += ((NI)5);
}
goto LA517_;
LA519_: ;
{
runeB = ((NI32)65533);
char2pPrev += ((NI)1);
}
LA517_: ;
}
goto LA486_;
LA515_: ;
{
if (!((NU)((NU32)(((NU) (((NU8)(b.p->data[char2pPrev]))))) >> (NU32)(((NI)1))) == ((NU)126))) goto LA523_;
{
if (!(char2pPrev <= (NI)(b.len - ((NI)6)))) goto LA527_;
runeB = ((NI32) ((NU)((NU)((NU)((NU)((NU)((NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[char2pPrev])))) & ((NU)1))) << (NU32)(((NI)30))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)1))])))) & ((NU)63))) << (NU32)(((NI)24)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)2))])))) & ((NU)63))) << (NU32)(((NI)18)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)3))])))) & ((NU)63))) << (NU32)(((NI)12)))) | (NU)((NU32)((NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)4))])))) & ((NU)63))) << (NU32)(((NI)6)))) | (NU)(((NU) (((NU8)(b.p->data[(NI)(char2pPrev + ((NI)5))])))) & ((NU)63)))));
char2pPrev += ((NI)6);
}
goto LA525_;
LA527_: ;
{
runeB = ((NI32)65533);
char2pPrev += ((NI)1);
}
LA525_: ;
}
goto LA486_;
LA523_: ;
{
runeB = ((NI32) (((NU) (((NU8)(b.p->data[char2pPrev]))))));
char2pPrev += ((NI)1);
}
LA486_: ;
char2p = char2pPrev;
char2pI = (NI)(i_2 + ((NI)1));
}
goto LA482_;
LA484_: ;
{
char2p = iStart;
{
NI j;
NI i_3;
j = (NI)0;
i_3 = ((NI)0);
{
while (1) {
NI T535_;
if (!(i_3 < offset)) goto LA534 ;
j = i_3;
runeB = runeAt__pureZunicode_7222(b, ((NI) (char2p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T535_ = (NI)0;
T535_ = size__pureZunicode_5855(runeB);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
char2p += T535_;
i_3 += ((NI)1);
} LA534: ;
}
}
char2pI = (NI)(i_2 + ((NI)1));
char2pPrev = char2p;
}
LA482_: ;
p = offset;
runeB = runeAt__pureZunicode_7222(b, ((NI) (char2p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T536_ = (NI)0;
{
NIM_BOOL T539_;
T539_ = (NIM_BOOL)0;
T539_ = eqeq___pureZunicode_1065(runeA, runeB);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!!(T539_)) goto LA540_;
colontmpD_ = ((NI)1);
T536_ = colontmpD_;
}
goto LA537_;
LA540_: ;
{
colontmpD__2 = ((NI)0);
T536_ = colontmpD__2;
}
LA537_: ;
c3 = (NI)(row.p->data[p] + T536_);
T543_ = (NI)0;
T543_ = size__pureZunicode_5855(runeB);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
char2p += T543_;
p += ((NI)1);
x = (NI)(row.p->data[p] + ((NI)1));
diff = x;
{
if (!(c3 < x)) goto LA546_;
x = c3;
}
LA546_: ;
row.p->data[p] = x;
p += ((NI)1);
}
goto LA478_;
LA480_: ;
{
p = ((NI)1);
char2p = iStart;
diff = i_2;
x = i_2;
}
LA478_: ;
{
if (!(i_2 <= (NI)(half + ((NI)1)))) goto LA551_;
e = (NI)((NI)((NI)(len2 + i_2) - half) - ((NI)2));
}
LA551_: ;
{
while (1) {
NI colontmpD__3;
NI colontmpD__4;
NI c3_2;
NI T555_;
NI T562_;
if (!(p <= e)) goto LA554 ;
colontmpD__3 = (NI)0;
colontmpD__4 = (NI)0;
diff -= ((NI)1);
runeB = runeAt__pureZunicode_7222(b, ((NI) (char2p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T555_ = (NI)0;
{
NIM_BOOL T558_;
T558_ = (NIM_BOOL)0;
T558_ = eqeq___pureZunicode_1065(runeA, runeB);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!!(T558_)) goto LA559_;
colontmpD__3 = ((NI)1);
T555_ = colontmpD__3;
}
goto LA556_;
LA559_: ;
{
colontmpD__4 = ((NI)0);
T555_ = colontmpD__4;
}
LA556_: ;
c3_2 = (NI)(diff + T555_);
T562_ = (NI)0;
T562_ = size__pureZunicode_5855(runeB);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
char2p += T562_;
x += ((NI)1);
{
if (!(c3_2 < x)) goto LA565_;
x = c3_2;
}
LA565_: ;
diff = (NI)(row.p->data[p] + ((NI)1));
{
if (!(diff < x)) goto LA569_;
x = diff;
}
LA569_: ;
row.p->data[p] = x;
p += ((NI)1);
} LA554: ;
}
{
NI colontmpD__5;
NI colontmpD__6;
NI c3_3;
NI T575_;
if (!(i_2 <= half)) goto LA573_;
colontmpD__5 = (NI)0;
colontmpD__6 = (NI)0;
diff -= ((NI)1);
runeB = runeAt__pureZunicode_7222(b, ((NI) (char2p)));
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
T575_ = (NI)0;
{
NIM_BOOL T578_;
T578_ = (NIM_BOOL)0;
T578_ = eqeq___pureZunicode_1065(runeA, runeB);
if (NIM_UNLIKELY(*nimErr_)) goto LA1_;
if (!!(T578_)) goto LA579_;
colontmpD__5 = ((NI)1);
T575_ = colontmpD__5;
}
goto LA576_;
LA579_: ;
{
colontmpD__6 = ((NI)0);
T575_ = colontmpD__6;
}
LA576_: ;
c3_3 = (NI)(diff + T575_);
x += ((NI)1);
{
if (!(c3_3 < x)) goto LA584_;
x = c3_3;
}
LA584_: ;
row.p->data[p] = x;
}
LA573_: ;
iCurrentA = iNextA;
res_2 += ((NI)1);
} LA432: ;
}
}
result = row.p->data[e];
{
LA1_:;
}
{
eqdestroy___pureZosproc_403((&row));
}
if (NIM_UNLIKELY(*nimErr_)) goto BeforeRet_;
}BeforeRet_: ;
return result;
}