(function(g){function e(a,b,c){var d=STACKTOP;STACKTOP+=16;_memset(d,0,16);var e;for(e=-1;;)switch(e){case -1:var g,h,j,k,l,m,n,o=d,r=d+4,s=d+8,t=d+12,u,v,w,x,O;g=a;h=b;j=c;HEAP[o]=HEAP[g+16];HEAP[r]=HEAP[g+12];e=HEAP[g+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);n=0;e=34;break;case 2:e=j!=0?3:4;break;case 3:m=p;e=5;break;case 4:m=q;e=5;break;case 5:e=__PyArg_ParseTuple_SizeT(h,m,allocate([s,0,0,0,t,0,0,0,o,0,0,0,r,0,
0,0],["i8**",0,0,0,"i32*",0,0,0,"i32*",0,0,0,"i32*",0,0,0],ALLOC_STACK))==0?6:7;break;case 6:n=0;e=34;break;case 7:e=j!=0?8:9;break;case 8:l=-1;e=10;break;case 9:l=1;e=10;break;case 10:x=l;e=HEAP[o]<0?11:13;break;case 11:e=HEAP[o]+HEAP[g+12];HEAP[o]=e;e=e<0?12:13;break;case 12:HEAP[o]=0;e=15;break;case 13:e=HEAP[o]>HEAP[g+12]?14:15;break;case 14:HEAP[o]=HEAP[g+12];e=15;break;case 15:e=HEAP[r]<0?16:18;break;case 16:e=HEAP[r]+HEAP[g+12];HEAP[r]=e;e=e<0?17:18;break;case 17:HEAP[r]=0;e=20;break;case 18:e=
HEAP[r]>HEAP[g+12]?19:20;break;case 19:HEAP[r]=HEAP[g+12];e=20;break;case 20:v=HEAP[g+8]+HEAP[o];w=HEAP[g+8]+HEAP[r];e=j!=0?21:22;break;case 21:k=w+(0-HEAP[t]);e=23;break;case 22:k=v;e=23;break;case 23:u=k;e=31;break;case 24:O=0;e=26;break;case 25:O+=1;e=26;break;case 26:e=O>=HEAP[t]?28:27;break;case 27:e=HEAP[HEAP[s]+O]==HEAP[u+O]?25:28;break;case 28:var y=u;e=O==HEAP[t]?29:30;break;case 29:n=_PyInt_FromSsize_t(y-HEAP[g+8]);e=34;break;case 30:u=y+x;e=31;break;case 31:e=u<v?33:32;break;case 32:e=
u+HEAP[t]<=w?24:33;break;case 33:n=_PyInt_FromLong(-1);e=34;break;case 34:return a=n,STACKTOP=d,a;default:assert(0,"bad label: "+e)}}function b(a){var b;for(b=-1;;)switch(b){case -1:var c;b=HEAP[a+32]!=1?1:2;break;case 1:c=1;b=3;break;case 2:_PyErr_Format(HEAP[_PyExc_TypeError],r,allocate(1,"i32",ALLOC_STACK));c=0;b=3;break;case 3:return a=c;default:assert(0,"bad label: "+b)}}function a(a,b,c){var d;for(d=-1;;)switch(d){case -1:var e,f,g;e=a;f=b;g=_PyInt_FromLong(c);d=g!=0?1:4;break;case 1:d=_PyDict_SetItemString(e,
f,g)==0?2:4;break;case 2:HEAP[g]-=1;d=HEAP[g]==0?3:4;break;case 3:FUNCTION_TABLE[HEAP[HEAP[g+4]+24]](g);d=4;break;case 4:return;default:assert(0,"bad label: "+d)}}function c(){f=allocate([109,109,97,112,32,99,108,111,115,101,100,32,111,114,32,105,110,118,97,108,105,100,0],"i8",ALLOC_NORMAL);h=allocate([99,0],"i8",ALLOC_NORMAL);j=allocate([114,101,97,100,32,98,121,116,101,32,111,117,116,32,111,102,32,114,97,110,103,101,0],"i8",ALLOC_NORMAL);k=allocate([110,58,114,101,97,100,0],"i8",ALLOC_NORMAL);l=
allocate([115,101,108,102,45,62,115,105,122,101,32,62,61,32,115,101,108,102,45,62,112,111,115,0],"i8",ALLOC_NORMAL);m=allocate([46,46,47,99,112,121,116,104,111,110,47,77,111,100,117,108,101,115,47,109,109,97,112,109,111,100,117,108,101,46,99,0],"i8",ALLOC_NORMAL);n=allocate([109,109,97,112,95,114,101,97,100,95,109,101,116,104,111,100,0],"i8",ALLOC_NORMAL);o=allocate([115,35,0],"i8",ALLOC_NORMAL);p=allocate([115,35,124,110,110,58,114,102,105,110,100,0],"i8",ALLOC_NORMAL);q=allocate([115,35,124,110,
110,58,102,105,110,100,0],"i8",ALLOC_NORMAL);r=allocate([109,109,97,112,32,99,97,110,39,116,32,109,111,100,105,102,121,32,97,32,114,101,97,100,111,110,108,121,32,109,101,109,111,114,121,32,109,97,112,46,0],"i8",ALLOC_NORMAL);u=allocate([109,109,97,112,32,99,97,110,39,116,32,114,101,115,105,122,101,32,97,32,114,101,97,100,111,110,108,121,32,111,114,32,99,111,112,121,45,111,110,45,119,114,105,116,101,32,109,101,109,111,114,121,32,109,97,112,46,0],"i8",ALLOC_NORMAL);s=allocate([115,35,58,119,114,105,
116,101,0],"i8",ALLOC_NORMAL);t=allocate([100,97,116,97,32,111,117,116,32,111,102,32,114,97,110,103,101,0],"i8",ALLOC_NORMAL);v=allocate([99,58,119,114,105,116,101,95,98,121,116,101,0],"i8",ALLOC_NORMAL);w=allocate([119,114,105,116,101,32,98,121,116,101,32,111,117,116,32,111,102,32,114,97,110,103,101,0],"i8",ALLOC_NORMAL);x=allocate(1,"%struct.PyObject*",ALLOC_NORMAL);y=allocate([110,58,114,101,115,105,122,101,0],"i8",ALLOC_NORMAL);z=allocate([124,110,110,58,102,108,117,115,104,0],"i8",ALLOC_NORMAL);
C=allocate([102,108,117,115,104,32,118,97,108,117,101,115,32,111,117,116,32,111,102,32,114,97,110,103,101,0],"i8",ALLOC_NORMAL);A=allocate([110,124,105,58,115,101,101,107,0],"i8",ALLOC_NORMAL);G=allocate([117,110,107,110,111,119,110,32,115,101,101,107,32,116,121,112,101,0],"i8",ALLOC_NORMAL);E=allocate([115,101,101,107,32,111,117,116,32,111,102,32,114,97,110,103,101,0],"i8",ALLOC_NORMAL);D=allocate([107,107,107,58,109,111,118,101,0],"i8",ALLOC_NORMAL);R=allocate([115,111,117,114,99,101,44,32,100,
101,115,116,105,110,97,116,105,111,110,44,32,111,114,32,99,111,117,110,116,32,111,117,116,32,111,102,32,114,97,110,103,101,0],"i8",ALLOC_NORMAL);M=allocate([99,108,111,115,101,0],"i8",ALLOC_NORMAL);L=allocate([102,105,110,100,0],"i8",ALLOC_NORMAL);I=allocate([114,102,105,110,100,0],"i8",ALLOC_NORMAL);J=allocate([102,108,117,115,104,0],"i8",ALLOC_NORMAL);F=allocate([109,111,118,101,0],"i8",ALLOC_NORMAL);V=allocate([114,101,97,100,0],"i8",ALLOC_NORMAL);Q=allocate([114,101,97,100,95,98,121,116,101,0],
"i8",ALLOC_NORMAL);Z=allocate([114,101,97,100,108,105,110,101,0],"i8",ALLOC_NORMAL);K=allocate([114,101,115,105,122,101,0],"i8",ALLOC_NORMAL);N=allocate([115,101,101,107,0],"i8",ALLOC_NORMAL);H=allocate([115,105,122,101,0],"i8",ALLOC_NORMAL);ba=allocate([116,101,108,108,0],"i8",ALLOC_NORMAL);W=allocate([119,114,105,116,101,0],"i8",ALLOC_NORMAL);B=allocate([119,114,105,116,101,95,98,121,116,101,0],"i8",ALLOC_NORMAL);Y=allocate([0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],["i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,
"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",
0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",
0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i8","i8","i8","i8","i8*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i8","i8","i8","i8","i8","i8","i8","i8"],ALLOC_NORMAL);
fa=allocate([65,99,99,101,115,115,105,110,103,32,110,111,110,45,101,120,105,115,116,101,110,116,32,109,109,97,112,32,115,101,103,109,101,110,116,0],"i8",ALLOC_NORMAL);ha=allocate([97,99,99,101,115,115,105,110,103,32,110,111,110,45,101,120,105,115,116,101,110,116,32,98,117,102,102,101,114,32,115,101,103,109,101,110,116,0],"i8",ALLOC_NORMAL);la=allocate([109,109,97,112,32,105,110,100,101,120,32,111,117,116,32,111,102,32,114,97,110,103,101,0],"i8",ALLOC_NORMAL);ra=allocate(1,"i8",ALLOC_NORMAL);ya=allocate([109,
109,97,112,32,105,110,100,105,99,101,115,32,109,117,115,116,32,98,101,32,105,110,116,101,103,101,114,115,0],"i8",ALLOC_NORMAL);Da=allocate([109,109,97,112,115,32,100,111,110,39,116,32,115,117,112,112,111,114,116,32,99,111,110,99,97,116,101,110,97,116,105,111,110,0],"i8",ALLOC_NORMAL);Ua=allocate([109,109,97,112,115,32,100,111,110,39,116,32,115,117,112,112,111,114,116,32,114,101,112,101,97,116,32,111,112,101,114,97,116,105,111,110,0],"i8",ALLOC_NORMAL);Na=allocate([109,109,97,112,32,111,98,106,101,
99,116,32,100,111,101,115,110,39,116,32,115,117,112,112,111,114,116,32,115,108,105,99,101,32,100,101,108,101,116,105,111,110,0],"i8",ALLOC_NORMAL);Pa=allocate([109,109,97,112,32,115,108,105,99,101,32,97,115,115,105,103,110,109,101,110,116,32,109,117,115,116,32,98,101,32,97,32,115,116,114,105,110,103,0],"i8",ALLOC_NORMAL);wa=allocate([109,109,97,112,32,115,108,105,99,101,32,97,115,115,105,103,110,109,101,110,116,32,105,115,32,119,114,111,110,103,32,115,105,122,101,0],"i8",ALLOC_NORMAL);Ya=allocate([109,
109,97,112,32,111,98,106,101,99,116,32,100,111,101,115,110,39,116,32,115,117,112,112,111,114,116,32,105,116,101,109,32,100,101,108,101,116,105,111,110,0],"i8",ALLOC_NORMAL);Ha=allocate([109,109,97,112,32,97,115,115,105,103,110,109,101,110,116,32,109,117,115,116,32,98,101,32,115,105,110,103,108,101,45,99,104,97,114,97,99,116,101,114,32,115,116,114,105,110,103,0],"i8",ALLOC_NORMAL);ta=allocate([109,109,97,112,32,105,110,100,105,99,101,115,32,109,117,115,116,32,98,101,32,105,110,116,101,103,101,114,
0],"i8",ALLOC_NORMAL);Va=allocate(40,["i32 (%struct.PyObject*)*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"%struct.PyObject* (%struct.PyObject*, i32)*",0,0,0,"%struct.PyObject* (%struct.PyObject*, i32)*",0,0,0,"%struct.PyObject* (%struct.PyObject*, i32, i32)*",0,0,0,"i32 (%struct.PyObject*, i32, %struct.PyObject*)*",0,0,0,"i32 (%struct.PyObject*, i32, i32, %struct.PyObject*)*",0,0,0,"i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8"],ALLOC_NORMAL);Ia=allocate(12,
["i32 (%struct.PyObject*)*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32 (%struct.PyObject*, %struct.PyObject*, %struct.PyObject*)*",0,0,0],ALLOC_NORMAL);Wa=allocate(24,["i32 (%struct.PyObject*, i32, i8**)*",0,0,0,"i32 (%struct.PyObject*, i32, i8**)*",0,0,0,"i32 (%struct.PyObject*, i32*)*",0,0,0,"i32 (%struct.PyObject*, i32, i8**)*",0,0,0,"i8","i8","i8","i8","i8","i8","i8","i8"],ALLOC_NORMAL);ia=allocate([87,105,110,100,111,119,115,58,32,109,109,97,112,40,102,105,108,
101,110,111,44,32,108,101,110,103,116,104,91,44,32,116,97,103,110,97,109,101,91,44,32,97,99,99,101,115,115,91,44,32,111,102,102,115,101,116,93,93,93,41,10,10,77,97,112,115,32,108,101,110,103,116,104,32,98,121,116,101,115,32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,116,104,101,32,102,105,108,101,32,104,97,110,100,108,101,32,102,105,108,101,110,111,44,10,97,110,100,32,114,101,116,117,114,110,115,32,97,32,109,109,97,112,32,111,98,106,101,99,
116,46,32,32,73,102,32,108,101,110,103,116,104,32,105,115,32,108,97,114,103,101,114,32,116,104,97,110,32,116,104,101,32,99,117,114,114,101,110,116,32,115,105,122,101,10,111,102,32,116,104,101,32,102,105,108,101,44,32,116,104,101,32,102,105,108,101,32,105,115,32,101,120,116,101,110,100,101,100,32,116,111,32,99,111,110,116,97,105,110,32,108,101,110,103,116,104,32,98,121,116,101,115,46,32,32,73,102,32,108,101,110,103,116,104,10,105,115,32,48,44,32,116,104,101,32,109,97,120,105,109,117,109,32,108,101,
110,103,116,104,32,111,102,32,116,104,101,32,109,97,112,32,105,115,32,116,104,101,32,99,117,114,114,101,110,116,32,115,105,122,101,32,111,102,32,116,104,101,32,102,105,108,101,44,10,101,120,99,101,112,116,32,116,104,97,116,32,105,102,32,116,104,101,32,102,105,108,101,32,105,115,32,101,109,112,116,121,32,87,105,110,100,111,119,115,32,114,97,105,115,101,115,32,97,110,32,101,120,99,101,112,116,105,111,110,32,40,121,111,117,32,99,97,110,110,111,116,10,99,114,101,97,116,101,32,97,110,32,101,109,112,116,
121,32,109,97,112,112,105,110,103,32,111,110,32,87,105,110,100,111,119,115,41,46,10,10,85,110,105,120,58,32,109,109,97,112,40,102,105,108,101,110,111,44,32,108,101,110,103,116,104,91,44,32,102,108,97,103,115,91,44,32,112,114,111,116,91,44,32,97,99,99,101,115,115,91,44,32,111,102,102,115,101,116,93,93,93,93,41,10,10,77,97,112,115,32,108,101,110,103,116,104,32,98,121,116,101,115,32,102,114,111,109,32,116,104,101,32,102,105,108,101,32,115,112,101,99,105,102,105,101,100,32,98,121,32,116,104,101,32,102,
105,108,101,32,100,101,115,99,114,105,112,116,111,114,32,102,105,108,101,110,111,44,10,97,110,100,32,114,101,116,117,114,110,115,32,97,32,109,109,97,112,32,111,98,106,101,99,116,46,32,32,73,102,32,108,101,110,103,116,104,32,105,115,32,48,44,32,116,104,101,32,109,97,120,105,109,117,109,32,108,101,110,103,116,104,32,111,102,32,116,104,101,32,109,97,112,10,119,105,108,108,32,98,101,32,116,104,101,32,99,117,114,114,101,110,116,32,115,105,122,101,32,111,102,32,116,104,101,32,102,105,108,101,32,119,104,
101,110,32,109,109,97,112,32,105,115,32,99,97,108,108,101,100,46,10,102,108,97,103,115,32,115,112,101,99,105,102,105,101,115,32,116,104,101,32,110,97,116,117,114,101,32,111,102,32,116,104,101,32,109,97,112,112,105,110,103,46,32,77,65,80,95,80,82,73,86,65,84,69,32,99,114,101,97,116,101,115,32,97,10,112,114,105,118,97,116,101,32,99,111,112,121,45,111,110,45,119,114,105,116,101,32,109,97,112,112,105,110,103,44,32,115,111,32,99,104,97,110,103,101,115,32,116,111,32,116,104,101,32,99,111,110,116,101,110,
116,115,32,111,102,32,116,104,101,32,109,109,97,112,10,111,98,106,101,99,116,32,119,105,108,108,32,98,101,32,112,114,105,118,97,116,101,32,116,111,32,116,104,105,115,32,112,114,111,99,101,115,115,44,32,97,110,100,32,77,65,80,95,83,72,65,82,69,68,32,99,114,101,97,116,101,115,32,97,32,109,97,112,112,105,110,103,10,116,104,97,116,39,115,32,115,104,97,114,101,100,32,119,105,116,104,32,97,108,108,32,111,116,104,101,114,32,112,114,111,99,101,115,115,101,115,32,109,97,112,112,105,110,103,32,116,104,101,
32,115,97,109,101,32,97,114,101,97,115,32,111,102,32,116,104,101,32,102,105,108,101,46,10,84,104,101,32,100,101,102,97,117,108,116,32,118,97,108,117,101,32,105,115,32,77,65,80,95,83,72,65,82,69,68,46,10,10,84,111,32,109,97,112,32,97,110,111,110,121,109,111,117,115,32,109,101,109,111,114,121,44,32,112,97,115,115,32,45,49,32,97,115,32,116,104,101,32,102,105,108,101,110,111,32,40,98,111,116,104,32,118,101,114,115,105,111,110,115,41,46,0],"i8",ALLOC_NORMAL);Ba=allocate([109,109,97,112,46,109,109,97,112,
0],"i8",ALLOC_NORMAL);Xa=allocate([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,132587,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],["i32",0,0,0,"%struct._typeobject*",0,0,0,"i32",0,0,0,"i8*",0,0,0,"i32",
0,0,0,"i32",0,0,0,"void (%struct.PyObject*)*",0,0,0,"i32 (%struct.PyObject*, %struct.FILE*, i32)*",0,0,0,"%struct.PyObject* (%struct.PyObject*, i8*)*",0,0,0,"i32 (%struct.PyObject*, i8*, %struct.PyObject*)*",0,0,0,"i32 (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"%struct.PyObject* (%struct.PyObject*)*",0,0,0,"%struct.PyNumberMethods*",0,0,0,"%struct.PySequenceMethods*",0,0,0,"%struct.PyMappingMethods*",0,0,0,"i32 (%struct.PyObject*)*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*, %struct.PyObject*)*",
0,0,0,"%struct.PyObject* (%struct.PyObject*)*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32 (%struct.PyObject*, %struct.PyObject*, %struct.PyObject*)*",0,0,0,"%struct.PyBufferProcs*",0,0,0,"i32",0,0,0,"i8*",0,0,0,"i32 (%struct.PyObject*, i32 (%struct.PyObject*, i8*)*, i8*)*",0,0,0,"i32 (%struct.PyObject*)*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*, i32)*",0,0,0,"i32",0,0,0,"%struct.PyObject* (%struct.PyObject*)*",0,0,0,"%struct.PyObject* (%struct.PyObject*)*",
0,0,0,"%struct.PyMethodDef*",0,0,0,"%struct.PyMemberDef*",0,0,0,"%struct.PyGetSetDef*",0,0,0,"%struct._typeobject*",0,0,0,"%struct.PyObject*",0,0,0,"%struct.PyObject* (%struct.PyObject*, %struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32 (%struct.PyObject*, %struct.PyObject*, %struct.PyObject*)*",0,0,0,"i32",0,0,0,"i32 (%struct.PyObject*, %struct.PyObject*, %struct.PyObject*)*",0,0,0,"%struct.PyObject* (%struct._typeobject*, i32)*",0,0,0,"%struct.PyObject* (%struct._typeobject*, %struct.PyObject*, %struct.PyObject*)*",
0,0,0,"void (i8*)*",0,0,0,"i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8","i8"],ALLOC_NORMAL);Ta=allocate([109,101,109,111,114,121,32,109,97,112,112,101,100,32,37,115,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,0],"i8",ALLOC_NORMAL);Ea=allocate([109,97,112,32,115,105,122,101,32,109,117,115,116,32,98,101,32,97,110,32,105,110,116,101,103,114,97,108,32,118,97,108,117,101,0],
"i8",ALLOC_NORMAL);Ga=allocate([105,79,124,105,105,105,76,0],"i8",ALLOC_NORMAL);ka=allocate(28,"i8*",ALLOC_NORMAL);Fa=allocate([102,105,108,101,110,111,0],"i8",ALLOC_NORMAL);ma=allocate([108,101,110,103,116,104,0],"i8",ALLOC_NORMAL);La=allocate([102,108,97,103,115,0],"i8",ALLOC_NORMAL);Za=allocate([112,114,111,116,0],"i8",ALLOC_NORMAL);Ka=allocate([97,99,99,101,115,115,0],"i8",ALLOC_NORMAL);Ra=allocate([111,102,102,115,101,116,0],"i8",ALLOC_NORMAL);$a=allocate([109,101,109,111,114,121,32,109,97,112,
112,101,100,32,111,102,102,115,101,116,32,109,117,115,116,32,98,101,32,112,111,115,105,116,105,118,101,0],"i8",ALLOC_NORMAL);Ja=allocate([109,109,97,112,32,99,97,110,39,116,32,115,112,101,99,105,102,121,32,98,111,116,104,32,97,99,99,101,115,115,32,97,110,100,32,102,108,97,103,115,44,32,112,114,111,116,46,0],"i8",ALLOC_NORMAL);ja=allocate([109,109,97,112,32,105,110,118,97,108,105,100,32,97,99,99,101,115,115,32,112,97,114,97,109,101,116,101,114,46,0],"i8",ALLOC_NORMAL);ua=allocate([109,109,97,112,32,
111,102,102,115,101,116,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,102,105,108,101,32,115,105,122,101,0],"i8",ALLOC_NORMAL);bb=allocate([109,109,97,112,32,108,101,110,103,116,104,32,105,115,32,116,111,111,32,108,97,114,103,101,0],"i8",ALLOC_NORMAL);qa=allocate([109,109,97,112,32,108,101,110,103,116,104,32,105,115,32,103,114,101,97,116,101,114,32,116,104,97,110,32,102,105,108,101,32,115,105,122,101,0],"i8",ALLOC_NORMAL);P=allocate([109,109,97,112,0],"i8",ALLOC_NORMAL);hb=allocate([109,
109,97,112,46,101,114,114,111,114,0],"i8",ALLOC_NORMAL);Qa=allocate([101,114,114,111,114,0],"i8",ALLOC_NORMAL);mb=allocate([80,82,79,84,95,69,88,69,67,0],"i8",ALLOC_NORMAL);S=allocate([80,82,79,84,95,82,69,65,68,0],"i8",ALLOC_NORMAL);Ca=allocate([80,82,79,84,95,87,82,73,84,69,0],"i8",ALLOC_NORMAL);pa=allocate([77,65,80,95,83,72,65,82,69,68,0],"i8",ALLOC_NORMAL);Aa=allocate([77,65,80,95,80,82,73,86,65,84,69,0],"i8",ALLOC_NORMAL);ob=allocate([77,65,80,95,68,69,78,89,87,82,73,84,69,0],"i8",ALLOC_NORMAL);
ib=allocate([77,65,80,95,69,88,69,67,85,84,65,66,76,69,0],"i8",ALLOC_NORMAL);ca=allocate([77,65,80,95,65,78,79,78,0],"i8",ALLOC_NORMAL);na=allocate([77,65,80,95,65,78,79,78,89,77,79,85,83,0],"i8",ALLOC_NORMAL);O=allocate([80,65,71,69,83,73,90,69,0],"i8",ALLOC_NORMAL);Ma=allocate([65,76,76,79,67,65,84,73,79,78,71,82,65,78,85,76,65,82,73,84,89,0],"i8",ALLOC_NORMAL);$=allocate([65,67,67,69,83,83,95,82,69,65,68,0],"i8",ALLOC_NORMAL);ga=allocate([65,67,67,69,83,83,95,87,82,73,84,69,0],"i8",ALLOC_NORMAL);
Sa=allocate([65,67,67,69,83,83,95,67,79,80,89,0],"i8",ALLOC_NORMAL);HEAP[Y]=M;HEAP[Y+4]=g+2;HEAP[Y+16]=L;HEAP[Y+20]=g+4;HEAP[Y+32]=I;HEAP[Y+36]=g+6;HEAP[Y+48]=J;HEAP[Y+52]=g+8;HEAP[Y+64]=F;HEAP[Y+68]=g+10;HEAP[Y+80]=V;HEAP[Y+84]=g+12;HEAP[Y+96]=Q;HEAP[Y+100]=g+14;HEAP[Y+112]=Z;HEAP[Y+116]=g+16;HEAP[Y+128]=K;HEAP[Y+132]=g+18;HEAP[Y+144]=N;HEAP[Y+148]=g+20;HEAP[Y+160]=H;HEAP[Y+164]=g+22;HEAP[Y+176]=ba;HEAP[Y+180]=g+24;HEAP[Y+192]=W;HEAP[Y+196]=g+26;HEAP[Y+208]=B;HEAP[Y+212]=g+28;HEAP[Va]=g+30;HEAP[Va+
4]=g+32;HEAP[Va+8]=g+34;HEAP[Va+12]=g+36;HEAP[Va+16]=g+38;HEAP[Va+20]=g+40;HEAP[Va+24]=g+42;HEAP[Ia]=g+30;HEAP[Ia+4]=g+44;HEAP[Ia+8]=g+46;HEAP[Wa]=g+48;HEAP[Wa+4]=g+50;HEAP[Wa+8]=g+52;HEAP[Wa+12]=g+54;HEAP[Xa+12]=Ba;HEAP[Xa+24]=g+56;HEAP[Xa+52]=Va;HEAP[Xa+56]=Ia;HEAP[Xa+72]=g+58;HEAP[Xa+80]=Wa;HEAP[Xa+88]=ia;HEAP[Xa+116]=Y;HEAP[Xa+152]=g+60;HEAP[Xa+156]=g+62;HEAP[Xa+160]=g+64;HEAP[ka]=Fa;HEAP[ka+4]=ma;HEAP[ka+8]=La;HEAP[ka+12]=Za;HEAP[ka+16]=Ka;HEAP[ka+20]=Ra}var d={arguments:[]},f,h,j,k,l,m,n,o,
p,q,r,u,s,t,v,w,x,y,z,C,A,G,E,D,R,M,L,I,J,F,V,Q,Z,K,N,H,ba,W,B,Y,fa,ha,la,ra,ya,Da,Ua,Na,Pa,wa,Ya,Ha,ta,Va,Ia,Wa,ia,Ba,Xa,Ta,Ea,Ga,ka,Fa,ma,La,Za,Ka,Ra,$a,Ja,ja,ua,bb,qa,P,hb,Qa,mb,S,Ca,pa,Aa,ob,ib,ca,na,O,Ma,$,ga,Sa;d._initmmap=function(){var b;for(b=-1;;)switch(b){case -1:var c,d;b=_PyType_Ready(Xa)<0?5:1;break;case 1:d=_Py_InitModule4(P,0,0,0,1013);b=d==0?5:2;break;case 2:c=_PyModule_GetDict(d);b=c==0?5:3;break;case 3:b=_PyErr_NewException(hb,HEAP[_PyExc_EnvironmentError],0);HEAP[x]=b;b=HEAP[x]==
0?5:4;break;case 4:_PyDict_SetItemString(c,Qa,HEAP[x]);_PyDict_SetItemString(c,P,Xa);a(c,mb,4);a(c,S,1);a(c,Ca,2);a(c,pa,1);a(c,Aa,2);a(c,ob,2048);a(c,ib,4096);a(c,ca,32);a(c,na,32);b=_sysconf(30);a(c,O,b);b=_sysconf(30);a(c,Ma,b);a(c,$,1);a(c,ga,2);a(c,Sa,3);b=5;break;case 5:return;default:assert(0,"bad label: "+b)}};FUNCTION_TABLE=FUNCTION_TABLE.concat([0,0,function(a){var b;for(b=-1;;)switch(b){case -1:var c;c=a;b=HEAP[c+28]>=0?1:2;break;case 1:_close(HEAP[c+28]);b=2;break;case 2:HEAP[c+28]=-1;
b=HEAP[c+8]!=0?3:4;break;case 3:_munmap(HEAP[c+8],HEAP[c+12]);HEAP[c+8]=0;b=4;break;case 4:return HEAP[__Py_NoneStruct]+=1,a=__Py_NoneStruct;default:assert(0,"bad label: "+b)}},0,function(a,b){return e(a,b,0)},0,function(a,b){return e(a,b,1)},0,function(a,b){var c=STACKTOP;STACKTOP+=8;_memset(c,0,8);var d;for(d=-1;;)switch(d){case -1:var e,g,h,j=c,k=c+4;e=a;g=b;HEAP[j]=0;HEAP[k]=HEAP[e+12];d=HEAP[e+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);h=0;d=12;break;case 2:d=__PyArg_ParseTuple_SizeT(g,
z,allocate([j,0,0,0,k,0,0,0],["i32*",0,0,0,"i32*",0,0,0],ALLOC_STACK))==0?3:4;break;case 3:h=0;d=12;break;case 4:d=HEAP[k]+HEAP[j]>HEAP[e+12]?5:6;break;case 5:_PyErr_SetString(HEAP[_PyExc_ValueError],C);h=0;d=12;break;case 6:d=HEAP[e+32]==1?8:7;break;case 7:d=HEAP[e+32]==3?8:9;break;case 8:h=_PyLong_FromLong(0);d=12;break;case 9:d=_msync(HEAP[e+8]+HEAP[j],HEAP[k],4)==-1?10:11;break;case 10:_PyErr_SetFromErrno(HEAP[x]);h=0;d=12;break;case 11:h=_PyInt_FromLong(0);d=12;break;case 12:return d=h,STACKTOP=
c,d;default:assert(0,"bad label: "+d)}},0,function(a,c){var d=STACKTOP;STACKTOP+=12;_memset(d,0,12);var e;for(e=-1;;)switch(e){case -1:var g,h,j,k=d,l=d+4,m=d+8;g=a;h=c;e=HEAP[g+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);j=0;e=13;break;case 2:e=__PyArg_ParseTuple_SizeT(h,D,allocate([k,0,0,0,l,0,0,0,m,0,0,0],["i32*",0,0,0,"i32*",0,0,0,"i32*",0,0,0],ALLOC_STACK))==0?4:3;break;case 3:e=b(g)==0?4:5;break;case 4:j=0;e=13;break;case 5:e=HEAP[k]+HEAP[m]<HEAP[m]?11:6;break;case 6:e=
HEAP[l]+HEAP[m]<HEAP[m]?11:7;break;case 7:e=HEAP[g+12]<HEAP[l]?11:8;break;case 8:e=HEAP[m]+HEAP[l]>HEAP[g+12]?11:9;break;case 9:e=HEAP[g+12]<HEAP[k]?11:10;break;case 10:e=HEAP[m]+HEAP[k]>HEAP[g+12]?11:12;break;case 11:_PyErr_SetString(HEAP[_PyExc_ValueError],R);j=0;e=13;break;case 12:_llvm_memmove_p0i8_p0i8_i32(HEAP[g+8]+HEAP[k],HEAP[g+8]+HEAP[l],HEAP[m],1,0);HEAP[__Py_NoneStruct]+=1;j=__Py_NoneStruct;e=13;break;case 13:return e=j,STACKTOP=d,e;default:assert(0,"bad label: "+e)}},0,function(a,b){var c=
STACKTOP;STACKTOP+=4;_memset(c,0,4);var d;for(d=-1;;)switch(d){case -1:var e,g,h,j=c,p;e=a;g=b;d=HEAP[e+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);h=0;d=12;break;case 2:d=__PyArg_ParseTuple_SizeT(g,k,allocate([j,0,0,0],["i32*",0,0,0],ALLOC_STACK))==0?3:4;break;case 3:h=0;d=12;break;case 4:d=HEAP[e+12]<HEAP[e+16]?5:6;break;case 5:throw ___assert_fail(l,m,251,n),"Reached an unreachable!";case 6:p=HEAP[e+12]-HEAP[e+16];d=p<0?7:8;break;case 7:p=2147483647;d=8;break;case 8:d=HEAP[j]<
0?10:9;break;case 9:d=HEAP[j]>p?10:11;break;case 10:HEAP[j]=p;d=11;break;case 11:d=__Py_BuildValue_SizeT(o,allocate([HEAP[e+8]+HEAP[e+16],0,0,0,HEAP[j],0,0,0],["i8*",0,0,0,"i32",0,0,0],ALLOC_STACK));HEAP[e+16]=HEAP[j]+HEAP[e+16];h=d;d=12;break;case 12:return e=h,STACKTOP=c,e;default:assert(0,"bad label: "+d)}},0,function(a){var b;for(b=-1;;)switch(b){case -1:var c,d;c=a;b=HEAP[c+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);d=0;b=5;break;case 2:b=HEAP[c+16]<HEAP[c+12]?3:4;break;
case 3:b=HEAP[HEAP[c+8]+HEAP[c+16]];HEAP[c+16]+=1;d=__Py_BuildValue_SizeT(h,allocate([b,0,0,0],["i32",0,0,0],ALLOC_STACK));b=5;break;case 4:_PyErr_SetString(HEAP[_PyExc_ValueError],j);d=0;b=5;break;case 5:return a=d;default:assert(0,"bad label: "+b)}},0,function(a){var b;for(b=-1;;)switch(b){case -1:var c,d,e,g,h;c=a;e=HEAP[c+8]+HEAP[c+16];g=HEAP[c+8]+HEAP[c+12];b=HEAP[c+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);d=0;b=6;break;case 2:h=_memchr(e,10,HEAP[c+12]-HEAP[c+16]);b=
h==0?3:4;break;case 3:h=g;b=5;break;case 4:h+=1;b=5;break;case 5:b=_PyString_FromStringAndSize(e,h-e);HEAP[c+16]=h+HEAP[c+16]+(0-e);d=b;b=6;break;case 6:return a=d;default:assert(0,"bad label: "+b)}},0,function(a,b){var c=STACKTOP;STACKTOP+=4;_memset(c,0,4);var d;for(d=-1;;)switch(d){case -1:var e,g,h,j=c,k;e=a;g=b;d=HEAP[e+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);h=0;d=10;break;case 2:d=__PyArg_ParseTuple_SizeT(g,y,allocate([j,0,0,0],["i32*",0,0,0],ALLOC_STACK))==0?4:3;
break;case 3:a:{d=e;for(var l=void 0,l=-1;;)switch(l){case -1:var m,n;m=d;l=HEAP[m+32]==2?2:1;break;case 1:l=HEAP[m+32]==0?2:3;break;case 2:n=1;l=4;break;case 3:_PyErr_Format(HEAP[_PyExc_TypeError],u,allocate(1,"i32",ALLOC_STACK));n=0;l=4;break;case 4:d=n;break a;default:assert(0,"bad label: "+l)}d=void 0}d=d==0?4:5;break;case 4:h=0;d=10;break;case 5:d=___01ftruncate64_(HEAP[e+28],HEAP[j]+HEAP[e+20])==-1?6:7;break;case 6:_PyErr_SetFromErrno(HEAP[x]);h=0;d=10;break;case 7:k=_mremap(HEAP[e+8],HEAP[e+
12],HEAP[j],1,allocate(1,"i32",ALLOC_STACK));d=k==-1?8:9;break;case 8:_PyErr_SetFromErrno(HEAP[x]);h=0;d=10;break;case 9:HEAP[e+8]=k;HEAP[e+12]=HEAP[j];HEAP[__Py_NoneStruct]+=1;h=__Py_NoneStruct;d=10;break;case 10:return e=h,STACKTOP=c,e;default:assert(0,"bad label: "+d)}},0,function(a,b){var c=STACKTOP;STACKTOP+=8;_memset(c,0,8);var d;for(d=-1;;)switch(d){case -1:var e,g,h,j=c,k=c+4,l;e=a;g=b;HEAP[k]=0;d=HEAP[e+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);h=0;d=15;break;case 2:d=
__PyArg_ParseTuple_SizeT(g,A,allocate([j,0,0,0,k,0,0,0],["i32*",0,0,0,"i32*",0,0,0],ALLOC_STACK))==0?3:4;break;case 3:h=0;d=15;break;case 4:d=HEAP[k];d=d==0?5:d==1?7:d==2?9:11;break;case 5:d=HEAP[j]<0?14:6;break;case 6:l=HEAP[j];d=12;break;case 7:d=HEAP[j]+HEAP[e+16]<0?14:8;break;case 8:l=HEAP[j]+HEAP[e+16];d=12;break;case 9:d=HEAP[j]+HEAP[e+12]<0?14:10;break;case 10:l=HEAP[j]+HEAP[e+12];d=12;break;case 11:_PyErr_SetString(HEAP[_PyExc_ValueError],G);h=0;d=15;break;case 12:d=HEAP[e+12]<l?14:13;break;
case 13:HEAP[e+16]=l;HEAP[__Py_NoneStruct]+=1;h=__Py_NoneStruct;d=15;break;case 14:_PyErr_SetString(HEAP[_PyExc_ValueError],E);h=0;d=15;break;case 15:return e=h,STACKTOP=c,e;default:assert(0,"bad label: "+d)}},0,function(a){var b=STACKTOP;STACKTOP+=96;_memset(b,0,96);var c;for(c=-1;;)switch(c){case -1:var d,e,g=b;d=a;c=HEAP[d+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);e=0;c=5;break;case 2:c=___01fstat64_(HEAP[d+28],g)==-1?3:4;break;case 3:_PyErr_SetFromErrno(HEAP[x]);e=0;c=
5;break;case 4:e=_PyLong_FromLongLong(HEAP[g+44]);c=5;break;case 5:return a=e,STACKTOP=b,a;default:assert(0,"bad label: "+c)}},0,function(a){var b;for(b=-1;;)switch(b){case -1:var c,d;c=a;b=HEAP[c+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);d=0;b=3;break;case 2:d=_PyInt_FromSize_t(HEAP[c+16]);b=3;break;case 3:return a=d;default:assert(0,"bad label: "+b)}},0,function(a,c){var d=STACKTOP;STACKTOP+=8;_memset(d,0,8);var e;for(e=-1;;)switch(e){case -1:var g,h,j,k=d,l=d+4;g=a;h=c;
e=HEAP[g+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);j=0;e=9;break;case 2:e=__PyArg_ParseTuple_SizeT(h,s,allocate([l,0,0,0,k,0,0,0],["i8**",0,0,0,"i32*",0,0,0],ALLOC_STACK))==0?3:4;break;case 3:j=0;e=9;break;case 4:e=b(g)==0?5:6;break;case 5:j=0;e=9;break;case 6:e=HEAP[k]+HEAP[g+16]>HEAP[g+12]?7:8;break;case 7:_PyErr_SetString(HEAP[_PyExc_ValueError],t);j=0;e=9;break;case 8:_llvm_memcpy_p0i8_p0i8_i32(HEAP[g+8]+HEAP[g+16],HEAP[l],HEAP[k],1,0);HEAP[g+16]=HEAP[k]+HEAP[g+16];HEAP[__Py_NoneStruct]+=
1;j=__Py_NoneStruct;e=9;break;case 9:return e=j,STACKTOP=d,e;default:assert(0,"bad label: "+e)}},0,function(a,c){var d=STACKTOP;STACKTOP+=1;_memset(d,0,1);var e;for(e=-1;;)switch(e){case -1:var g,h,j,k=d;g=a;h=c;e=HEAP[g+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);j=0;e=9;break;case 2:e=__PyArg_ParseTuple_SizeT(h,v,allocate([k,0,0,0],["i8*",0,0,0],ALLOC_STACK))==0?3:4;break;case 3:j=0;e=9;break;case 4:e=b(g)==0?5:6;break;case 5:j=0;e=9;break;case 6:e=HEAP[g+16]<HEAP[g+12]?7:
8;break;case 7:HEAP[HEAP[g+8]+HEAP[g+16]]=HEAP[k];HEAP[g+16]+=1;HEAP[__Py_NoneStruct]+=1;j=__Py_NoneStruct;e=9;break;case 8:_PyErr_SetString(HEAP[_PyExc_ValueError],w);j=0;e=9;break;case 9:return e=j,STACKTOP=d,e;default:assert(0,"bad label: "+e)}},0,function(a){var b;for(b=-1;;)switch(b){case -1:var c,d;c=a;b=HEAP[c+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);d=-1;b=3;break;case 2:d=HEAP[c+12];b=3;break;case 3:return a=d;default:assert(0,"bad label: "+b)}},0,function(a){var b;
for(b=-1;;)switch(b){case -1:var c;b=HEAP[a+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);c=0;b=3;break;case 2:_PyErr_SetString(HEAP[_PyExc_SystemError],Da);c=0;b=3;break;case 3:return a=c;default:assert(0,"bad label: "+b)}},0,function(a){var b;for(b=-1;;)switch(b){case -1:var c;b=HEAP[a+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);c=0;b=3;break;case 2:_PyErr_SetString(HEAP[_PyExc_SystemError],Ua);c=0;b=3;break;case 3:return a=c;default:assert(0,"bad label: "+
b)}},0,function(a,b){var c;for(c=-1;;)switch(c){case -1:var d,e,g;d=a;e=b;c=HEAP[d+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);g=0;c=6;break;case 2:c=e<0?4:3;break;case 3:c=e>=HEAP[d+12]?4:5;break;case 4:_PyErr_SetString(HEAP[_PyExc_IndexError],la);g=0;c=6;break;case 5:g=_PyString_FromStringAndSize(HEAP[d+8]+e,1);c=6;break;case 6:return c=g;default:assert(0,"bad label: "+c)}},0,function(a,b,c){var d;for(d=-1;;)switch(d){case -1:var e,g,h,j;e=a;g=b;h=c;d=HEAP[e+8]==0?1:2;break;
case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);j=0;d=13;break;case 2:d=g<0?3:4;break;case 3:g=0;d=6;break;case 4:d=g>HEAP[e+12]?5:6;break;case 5:g=HEAP[e+12];d=6;break;case 6:d=h<0?7:8;break;case 7:h=0;d=8;break;case 8:d=h<g?9:10;break;case 9:h=g;d=12;break;case 10:d=h>HEAP[e+12]?11:12;break;case 11:h=HEAP[e+12];d=12;break;case 12:j=_PyString_FromStringAndSize(HEAP[e+8]+g,h-g);d=13;break;case 13:return a=j;default:assert(0,"bad label: "+d)}},0,function(a,c,d){var e;for(e=-1;;)switch(e){case -1:var g,
h,j,k;g=a;h=c;j=d;e=HEAP[g+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);k=-1;e=13;break;case 2:e=h<0?4:3;break;case 3:e=h>=HEAP[g+12]?4:5;break;case 4:_PyErr_SetString(HEAP[_PyExc_IndexError],la);k=-1;e=13;break;case 5:e=j==0?6:7;break;case 6:_PyErr_SetString(HEAP[_PyExc_TypeError],Ya);k=-1;e=13;break;case 7:e=(HEAP[HEAP[j+4]+84]&134217728)==0?9:8;break;case 8:e=_PyString_Size(j)!=1?9:10;break;case 9:_PyErr_SetString(HEAP[_PyExc_IndexError],Ha);k=-1;e=13;break;case 10:e=b(g)==
0?11:12;break;case 11:k=-1;e=13;break;case 12:e=_PyString_AsString(j);HEAP[HEAP[g+8]+h]=HEAP[e];k=0;e=13;break;case 13:return a=k;default:assert(0,"bad label: "+e)}},0,function(a,c,d,e){var g;for(g=-1;;)switch(g){case -1:var h,j,k,l,m;h=a;j=c;k=d;l=e;g=HEAP[h+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);m=-1;g=21;break;case 2:g=j<0?3:4;break;case 3:j=0;g=6;break;case 4:g=j>HEAP[h+12]?5:6;break;case 5:j=HEAP[h+12];g=6;break;case 6:g=k<0?7:8;break;case 7:k=0;g=8;break;case 8:g=
k<j?9:10;break;case 9:k=j;g=12;break;case 10:g=k>HEAP[h+12]?11:12;break;case 11:k=HEAP[h+12];g=12;break;case 12:g=l==0?13:14;break;case 13:_PyErr_SetString(HEAP[_PyExc_TypeError],Na);m=-1;g=21;break;case 14:g=(HEAP[HEAP[l+4]+84]&134217728)==0?15:16;break;case 15:_PyErr_SetString(HEAP[_PyExc_IndexError],Pa);m=-1;g=21;break;case 16:g=_PyString_Size(l)!=k-j?17:18;break;case 17:_PyErr_SetString(HEAP[_PyExc_IndexError],wa);m=-1;g=21;break;case 18:g=b(h)==0?19:20;break;case 19:m=-1;g=21;break;case 20:g=
_PyString_AsString(l);_llvm_memcpy_p0i8_p0i8_i32(HEAP[h+8]+j,g,k-j,1,0);m=0;g=21;break;case 21:return a=m;default:assert(0,"bad label: "+g)}},0,function(a,b){var c=STACKTOP;STACKTOP+=16;_memset(c,0,16);var d,e=null;for(d=-1;;)switch(d){case -1:var g,h,j,k,l=c,m=c+4,n=c+8,o=c+12,p,q,r;g=a;h=b;d=HEAP[g+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);j=0;d=29;break;case 2:d=HEAP[HEAP[h+4]+48]==0?16:3;break;case 3:d=(HEAP[HEAP[h+4]+84]&131072)==0?16:4;break;case 4:d=HEAP[HEAP[HEAP[h+
4]+48]+152]==0?16:5;break;case 5:var s=k=_PyNumber_AsSsize_t(h,HEAP[_PyExc_IndexError]);s==-1?(e=5,d=6):(e=5,d=9);break;case 6:d=_PyErr_Occurred()!=0?7:8;break;case 7:j=0;d=29;break;case 8:var t=k,e=8;d=9;break;case 9:d=(e==8?t:s)<0?10:11;break;case 10:var u=k+HEAP[g+12];k=u;e=10;d=12;break;case 11:var v=k,e=11;d=12;break;case 12:d=(e==11?v:u)<0?14:13;break;case 13:d=k>=HEAP[g+12]?14:15;break;case 14:_PyErr_SetString(HEAP[_PyExc_IndexError],la);j=0;d=29;break;case 15:j=_PyString_FromStringAndSize(HEAP[g+
8]+k,1);d=29;break;case 16:d=HEAP[h+4]==_PySlice_Type?17:28;break;case 17:d=_PySlice_GetIndicesEx(h,HEAP[g+12],l,m,n,o)<0?18:19;break;case 18:j=0;d=29;break;case 19:d=HEAP[o]<=0?20:21;break;case 20:j=_PyString_FromStringAndSize(ra,0);d=29;break;case 21:var w=HEAP[o];d=HEAP[n]==1?22:23;break;case 22:j=_PyString_FromStringAndSize(HEAP[g+8]+HEAP[l],w);d=29;break;case 23:p=_PyMem_Malloc(w);d=p==0?24:25;break;case 24:j=_PyErr_NoMemory();d=29;break;case 25:q=HEAP[l];r=0;d=r<HEAP[o]?26:27;break;case 26:HEAP[p+
r]=HEAP[HEAP[g+8]+q];q+=HEAP[n];r+=1;d=r<HEAP[o]?26:27;break;case 27:d=_PyString_FromStringAndSize(p,HEAP[o]);_PyMem_Free(p);j=d;d=29;break;case 28:_PyErr_SetString(HEAP[_PyExc_TypeError],ya);j=0;d=29;break;case 29:return e=j,STACKTOP=c,e;default:assert(0,"bad label: "+d)}},0,function(a,c,d){var e=STACKTOP;STACKTOP+=16;_memset(e,0,16);var g,h=null;for(g=-1;;)switch(g){case -1:var j,k,l,m,n,o=e,p=e+4,q=e+8,r=e+12,s,t,u,v;j=a;k=c;l=d;g=HEAP[j+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],
f);m=-1;g=46;break;case 2:g=HEAP[HEAP[k+4]+48]==0?23:3;break;case 3:g=(HEAP[HEAP[k+4]+84]&131072)==0?23:4;break;case 4:g=HEAP[HEAP[HEAP[k+4]+48]+152]==0?23:5;break;case 5:var w=n=_PyNumber_AsSsize_t(k,HEAP[_PyExc_IndexError]);w==-1?(h=5,g=6):(h=5,g=9);break;case 6:g=_PyErr_Occurred()!=0?7:8;break;case 7:m=-1;g=46;break;case 8:var x=n,h=8;g=9;break;case 9:g=(h==8?x:w)<0?10:11;break;case 10:var O=n+HEAP[j+12];n=O;h=10;g=12;break;case 11:var y=n,h=11;g=12;break;case 12:g=(h==11?y:O)<0?14:13;break;case 13:g=
n>=HEAP[j+12]?14:15;break;case 14:_PyErr_SetString(HEAP[_PyExc_IndexError],la);m=-1;g=46;break;case 15:g=l==0?16:17;break;case 16:_PyErr_SetString(HEAP[_PyExc_TypeError],Ya);m=-1;g=46;break;case 17:g=(HEAP[HEAP[l+4]+84]&134217728)==0?19:18;break;case 18:g=_PyString_Size(l)!=1?19:20;break;case 19:_PyErr_SetString(HEAP[_PyExc_IndexError],Ha);m=-1;g=46;break;case 20:g=b(j)==0?21:22;break;case 21:m=-1;g=46;break;case 22:m=_PyString_AsString(l);HEAP[HEAP[j+8]+n]=HEAP[m];m=0;g=46;break;case 23:g=HEAP[k+
4]==_PySlice_Type?24:45;break;case 24:g=_PySlice_GetIndicesEx(k,HEAP[j+12],o,p,q,r)<0?25:26;break;case 25:m=-1;g=46;break;case 26:g=l==0?27:28;break;case 27:_PyErr_SetString(HEAP[_PyExc_TypeError],Na);m=-1;g=46;break;case 28:g=(HEAP[HEAP[l+4]+84]&134217728)==0?29:30;break;case 29:_PyErr_SetString(HEAP[_PyExc_IndexError],Pa);m=-1;g=46;break;case 30:g=_PyString_Size(l)!=HEAP[r]?31:32;break;case 31:_PyErr_SetString(HEAP[_PyExc_IndexError],wa);m=-1;g=46;break;case 32:g=b(j)==0?33:34;break;case 33:m=-1;
g=46;break;case 34:g=HEAP[r]==0?35:36;break;case 35:m=0;g=46;break;case 36:g=HEAP[q]==1;var B=_PyString_AsString(l);g=g?37:40;break;case 37:s=B;g=s==0?38:39;break;case 38:m=-1;g=46;break;case 39:_llvm_memcpy_p0i8_p0i8_i32(HEAP[j+8]+HEAP[o],s,HEAP[r],1,0);m=0;g=46;break;case 40:v=B;g=v==0?41:42;break;case 41:m=-1;g=46;break;case 42:t=HEAP[o];u=0;g=u<HEAP[r]?43:44;break;case 43:HEAP[HEAP[j+8]+t]=HEAP[v+u];t+=HEAP[q];u+=1;g=u<HEAP[r]?43:44;break;case 44:m=0;g=46;break;case 45:_PyErr_SetString(HEAP[_PyExc_TypeError],
ta);m=-1;g=46;break;case 46:return a=m,STACKTOP=e,a;default:assert(0,"bad label: "+g)}},0,function(a,b,c){var d;for(d=-1;;)switch(d){case -1:var e,g,h,j;e=a;g=b;h=c;d=HEAP[e+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);j=-1;d=5;break;case 2:d=g!=0?3:4;break;case 3:_PyErr_SetString(HEAP[_PyExc_SystemError],fa);j=-1;d=5;break;case 4:HEAP[h]=HEAP[e+8];j=HEAP[e+12];d=5;break;case 5:return a=j;default:assert(0,"bad label: "+d)}},0,function(a,c,d){var e;for(e=-1;;)switch(e){case -1:var g,
h,j,k;g=a;h=c;j=d;e=HEAP[g+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);k=-1;e=7;break;case 2:e=h!=0?3:4;break;case 3:_PyErr_SetString(HEAP[_PyExc_SystemError],fa);k=-1;e=7;break;case 4:e=b(g)==0?5:6;break;case 5:k=-1;e=7;break;case 6:HEAP[j]=HEAP[g+8];k=HEAP[g+12];e=7;break;case 7:return a=k;default:assert(0,"bad label: "+e)}},0,function(a,b){var c;for(c=-1;;)switch(c){case -1:var d,e,g;d=a;e=b;c=HEAP[d+8]==0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_ValueError],f);g=-1;
c=5;break;case 2:c=e!=0?3:4;break;case 3:HEAP[e]=HEAP[d+12];c=4;break;case 4:g=1;c=5;break;case 5:return c=g;default:assert(0,"bad label: "+c)}},0,function(a,b,c){var d;for(d=-1;;)switch(d){case -1:var e,f,g;e=a;d=b;f=c;d=d!=0?1:2;break;case 1:_PyErr_SetString(HEAP[_PyExc_SystemError],ha);g=-1;d=3;break;case 2:HEAP[f]=HEAP[e+8];g=HEAP[e+12];d=3;break;case 3:return a=g;default:assert(0,"bad label: "+d)}},0,function(a){var b;for(b=-1;;)switch(b){case -1:var c;c=a;b=HEAP[c+28]>=0?1:2;break;case 1:_close(HEAP[c+
28]);b=2;break;case 2:b=HEAP[c+8]!=0?3:7;break;case 3:b=HEAP[c+32]!=1?4:6;break;case 4:b=HEAP[c+32]!=3?5:6;break;case 5:_msync(HEAP[c+8],HEAP[c+12],4);b=6;break;case 6:_munmap(HEAP[c+8],HEAP[c+12]);b=7;break;case 7:FUNCTION_TABLE[HEAP[HEAP[c+4]+160]](c);return;default:assert(0,"bad label: "+b)}},0,_PyObject_GenericGetAttr,0,_PyType_GenericAlloc,0,function(a,b,c){var d=STACKTOP;STACKTOP+=124;_memset(d,0,124);var e;for(e=-1;;)switch(e){case -1:var f,g,h,j=d,k,l=d+96,m,n=d+100,o=d+108,p=d+112,q=d+116,
r,s=d+120;f=a;e=b;g=c;HEAP[l]=0;HEAP[n]=0;HEAP[p]=1;HEAP[q]=3;r=-1;HEAP[s]=0;e=__PyArg_ParseTupleAndKeywords_SizeT(e,g,Ga,ka,allocate([o,0,0,0,l,0,0,0,p,0,0,0,q,0,0,0,s,0,0,0,n,0,0,0],["i32*",0,0,0,"%struct.PyObject**",0,0,0,"i32*",0,0,0,"i32*",0,0,0,"i32*",0,0,0,"i64*",0,0,0],ALLOC_STACK))==0?1:2;break;case 1:h=0;e=45;break;case 2:a:{m=HEAP[l];e=void 0;g=null;for(e=-1;;)switch(e){case -1:var t,u,v,w;t=m;u=H;e=t==0?1:2;break;case 1:v=0;e=13;break;case 2:e=HEAP[HEAP[t+4]+48]!=0?3:12;break;case 3:e=
(HEAP[HEAP[t+4]+84]&131072)!=0?4:12;break;case 4:e=HEAP[HEAP[HEAP[t+4]+48]+152]!=0?5:12;break;case 5:var O=w=_PyNumber_AsSsize_t(t,HEAP[_PyExc_OverflowError]);O==-1?(g=5,e=6):(g=5,e=9);break;case 6:e=_PyErr_Occurred()!=0?7:8;break;case 7:v=-1;e=13;break;case 8:var y=w;g=8;e=9;break;case 9:e=(g==8?y:O)<0?10:11;break;case 10:_PyErr_Format(HEAP[_PyExc_OverflowError],Ta,allocate([u,0,0,0],["i8*",0,0,0],ALLOC_STACK));v=-1;e=13;break;case 11:v=w;e=13;break;case 12:_PyErr_SetString(HEAP[_PyExc_TypeError],
Ea);v=-1;e=13;break;case 13:m=v;break a;default:assert(0,"bad label: "+e)}m=void 0}e=m<0?3:4;break;case 3:h=0;e=45;break;case 4:e=HEAP[n]<0?5:6;break;case 5:_PyErr_SetString(HEAP[_PyExc_OverflowError],$a);h=0;e=45;break;case 6:e=HEAP[s]!=0?7:14;break;case 7:e=HEAP[p]!=1?9:8;break;case 8:e=HEAP[q]!=3?9:10;break;case 9:h=_PyErr_Format(HEAP[_PyExc_ValueError],Ja,allocate(1,"i32",ALLOC_STACK));e=45;break;case 10:e=HEAP[s];e=e==0?14:e==1?11:e==2?12:e==3?13:19;break;case 11:HEAP[p]=1;HEAP[q]=1;e=20;break;
case 12:HEAP[p]=1;HEAP[q]=3;e=20;break;case 13:HEAP[p]=2;HEAP[q]=3;e=20;break;case 14:e=((HEAP[q]&1)!=0^1)!=0?16:15;break;case 15:e=(HEAP[q]&2)==0?16:20;break;case 16:e=(HEAP[q]&2)!=0?17:18;break;case 17:HEAP[s]=2;e=20;break;case 18:HEAP[s]=1;e=20;break;case 19:h=_PyErr_Format(HEAP[_PyExc_ValueError],ja,allocate(1,"i32",ALLOC_STACK));e=45;break;case 20:e=HEAP[o]!=-1?21:30;break;case 21:e=___01fstat64_(HEAP[o],j)==0?22:30;break;case 22:e=(HEAP[j+16]&61440)==32768?23:30;break;case 23:e=m==0?24:28;break;
case 24:e=HEAP[j+44]<=HEAP[n]?25:26;break;case 25:_PyErr_SetString(HEAP[_PyExc_ValueError],ua);h=0;e=45;break;case 26:e=HEAP[j+44]-HEAP[n];m=e&4294967295;e=m!=e?27:30;break;case 27:_PyErr_SetString(HEAP[_PyExc_ValueError],bb);h=0;e=45;break;case 28:e=m+HEAP[n]>HEAP[j+44]?29:30;break;case 29:_PyErr_SetString(HEAP[_PyExc_ValueError],qa);h=0;e=45;break;case 30:k=e=FUNCTION_TABLE[HEAP[f+152]](f,0);e=e==0?31:32;break;case 31:h=0;e=45;break;case 32:HEAP[k+8]=0;HEAP[k+12]=m;HEAP[k+16]=0;HEAP[k+20]=HEAP[n];
e=HEAP[o]==-1?33:34;break;case 33:HEAP[k+28]=-1;HEAP[p]|=32;e=38;break;case 34:e=_dup(HEAP[o]);HEAP[k+28]=e;e=HEAP[k+28]==-1?35:38;break;case 35:HEAP[k]-=1;e=HEAP[k]==0?36:37;break;case 36:FUNCTION_TABLE[HEAP[HEAP[k+4]+24]](k);e=37;break;case 37:_PyErr_SetFromErrno(HEAP[x]);h=0;e=45;break;case 38:e=___01mmap64_(0,m,HEAP[q],HEAP[p],HEAP[o],HEAP[n]);HEAP[k+8]=e;e=r!=-1?39:40;break;case 39:_close(r);e=40;break;case 40:e=HEAP[k+8]==-1?41:44;break;case 41:HEAP[k+8]=0;HEAP[k]-=1;e=HEAP[k]==0?42:43;break;
case 42:FUNCTION_TABLE[HEAP[HEAP[k+4]+24]](k);e=43;break;case 43:_PyErr_SetFromErrno(HEAP[x]);h=0;e=45;break;case 44:HEAP[k+32]=HEAP[s];h=k;e=45;break;case 45:return a=h,STACKTOP=d,a;default:assert(0,"bad label: "+e)}},0,_PyObject_Free,0]);d.run=c;c();return d});