Files
2023-03-22 11:41:09 +08:00

44 lines
1.1 MiB
Plaintext

"use strict";
(function() {
Error.stackTraceLimit=Infinity;var $global,$module;if(typeof window!=="undefined"){$global=window;}else if(typeof self!=="undefined"){$global=self;}else if(typeof global!=="undefined"){$global=global;$global.require=require;}else{$global=this;}if($global===undefined||$global.Array===undefined){throw new Error("no global object found");}if(typeof module!=="undefined"){$module=module;}var $packages={},$idCounter=0;var $keys=function(m){return m?Object.keys(m):[];};var $flushConsole=function(){};var $throwRuntimeError;var $throwNilPointerError=function(){$throwRuntimeError("invalid memory address or nil pointer dereference");};var $call=function(fn,rcvr,args){return fn.apply(rcvr,args);};var $makeFunc=function(fn){return function(){return $externalize(fn(this,new($sliceType($jsObjectPtr))($global.Array.prototype.slice.call(arguments,[]))),$emptyInterface);};};var $unused=function(v){};var $mapArray=function(array,f){var newArray=new array.constructor(array.length);for(var i=0;i<array.length;i++){newArray[i]=f(array[i]);}return newArray;};var $methodVal=function(recv,name){var vals=recv.$methodVals||{};recv.$methodVals=vals;var f=vals[name];if(f!==undefined){return f;}var method=recv[name];f=function(){$stackDepthOffset--;try{return method.apply(recv,arguments);}finally{$stackDepthOffset++;}};vals[name]=f;return f;};var $methodExpr=function(typ,name){var method=typ.prototype[name];if(method.$expr===undefined){method.$expr=function(){$stackDepthOffset--;try{if(typ.wrapped){arguments[0]=new typ(arguments[0]);}return Function.call.apply(method,arguments);}finally{$stackDepthOffset++;}};}return method.$expr;};var $ifaceMethodExprs={};var $ifaceMethodExpr=function(name){var expr=$ifaceMethodExprs["$"+name];if(expr===undefined){expr=$ifaceMethodExprs["$"+name]=function(){$stackDepthOffset--;try{return Function.call.apply(arguments[0][name],arguments);}finally{$stackDepthOffset++;}};}return expr;};var $subslice=function(slice,low,high,max){if(low<0||high<low||max<high||high>slice.$capacity||max>slice.$capacity){$throwRuntimeError("slice bounds out of range");}var s=new slice.constructor(slice.$array);s.$offset=slice.$offset+low;s.$length=slice.$length-low;s.$capacity=slice.$capacity-low;if(high!==undefined){s.$length=high-low;}if(max!==undefined){s.$capacity=max-low;}return s;};var $substring=function(str,low,high){if(low<0||high<low||high>str.length){$throwRuntimeError("slice bounds out of range");}return str.substring(low,high);};var $sliceToArray=function(slice){if(slice.$array.constructor!==Array){return slice.$array.subarray(slice.$offset,slice.$offset+slice.$length);}return slice.$array.slice(slice.$offset,slice.$offset+slice.$length);};var $decodeRune=function(str,pos){var c0=str.charCodeAt(pos);if(c0<0x80){return[c0,1];}if(c0!==c0||c0<0xC0){return[0xFFFD,1];}var c1=str.charCodeAt(pos+1);if(c1!==c1||c1<0x80||0xC0<=c1){return[0xFFFD,1];}if(c0<0xE0){var r=(c0&0x1F)<<6|(c1&0x3F);if(r<=0x7F){return[0xFFFD,1];}return[r,2];}var c2=str.charCodeAt(pos+2);if(c2!==c2||c2<0x80||0xC0<=c2){return[0xFFFD,1];}if(c0<0xF0){var r=(c0&0x0F)<<12|(c1&0x3F)<<6|(c2&0x3F);if(r<=0x7FF){return[0xFFFD,1];}if(0xD800<=r&&r<=0xDFFF){return[0xFFFD,1];}return[r,3];}var c3=str.charCodeAt(pos+3);if(c3!==c3||c3<0x80||0xC0<=c3){return[0xFFFD,1];}if(c0<0xF8){var r=(c0&0x07)<<18|(c1&0x3F)<<12|(c2&0x3F)<<6|(c3&0x3F);if(r<=0xFFFF||0x10FFFF<r){return[0xFFFD,1];}return[r,4];}return[0xFFFD,1];};var $encodeRune=function(r){if(r<0||r>0x10FFFF||(0xD800<=r&&r<=0xDFFF)){r=0xFFFD;}if(r<=0x7F){return String.fromCharCode(r);}if(r<=0x7FF){return String.fromCharCode(0xC0|r>>6,0x80|(r&0x3F));}if(r<=0xFFFF){return String.fromCharCode(0xE0|r>>12,0x80|(r>>6&0x3F),0x80|(r&0x3F));}return String.fromCharCode(0xF0|r>>18,0x80|(r>>12&0x3F),0x80|(r>>6&0x3F),0x80|(r&0x3F));};var $stringToBytes=function(str){var array=new Uint8Array(str.length);for(var i=0;i<str.length;i++){array[i]=str.charCodeAt(i);}return array;};var $bytesToString=function(slice){if(slice.$length===0){return"";}var str="";for(var i=0;i<slice.$length;i+=10000){str+=String.fromCharCode.apply(undefined,slice.$array.subarray(slice.$offset+i,slice.$offset+Math.min(slice.$length,i+10000)));}return str;};var $stringToRunes=function(str){var array=new Int32Array(str.length);var rune,j=0;for(var i=0;i<str.length;i+=rune[1],j++){rune=$decodeRune(str,i);array[j]=rune[0];}return array.subarray(0,j);};var $runesToString=function(slice){if(slice.$length===0){return"";}var str="";for(var i=0;i<slice.$length;i++){str+=$encodeRune(slice.$array[slice.$offset+i]);}return str;};var $copyString=function(dst,src){var n=Math.min(src.length,dst.$length);for(var i=0;i<n;i++){dst.$array[dst.$offset+i]=src.charCodeAt(i);}return n;};var $copySlice=function(dst,src){var n=Math.min(src.$length,dst.$length);$copyArray(dst.$array,src.$array,dst.$offset,src.$offset,n,dst.constructor.elem);return n;};var $copyArray=function(dst,src,dstOffset,srcOffset,n,elem){if(n===0||(dst===src&&dstOffset===srcOffset)){return;}if(src.subarray){dst.set(src.subarray(srcOffset,srcOffset+n),dstOffset);return;}switch(elem.kind){case $kindArray:case $kindStruct:if(dst===src&&dstOffset>srcOffset){for(var i=n-1;i>=0;i--){elem.copy(dst[dstOffset+i],src[srcOffset+i]);}return;}for(var i=0;i<n;i++){elem.copy(dst[dstOffset+i],src[srcOffset+i]);}return;}if(dst===src&&dstOffset>srcOffset){for(var i=n-1;i>=0;i--){dst[dstOffset+i]=src[srcOffset+i];}return;}for(var i=0;i<n;i++){dst[dstOffset+i]=src[srcOffset+i];}};var $clone=function(src,type){var clone=type.zero();type.copy(clone,src);return clone;};var $pointerOfStructConversion=function(obj,type){if(obj.$proxies===undefined){obj.$proxies={};obj.$proxies[obj.constructor.string]=obj;}var proxy=obj.$proxies[type.string];if(proxy===undefined){var properties={};for(var i=0;i<type.elem.fields.length;i++){(function(fieldProp){properties[fieldProp]={get:function(){return obj[fieldProp];},set:function(value){obj[fieldProp]=value;}};})(type.elem.fields[i].prop);}proxy=Object.create(type.prototype,properties);proxy.$val=proxy;obj.$proxies[type.string]=proxy;proxy.$proxies=obj.$proxies;}return proxy;};var $append=function(slice){return $internalAppend(slice,arguments,1,arguments.length-1);};var $appendSlice=function(slice,toAppend){if(toAppend.constructor===String){var bytes=$stringToBytes(toAppend);return $internalAppend(slice,bytes,0,bytes.length);}return $internalAppend(slice,toAppend.$array,toAppend.$offset,toAppend.$length);};var $internalAppend=function(slice,array,offset,length){if(length===0){return slice;}var newArray=slice.$array;var newOffset=slice.$offset;var newLength=slice.$length+length;var newCapacity=slice.$capacity;if(newLength>newCapacity){newOffset=0;newCapacity=Math.max(newLength,slice.$capacity<1024?slice.$capacity*2:Math.floor(slice.$capacity*5/4));if(slice.$array.constructor===Array){newArray=slice.$array.slice(slice.$offset,slice.$offset+slice.$length);newArray.length=newCapacity;var zero=slice.constructor.elem.zero;for(var i=slice.$length;i<newCapacity;i++){newArray[i]=zero();}}else{newArray=new slice.$array.constructor(newCapacity);newArray.set(slice.$array.subarray(slice.$offset,slice.$offset+slice.$length));}}$copyArray(newArray,array,newOffset+slice.$length,offset,length,slice.constructor.elem);var newSlice=new slice.constructor(newArray);newSlice.$offset=newOffset;newSlice.$length=newLength;newSlice.$capacity=newCapacity;return newSlice;};var $equal=function(a,b,type){if(type===$jsObjectPtr){return a===b;}switch(type.kind){case $kindComplex64:case $kindComplex128:return a.$real===b.$real&&a.$imag===b.$imag;case $kindInt64:case $kindUint64:return a.$high===b.$high&&a.$low===b.$low;case $kindArray:if(a.length!==b.length){return false;}for(var i=0;i<a.length;i++){if(!$equal(a[i],b[i],type.elem)){return false;}}return true;case $kindStruct:for(var i=0;i<type.fields.length;i++){var f=type.fields[i];if(!$equal(a[f.prop],b[f.prop],f.typ)){return false;}}return true;case $kindInterface:return $interfaceIsEqual(a,b);default:return a===b;}};var $interfaceIsEqual=function(a,b){if(a===$ifaceNil||b===$ifaceNil){return a===b;}if(a.constructor!==b.constructor){return false;}if(a.constructor===$jsObjectPtr){return a.object===b.object;}if(!a.constructor.comparable){$throwRuntimeError("comparing uncomparable type "+a.constructor.string);}return $equal(a.$val,b.$val,a.constructor);};var $min=Math.min;var $mod=function(x,y){return x%y;};var $parseInt=parseInt;var $parseFloat=function(f){if(f!==undefined&&f!==null&&f.constructor===Number){return f;}return parseFloat(f);};var $froundBuf=new Float32Array(1);var $fround=Math.fround||function(f){$froundBuf[0]=f;return $froundBuf[0];};var $imul=Math.imul||function(a,b){var ah=(a>>>16)&0xffff;var al=a&0xffff;var bh=(b>>>16)&0xffff;var bl=b&0xffff;return((al*bl)+(((ah*bl+al*bh)<<16)>>>0)>>0);};var $floatKey=function(f){if(f!==f){$idCounter++;return"NaN$"+$idCounter;}return String(f);};var $flatten64=function(x){return x.$high*4294967296+x.$low;};var $shiftLeft64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high<<y|x.$low>>>(32-y),(x.$low<<y)>>>0);}if(y<64){return new x.constructor(x.$low<<(y-32),0);}return new x.constructor(0,0);};var $shiftRightInt64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(x.$high>>31,(x.$high>>(y-32))>>>0);}if(x.$high<0){return new x.constructor(-1,4294967295);}return new x.constructor(0,0);};var $shiftRightUint64=function(x,y){if(y===0){return x;}if(y<32){return new x.constructor(x.$high>>>y,(x.$low>>>y|x.$high<<(32-y))>>>0);}if(y<64){return new x.constructor(0,x.$high>>>(y-32));}return new x.constructor(0,0);};var $mul64=function(x,y){var high=0,low=0;if((y.$low&1)!==0){high=x.$high;low=x.$low;}for(var i=1;i<32;i++){if((y.$low&1<<i)!==0){high+=x.$high<<i|x.$low>>>(32-i);low+=(x.$low<<i)>>>0;}}for(var i=0;i<32;i++){if((y.$high&1<<i)!==0){high+=x.$low<<i;}}return new x.constructor(high,low);};var $div64=function(x,y,returnRemainder){if(y.$high===0&&y.$low===0){$throwRuntimeError("integer divide by zero");}var s=1;var rs=1;var xHigh=x.$high;var xLow=x.$low;if(xHigh<0){s=-1;rs=-1;xHigh=-xHigh;if(xLow!==0){xHigh--;xLow=4294967296-xLow;}}var yHigh=y.$high;var yLow=y.$low;if(y.$high<0){s*=-1;yHigh=-yHigh;if(yLow!==0){yHigh--;yLow=4294967296-yLow;}}var high=0,low=0,n=0;while(yHigh<2147483648&&((xHigh>yHigh)||(xHigh===yHigh&&xLow>yLow))){yHigh=(yHigh<<1|yLow>>>31)>>>0;yLow=(yLow<<1)>>>0;n++;}for(var i=0;i<=n;i++){high=high<<1|low>>>31;low=(low<<1)>>>0;if((xHigh>yHigh)||(xHigh===yHigh&&xLow>=yLow)){xHigh=xHigh-yHigh;xLow=xLow-yLow;if(xLow<0){xHigh--;xLow+=4294967296;}low++;if(low===4294967296){high++;low=0;}}yLow=(yLow>>>1|yHigh<<(32-1))>>>0;yHigh=yHigh>>>1;}if(returnRemainder){return new x.constructor(xHigh*rs,xLow*rs);}return new x.constructor(high*s,low*s);};var $divComplex=function(n,d){var ninf=n.$real===Infinity||n.$real===-Infinity||n.$imag===Infinity||n.$imag===-Infinity;var dinf=d.$real===Infinity||d.$real===-Infinity||d.$imag===Infinity||d.$imag===-Infinity;var nnan=!ninf&&(n.$real!==n.$real||n.$imag!==n.$imag);var dnan=!dinf&&(d.$real!==d.$real||d.$imag!==d.$imag);if(nnan||dnan){return new n.constructor(NaN,NaN);}if(ninf&&!dinf){return new n.constructor(Infinity,Infinity);}if(!ninf&&dinf){return new n.constructor(0,0);}if(d.$real===0&&d.$imag===0){if(n.$real===0&&n.$imag===0){return new n.constructor(NaN,NaN);}return new n.constructor(Infinity,Infinity);}var a=Math.abs(d.$real);var b=Math.abs(d.$imag);if(a<=b){var ratio=d.$real/d.$imag;var denom=d.$real*ratio+d.$imag;return new n.constructor((n.$real*ratio+n.$imag)/denom,(n.$imag*ratio-n.$real)/denom);}var ratio=d.$imag/d.$real;var denom=d.$imag*ratio+d.$real;return new n.constructor((n.$imag*ratio+n.$real)/denom,(n.$imag-n.$real*ratio)/denom);};var $kindBool=1;var $kindInt=2;var $kindInt8=3;var $kindInt16=4;var $kindInt32=5;var $kindInt64=6;var $kindUint=7;var $kindUint8=8;var $kindUint16=9;var $kindUint32=10;var $kindUint64=11;var $kindUintptr=12;var $kindFloat32=13;var $kindFloat64=14;var $kindComplex64=15;var $kindComplex128=16;var $kindArray=17;var $kindChan=18;var $kindFunc=19;var $kindInterface=20;var $kindMap=21;var $kindPtr=22;var $kindSlice=23;var $kindString=24;var $kindStruct=25;var $kindUnsafePointer=26;var $methodSynthesizers=[];var $addMethodSynthesizer=function(f){if($methodSynthesizers===null){f();return;}$methodSynthesizers.push(f);};var $synthesizeMethods=function(){$methodSynthesizers.forEach(function(f){f();});$methodSynthesizers=null;};var $ifaceKeyFor=function(x){if(x===$ifaceNil){return'nil';}var c=x.constructor;return c.string+'$'+c.keyFor(x.$val);};var $identity=function(x){return x;};var $typeIDCounter=0;var $idKey=function(x){if(x.$id===undefined){$idCounter++;x.$id=$idCounter;}return String(x.$id);};var $newType=function(size,kind,string,named,pkg,exported,constructor){var typ;switch(kind){case $kindBool:case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindUnsafePointer:typ=function(v){this.$val=v;};typ.wrapped=true;typ.keyFor=$identity;break;case $kindString:typ=function(v){this.$val=v;};typ.wrapped=true;typ.keyFor=function(x){return"$"+x;};break;case $kindFloat32:case $kindFloat64:typ=function(v){this.$val=v;};typ.wrapped=true;typ.keyFor=function(x){return $floatKey(x);};break;case $kindInt64:typ=function(high,low){this.$high=(high+Math.floor(Math.ceil(low)/4294967296))>>0;this.$low=low>>>0;this.$val=this;};typ.keyFor=function(x){return x.$high+"$"+x.$low;};break;case $kindUint64:typ=function(high,low){this.$high=(high+Math.floor(Math.ceil(low)/4294967296))>>>0;this.$low=low>>>0;this.$val=this;};typ.keyFor=function(x){return x.$high+"$"+x.$low;};break;case $kindComplex64:typ=function(real,imag){this.$real=$fround(real);this.$imag=$fround(imag);this.$val=this;};typ.keyFor=function(x){return x.$real+"$"+x.$imag;};break;case $kindComplex128:typ=function(real,imag){this.$real=real;this.$imag=imag;this.$val=this;};typ.keyFor=function(x){return x.$real+"$"+x.$imag;};break;case $kindArray:typ=function(v){this.$val=v;};typ.wrapped=true;typ.ptr=$newType(4,$kindPtr,"*"+string,false,"",false,function(array){this.$get=function(){return array;};this.$set=function(v){typ.copy(this,v);};this.$val=array;});typ.init=function(elem,len){typ.elem=elem;typ.len=len;typ.comparable=elem.comparable;typ.keyFor=function(x){return Array.prototype.join.call($mapArray(x,function(e){return String(elem.keyFor(e)).replace(/\\/g,"\\\\").replace(/\$/g,"\\$");}),"$");};typ.copy=function(dst,src){$copyArray(dst,src,0,0,src.length,elem);};typ.ptr.init(typ);Object.defineProperty(typ.ptr.nil,"nilCheck",{get:$throwNilPointerError});};break;case $kindChan:typ=function(v){this.$val=v;};typ.wrapped=true;typ.keyFor=$idKey;typ.init=function(elem,sendOnly,recvOnly){typ.elem=elem;typ.sendOnly=sendOnly;typ.recvOnly=recvOnly;};break;case $kindFunc:typ=function(v){this.$val=v;};typ.wrapped=true;typ.init=function(params,results,variadic){typ.params=params;typ.results=results;typ.variadic=variadic;typ.comparable=false;};break;case $kindInterface:typ={implementedBy:{},missingMethodFor:{}};typ.keyFor=$ifaceKeyFor;typ.init=function(methods){typ.methods=methods;methods.forEach(function(m){$ifaceNil[m.prop]=$throwNilPointerError;});};break;case $kindMap:typ=function(v){this.$val=v;};typ.wrapped=true;typ.init=function(key,elem){typ.key=key;typ.elem=elem;typ.comparable=false;};break;case $kindPtr:typ=constructor||function(getter,setter,target){this.$get=getter;this.$set=setter;this.$target=target;this.$val=this;};typ.keyFor=$idKey;typ.init=function(elem){typ.elem=elem;typ.wrapped=(elem.kind===$kindArray);typ.nil=new typ($throwNilPointerError,$throwNilPointerError);};break;case $kindSlice:typ=function(array){if(array.constructor!==typ.nativeArray){array=new typ.nativeArray(array);}this.$array=array;this.$offset=0;this.$length=array.length;this.$capacity=array.length;this.$val=this;};typ.init=function(elem){typ.elem=elem;typ.comparable=false;typ.nativeArray=$nativeArray(elem.kind);typ.nil=new typ([]);};break;case $kindStruct:typ=function(v){this.$val=v;};typ.wrapped=true;typ.ptr=$newType(4,$kindPtr,"*"+string,false,"",exported,constructor);typ.ptr.elem=typ;typ.ptr.prototype.$get=function(){return this;};typ.ptr.prototype.$set=function(v){typ.copy(this,v);};typ.init=function(pkgPath,fields){typ.pkgPath=pkgPath;typ.fields=fields;fields.forEach(function(f){if(!f.typ.comparable){typ.comparable=false;}});typ.keyFor=function(x){var val=x.$val;return $mapArray(fields,function(f){return String(f.typ.keyFor(val[f.prop])).replace(/\\/g,"\\\\").replace(/\$/g,"\\$");}).join("$");};typ.copy=function(dst,src){for(var i=0;i<fields.length;i++){var f=fields[i];switch(f.typ.kind){case $kindArray:case $kindStruct:f.typ.copy(dst[f.prop],src[f.prop]);continue;default:dst[f.prop]=src[f.prop];continue;}}};var properties={};fields.forEach(function(f){properties[f.prop]={get:$throwNilPointerError,set:$throwNilPointerError};});typ.ptr.nil=Object.create(constructor.prototype,properties);typ.ptr.nil.$val=typ.ptr.nil;$addMethodSynthesizer(function(){var synthesizeMethod=function(target,m,f){if(target.prototype[m.prop]!==undefined){return;}target.prototype[m.prop]=function(){var v=this.$val[f.prop];if(f.typ===$jsObjectPtr){v=new $jsObjectPtr(v);}if(v.$val===undefined){v=new f.typ(v);}return v[m.prop].apply(v,arguments);};};fields.forEach(function(f){if(f.name===""){$methodSet(f.typ).forEach(function(m){synthesizeMethod(typ,m,f);synthesizeMethod(typ.ptr,m,f);});$methodSet($ptrType(f.typ)).forEach(function(m){synthesizeMethod(typ.ptr,m,f);});}});});};break;default:$panic(new $String("invalid kind: "+kind));}switch(kind){case $kindBool:case $kindMap:typ.zero=function(){return false;};break;case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindUnsafePointer:case $kindFloat32:case $kindFloat64:typ.zero=function(){return 0;};break;case $kindString:typ.zero=function(){return"";};break;case $kindInt64:case $kindUint64:case $kindComplex64:case $kindComplex128:var zero=new typ(0,0);typ.zero=function(){return zero;};break;case $kindPtr:case $kindSlice:typ.zero=function(){return typ.nil;};break;case $kindChan:typ.zero=function(){return $chanNil;};break;case $kindFunc:typ.zero=function(){return $throwNilPointerError;};break;case $kindInterface:typ.zero=function(){return $ifaceNil;};break;case $kindArray:typ.zero=function(){var arrayClass=$nativeArray(typ.elem.kind);if(arrayClass!==Array){return new arrayClass(typ.len);}var array=new Array(typ.len);for(var i=0;i<typ.len;i++){array[i]=typ.elem.zero();}return array;};break;case $kindStruct:typ.zero=function(){return new typ.ptr();};break;default:$panic(new $String("invalid kind: "+kind));}typ.id=$typeIDCounter;$typeIDCounter++;typ.size=size;typ.kind=kind;typ.string=string;typ.named=named;typ.pkg=pkg;typ.exported=exported;typ.methods=[];typ.methodSetCache=null;typ.comparable=true;return typ;};var $methodSet=function(typ){if(typ.methodSetCache!==null){return typ.methodSetCache;}var base={};var isPtr=(typ.kind===$kindPtr);if(isPtr&&typ.elem.kind===$kindInterface){typ.methodSetCache=[];return[];}var current=[{typ:isPtr?typ.elem:typ,indirect:isPtr}];var seen={};while(current.length>0){var next=[];var mset=[];current.forEach(function(e){if(seen[e.typ.string]){return;}seen[e.typ.string]=true;if(e.typ.named){mset=mset.concat(e.typ.methods);if(e.indirect){mset=mset.concat($ptrType(e.typ).methods);}}switch(e.typ.kind){case $kindStruct:e.typ.fields.forEach(function(f){if(f.name===""){var fTyp=f.typ;var fIsPtr=(fTyp.kind===$kindPtr);next.push({typ:fIsPtr?fTyp.elem:fTyp,indirect:e.indirect||fIsPtr});}});break;case $kindInterface:mset=mset.concat(e.typ.methods);break;}});mset.forEach(function(m){if(base[m.name]===undefined){base[m.name]=m;}});current=next;}typ.methodSetCache=[];Object.keys(base).sort().forEach(function(name){typ.methodSetCache.push(base[name]);});return typ.methodSetCache;};var $Bool=$newType(1,$kindBool,"bool",true,"",false,null);var $Int=$newType(4,$kindInt,"int",true,"",false,null);var $Int8=$newType(1,$kindInt8,"int8",true,"",false,null);var $Int16=$newType(2,$kindInt16,"int16",true,"",false,null);var $Int32=$newType(4,$kindInt32,"int32",true,"",false,null);var $Int64=$newType(8,$kindInt64,"int64",true,"",false,null);var $Uint=$newType(4,$kindUint,"uint",true,"",false,null);var $Uint8=$newType(1,$kindUint8,"uint8",true,"",false,null);var $Uint16=$newType(2,$kindUint16,"uint16",true,"",false,null);var $Uint32=$newType(4,$kindUint32,"uint32",true,"",false,null);var $Uint64=$newType(8,$kindUint64,"uint64",true,"",false,null);var $Uintptr=$newType(4,$kindUintptr,"uintptr",true,"",false,null);var $Float32=$newType(4,$kindFloat32,"float32",true,"",false,null);var $Float64=$newType(8,$kindFloat64,"float64",true,"",false,null);var $Complex64=$newType(8,$kindComplex64,"complex64",true,"",false,null);var $Complex128=$newType(16,$kindComplex128,"complex128",true,"",false,null);var $String=$newType(8,$kindString,"string",true,"",false,null);var $UnsafePointer=$newType(4,$kindUnsafePointer,"unsafe.Pointer",true,"",false,null);var $nativeArray=function(elemKind){switch(elemKind){case $kindInt:return Int32Array;case $kindInt8:return Int8Array;case $kindInt16:return Int16Array;case $kindInt32:return Int32Array;case $kindUint:return Uint32Array;case $kindUint8:return Uint8Array;case $kindUint16:return Uint16Array;case $kindUint32:return Uint32Array;case $kindUintptr:return Uint32Array;case $kindFloat32:return Float32Array;case $kindFloat64:return Float64Array;default:return Array;}};var $toNativeArray=function(elemKind,array){var nativeArray=$nativeArray(elemKind);if(nativeArray===Array){return array;}return new nativeArray(array);};var $arrayTypes={};var $arrayType=function(elem,len){var typeKey=elem.id+"$"+len;var typ=$arrayTypes[typeKey];if(typ===undefined){typ=$newType(12,$kindArray,"["+len+"]"+elem.string,false,"",false,null);$arrayTypes[typeKey]=typ;typ.init(elem,len);}return typ;};var $chanType=function(elem,sendOnly,recvOnly){var string=(recvOnly?"<-":"")+"chan"+(sendOnly?"<- ":" ")+elem.string;var field=sendOnly?"SendChan":(recvOnly?"RecvChan":"Chan");var typ=elem[field];if(typ===undefined){typ=$newType(4,$kindChan,string,false,"",false,null);elem[field]=typ;typ.init(elem,sendOnly,recvOnly);}return typ;};var $Chan=function(elem,capacity){if(capacity<0||capacity>2147483647){$throwRuntimeError("makechan: size out of range");}this.$elem=elem;this.$capacity=capacity;this.$buffer=[];this.$sendQueue=[];this.$recvQueue=[];this.$closed=false;};var $chanNil=new $Chan(null,0);$chanNil.$sendQueue=$chanNil.$recvQueue={length:0,push:function(){},shift:function(){return undefined;},indexOf:function(){return-1;}};var $funcTypes={};var $funcType=function(params,results,variadic){var typeKey=$mapArray(params,function(p){return p.id;}).join(",")+"$"+$mapArray(results,function(r){return r.id;}).join(",")+"$"+variadic;var typ=$funcTypes[typeKey];if(typ===undefined){var paramTypes=$mapArray(params,function(p){return p.string;});if(variadic){paramTypes[paramTypes.length-1]="..."+paramTypes[paramTypes.length-1].substr(2);}var string="func("+paramTypes.join(", ")+")";if(results.length===1){string+=" "+results[0].string;}else if(results.length>1){string+=" ("+$mapArray(results,function(r){return r.string;}).join(", ")+")";}typ=$newType(4,$kindFunc,string,false,"",false,null);$funcTypes[typeKey]=typ;typ.init(params,results,variadic);}return typ;};var $interfaceTypes={};var $interfaceType=function(methods){var typeKey=$mapArray(methods,function(m){return m.pkg+","+m.name+","+m.typ.id;}).join("$");var typ=$interfaceTypes[typeKey];if(typ===undefined){var string="interface {}";if(methods.length!==0){string="interface { "+$mapArray(methods,function(m){return(m.pkg!==""?m.pkg+".":"")+m.name+m.typ.string.substr(4);}).join("; ")+" }";}typ=$newType(8,$kindInterface,string,false,"",false,null);$interfaceTypes[typeKey]=typ;typ.init(methods);}return typ;};var $emptyInterface=$interfaceType([]);var $ifaceNil={};var $error=$newType(8,$kindInterface,"error",true,"",false,null);$error.init([{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}]);var $mapTypes={};var $mapType=function(key,elem){var typeKey=key.id+"$"+elem.id;var typ=$mapTypes[typeKey];if(typ===undefined){typ=$newType(4,$kindMap,"map["+key.string+"]"+elem.string,false,"",false,null);$mapTypes[typeKey]=typ;typ.init(key,elem);}return typ;};var $makeMap=function(keyForFunc,entries){var m={};for(var i=0;i<entries.length;i++){var e=entries[i];m[keyForFunc(e.k)]=e;}return m;};var $ptrType=function(elem){var typ=elem.ptr;if(typ===undefined){typ=$newType(4,$kindPtr,"*"+elem.string,false,"",elem.exported,null);elem.ptr=typ;typ.init(elem);}return typ;};var $newDataPointer=function(data,constructor){if(constructor.elem.kind===$kindStruct){return data;}return new constructor(function(){return data;},function(v){data=v;});};var $indexPtr=function(array,index,constructor){array.$ptr=array.$ptr||{};return array.$ptr[index]||(array.$ptr[index]=new constructor(function(){return array[index];},function(v){array[index]=v;}));};var $sliceType=function(elem){var typ=elem.slice;if(typ===undefined){typ=$newType(12,$kindSlice,"[]"+elem.string,false,"",false,null);elem.slice=typ;typ.init(elem);}return typ;};var $makeSlice=function(typ,length,capacity){capacity=capacity||length;if(length<0||length>2147483647){$throwRuntimeError("makeslice: len out of range");}if(capacity<0||capacity<length||capacity>2147483647){$throwRuntimeError("makeslice: cap out of range");}var array=new typ.nativeArray(capacity);if(typ.nativeArray===Array){for(var i=0;i<capacity;i++){array[i]=typ.elem.zero();}}var slice=new typ(array);slice.$length=length;return slice;};var $structTypes={};var $structType=function(pkgPath,fields){var typeKey=$mapArray(fields,function(f){return f.name+","+f.typ.id+","+f.tag;}).join("$");var typ=$structTypes[typeKey];if(typ===undefined){var string="struct { "+$mapArray(fields,function(f){return f.name+" "+f.typ.string+(f.tag!==""?(" \""+f.tag.replace(/\\/g,"\\\\").replace(/"/g, "\\\"")+"\""):"");}).join("; ")+" }";if(fields.length===0){string="struct {}";}typ=$newType(0,$kindStruct,string,false,"",false,function(){this.$val=this;for(var i=0;i<fields.length;i++){var f=fields[i];var arg=arguments[i];this[f.prop]=arg!==undefined?arg:f.typ.zero();}});$structTypes[typeKey]=typ;typ.init(pkgPath,fields);}return typ;};var $assertType=function(value,type,returnTuple){var isInterface=(type.kind===$kindInterface),ok,missingMethod="";if(value===$ifaceNil){ok=false;}else if(!isInterface){ok=value.constructor===type;}else{var valueTypeString=value.constructor.string;ok=type.implementedBy[valueTypeString];if(ok===undefined){ok=true;var valueMethodSet=$methodSet(value.constructor);var interfaceMethods=type.methods;for(var i=0;i<interfaceMethods.length;i++){var tm=interfaceMethods[i];var found=false;for(var j=0;j<valueMethodSet.length;j++){var vm=valueMethodSet[j];if(vm.name===tm.name&&vm.pkg===tm.pkg&&vm.typ===tm.typ){found=true;break;}}if(!found){ok=false;type.missingMethodFor[valueTypeString]=tm.name;break;}}type.implementedBy[valueTypeString]=ok;}if(!ok){missingMethod=type.missingMethodFor[valueTypeString];}}if(!ok){if(returnTuple){return[type.zero(),false];}$panic(new $packages["runtime"].TypeAssertionError.ptr("",(value===$ifaceNil?"":value.constructor.string),type.string,missingMethod));}if(!isInterface){value=value.$val;}if(type===$jsObjectPtr){value=value.object;}return returnTuple?[value,true]:value;};var $stackDepthOffset=0;var $getStackDepth=function(){var err=new Error();if(err.stack===undefined){return undefined;}return $stackDepthOffset+err.stack.split("\n").length;};var $panicStackDepth=null,$panicValue;var $callDeferred=function(deferred,jsErr,fromPanic){if(!fromPanic&&deferred!==null&&deferred.index>=$curGoroutine.deferStack.length){throw jsErr;}if(jsErr!==null){var newErr=null;try{$curGoroutine.deferStack.push(deferred);$panic(new $jsErrorPtr(jsErr));}catch(err){newErr=err;}$curGoroutine.deferStack.pop();$callDeferred(deferred,newErr);return;}if($curGoroutine.asleep){return;}$stackDepthOffset--;var outerPanicStackDepth=$panicStackDepth;var outerPanicValue=$panicValue;var localPanicValue=$curGoroutine.panicStack.pop();if(localPanicValue!==undefined){$panicStackDepth=$getStackDepth();$panicValue=localPanicValue;}try{while(true){if(deferred===null){deferred=$curGoroutine.deferStack[$curGoroutine.deferStack.length-1];if(deferred===undefined){$panicStackDepth=null;if(localPanicValue.Object instanceof Error){throw localPanicValue.Object;}var msg;if(localPanicValue.constructor===$String){msg=localPanicValue.$val;}else if(localPanicValue.Error!==undefined){msg=localPanicValue.Error();}else if(localPanicValue.String!==undefined){msg=localPanicValue.String();}else{msg=localPanicValue;}throw new Error(msg);}}var call=deferred.pop();if(call===undefined){$curGoroutine.deferStack.pop();if(localPanicValue!==undefined){deferred=null;continue;}return;}var r=call[0].apply(call[2],call[1]);if(r&&r.$blk!==undefined){deferred.push([r.$blk,[],r]);if(fromPanic){throw null;}return;}if(localPanicValue!==undefined&&$panicStackDepth===null){throw null;}}}finally{if(localPanicValue!==undefined){if($panicStackDepth!==null){$curGoroutine.panicStack.push(localPanicValue);}$panicStackDepth=outerPanicStackDepth;$panicValue=outerPanicValue;}$stackDepthOffset++;}};var $panic=function(value){$curGoroutine.panicStack.push(value);$callDeferred(null,null,true);};var $recover=function(){if($panicStackDepth===null||($panicStackDepth!==undefined&&$panicStackDepth!==$getStackDepth()-2)){return $ifaceNil;}$panicStackDepth=null;return $panicValue;};var $throw=function(err){throw err;};var $noGoroutine={asleep:false,exit:false,deferStack:[],panicStack:[]};var $curGoroutine=$noGoroutine,$totalGoroutines=0,$awakeGoroutines=0,$checkForDeadlock=true;var $mainFinished=false;var $go=function(fun,args,direct){$totalGoroutines++;$awakeGoroutines++;var $goroutine=function(){try{$curGoroutine=$goroutine;var r=fun.apply(undefined,args);if(r&&r.$blk!==undefined){fun=function(){return r.$blk();};args=[];return;}$goroutine.exit=true;}catch(err){if(!$goroutine.exit){throw err;}}finally{$curGoroutine=$noGoroutine;if($goroutine.exit){$totalGoroutines--;$goroutine.asleep=true;}if($goroutine.asleep){$awakeGoroutines--;if(!$mainFinished&&$awakeGoroutines===0&&$checkForDeadlock){console.error("fatal error: all goroutines are asleep - deadlock!");if($global.process!==undefined){$global.process.exit(2);}}}}};$goroutine.asleep=false;$goroutine.exit=false;$goroutine.deferStack=[];$goroutine.panicStack=[];$schedule($goroutine);};var $scheduled=[];var $runScheduled=function(){try{var r;while((r=$scheduled.shift())!==undefined){r();}}finally{if($scheduled.length>0){setTimeout($runScheduled,0);}}};var $schedule=function(goroutine){if(goroutine.asleep){goroutine.asleep=false;$awakeGoroutines++;}$scheduled.push(goroutine);if($curGoroutine===$noGoroutine){$runScheduled();}};var $setTimeout=function(f,t){$awakeGoroutines++;return setTimeout(function(){$awakeGoroutines--;f();},t);};var $block=function(){if($curGoroutine===$noGoroutine){$throwRuntimeError("cannot block in JavaScript callback, fix by wrapping code in goroutine");}$curGoroutine.asleep=true;};var $send=function(chan,value){if(chan.$closed){$throwRuntimeError("send on closed channel");}var queuedRecv=chan.$recvQueue.shift();if(queuedRecv!==undefined){queuedRecv([value,true]);return;}if(chan.$buffer.length<chan.$capacity){chan.$buffer.push(value);return;}var thisGoroutine=$curGoroutine;var closedDuringSend;chan.$sendQueue.push(function(closed){closedDuringSend=closed;$schedule(thisGoroutine);return value;});$block();return{$blk:function(){if(closedDuringSend){$throwRuntimeError("send on closed channel");}}};};var $recv=function(chan){var queuedSend=chan.$sendQueue.shift();if(queuedSend!==undefined){chan.$buffer.push(queuedSend(false));}var bufferedValue=chan.$buffer.shift();if(bufferedValue!==undefined){return[bufferedValue,true];}if(chan.$closed){return[chan.$elem.zero(),false];}var thisGoroutine=$curGoroutine;var f={$blk:function(){return this.value;}};var queueEntry=function(v){f.value=v;$schedule(thisGoroutine);};chan.$recvQueue.push(queueEntry);$block();return f;};var $close=function(chan){if(chan.$closed){$throwRuntimeError("close of closed channel");}chan.$closed=true;while(true){var queuedSend=chan.$sendQueue.shift();if(queuedSend===undefined){break;}queuedSend(true);}while(true){var queuedRecv=chan.$recvQueue.shift();if(queuedRecv===undefined){break;}queuedRecv([chan.$elem.zero(),false]);}};var $select=function(comms){var ready=[];var selection=-1;for(var i=0;i<comms.length;i++){var comm=comms[i];var chan=comm[0];switch(comm.length){case 0:selection=i;break;case 1:if(chan.$sendQueue.length!==0||chan.$buffer.length!==0||chan.$closed){ready.push(i);}break;case 2:if(chan.$closed){$throwRuntimeError("send on closed channel");}if(chan.$recvQueue.length!==0||chan.$buffer.length<chan.$capacity){ready.push(i);}break;}}if(ready.length!==0){selection=ready[Math.floor(Math.random()*ready.length)];}if(selection!==-1){var comm=comms[selection];switch(comm.length){case 0:return[selection];case 1:return[selection,$recv(comm[0])];case 2:$send(comm[0],comm[1]);return[selection];}}var entries=[];var thisGoroutine=$curGoroutine;var f={$blk:function(){return this.selection;}};var removeFromQueues=function(){for(var i=0;i<entries.length;i++){var entry=entries[i];var queue=entry[0];var index=queue.indexOf(entry[1]);if(index!==-1){queue.splice(index,1);}}};for(var i=0;i<comms.length;i++){(function(i){var comm=comms[i];switch(comm.length){case 1:var queueEntry=function(value){f.selection=[i,value];removeFromQueues();$schedule(thisGoroutine);};entries.push([comm[0].$recvQueue,queueEntry]);comm[0].$recvQueue.push(queueEntry);break;case 2:var queueEntry=function(){if(comm[0].$closed){$throwRuntimeError("send on closed channel");}f.selection=[i];removeFromQueues();$schedule(thisGoroutine);return comm[1];};entries.push([comm[0].$sendQueue,queueEntry]);comm[0].$sendQueue.push(queueEntry);break;}})(i);}$block();return f;};var $jsObjectPtr,$jsErrorPtr;var $needsExternalization=function(t){switch(t.kind){case $kindBool:case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindFloat32:case $kindFloat64:return false;default:return t!==$jsObjectPtr;}};var $externalize=function(v,t){if(t===$jsObjectPtr){return v;}switch(t.kind){case $kindBool:case $kindInt:case $kindInt8:case $kindInt16:case $kindInt32:case $kindUint:case $kindUint8:case $kindUint16:case $kindUint32:case $kindUintptr:case $kindFloat32:case $kindFloat64:return v;case $kindInt64:case $kindUint64:return $flatten64(v);case $kindArray:if($needsExternalization(t.elem)){return $mapArray(v,function(e){return $externalize(e,t.elem);});}return v;case $kindFunc:return $externalizeFunction(v,t,false);case $kindInterface:if(v===$ifaceNil){return null;}if(v.constructor===$jsObjectPtr){return v.$val.object;}return $externalize(v.$val,v.constructor);case $kindMap:var m={};var keys=$keys(v);for(var i=0;i<keys.length;i++){var entry=v[keys[i]];m[$externalize(entry.k,t.key)]=$externalize(entry.v,t.elem);}return m;case $kindPtr:if(v===t.nil){return null;}return $externalize(v.$get(),t.elem);case $kindSlice:if($needsExternalization(t.elem)){return $mapArray($sliceToArray(v),function(e){return $externalize(e,t.elem);});}return $sliceToArray(v);case $kindString:if($isASCII(v)){return v;}var s="",r;for(var i=0;i<v.length;i+=r[1]){r=$decodeRune(v,i);var c=r[0];if(c>0xFFFF){var h=Math.floor((c-0x10000)/0x400)+0xD800;var l=(c-0x10000)%0x400+0xDC00;s+=String.fromCharCode(h,l);continue;}s+=String.fromCharCode(c);}return s;case $kindStruct:var timePkg=$packages["time"];if(timePkg!==undefined&&v.constructor===timePkg.Time.ptr){var milli=$div64(v.UnixNano(),new $Int64(0,1000000));return new Date($flatten64(milli));}var noJsObject={};var searchJsObject=function(v,t){if(t===$jsObjectPtr){return v;}switch(t.kind){case $kindPtr:if(v===t.nil){return noJsObject;}return searchJsObject(v.$get(),t.elem);case $kindStruct:var f=t.fields[0];return searchJsObject(v[f.prop],f.typ);case $kindInterface:return searchJsObject(v.$val,v.constructor);default:return noJsObject;}};var o=searchJsObject(v,t);if(o!==noJsObject){return o;}o={};for(var i=0;i<t.fields.length;i++){var f=t.fields[i];if(!f.exported){continue;}o[f.name]=$externalize(v[f.prop],f.typ);}return o;}$throwRuntimeError("cannot externalize "+t.string);};var $externalizeFunction=function(v,t,passThis){if(v===$throwNilPointerError){return null;}if(v.$externalizeWrapper===undefined){$checkForDeadlock=false;v.$externalizeWrapper=function(){var args=[];for(var i=0;i<t.params.length;i++){if(t.variadic&&i===t.params.length-1){var vt=t.params[i].elem,varargs=[];for(var j=i;j<arguments.length;j++){varargs.push($internalize(arguments[j],vt));}args.push(new(t.params[i])(varargs));break;}args.push($internalize(arguments[i],t.params[i]));}var canBlock=$curGoroutine.canBlock;$curGoroutine.canBlock=false;try{var result=v.apply(passThis?this:undefined,args);}finally{$curGoroutine.canBlock=canBlock;}switch(t.results.length){case 0:return;case 1:return $externalize(result,t.results[0]);default:for(var i=0;i<t.results.length;i++){result[i]=$externalize(result[i],t.results[i]);}return result;}};}return v.$externalizeWrapper;};var $internalize=function(v,t,recv){if(t===$jsObjectPtr){return v;}if(t===$jsObjectPtr.elem){$throwRuntimeError("cannot internalize js.Object, use *js.Object instead");}if(v&&v.__internal_object__!==undefined){return $assertType(v.__internal_object__,t,false);}var timePkg=$packages["time"];if(timePkg!==undefined&&t===timePkg.Time){if(!(v!==null&&v!==undefined&&v.constructor===Date)){$throwRuntimeError("cannot internalize time.Time from "+typeof v+", must be Date");}return timePkg.Unix(new $Int64(0,0),new $Int64(0,v.getTime()*1000000));}switch(t.kind){case $kindBool:return!!v;case $kindInt:return parseInt(v);case $kindInt8:return parseInt(v)<<24>>24;case $kindInt16:return parseInt(v)<<16>>16;case $kindInt32:return parseInt(v)>>0;case $kindUint:return parseInt(v);case $kindUint8:return parseInt(v)<<24>>>24;case $kindUint16:return parseInt(v)<<16>>>16;case $kindUint32:case $kindUintptr:return parseInt(v)>>>0;case $kindInt64:case $kindUint64:return new t(0,v);case $kindFloat32:case $kindFloat64:return parseFloat(v);case $kindArray:if(v.length!==t.len){$throwRuntimeError("got array with wrong size from JavaScript native");}return $mapArray(v,function(e){return $internalize(e,t.elem);});case $kindFunc:return function(){var args=[];for(var i=0;i<t.params.length;i++){if(t.variadic&&i===t.params.length-1){var vt=t.params[i].elem,varargs=arguments[i];for(var j=0;j<varargs.$length;j++){args.push($externalize(varargs.$array[varargs.$offset+j],vt));}break;}args.push($externalize(arguments[i],t.params[i]));}var result=v.apply(recv,args);switch(t.results.length){case 0:return;case 1:return $internalize(result,t.results[0]);default:for(var i=0;i<t.results.length;i++){result[i]=$internalize(result[i],t.results[i]);}return result;}};case $kindInterface:if(t.methods.length!==0){$throwRuntimeError("cannot internalize "+t.string);}if(v===null){return $ifaceNil;}if(v===undefined){return new $jsObjectPtr(undefined);}switch(v.constructor){case Int8Array:return new($sliceType($Int8))(v);case Int16Array:return new($sliceType($Int16))(v);case Int32Array:return new($sliceType($Int))(v);case Uint8Array:return new($sliceType($Uint8))(v);case Uint16Array:return new($sliceType($Uint16))(v);case Uint32Array:return new($sliceType($Uint))(v);case Float32Array:return new($sliceType($Float32))(v);case Float64Array:return new($sliceType($Float64))(v);case Array:return $internalize(v,$sliceType($emptyInterface));case Boolean:return new $Bool(!!v);case Date:if(timePkg===undefined){return new $jsObjectPtr(v);}return new timePkg.Time($internalize(v,timePkg.Time));case Function:var funcType=$funcType([$sliceType($emptyInterface)],[$jsObjectPtr],true);return new funcType($internalize(v,funcType));case Number:return new $Float64(parseFloat(v));case String:return new $String($internalize(v,$String));default:if($global.Node&&v instanceof $global.Node){return new $jsObjectPtr(v);}var mapType=$mapType($String,$emptyInterface);return new mapType($internalize(v,mapType));}case $kindMap:var m={};var keys=$keys(v);for(var i=0;i<keys.length;i++){var k=$internalize(keys[i],t.key);m[t.key.keyFor(k)]={k:k,v:$internalize(v[keys[i]],t.elem)};}return m;case $kindPtr:if(t.elem.kind===$kindStruct){return $internalize(v,t.elem);}case $kindSlice:return new t($mapArray(v,function(e){return $internalize(e,t.elem);}));case $kindString:v=String(v);if($isASCII(v)){return v;}var s="";var i=0;while(i<v.length){var h=v.charCodeAt(i);if(0xD800<=h&&h<=0xDBFF){var l=v.charCodeAt(i+1);var c=(h-0xD800)*0x400+l-0xDC00+0x10000;s+=$encodeRune(c);i+=2;continue;}s+=$encodeRune(h);i++;}return s;case $kindStruct:var noJsObject={};var searchJsObject=function(t){if(t===$jsObjectPtr){return v;}if(t===$jsObjectPtr.elem){$throwRuntimeError("cannot internalize js.Object, use *js.Object instead");}switch(t.kind){case $kindPtr:return searchJsObject(t.elem);case $kindStruct:var f=t.fields[0];var o=searchJsObject(f.typ);if(o!==noJsObject){var n=new t.ptr();n[f.prop]=o;return n;}return noJsObject;default:return noJsObject;}};var o=searchJsObject(t);if(o!==noJsObject){return o;}}$throwRuntimeError("cannot internalize "+t.string);};var $isASCII=function(s){for(var i=0;i<s.length;i++){if(s.charCodeAt(i)>=128){return false;}}return true;};
$packages["github.com/gopherjs/gopherjs/js"]=(function(){var $pkg={},$init,A,B,L,N,Q,E,K;A=$pkg.Object=$newType(0,$kindStruct,"js.Object",true,"github.com/gopherjs/gopherjs/js",true,function(object_){this.$val=this;if(arguments.length===0){this.object=null;return;}this.object=object_;});B=$pkg.Error=$newType(0,$kindStruct,"js.Error",true,"github.com/gopherjs/gopherjs/js",true,function(Object_){this.$val=this;if(arguments.length===0){this.Object=null;return;}this.Object=Object_;});L=$sliceType($emptyInterface);N=$ptrType(A);Q=$ptrType(B);A.ptr.prototype.Get=function(a){var $ptr,a,b;b=this;return b.object[$externalize(a,$String)];};A.prototype.Get=function(a){return this.$val.Get(a);};A.ptr.prototype.Set=function(a,b){var $ptr,a,b,c;c=this;c.object[$externalize(a,$String)]=$externalize(b,$emptyInterface);};A.prototype.Set=function(a,b){return this.$val.Set(a,b);};A.ptr.prototype.Delete=function(a){var $ptr,a,b;b=this;delete b.object[$externalize(a,$String)];};A.prototype.Delete=function(a){return this.$val.Delete(a);};A.ptr.prototype.Length=function(){var $ptr,a;a=this;return $parseInt(a.object.length);};A.prototype.Length=function(){return this.$val.Length();};A.ptr.prototype.Index=function(a){var $ptr,a,b;b=this;return b.object[a];};A.prototype.Index=function(a){return this.$val.Index(a);};A.ptr.prototype.SetIndex=function(a,b){var $ptr,a,b,c;c=this;c.object[a]=$externalize(b,$emptyInterface);};A.prototype.SetIndex=function(a,b){return this.$val.SetIndex(a,b);};A.ptr.prototype.Call=function(a,b){var $ptr,a,b,c,d;c=this;return(d=c.object,d[$externalize(a,$String)].apply(d,$externalize(b,L)));};A.prototype.Call=function(a,b){return this.$val.Call(a,b);};A.ptr.prototype.Invoke=function(a){var $ptr,a,b;b=this;return b.object.apply(undefined,$externalize(a,L));};A.prototype.Invoke=function(a){return this.$val.Invoke(a);};A.ptr.prototype.New=function(a){var $ptr,a,b;b=this;return new($global.Function.prototype.bind.apply(b.object,[undefined].concat($externalize(a,L))));};A.prototype.New=function(a){return this.$val.New(a);};A.ptr.prototype.Bool=function(){var $ptr,a;a=this;return!!(a.object);};A.prototype.Bool=function(){return this.$val.Bool();};A.ptr.prototype.String=function(){var $ptr,a;a=this;return $internalize(a.object,$String);};A.prototype.String=function(){return this.$val.String();};A.ptr.prototype.Int=function(){var $ptr,a;a=this;return $parseInt(a.object)>>0;};A.prototype.Int=function(){return this.$val.Int();};A.ptr.prototype.Int64=function(){var $ptr,a;a=this;return $internalize(a.object,$Int64);};A.prototype.Int64=function(){return this.$val.Int64();};A.ptr.prototype.Uint64=function(){var $ptr,a;a=this;return $internalize(a.object,$Uint64);};A.prototype.Uint64=function(){return this.$val.Uint64();};A.ptr.prototype.Float=function(){var $ptr,a;a=this;return $parseFloat(a.object);};A.prototype.Float=function(){return this.$val.Float();};A.ptr.prototype.Interface=function(){var $ptr,a;a=this;return $internalize(a.object,$emptyInterface);};A.prototype.Interface=function(){return this.$val.Interface();};A.ptr.prototype.Unsafe=function(){var $ptr,a;a=this;return a.object;};A.prototype.Unsafe=function(){return this.$val.Unsafe();};B.ptr.prototype.Error=function(){var $ptr,a;a=this;return"JavaScript error: "+$internalize(a.Object.message,$String);};B.prototype.Error=function(){return this.$val.Error();};B.ptr.prototype.Stack=function(){var $ptr,a;a=this;return $internalize(a.Object.stack,$String);};B.prototype.Stack=function(){return this.$val.Stack();};E=function(a){var $ptr,a;return $makeFunc(a);};$pkg.MakeFunc=E;K=function(){var $ptr,a;a=new B.ptr(null);$unused(a);};N.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([$String],[N],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([$String,$emptyInterface],[],false)},{prop:"Delete",name:"Delete",pkg:"",typ:$funcType([$String],[],false)},{prop:"Length",name:"Length",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Index",name:"Index",pkg:"",typ:$funcType([$Int],[N],false)},{prop:"SetIndex",name:"SetIndex",pkg:"",typ:$funcType([$Int,$emptyInterface],[],false)},{prop:"Call",name:"Call",pkg:"",typ:$funcType([$String,L],[N],true)},{prop:"Invoke",name:"Invoke",pkg:"",typ:$funcType([L],[N],true)},{prop:"New",name:"New",pkg:"",typ:$funcType([L],[N],true)},{prop:"Bool",name:"Bool",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Int",name:"Int",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Int64",name:"Int64",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Uint64",name:"Uint64",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"Float",name:"Float",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Interface",name:"Interface",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Unsafe",name:"Unsafe",pkg:"",typ:$funcType([],[$Uintptr],false)}];Q.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Stack",name:"Stack",pkg:"",typ:$funcType([],[$String],false)}];A.init("github.com/gopherjs/gopherjs/js",[{prop:"object",name:"object",exported:false,typ:N,tag:""}]);B.init("",[{prop:"Object",name:"",exported:true,typ:N,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:K();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["runtime/internal/sys"]=(function(){var $pkg={},$init;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["runtime"]=(function(){var $pkg={},$init,B,A,AH,AI,AV,E,K,R;B=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["runtime/internal/sys"];AH=$pkg.TypeAssertionError=$newType(0,$kindStruct,"runtime.TypeAssertionError",true,"runtime",true,function(interfaceString_,concreteString_,assertedString_,missingMethod_){this.$val=this;if(arguments.length===0){this.interfaceString="";this.concreteString="";this.assertedString="";this.missingMethod="";return;}this.interfaceString=interfaceString_;this.concreteString=concreteString_;this.assertedString=assertedString_;this.missingMethod=missingMethod_;});AI=$pkg.errorString=$newType(8,$kindString,"runtime.errorString",true,"runtime",false,null);AV=$ptrType(AH);E=function(){var $ptr,a,b;a=$packages[$externalize("github.com/gopherjs/gopherjs/js",$String)];$jsObjectPtr=a.Object.ptr;$jsErrorPtr=a.Error.ptr;$throwRuntimeError=(function(b){var $ptr,b;$panic(new AI((b)));});b=$ifaceNil;b=new AH.ptr("","","","");$unused(b);};K=function(){var $ptr;$curGoroutine.exit=$externalize(true,$Bool);$throw(null);};$pkg.Goexit=K;R=function(a,b){var $ptr,a,b;};$pkg.SetFinalizer=R;AH.ptr.prototype.RuntimeError=function(){var $ptr;};AH.prototype.RuntimeError=function(){return this.$val.RuntimeError();};AH.ptr.prototype.Error=function(){var $ptr,a,b;a=this;b=a.interfaceString;if(b===""){b="interface";}if(a.concreteString===""){return"interface conversion: "+b+" is nil, not "+a.assertedString;}if(a.missingMethod===""){return"interface conversion: "+b+" is "+a.concreteString+", not "+a.assertedString;}return"interface conversion: "+a.concreteString+" is not "+a.assertedString+": missing method "+a.missingMethod;};AH.prototype.Error=function(){return this.$val.Error();};AI.prototype.RuntimeError=function(){var $ptr,a;a=this.$val;};$ptrType(AI).prototype.RuntimeError=function(){return new AI(this.$get()).RuntimeError();};AI.prototype.Error=function(){var $ptr,a;a=this.$val;return"runtime error: "+(a);};$ptrType(AI).prototype.Error=function(){return new AI(this.$get()).Error();};AV.methods=[{prop:"RuntimeError",name:"RuntimeError",pkg:"",typ:$funcType([],[],false)},{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];AI.methods=[{prop:"RuntimeError",name:"RuntimeError",pkg:"",typ:$funcType([],[],false)},{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];AH.init("runtime",[{prop:"interfaceString",name:"interfaceString",exported:false,typ:$String,tag:""},{prop:"concreteString",name:"concreteString",exported:false,typ:$String,tag:""},{prop:"assertedString",name:"assertedString",exported:false,typ:$String,tag:""},{prop:"missingMethod",name:"missingMethod",exported:false,typ:$String,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}E();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["errors"]=(function(){var $pkg={},$init,B,C,A;B=$pkg.errorString=$newType(0,$kindStruct,"errors.errorString",true,"errors",false,function(s_){this.$val=this;if(arguments.length===0){this.s="";return;}this.s=s_;});C=$ptrType(B);A=function(a){var $ptr,a;return new B.ptr(a);};$pkg.New=A;B.ptr.prototype.Error=function(){var $ptr,a;a=this;return a.s;};B.prototype.Error=function(){return this.$val.Error();};C.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];B.init("errors",[{prop:"s",name:"s",exported:false,typ:$String,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["internal/race"]=(function(){var $pkg={},$init,A,B,C,D,E,H,I;A=function(a){var $ptr,a;};$pkg.Acquire=A;B=function(a){var $ptr,a;};$pkg.Release=B;C=function(a){var $ptr,a;};$pkg.ReleaseMerge=C;D=function(){var $ptr;};$pkg.Disable=D;E=function(){var $ptr;};$pkg.Enable=E;H=function(a,b){var $ptr,a,b;};$pkg.ReadRange=H;I=function(a,b){var $ptr,a,b;};$pkg.WriteRange=I;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["sync/atomic"]=(function(){var $pkg={},$init,A,H,N,U,AA;A=$packages["github.com/gopherjs/gopherjs/js"];H=function(ad,ae,af){var $ptr,ad,ae,af;if(ad.$get()===ae){ad.$set(af);return true;}return false;};$pkg.CompareAndSwapInt32=H;N=function(ad,ae){var $ptr,ad,ae,af;af=ad.$get()+ae>>0;ad.$set(af);return af;};$pkg.AddInt32=N;U=function(ad){var $ptr,ad;return ad.$get();};$pkg.LoadUint32=U;AA=function(ad,ae){var $ptr,ad,ae;ad.$set(ae);};$pkg.StoreUint32=AA;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["sync"]=(function(){var $pkg={},$init,B,C,A,E,R,S,T,U,AF,AM,AN,AP,AQ,AR,AS,AT,AW,BB,BC,BD,BE,BG,BN,BO,BP,BQ,G,I,AA,F,H,J,K,L,Q,Y,AB,AC,AK,AL;B=$packages["internal/race"];C=$packages["runtime"];A=$packages["sync/atomic"];E=$pkg.Pool=$newType(0,$kindStruct,"sync.Pool",true,"sync",true,function(local_,localSize_,store_,New_){this.$val=this;if(arguments.length===0){this.local=0;this.localSize=0;this.store=BC.nil;this.New=$throwNilPointerError;return;}this.local=local_;this.localSize=localSize_;this.store=store_;this.New=New_;});R=$pkg.Mutex=$newType(0,$kindStruct,"sync.Mutex",true,"sync",true,function(state_,sema_){this.$val=this;if(arguments.length===0){this.state=0;this.sema=0;return;}this.state=state_;this.sema=sema_;});S=$pkg.Locker=$newType(8,$kindInterface,"sync.Locker",true,"sync",true,null);T=$pkg.Once=$newType(0,$kindStruct,"sync.Once",true,"sync",true,function(m_,done_){this.$val=this;if(arguments.length===0){this.m=new R.ptr(0,0);this.done=0;return;}this.m=m_;this.done=done_;});U=$pkg.poolLocal=$newType(0,$kindStruct,"sync.poolLocal",true,"sync",false,function(private$0_,shared_,Mutex_,pad_){this.$val=this;if(arguments.length===0){this.private$0=$ifaceNil;this.shared=BC.nil;this.Mutex=new R.ptr(0,0);this.pad=BQ.zero();return;}this.private$0=private$0_;this.shared=shared_;this.Mutex=Mutex_;this.pad=pad_;});AF=$pkg.notifyList=$newType(0,$kindStruct,"sync.notifyList",true,"sync",false,function(wait_,notify_,lock_,head_,tail_){this.$val=this;if(arguments.length===0){this.wait=0;this.notify=0;this.lock=0;this.head=0;this.tail=0;return;}this.wait=wait_;this.notify=notify_;this.lock=lock_;this.head=head_;this.tail=tail_;});AM=$pkg.RWMutex=$newType(0,$kindStruct,"sync.RWMutex",true,"sync",true,function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;if(arguments.length===0){this.w=new R.ptr(0,0);this.writerSem=0;this.readerSem=0;this.readerCount=0;this.readerWait=0;return;}this.w=w_;this.writerSem=writerSem_;this.readerSem=readerSem_;this.readerCount=readerCount_;this.readerWait=readerWait_;});AN=$pkg.rlocker=$newType(0,$kindStruct,"sync.rlocker",true,"sync",false,function(w_,writerSem_,readerSem_,readerCount_,readerWait_){this.$val=this;if(arguments.length===0){this.w=new R.ptr(0,0);this.writerSem=0;this.readerSem=0;this.readerCount=0;this.readerWait=0;return;}this.w=w_;this.writerSem=writerSem_;this.readerSem=readerSem_;this.readerCount=readerCount_;this.readerWait=readerWait_;});AP=$ptrType(E);AQ=$sliceType(AP);AR=$ptrType($Uint32);AS=$chanType($Bool,false,false);AT=$sliceType(AS);AW=$ptrType($Int32);BB=$ptrType(U);BC=$sliceType($emptyInterface);BD=$ptrType(AN);BE=$ptrType(AM);BG=$funcType([],[$emptyInterface],false);BN=$ptrType(R);BO=$funcType([],[],false);BP=$ptrType(T);BQ=$arrayType($Uint8,128);E.ptr.prototype.Get=function(){var $ptr,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(j.store.$length===0){$s=1;continue;}$s=2;continue;case 1:if(!(j.New===$throwNilPointerError)){$s=3;continue;}$s=4;continue;case 3:k=j.New();$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;case 4:$s=-1;return $ifaceNil;case 2:n=(l=j.store,m=j.store.$length-1>>0,((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]));j.store=$subslice(j.store,0,(j.store.$length-1>>0));$s=-1;return n;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Get};}$f.$ptr=$ptr;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Get=function(){return this.$val.Get();};E.ptr.prototype.Put=function(j){var $ptr,j,k;k=this;if($interfaceIsEqual(j,$ifaceNil)){return;}k.store=$append(k.store,j);};E.prototype.Put=function(j){return this.$val.Put(j);};F=function(j){var $ptr,j;};H=function(j){var $ptr,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(j.$get()===0){$s=1;continue;}$s=2;continue;case 1:k=new $Chan($Bool,0);l=j;(G||$throwRuntimeError("assignment to entry in nil map"))[AR.keyFor(l)]={k:l,v:$append((m=G[AR.keyFor(j)],m!==undefined?m.v:AT.nil),k)};n=$recv(k);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n[0];case 2:j.$set(j.$get()-(1)>>>0);$s=-1;return;}return;}if($f===undefined){$f={$blk:H};}$f.$ptr=$ptr;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};J=function(j){var $ptr,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j.$set(j.$get()+(1)>>>0);l=(k=G[AR.keyFor(j)],k!==undefined?k.v:AT.nil);if(l.$length===0){$s=-1;return;}m=(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]);l=$subslice(l,1);n=j;(G||$throwRuntimeError("assignment to entry in nil map"))[AR.keyFor(n)]={k:n,v:l};if(l.$length===0){delete G[AR.keyFor(j)];}$r=$send(m,true);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:J};}$f.$ptr=$ptr;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};K=function(j){var $ptr,j;};L=function(j){var $ptr,j;return false;};Q=function(){$throwRuntimeError("native function not implemented: sync.throw");};R.ptr.prototype.Lock=function(){var $ptr,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(A.CompareAndSwapInt32((j.$ptr_state||(j.$ptr_state=new AW(function(){return this.$target.state;},function($v){this.$target.state=$v;},j))),0,1)){if(false){B.Acquire((j));}$s=-1;return;}k=false;l=0;case 1:m=j.state;n=m|1;if(!(((m&1)===0))){$s=3;continue;}$s=4;continue;case 3:if(L(l)){if(!k&&((m&2)===0)&&!(((m>>2>>0)===0))&&A.CompareAndSwapInt32((j.$ptr_state||(j.$ptr_state=new AW(function(){return this.$target.state;},function($v){this.$target.state=$v;},j))),m,m|2)){k=true;}AL();l=l+(1)>>0;$s=1;continue;}n=m+4>>0;case 4:if(k){if((n&2)===0){Q("sync: inconsistent mutex state");}n=(n&~(2))>>0;}if(A.CompareAndSwapInt32((j.$ptr_state||(j.$ptr_state=new AW(function(){return this.$target.state;},function($v){this.$target.state=$v;},j))),m,n)){$s=5;continue;}$s=6;continue;case 5:if((m&1)===0){$s=2;continue;}$r=I((j.$ptr_sema||(j.$ptr_sema=new AR(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},j))));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=true;l=0;case 6:$s=1;continue;case 2:if(false){B.Acquire((j));}$s=-1;return;}return;}if($f===undefined){$f={$blk:R.ptr.prototype.Lock};}$f.$ptr=$ptr;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};R.prototype.Lock=function(){return this.$val.Lock();};R.ptr.prototype.Unlock=function(){var $ptr,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(false){$unused(j.state);B.Release((j));}k=A.AddInt32((j.$ptr_state||(j.$ptr_state=new AW(function(){return this.$target.state;},function($v){this.$target.state=$v;},j))),-1);if((((k+1>>0))&1)===0){Q("sync: unlock of unlocked mutex");}l=k;case 1:if(((l>>2>>0)===0)||!(((l&3)===0))){$s=-1;return;}k=((l-4>>0))|2;if(A.CompareAndSwapInt32((j.$ptr_state||(j.$ptr_state=new AW(function(){return this.$target.state;},function($v){this.$target.state=$v;},j))),l,k)){$s=3;continue;}$s=4;continue;case 3:$r=J((j.$ptr_sema||(j.$ptr_sema=new AR(function(){return this.$target.sema;},function($v){this.$target.sema=$v;},j))));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 4:l=j.state;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:R.ptr.prototype.Unlock};}$f.$ptr=$ptr;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};R.prototype.Unlock=function(){return this.$val.Unlock();};T.ptr.prototype.Do=function(j){var $ptr,j,k,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;k=$f.k;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);k=this;if(A.LoadUint32((k.$ptr_done||(k.$ptr_done=new AR(function(){return this.$target.done;},function($v){this.$target.done=$v;},k))))===1){$s=-1;return;}$r=k.m.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(k.m,"Unlock"),[]]);if(k.done===0){$s=2;continue;}$s=3;continue;case 2:$deferred.push([A.StoreUint32,[(k.$ptr_done||(k.$ptr_done=new AR(function(){return this.$target.done;},function($v){this.$target.done=$v;},k))),1]]);$r=j();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.Do};}$f.$ptr=$ptr;$f.j=j;$f.k=k;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.Do=function(j){return this.$val.Do(j);};Y=function(){var $ptr,j,k,l,m,n,o,p,q,r,s;j=AA;k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);((l<0||l>=AA.$length)?($throwRuntimeError("index out of range"),undefined):AA.$array[AA.$offset+l]=AP.nil);n=0;while(true){if(!(n<((m.localSize>>0)))){break;}o=AC(m.local,n);o.private$0=$ifaceNil;p=o.shared;q=0;while(true){if(!(q<p.$length)){break;}r=q;(s=o.shared,((r<0||r>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+r]=$ifaceNil));q++;}o.shared=BC.nil;n=n+(1)>>0;}m.local=0;m.localSize=0;k++;}AA=new AQ([]);};AB=function(){var $ptr;F(Y);};AC=function(j,k){var $ptr,j,k,l;return(l=(j),(l.nilCheck,((k<0||k>=l.length)?($throwRuntimeError("index out of range"),undefined):l[k])));};AK=function(){var $ptr,j;j=new AF.ptr(0,0,0,0,0);K(20);};AL=function(){$throwRuntimeError("native function not implemented: sync.runtime_doSpin");};AM.ptr.prototype.RLock=function(){var $ptr,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(false){$unused(j.w.state);B.Disable();}if(A.AddInt32((j.$ptr_readerCount||(j.$ptr_readerCount=new AW(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},j))),1)<0){$s=1;continue;}$s=2;continue;case 1:$r=H((j.$ptr_readerSem||(j.$ptr_readerSem=new AR(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},j))));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(false){B.Enable();B.Acquire(((j.$ptr_readerSem||(j.$ptr_readerSem=new AR(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},j)))));}$s=-1;return;}return;}if($f===undefined){$f={$blk:AM.ptr.prototype.RLock};}$f.$ptr=$ptr;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AM.prototype.RLock=function(){return this.$val.RLock();};AM.ptr.prototype.RUnlock=function(){var $ptr,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(false){$unused(j.w.state);B.ReleaseMerge(((j.$ptr_writerSem||(j.$ptr_writerSem=new AR(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},j)))));B.Disable();}k=A.AddInt32((j.$ptr_readerCount||(j.$ptr_readerCount=new AW(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},j))),-1);if(k<0){$s=1;continue;}$s=2;continue;case 1:if(((k+1>>0)===0)||((k+1>>0)===-1073741824)){B.Enable();Q("sync: RUnlock of unlocked RWMutex");}if(A.AddInt32((j.$ptr_readerWait||(j.$ptr_readerWait=new AW(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},j))),-1)===0){$s=3;continue;}$s=4;continue;case 3:$r=J((j.$ptr_writerSem||(j.$ptr_writerSem=new AR(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},j))));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:case 2:if(false){B.Enable();}$s=-1;return;}return;}if($f===undefined){$f={$blk:AM.ptr.prototype.RUnlock};}$f.$ptr=$ptr;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AM.prototype.RUnlock=function(){return this.$val.RUnlock();};AM.ptr.prototype.Lock=function(){var $ptr,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(false){$unused(j.w.state);B.Disable();}$r=j.w.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=A.AddInt32((j.$ptr_readerCount||(j.$ptr_readerCount=new AW(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},j))),-1073741824)+1073741824>>0;if(!((k===0))&&!((A.AddInt32((j.$ptr_readerWait||(j.$ptr_readerWait=new AW(function(){return this.$target.readerWait;},function($v){this.$target.readerWait=$v;},j))),k)===0))){$s=2;continue;}$s=3;continue;case 2:$r=H((j.$ptr_writerSem||(j.$ptr_writerSem=new AR(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},j))));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:if(false){B.Enable();B.Acquire(((j.$ptr_readerSem||(j.$ptr_readerSem=new AR(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},j)))));B.Acquire(((j.$ptr_writerSem||(j.$ptr_writerSem=new AR(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},j)))));}$s=-1;return;}return;}if($f===undefined){$f={$blk:AM.ptr.prototype.Lock};}$f.$ptr=$ptr;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AM.prototype.Lock=function(){return this.$val.Lock();};AM.ptr.prototype.Unlock=function(){var $ptr,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(false){$unused(j.w.state);B.Release(((j.$ptr_readerSem||(j.$ptr_readerSem=new AR(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},j)))));B.Release(((j.$ptr_writerSem||(j.$ptr_writerSem=new AR(function(){return this.$target.writerSem;},function($v){this.$target.writerSem=$v;},j)))));B.Disable();}k=A.AddInt32((j.$ptr_readerCount||(j.$ptr_readerCount=new AW(function(){return this.$target.readerCount;},function($v){this.$target.readerCount=$v;},j))),1073741824);if(k>=1073741824){B.Enable();Q("sync: Unlock of unlocked RWMutex");}l=0;case 1:if(!(l<((k>>0)))){$s=2;continue;}$r=J((j.$ptr_readerSem||(j.$ptr_readerSem=new AR(function(){return this.$target.readerSem;},function($v){this.$target.readerSem=$v;},j))));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=l+(1)>>0;$s=1;continue;case 2:$r=j.w.Unlock();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(false){B.Enable();}$s=-1;return;}return;}if($f===undefined){$f={$blk:AM.ptr.prototype.Unlock};}$f.$ptr=$ptr;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};AM.prototype.Unlock=function(){return this.$val.Unlock();};AM.ptr.prototype.RLocker=function(){var $ptr,j;j=this;return($pointerOfStructConversion(j,BD));};AM.prototype.RLocker=function(){return this.$val.RLocker();};AN.ptr.prototype.Lock=function(){var $ptr,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;$r=($pointerOfStructConversion(j,BE)).RLock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.Lock};}$f.$ptr=$ptr;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.Lock=function(){return this.$val.Lock();};AN.ptr.prototype.Unlock=function(){var $ptr,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;$r=($pointerOfStructConversion(j,BE)).RUnlock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.Unlock};}$f.$ptr=$ptr;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.Unlock=function(){return this.$val.Unlock();};AP.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"Put",name:"Put",pkg:"",typ:$funcType([$emptyInterface],[],false)},{prop:"getSlow",name:"getSlow",pkg:"sync",typ:$funcType([],[$emptyInterface],false)},{prop:"pin",name:"pin",pkg:"sync",typ:$funcType([],[BB],false)},{prop:"pinSlow",name:"pinSlow",pkg:"sync",typ:$funcType([],[BB],false)}];BN.methods=[{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)}];BP.methods=[{prop:"Do",name:"Do",pkg:"",typ:$funcType([BO],[],false)}];BE.methods=[{prop:"RLock",name:"RLock",pkg:"",typ:$funcType([],[],false)},{prop:"RUnlock",name:"RUnlock",pkg:"",typ:$funcType([],[],false)},{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)},{prop:"RLocker",name:"RLocker",pkg:"",typ:$funcType([],[S],false)}];BD.methods=[{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)}];E.init("sync",[{prop:"local",name:"local",exported:false,typ:$UnsafePointer,tag:""},{prop:"localSize",name:"localSize",exported:false,typ:$Uintptr,tag:""},{prop:"store",name:"store",exported:false,typ:BC,tag:""},{prop:"New",name:"New",exported:true,typ:BG,tag:""}]);R.init("sync",[{prop:"state",name:"state",exported:false,typ:$Int32,tag:""},{prop:"sema",name:"sema",exported:false,typ:$Uint32,tag:""}]);S.init([{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)}]);T.init("sync",[{prop:"m",name:"m",exported:false,typ:R,tag:""},{prop:"done",name:"done",exported:false,typ:$Uint32,tag:""}]);U.init("sync",[{prop:"private$0",name:"private",exported:false,typ:$emptyInterface,tag:""},{prop:"shared",name:"shared",exported:false,typ:BC,tag:""},{prop:"Mutex",name:"",exported:true,typ:R,tag:""},{prop:"pad",name:"pad",exported:false,typ:BQ,tag:""}]);AF.init("sync",[{prop:"wait",name:"wait",exported:false,typ:$Uint32,tag:""},{prop:"notify",name:"notify",exported:false,typ:$Uint32,tag:""},{prop:"lock",name:"lock",exported:false,typ:$Uintptr,tag:""},{prop:"head",name:"head",exported:false,typ:$UnsafePointer,tag:""},{prop:"tail",name:"tail",exported:false,typ:$UnsafePointer,tag:""}]);AM.init("sync",[{prop:"w",name:"w",exported:false,typ:R,tag:""},{prop:"writerSem",name:"writerSem",exported:false,typ:$Uint32,tag:""},{prop:"readerSem",name:"readerSem",exported:false,typ:$Uint32,tag:""},{prop:"readerCount",name:"readerCount",exported:false,typ:$Int32,tag:""},{prop:"readerWait",name:"readerWait",exported:false,typ:$Int32,tag:""}]);AN.init("sync",[{prop:"w",name:"w",exported:false,typ:R,tag:""},{prop:"writerSem",name:"writerSem",exported:false,typ:$Uint32,tag:""},{prop:"readerSem",name:"readerSem",exported:false,typ:$Uint32,tag:""},{prop:"readerCount",name:"readerCount",exported:false,typ:$Int32,tag:""},{prop:"readerWait",name:"readerWait",exported:false,typ:$Int32,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AA=AQ.nil;G={};I=H;AB();AK();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["io"]=(function(){var $pkg={},$init,A,B,C,D,N,O,V,AY,AI,AJ,AB,AD;A=$packages["errors"];B=$packages["sync"];C=$pkg.Reader=$newType(8,$kindInterface,"io.Reader",true,"io",true,null);D=$pkg.Writer=$newType(8,$kindInterface,"io.Writer",true,"io",true,null);N=$pkg.ReaderFrom=$newType(8,$kindInterface,"io.ReaderFrom",true,"io",true,null);O=$pkg.WriterTo=$newType(8,$kindInterface,"io.WriterTo",true,"io",true,null);V=$pkg.RuneScanner=$newType(8,$kindInterface,"io.RuneScanner",true,"io",true,null);AY=$sliceType($Uint8);AB=function(a,b){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new $Int64(0,0);d=$ifaceNil;f=AD(a,b,AY.nil);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;c=e[0];d=e[1];$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:AB};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Copy=AB;AD=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=new $Int64(0,0);e=$ifaceNil;f=$assertType(b,O,true);g=f[0];h=f[1];if(h){$s=1;continue;}$s=2;continue;case 1:j=g.WriteTo(a);$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;d=i[0];e=i[1];$s=-1;return[d,e];case 2:k=$assertType(a,N,true);l=k[0];m=k[1];if(m){$s=4;continue;}$s=5;continue;case 4:o=l.ReadFrom(b);$s=6;case 6:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;d=n[0];e=n[1];$s=-1;return[d,e];case 5:if(c===AY.nil){c=$makeSlice(AY,32768);}case 7:q=b.Read(c);$s=9;case 9:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;r=p[0];s=p[1];if(r>0){$s=10;continue;}$s=11;continue;case 10:u=a.Write($subslice(c,0,r));$s=12;case 12:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];if(v>0){d=(x=(new $Int64(0,v)),new $Int64(d.$high+x.$high,d.$low+x.$low));}if(!($interfaceIsEqual(w,$ifaceNil))){e=w;$s=8;continue;}if(!((r===v))){e=$pkg.ErrShortWrite;$s=8;continue;}case 11:if(!($interfaceIsEqual(s,$ifaceNil))){if(!($interfaceIsEqual(s,$pkg.EOF))){e=s;}$s=8;continue;}$s=7;continue;case 8:y=d;z=e;d=y;e=z;$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:AD};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};C.init([{prop:"Read",name:"Read",pkg:"",typ:$funcType([AY],[$Int,$error],false)}]);D.init([{prop:"Write",name:"Write",pkg:"",typ:$funcType([AY],[$Int,$error],false)}]);N.init([{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([C],[$Int64,$error],false)}]);O.init([{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([D],[$Int64,$error],false)}]);V.init([{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrShortWrite=A.New("short write");$pkg.ErrShortBuffer=A.New("short buffer");$pkg.EOF=A.New("EOF");$pkg.ErrUnexpectedEOF=A.New("unexpected EOF");$pkg.ErrNoProgress=A.New("multiple Read calls return no data or error");AI=A.New("Seek: invalid whence");AJ=A.New("Seek: invalid offset");$pkg.ErrClosedPipe=A.New("io: read/write on closed pipe");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["unicode"]=(function(){var $pkg={},$init,O,P,Q,IT,IU,IV,IW,AM,AR,AS,AW,AX,BA,BI,BQ,IE,IG,C,D,G,I,M,U,V,W,X,Y;O=$pkg.RangeTable=$newType(0,$kindStruct,"unicode.RangeTable",true,"unicode",true,function(R16_,R32_,LatinOffset_){this.$val=this;if(arguments.length===0){this.R16=IT.nil;this.R32=IU.nil;this.LatinOffset=0;return;}this.R16=R16_;this.R32=R32_;this.LatinOffset=LatinOffset_;});P=$pkg.Range16=$newType(0,$kindStruct,"unicode.Range16",true,"unicode",true,function(Lo_,Hi_,Stride_){this.$val=this;if(arguments.length===0){this.Lo=0;this.Hi=0;this.Stride=0;return;}this.Lo=Lo_;this.Hi=Hi_;this.Stride=Stride_;});Q=$pkg.Range32=$newType(0,$kindStruct,"unicode.Range32",true,"unicode",true,function(Lo_,Hi_,Stride_){this.$val=this;if(arguments.length===0){this.Lo=0;this.Hi=0;this.Stride=0;return;}this.Lo=Lo_;this.Hi=Hi_;this.Stride=Stride_;});IT=$sliceType(P);IU=$sliceType(Q);IV=$ptrType(O);IW=$sliceType(IV);C=function(b){var $ptr,b;if(b<=255){return 48<=b&&b<=57;}return X($pkg.Digit,b);};$pkg.IsDigit=C;D=function(b){var $ptr,b,c;if(((b>>>0))<=255){return!(((((c=((b<<24>>>24)),((c<0||c>=IG.length)?($throwRuntimeError("index out of range"),undefined):IG[c]))&144)>>>0)===0));}return G(b,$pkg.GraphicRanges);};$pkg.IsGraphic=D;G=function(b,c){var $ptr,b,c,d,e,f;d=c;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(W(f,b)){return true;}e++;}return false;};$pkg.In=G;I=function(b){var $ptr,b,c;if(((b>>>0))<=255){return!(((((c=((b<<24>>>24)),((c<0||c>=IG.length)?($throwRuntimeError("index out of range"),undefined):IG[c]))&96)>>>0)===0));}return X($pkg.Letter,b);};$pkg.IsLetter=I;M=function(b){var $ptr,b,c;if(((b>>>0))<=255){c=b;if((c===(9))||(c===(10))||(c===(11))||(c===(12))||(c===(13))||(c===(32))||(c===(133))||(c===(160))){return true;}return false;}return X($pkg.White_Space,b);};$pkg.IsSpace=M;U=function(b,c){var $ptr,b,c,d,e,f,g,h,i,j,k,l,m,n;if(b.$length<=18||c<=255){d=b;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]);if(c<g.Lo){return false;}if(c<=g.Hi){return(h=((c-g.Lo<<16>>>16))%g.Stride,h===h?h:$throwRuntimeError("integer divide by zero"))===0;}e++;}return false;}i=0;j=b.$length;while(true){if(!(i<j)){break;}l=i+(k=((j-i>>0))/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))>>0;m=((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]);if(m.Lo<=c&&c<=m.Hi){return(n=((c-m.Lo<<16>>>16))%m.Stride,n===n?n:$throwRuntimeError("integer divide by zero"))===0;}if(c<m.Lo){j=l;}else{i=l+1>>0;}}return false;};V=function(b,c){var $ptr,b,c,d,e,f,g,h,i,j,k,l,m,n;if(b.$length<=18){d=b;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((f<0||f>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+f]);if(c<g.Lo){return false;}if(c<=g.Hi){return(h=((c-g.Lo>>>0))%g.Stride,h===h?h:$throwRuntimeError("integer divide by zero"))===0;}e++;}return false;}i=0;j=b.$length;while(true){if(!(i<j)){break;}l=i+(k=((j-i>>0))/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))>>0;m=$clone(((l<0||l>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+l]),Q);if(m.Lo<=c&&c<=m.Hi){return(n=((c-m.Lo>>>0))%m.Stride,n===n?n:$throwRuntimeError("integer divide by zero"))===0;}if(c<m.Lo){j=l;}else{i=l+1>>0;}}return false;};W=function(b,c){var $ptr,b,c,d,e,f;d=b.R16;if(d.$length>0&&c<=(((e=d.$length-1>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e])).Hi>>0))){return U(d,((c<<16>>>16)));}f=b.R32;if(f.$length>0&&c>=(((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]).Lo>>0))){return V(f,((c>>>0)));}return false;};$pkg.Is=W;X=function(b,c){var $ptr,b,c,d,e,f,g;d=b.R16;e=b.LatinOffset;if(d.$length>e&&c<=(((f=d.$length-1>>0,((f<0||f>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+f])).Hi>>0))){return U($subslice(d,e),((c<<16>>>16)));}g=b.R32;if(g.$length>0&&c>=(((0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]).Lo>>0))){return V(g,((c>>>0)));}return false;};Y=function(b){var $ptr,b,c;if(((b>>>0))<=255){return(((c=((b<<24>>>24)),((c<0||c>=IG.length)?($throwRuntimeError("index out of range"),undefined):IG[c]))&96)>>>0)===32;}return X($pkg.Upper,b);};$pkg.IsUpper=Y;O.init("",[{prop:"R16",name:"R16",exported:true,typ:IT,tag:""},{prop:"R32",name:"R32",exported:true,typ:IU,tag:""},{prop:"LatinOffset",name:"LatinOffset",exported:true,typ:$Int,tag:""}]);P.init("",[{prop:"Lo",name:"Lo",exported:true,typ:$Uint16,tag:""},{prop:"Hi",name:"Hi",exported:true,typ:$Uint16,tag:""},{prop:"Stride",name:"Stride",exported:true,typ:$Uint16,tag:""}]);Q.init("",[{prop:"Lo",name:"Lo",exported:true,typ:$Uint32,tag:""},{prop:"Hi",name:"Hi",exported:true,typ:$Uint32,tag:""},{prop:"Stride",name:"Stride",exported:true,typ:$Uint32,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:AM=new O.ptr(new IT([new P.ptr(65,90,1),new P.ptr(97,122,1),new P.ptr(170,181,11),new P.ptr(186,192,6),new P.ptr(193,214,1),new P.ptr(216,246,1),new P.ptr(248,705,1),new P.ptr(710,721,1),new P.ptr(736,740,1),new P.ptr(748,750,2),new P.ptr(880,884,1),new P.ptr(886,887,1),new P.ptr(890,893,1),new P.ptr(895,902,7),new P.ptr(904,906,1),new P.ptr(908,910,2),new P.ptr(911,929,1),new P.ptr(931,1013,1),new P.ptr(1015,1153,1),new P.ptr(1162,1327,1),new P.ptr(1329,1366,1),new P.ptr(1369,1377,8),new P.ptr(1378,1415,1),new P.ptr(1488,1514,1),new P.ptr(1520,1522,1),new P.ptr(1568,1610,1),new P.ptr(1646,1647,1),new P.ptr(1649,1747,1),new P.ptr(1749,1765,16),new P.ptr(1766,1774,8),new P.ptr(1775,1786,11),new P.ptr(1787,1788,1),new P.ptr(1791,1808,17),new P.ptr(1810,1839,1),new P.ptr(1869,1957,1),new P.ptr(1969,1994,25),new P.ptr(1995,2026,1),new P.ptr(2036,2037,1),new P.ptr(2042,2048,6),new P.ptr(2049,2069,1),new P.ptr(2074,2084,10),new P.ptr(2088,2112,24),new P.ptr(2113,2136,1),new P.ptr(2208,2228,1),new P.ptr(2230,2237,1),new P.ptr(2308,2361,1),new P.ptr(2365,2384,19),new P.ptr(2392,2401,1),new P.ptr(2417,2432,1),new P.ptr(2437,2444,1),new P.ptr(2447,2448,1),new P.ptr(2451,2472,1),new P.ptr(2474,2480,1),new P.ptr(2482,2486,4),new P.ptr(2487,2489,1),new P.ptr(2493,2510,17),new P.ptr(2524,2525,1),new P.ptr(2527,2529,1),new P.ptr(2544,2545,1),new P.ptr(2565,2570,1),new P.ptr(2575,2576,1),new P.ptr(2579,2600,1),new P.ptr(2602,2608,1),new P.ptr(2610,2611,1),new P.ptr(2613,2614,1),new P.ptr(2616,2617,1),new P.ptr(2649,2652,1),new P.ptr(2654,2674,20),new P.ptr(2675,2676,1),new P.ptr(2693,2701,1),new P.ptr(2703,2705,1),new P.ptr(2707,2728,1),new P.ptr(2730,2736,1),new P.ptr(2738,2739,1),new P.ptr(2741,2745,1),new P.ptr(2749,2768,19),new P.ptr(2784,2785,1),new P.ptr(2809,2821,12),new P.ptr(2822,2828,1),new P.ptr(2831,2832,1),new P.ptr(2835,2856,1),new P.ptr(2858,2864,1),new P.ptr(2866,2867,1),new P.ptr(2869,2873,1),new P.ptr(2877,2908,31),new P.ptr(2909,2911,2),new P.ptr(2912,2913,1),new P.ptr(2929,2947,18),new P.ptr(2949,2954,1),new P.ptr(2958,2960,1),new P.ptr(2962,2965,1),new P.ptr(2969,2970,1),new P.ptr(2972,2974,2),new P.ptr(2975,2979,4),new P.ptr(2980,2984,4),new P.ptr(2985,2986,1),new P.ptr(2990,3001,1),new P.ptr(3024,3077,53),new P.ptr(3078,3084,1),new P.ptr(3086,3088,1),new P.ptr(3090,3112,1),new P.ptr(3114,3129,1),new P.ptr(3133,3160,27),new P.ptr(3161,3162,1),new P.ptr(3168,3169,1),new P.ptr(3200,3205,5),new P.ptr(3206,3212,1),new P.ptr(3214,3216,1),new P.ptr(3218,3240,1),new P.ptr(3242,3251,1),new P.ptr(3253,3257,1),new P.ptr(3261,3294,33),new P.ptr(3296,3297,1),new P.ptr(3313,3314,1),new P.ptr(3333,3340,1),new P.ptr(3342,3344,1),new P.ptr(3346,3386,1),new P.ptr(3389,3406,17),new P.ptr(3412,3414,1),new P.ptr(3423,3425,1),new P.ptr(3450,3455,1),new P.ptr(3461,3478,1),new P.ptr(3482,3505,1),new P.ptr(3507,3515,1),new P.ptr(3517,3520,3),new P.ptr(3521,3526,1),new P.ptr(3585,3632,1),new P.ptr(3634,3635,1),new P.ptr(3648,3654,1),new P.ptr(3713,3714,1),new P.ptr(3716,3719,3),new P.ptr(3720,3722,2),new P.ptr(3725,3732,7),new P.ptr(3733,3735,1),new P.ptr(3737,3743,1),new P.ptr(3745,3747,1),new P.ptr(3749,3751,2),new P.ptr(3754,3755,1),new P.ptr(3757,3760,1),new P.ptr(3762,3763,1),new P.ptr(3773,3776,3),new P.ptr(3777,3780,1),new P.ptr(3782,3804,22),new P.ptr(3805,3807,1),new P.ptr(3840,3904,64),new P.ptr(3905,3911,1),new P.ptr(3913,3948,1),new P.ptr(3976,3980,1),new P.ptr(4096,4138,1),new P.ptr(4159,4176,17),new P.ptr(4177,4181,1),new P.ptr(4186,4189,1),new P.ptr(4193,4197,4),new P.ptr(4198,4206,8),new P.ptr(4207,4208,1),new P.ptr(4213,4225,1),new P.ptr(4238,4256,18),new P.ptr(4257,4293,1),new P.ptr(4295,4301,6),new P.ptr(4304,4346,1),new P.ptr(4348,4680,1),new P.ptr(4682,4685,1),new P.ptr(4688,4694,1),new P.ptr(4696,4698,2),new P.ptr(4699,4701,1),new P.ptr(4704,4744,1),new P.ptr(4746,4749,1),new P.ptr(4752,4784,1),new P.ptr(4786,4789,1),new P.ptr(4792,4798,1),new P.ptr(4800,4802,2),new P.ptr(4803,4805,1),new P.ptr(4808,4822,1),new P.ptr(4824,4880,1),new P.ptr(4882,4885,1),new P.ptr(4888,4954,1),new P.ptr(4992,5007,1),new P.ptr(5024,5109,1),new P.ptr(5112,5117,1),new P.ptr(5121,5740,1),new P.ptr(5743,5759,1),new P.ptr(5761,5786,1),new P.ptr(5792,5866,1),new P.ptr(5873,5880,1),new P.ptr(5888,5900,1),new P.ptr(5902,5905,1),new P.ptr(5920,5937,1),new P.ptr(5952,5969,1),new P.ptr(5984,5996,1),new P.ptr(5998,6000,1),new P.ptr(6016,6067,1),new P.ptr(6103,6108,5),new P.ptr(6176,6263,1),new P.ptr(6272,6276,1),new P.ptr(6279,6312,1),new P.ptr(6314,6320,6),new P.ptr(6321,6389,1),new P.ptr(6400,6430,1),new P.ptr(6480,6509,1),new P.ptr(6512,6516,1),new P.ptr(6528,6571,1),new P.ptr(6576,6601,1),new P.ptr(6656,6678,1),new P.ptr(6688,6740,1),new P.ptr(6823,6917,94),new P.ptr(6918,6963,1),new P.ptr(6981,6987,1),new P.ptr(7043,7072,1),new P.ptr(7086,7087,1),new P.ptr(7098,7141,1),new P.ptr(7168,7203,1),new P.ptr(7245,7247,1),new P.ptr(7258,7293,1),new P.ptr(7296,7304,1),new P.ptr(7401,7404,1),new P.ptr(7406,7409,1),new P.ptr(7413,7414,1),new P.ptr(7424,7615,1),new P.ptr(7680,7957,1),new P.ptr(7960,7965,1),new P.ptr(7968,8005,1),new P.ptr(8008,8013,1),new P.ptr(8016,8023,1),new P.ptr(8025,8031,2),new P.ptr(8032,8061,1),new P.ptr(8064,8116,1),new P.ptr(8118,8124,1),new P.ptr(8126,8130,4),new P.ptr(8131,8132,1),new P.ptr(8134,8140,1),new P.ptr(8144,8147,1),new P.ptr(8150,8155,1),new P.ptr(8160,8172,1),new P.ptr(8178,8180,1),new P.ptr(8182,8188,1),new P.ptr(8305,8319,14),new P.ptr(8336,8348,1),new P.ptr(8450,8455,5),new P.ptr(8458,8467,1),new P.ptr(8469,8473,4),new P.ptr(8474,8477,1),new P.ptr(8484,8490,2),new P.ptr(8491,8493,1),new P.ptr(8495,8505,1),new P.ptr(8508,8511,1),new P.ptr(8517,8521,1),new P.ptr(8526,8579,53),new P.ptr(8580,11264,2684),new P.ptr(11265,11310,1),new P.ptr(11312,11358,1),new P.ptr(11360,11492,1),new P.ptr(11499,11502,1),new P.ptr(11506,11507,1),new P.ptr(11520,11557,1),new P.ptr(11559,11565,6),new P.ptr(11568,11623,1),new P.ptr(11631,11648,17),new P.ptr(11649,11670,1),new P.ptr(11680,11686,1),new P.ptr(11688,11694,1),new P.ptr(11696,11702,1),new P.ptr(11704,11710,1),new P.ptr(11712,11718,1),new P.ptr(11720,11726,1),new P.ptr(11728,11734,1),new P.ptr(11736,11742,1),new P.ptr(11823,12293,470),new P.ptr(12294,12337,43),new P.ptr(12338,12341,1),new P.ptr(12347,12348,1),new P.ptr(12353,12438,1),new P.ptr(12445,12447,1),new P.ptr(12449,12538,1),new P.ptr(12540,12543,1),new P.ptr(12549,12589,1),new P.ptr(12593,12686,1),new P.ptr(12704,12730,1),new P.ptr(12784,12799,1),new P.ptr(13312,19893,1),new P.ptr(19968,40917,1),new P.ptr(40960,42124,1),new P.ptr(42192,42237,1),new P.ptr(42240,42508,1),new P.ptr(42512,42527,1),new P.ptr(42538,42539,1),new P.ptr(42560,42606,1),new P.ptr(42623,42653,1),new P.ptr(42656,42725,1),new P.ptr(42775,42783,1),new P.ptr(42786,42888,1),new P.ptr(42891,42926,1),new P.ptr(42928,42935,1),new P.ptr(42999,43009,1),new P.ptr(43011,43013,1),new P.ptr(43015,43018,1),new P.ptr(43020,43042,1),new P.ptr(43072,43123,1),new P.ptr(43138,43187,1),new P.ptr(43250,43255,1),new P.ptr(43259,43261,2),new P.ptr(43274,43301,1),new P.ptr(43312,43334,1),new P.ptr(43360,43388,1),new P.ptr(43396,43442,1),new P.ptr(43471,43488,17),new P.ptr(43489,43492,1),new P.ptr(43494,43503,1),new P.ptr(43514,43518,1),new P.ptr(43520,43560,1),new P.ptr(43584,43586,1),new P.ptr(43588,43595,1),new P.ptr(43616,43638,1),new P.ptr(43642,43646,4),new P.ptr(43647,43695,1),new P.ptr(43697,43701,4),new P.ptr(43702,43705,3),new P.ptr(43706,43709,1),new P.ptr(43712,43714,2),new P.ptr(43739,43741,1),new P.ptr(43744,43754,1),new P.ptr(43762,43764,1),new P.ptr(43777,43782,1),new P.ptr(43785,43790,1),new P.ptr(43793,43798,1),new P.ptr(43808,43814,1),new P.ptr(43816,43822,1),new P.ptr(43824,43866,1),new P.ptr(43868,43877,1),new P.ptr(43888,44002,1),new P.ptr(44032,55203,1),new P.ptr(55216,55238,1),new P.ptr(55243,55291,1),new P.ptr(63744,64109,1),new P.ptr(64112,64217,1),new P.ptr(64256,64262,1),new P.ptr(64275,64279,1),new P.ptr(64285,64287,2),new P.ptr(64288,64296,1),new P.ptr(64298,64310,1),new P.ptr(64312,64316,1),new P.ptr(64318,64320,2),new P.ptr(64321,64323,2),new P.ptr(64324,64326,2),new P.ptr(64327,64433,1),new P.ptr(64467,64829,1),new P.ptr(64848,64911,1),new P.ptr(64914,64967,1),new P.ptr(65008,65019,1),new P.ptr(65136,65140,1),new P.ptr(65142,65276,1),new P.ptr(65313,65338,1),new P.ptr(65345,65370,1),new P.ptr(65382,65470,1),new P.ptr(65474,65479,1),new P.ptr(65482,65487,1),new P.ptr(65490,65495,1),new P.ptr(65498,65500,1)]),new IU([new Q.ptr(65536,65547,1),new Q.ptr(65549,65574,1),new Q.ptr(65576,65594,1),new Q.ptr(65596,65597,1),new Q.ptr(65599,65613,1),new Q.ptr(65616,65629,1),new Q.ptr(65664,65786,1),new Q.ptr(66176,66204,1),new Q.ptr(66208,66256,1),new Q.ptr(66304,66335,1),new Q.ptr(66352,66368,1),new Q.ptr(66370,66377,1),new Q.ptr(66384,66421,1),new Q.ptr(66432,66461,1),new Q.ptr(66464,66499,1),new Q.ptr(66504,66511,1),new Q.ptr(66560,66717,1),new Q.ptr(66736,66771,1),new Q.ptr(66776,66811,1),new Q.ptr(66816,66855,1),new Q.ptr(66864,66915,1),new Q.ptr(67072,67382,1),new Q.ptr(67392,67413,1),new Q.ptr(67424,67431,1),new Q.ptr(67584,67589,1),new Q.ptr(67592,67594,2),new Q.ptr(67595,67637,1),new Q.ptr(67639,67640,1),new Q.ptr(67644,67647,3),new Q.ptr(67648,67669,1),new Q.ptr(67680,67702,1),new Q.ptr(67712,67742,1),new Q.ptr(67808,67826,1),new Q.ptr(67828,67829,1),new Q.ptr(67840,67861,1),new Q.ptr(67872,67897,1),new Q.ptr(67968,68023,1),new Q.ptr(68030,68031,1),new Q.ptr(68096,68112,16),new Q.ptr(68113,68115,1),new Q.ptr(68117,68119,1),new Q.ptr(68121,68147,1),new Q.ptr(68192,68220,1),new Q.ptr(68224,68252,1),new Q.ptr(68288,68295,1),new Q.ptr(68297,68324,1),new Q.ptr(68352,68405,1),new Q.ptr(68416,68437,1),new Q.ptr(68448,68466,1),new Q.ptr(68480,68497,1),new Q.ptr(68608,68680,1),new Q.ptr(68736,68786,1),new Q.ptr(68800,68850,1),new Q.ptr(69635,69687,1),new Q.ptr(69763,69807,1),new Q.ptr(69840,69864,1),new Q.ptr(69891,69926,1),new Q.ptr(69968,70002,1),new Q.ptr(70006,70019,13),new Q.ptr(70020,70066,1),new Q.ptr(70081,70084,1),new Q.ptr(70106,70108,2),new Q.ptr(70144,70161,1),new Q.ptr(70163,70187,1),new Q.ptr(70272,70278,1),new Q.ptr(70280,70282,2),new Q.ptr(70283,70285,1),new Q.ptr(70287,70301,1),new Q.ptr(70303,70312,1),new Q.ptr(70320,70366,1),new Q.ptr(70405,70412,1),new Q.ptr(70415,70416,1),new Q.ptr(70419,70440,1),new Q.ptr(70442,70448,1),new Q.ptr(70450,70451,1),new Q.ptr(70453,70457,1),new Q.ptr(70461,70480,19),new Q.ptr(70493,70497,1),new Q.ptr(70656,70708,1),new Q.ptr(70727,70730,1),new Q.ptr(70784,70831,1),new Q.ptr(70852,70853,1),new Q.ptr(70855,71040,185),new Q.ptr(71041,71086,1),new Q.ptr(71128,71131,1),new Q.ptr(71168,71215,1),new Q.ptr(71236,71296,60),new Q.ptr(71297,71338,1),new Q.ptr(71424,71449,1),new Q.ptr(71840,71903,1),new Q.ptr(71935,72384,449),new Q.ptr(72385,72440,1),new Q.ptr(72704,72712,1),new Q.ptr(72714,72750,1),new Q.ptr(72768,72818,50),new Q.ptr(72819,72847,1),new Q.ptr(73728,74649,1),new Q.ptr(74880,75075,1),new Q.ptr(77824,78894,1),new Q.ptr(82944,83526,1),new Q.ptr(92160,92728,1),new Q.ptr(92736,92766,1),new Q.ptr(92880,92909,1),new Q.ptr(92928,92975,1),new Q.ptr(92992,92995,1),new Q.ptr(93027,93047,1),new Q.ptr(93053,93071,1),new Q.ptr(93952,94020,1),new Q.ptr(94032,94099,67),new Q.ptr(94100,94111,1),new Q.ptr(94176,94208,32),new Q.ptr(94209,100332,1),new Q.ptr(100352,101106,1),new Q.ptr(110592,110593,1),new Q.ptr(113664,113770,1),new Q.ptr(113776,113788,1),new Q.ptr(113792,113800,1),new Q.ptr(113808,113817,1),new Q.ptr(119808,119892,1),new Q.ptr(119894,119964,1),new Q.ptr(119966,119967,1),new Q.ptr(119970,119973,3),new Q.ptr(119974,119977,3),new Q.ptr(119978,119980,1),new Q.ptr(119982,119993,1),new Q.ptr(119995,119997,2),new Q.ptr(119998,120003,1),new Q.ptr(120005,120069,1),new Q.ptr(120071,120074,1),new Q.ptr(120077,120084,1),new Q.ptr(120086,120092,1),new Q.ptr(120094,120121,1),new Q.ptr(120123,120126,1),new Q.ptr(120128,120132,1),new Q.ptr(120134,120138,4),new Q.ptr(120139,120144,1),new Q.ptr(120146,120485,1),new Q.ptr(120488,120512,1),new Q.ptr(120514,120538,1),new Q.ptr(120540,120570,1),new Q.ptr(120572,120596,1),new Q.ptr(120598,120628,1),new Q.ptr(120630,120654,1),new Q.ptr(120656,120686,1),new Q.ptr(120688,120712,1),new Q.ptr(120714,120744,1),new Q.ptr(120746,120770,1),new Q.ptr(120772,120779,1),new Q.ptr(124928,125124,1),new Q.ptr(125184,125251,1),new Q.ptr(126464,126467,1),new Q.ptr(126469,126495,1),new Q.ptr(126497,126498,1),new Q.ptr(126500,126503,3),new Q.ptr(126505,126514,1),new Q.ptr(126516,126519,1),new Q.ptr(126521,126523,2),new Q.ptr(126530,126535,5),new Q.ptr(126537,126541,2),new Q.ptr(126542,126543,1),new Q.ptr(126545,126546,1),new Q.ptr(126548,126551,3),new Q.ptr(126553,126561,2),new Q.ptr(126562,126564,2),new Q.ptr(126567,126570,1),new Q.ptr(126572,126578,1),new Q.ptr(126580,126583,1),new Q.ptr(126585,126588,1),new Q.ptr(126590,126592,2),new Q.ptr(126593,126601,1),new Q.ptr(126603,126619,1),new Q.ptr(126625,126627,1),new Q.ptr(126629,126633,1),new Q.ptr(126635,126651,1),new Q.ptr(131072,173782,1),new Q.ptr(173824,177972,1),new Q.ptr(177984,178205,1),new Q.ptr(178208,183969,1),new Q.ptr(194560,195101,1)]),6);AR=new O.ptr(new IT([new P.ptr(65,90,1),new P.ptr(192,214,1),new P.ptr(216,222,1),new P.ptr(256,310,2),new P.ptr(313,327,2),new P.ptr(330,376,2),new P.ptr(377,381,2),new P.ptr(385,386,1),new P.ptr(388,390,2),new P.ptr(391,393,2),new P.ptr(394,395,1),new P.ptr(398,401,1),new P.ptr(403,404,1),new P.ptr(406,408,1),new P.ptr(412,413,1),new P.ptr(415,416,1),new P.ptr(418,422,2),new P.ptr(423,425,2),new P.ptr(428,430,2),new P.ptr(431,433,2),new P.ptr(434,435,1),new P.ptr(437,439,2),new P.ptr(440,444,4),new P.ptr(452,461,3),new P.ptr(463,475,2),new P.ptr(478,494,2),new P.ptr(497,500,3),new P.ptr(502,504,1),new P.ptr(506,562,2),new P.ptr(570,571,1),new P.ptr(573,574,1),new P.ptr(577,579,2),new P.ptr(580,582,1),new P.ptr(584,590,2),new P.ptr(880,882,2),new P.ptr(886,895,9),new P.ptr(902,904,2),new P.ptr(905,906,1),new P.ptr(908,910,2),new P.ptr(911,913,2),new P.ptr(914,929,1),new P.ptr(931,939,1),new P.ptr(975,978,3),new P.ptr(979,980,1),new P.ptr(984,1006,2),new P.ptr(1012,1015,3),new P.ptr(1017,1018,1),new P.ptr(1021,1071,1),new P.ptr(1120,1152,2),new P.ptr(1162,1216,2),new P.ptr(1217,1229,2),new P.ptr(1232,1326,2),new P.ptr(1329,1366,1),new P.ptr(4256,4293,1),new P.ptr(4295,4301,6),new P.ptr(5024,5109,1),new P.ptr(7680,7828,2),new P.ptr(7838,7934,2),new P.ptr(7944,7951,1),new P.ptr(7960,7965,1),new P.ptr(7976,7983,1),new P.ptr(7992,7999,1),new P.ptr(8008,8013,1),new P.ptr(8025,8031,2),new P.ptr(8040,8047,1),new P.ptr(8120,8123,1),new P.ptr(8136,8139,1),new P.ptr(8152,8155,1),new P.ptr(8168,8172,1),new P.ptr(8184,8187,1),new P.ptr(8450,8455,5),new P.ptr(8459,8461,1),new P.ptr(8464,8466,1),new P.ptr(8469,8473,4),new P.ptr(8474,8477,1),new P.ptr(8484,8490,2),new P.ptr(8491,8493,1),new P.ptr(8496,8499,1),new P.ptr(8510,8511,1),new P.ptr(8517,8579,62),new P.ptr(11264,11310,1),new P.ptr(11360,11362,2),new P.ptr(11363,11364,1),new P.ptr(11367,11373,2),new P.ptr(11374,11376,1),new P.ptr(11378,11381,3),new P.ptr(11390,11392,1),new P.ptr(11394,11490,2),new P.ptr(11499,11501,2),new P.ptr(11506,42560,31054),new P.ptr(42562,42604,2),new P.ptr(42624,42650,2),new P.ptr(42786,42798,2),new P.ptr(42802,42862,2),new P.ptr(42873,42877,2),new P.ptr(42878,42886,2),new P.ptr(42891,42893,2),new P.ptr(42896,42898,2),new P.ptr(42902,42922,2),new P.ptr(42923,42926,1),new P.ptr(42928,42932,1),new P.ptr(42934,65313,22379),new P.ptr(65314,65338,1)]),new IU([new Q.ptr(66560,66599,1),new Q.ptr(66736,66771,1),new Q.ptr(68736,68786,1),new Q.ptr(71840,71871,1),new Q.ptr(119808,119833,1),new Q.ptr(119860,119885,1),new Q.ptr(119912,119937,1),new Q.ptr(119964,119966,2),new Q.ptr(119967,119973,3),new Q.ptr(119974,119977,3),new Q.ptr(119978,119980,1),new Q.ptr(119982,119989,1),new Q.ptr(120016,120041,1),new Q.ptr(120068,120069,1),new Q.ptr(120071,120074,1),new Q.ptr(120077,120084,1),new Q.ptr(120086,120092,1),new Q.ptr(120120,120121,1),new Q.ptr(120123,120126,1),new Q.ptr(120128,120132,1),new Q.ptr(120134,120138,4),new Q.ptr(120139,120144,1),new Q.ptr(120172,120197,1),new Q.ptr(120224,120249,1),new Q.ptr(120276,120301,1),new Q.ptr(120328,120353,1),new Q.ptr(120380,120405,1),new Q.ptr(120432,120457,1),new Q.ptr(120488,120512,1),new Q.ptr(120546,120570,1),new Q.ptr(120604,120628,1),new Q.ptr(120662,120686,1),new Q.ptr(120720,120744,1),new Q.ptr(120778,125184,4406),new Q.ptr(125185,125217,1)]),3);AS=new O.ptr(new IT([new P.ptr(768,879,1),new P.ptr(1155,1161,1),new P.ptr(1425,1469,1),new P.ptr(1471,1473,2),new P.ptr(1474,1476,2),new P.ptr(1477,1479,2),new P.ptr(1552,1562,1),new P.ptr(1611,1631,1),new P.ptr(1648,1750,102),new P.ptr(1751,1756,1),new P.ptr(1759,1764,1),new P.ptr(1767,1768,1),new P.ptr(1770,1773,1),new P.ptr(1809,1840,31),new P.ptr(1841,1866,1),new P.ptr(1958,1968,1),new P.ptr(2027,2035,1),new P.ptr(2070,2073,1),new P.ptr(2075,2083,1),new P.ptr(2085,2087,1),new P.ptr(2089,2093,1),new P.ptr(2137,2139,1),new P.ptr(2260,2273,1),new P.ptr(2275,2307,1),new P.ptr(2362,2364,1),new P.ptr(2366,2383,1),new P.ptr(2385,2391,1),new P.ptr(2402,2403,1),new P.ptr(2433,2435,1),new P.ptr(2492,2494,2),new P.ptr(2495,2500,1),new P.ptr(2503,2504,1),new P.ptr(2507,2509,1),new P.ptr(2519,2530,11),new P.ptr(2531,2561,30),new P.ptr(2562,2563,1),new P.ptr(2620,2622,2),new P.ptr(2623,2626,1),new P.ptr(2631,2632,1),new P.ptr(2635,2637,1),new P.ptr(2641,2672,31),new P.ptr(2673,2677,4),new P.ptr(2689,2691,1),new P.ptr(2748,2750,2),new P.ptr(2751,2757,1),new P.ptr(2759,2761,1),new P.ptr(2763,2765,1),new P.ptr(2786,2787,1),new P.ptr(2817,2819,1),new P.ptr(2876,2878,2),new P.ptr(2879,2884,1),new P.ptr(2887,2888,1),new P.ptr(2891,2893,1),new P.ptr(2902,2903,1),new P.ptr(2914,2915,1),new P.ptr(2946,3006,60),new P.ptr(3007,3010,1),new P.ptr(3014,3016,1),new P.ptr(3018,3021,1),new P.ptr(3031,3072,41),new P.ptr(3073,3075,1),new P.ptr(3134,3140,1),new P.ptr(3142,3144,1),new P.ptr(3146,3149,1),new P.ptr(3157,3158,1),new P.ptr(3170,3171,1),new P.ptr(3201,3203,1),new P.ptr(3260,3262,2),new P.ptr(3263,3268,1),new P.ptr(3270,3272,1),new P.ptr(3274,3277,1),new P.ptr(3285,3286,1),new P.ptr(3298,3299,1),new P.ptr(3329,3331,1),new P.ptr(3390,3396,1),new P.ptr(3398,3400,1),new P.ptr(3402,3405,1),new P.ptr(3415,3426,11),new P.ptr(3427,3458,31),new P.ptr(3459,3530,71),new P.ptr(3535,3540,1),new P.ptr(3542,3544,2),new P.ptr(3545,3551,1),new P.ptr(3570,3571,1),new P.ptr(3633,3636,3),new P.ptr(3637,3642,1),new P.ptr(3655,3662,1),new P.ptr(3761,3764,3),new P.ptr(3765,3769,1),new P.ptr(3771,3772,1),new P.ptr(3784,3789,1),new P.ptr(3864,3865,1),new P.ptr(3893,3897,2),new P.ptr(3902,3903,1),new P.ptr(3953,3972,1),new P.ptr(3974,3975,1),new P.ptr(3981,3991,1),new P.ptr(3993,4028,1),new P.ptr(4038,4139,101),new P.ptr(4140,4158,1),new P.ptr(4182,4185,1),new P.ptr(4190,4192,1),new P.ptr(4194,4196,1),new P.ptr(4199,4205,1),new P.ptr(4209,4212,1),new P.ptr(4226,4237,1),new P.ptr(4239,4250,11),new P.ptr(4251,4253,1),new P.ptr(4957,4959,1),new P.ptr(5906,5908,1),new P.ptr(5938,5940,1),new P.ptr(5970,5971,1),new P.ptr(6002,6003,1),new P.ptr(6068,6099,1),new P.ptr(6109,6155,46),new P.ptr(6156,6157,1),new P.ptr(6277,6278,1),new P.ptr(6313,6432,119),new P.ptr(6433,6443,1),new P.ptr(6448,6459,1),new P.ptr(6679,6683,1),new P.ptr(6741,6750,1),new P.ptr(6752,6780,1),new P.ptr(6783,6832,49),new P.ptr(6833,6846,1),new P.ptr(6912,6916,1),new P.ptr(6964,6980,1),new P.ptr(7019,7027,1),new P.ptr(7040,7042,1),new P.ptr(7073,7085,1),new P.ptr(7142,7155,1),new P.ptr(7204,7223,1),new P.ptr(7376,7378,1),new P.ptr(7380,7400,1),new P.ptr(7405,7410,5),new P.ptr(7411,7412,1),new P.ptr(7416,7417,1),new P.ptr(7616,7669,1),new P.ptr(7675,7679,1),new P.ptr(8400,8432,1),new P.ptr(11503,11505,1),new P.ptr(11647,11744,97),new P.ptr(11745,11775,1),new P.ptr(12330,12335,1),new P.ptr(12441,12442,1),new P.ptr(42607,42610,1),new P.ptr(42612,42621,1),new P.ptr(42654,42655,1),new P.ptr(42736,42737,1),new P.ptr(43010,43014,4),new P.ptr(43019,43043,24),new P.ptr(43044,43047,1),new P.ptr(43136,43137,1),new P.ptr(43188,43205,1),new P.ptr(43232,43249,1),new P.ptr(43302,43309,1),new P.ptr(43335,43347,1),new P.ptr(43392,43395,1),new P.ptr(43443,43456,1),new P.ptr(43493,43561,68),new P.ptr(43562,43574,1),new P.ptr(43587,43596,9),new P.ptr(43597,43643,46),new P.ptr(43644,43645,1),new P.ptr(43696,43698,2),new P.ptr(43699,43700,1),new P.ptr(43703,43704,1),new P.ptr(43710,43711,1),new P.ptr(43713,43755,42),new P.ptr(43756,43759,1),new P.ptr(43765,43766,1),new P.ptr(44003,44010,1),new P.ptr(44012,44013,1),new P.ptr(64286,65024,738),new P.ptr(65025,65039,1),new P.ptr(65056,65071,1)]),new IU([new Q.ptr(66045,66272,227),new Q.ptr(66422,66426,1),new Q.ptr(68097,68099,1),new Q.ptr(68101,68102,1),new Q.ptr(68108,68111,1),new Q.ptr(68152,68154,1),new Q.ptr(68159,68325,166),new Q.ptr(68326,69632,1306),new Q.ptr(69633,69634,1),new Q.ptr(69688,69702,1),new Q.ptr(69759,69762,1),new Q.ptr(69808,69818,1),new Q.ptr(69888,69890,1),new Q.ptr(69927,69940,1),new Q.ptr(70003,70016,13),new Q.ptr(70017,70018,1),new Q.ptr(70067,70080,1),new Q.ptr(70090,70092,1),new Q.ptr(70188,70199,1),new Q.ptr(70206,70367,161),new Q.ptr(70368,70378,1),new Q.ptr(70400,70403,1),new Q.ptr(70460,70462,2),new Q.ptr(70463,70468,1),new Q.ptr(70471,70472,1),new Q.ptr(70475,70477,1),new Q.ptr(70487,70498,11),new Q.ptr(70499,70502,3),new Q.ptr(70503,70508,1),new Q.ptr(70512,70516,1),new Q.ptr(70709,70726,1),new Q.ptr(70832,70851,1),new Q.ptr(71087,71093,1),new Q.ptr(71096,71104,1),new Q.ptr(71132,71133,1),new Q.ptr(71216,71232,1),new Q.ptr(71339,71351,1),new Q.ptr(71453,71467,1),new Q.ptr(72751,72758,1),new Q.ptr(72760,72767,1),new Q.ptr(72850,72871,1),new Q.ptr(72873,72886,1),new Q.ptr(92912,92916,1),new Q.ptr(92976,92982,1),new Q.ptr(94033,94078,1),new Q.ptr(94095,94098,1),new Q.ptr(113821,113822,1),new Q.ptr(119141,119145,1),new Q.ptr(119149,119154,1),new Q.ptr(119163,119170,1),new Q.ptr(119173,119179,1),new Q.ptr(119210,119213,1),new Q.ptr(119362,119364,1),new Q.ptr(121344,121398,1),new Q.ptr(121403,121452,1),new Q.ptr(121461,121476,15),new Q.ptr(121499,121503,1),new Q.ptr(121505,121519,1),new Q.ptr(122880,122886,1),new Q.ptr(122888,122904,1),new Q.ptr(122907,122913,1),new Q.ptr(122915,122916,1),new Q.ptr(122918,122922,1),new Q.ptr(125136,125142,1),new Q.ptr(125252,125258,1),new Q.ptr(917760,917999,1)]),0);AW=new O.ptr(new IT([new P.ptr(48,57,1),new P.ptr(178,179,1),new P.ptr(185,188,3),new P.ptr(189,190,1),new P.ptr(1632,1641,1),new P.ptr(1776,1785,1),new P.ptr(1984,1993,1),new P.ptr(2406,2415,1),new P.ptr(2534,2543,1),new P.ptr(2548,2553,1),new P.ptr(2662,2671,1),new P.ptr(2790,2799,1),new P.ptr(2918,2927,1),new P.ptr(2930,2935,1),new P.ptr(3046,3058,1),new P.ptr(3174,3183,1),new P.ptr(3192,3198,1),new P.ptr(3302,3311,1),new P.ptr(3416,3422,1),new P.ptr(3430,3448,1),new P.ptr(3558,3567,1),new P.ptr(3664,3673,1),new P.ptr(3792,3801,1),new P.ptr(3872,3891,1),new P.ptr(4160,4169,1),new P.ptr(4240,4249,1),new P.ptr(4969,4988,1),new P.ptr(5870,5872,1),new P.ptr(6112,6121,1),new P.ptr(6128,6137,1),new P.ptr(6160,6169,1),new P.ptr(6470,6479,1),new P.ptr(6608,6618,1),new P.ptr(6784,6793,1),new P.ptr(6800,6809,1),new P.ptr(6992,7001,1),new P.ptr(7088,7097,1),new P.ptr(7232,7241,1),new P.ptr(7248,7257,1),new P.ptr(8304,8308,4),new P.ptr(8309,8313,1),new P.ptr(8320,8329,1),new P.ptr(8528,8578,1),new P.ptr(8581,8585,1),new P.ptr(9312,9371,1),new P.ptr(9450,9471,1),new P.ptr(10102,10131,1),new P.ptr(11517,12295,778),new P.ptr(12321,12329,1),new P.ptr(12344,12346,1),new P.ptr(12690,12693,1),new P.ptr(12832,12841,1),new P.ptr(12872,12879,1),new P.ptr(12881,12895,1),new P.ptr(12928,12937,1),new P.ptr(12977,12991,1),new P.ptr(42528,42537,1),new P.ptr(42726,42735,1),new P.ptr(43056,43061,1),new P.ptr(43216,43225,1),new P.ptr(43264,43273,1),new P.ptr(43472,43481,1),new P.ptr(43504,43513,1),new P.ptr(43600,43609,1),new P.ptr(44016,44025,1),new P.ptr(65296,65305,1)]),new IU([new Q.ptr(65799,65843,1),new Q.ptr(65856,65912,1),new Q.ptr(65930,65931,1),new Q.ptr(66273,66299,1),new Q.ptr(66336,66339,1),new Q.ptr(66369,66378,9),new Q.ptr(66513,66517,1),new Q.ptr(66720,66729,1),new Q.ptr(67672,67679,1),new Q.ptr(67705,67711,1),new Q.ptr(67751,67759,1),new Q.ptr(67835,67839,1),new Q.ptr(67862,67867,1),new Q.ptr(68028,68029,1),new Q.ptr(68032,68047,1),new Q.ptr(68050,68095,1),new Q.ptr(68160,68167,1),new Q.ptr(68221,68222,1),new Q.ptr(68253,68255,1),new Q.ptr(68331,68335,1),new Q.ptr(68440,68447,1),new Q.ptr(68472,68479,1),new Q.ptr(68521,68527,1),new Q.ptr(68858,68863,1),new Q.ptr(69216,69246,1),new Q.ptr(69714,69743,1),new Q.ptr(69872,69881,1),new Q.ptr(69942,69951,1),new Q.ptr(70096,70105,1),new Q.ptr(70113,70132,1),new Q.ptr(70384,70393,1),new Q.ptr(70736,70745,1),new Q.ptr(70864,70873,1),new Q.ptr(71248,71257,1),new Q.ptr(71360,71369,1),new Q.ptr(71472,71483,1),new Q.ptr(71904,71922,1),new Q.ptr(72784,72812,1),new Q.ptr(74752,74862,1),new Q.ptr(92768,92777,1),new Q.ptr(93008,93017,1),new Q.ptr(93019,93025,1),new Q.ptr(119648,119665,1),new Q.ptr(120782,120831,1),new Q.ptr(125127,125135,1),new Q.ptr(125264,125273,1),new Q.ptr(127232,127244,1)]),4);AX=new O.ptr(new IT([new P.ptr(48,57,1),new P.ptr(1632,1641,1),new P.ptr(1776,1785,1),new P.ptr(1984,1993,1),new P.ptr(2406,2415,1),new P.ptr(2534,2543,1),new P.ptr(2662,2671,1),new P.ptr(2790,2799,1),new P.ptr(2918,2927,1),new P.ptr(3046,3055,1),new P.ptr(3174,3183,1),new P.ptr(3302,3311,1),new P.ptr(3430,3439,1),new P.ptr(3558,3567,1),new P.ptr(3664,3673,1),new P.ptr(3792,3801,1),new P.ptr(3872,3881,1),new P.ptr(4160,4169,1),new P.ptr(4240,4249,1),new P.ptr(6112,6121,1),new P.ptr(6160,6169,1),new P.ptr(6470,6479,1),new P.ptr(6608,6617,1),new P.ptr(6784,6793,1),new P.ptr(6800,6809,1),new P.ptr(6992,7001,1),new P.ptr(7088,7097,1),new P.ptr(7232,7241,1),new P.ptr(7248,7257,1),new P.ptr(42528,42537,1),new P.ptr(43216,43225,1),new P.ptr(43264,43273,1),new P.ptr(43472,43481,1),new P.ptr(43504,43513,1),new P.ptr(43600,43609,1),new P.ptr(44016,44025,1),new P.ptr(65296,65305,1)]),new IU([new Q.ptr(66720,66729,1),new Q.ptr(69734,69743,1),new Q.ptr(69872,69881,1),new Q.ptr(69942,69951,1),new Q.ptr(70096,70105,1),new Q.ptr(70384,70393,1),new Q.ptr(70736,70745,1),new Q.ptr(70864,70873,1),new Q.ptr(71248,71257,1),new Q.ptr(71360,71369,1),new Q.ptr(71472,71481,1),new Q.ptr(71904,71913,1),new Q.ptr(72784,72793,1),new Q.ptr(92768,92777,1),new Q.ptr(93008,93017,1),new Q.ptr(120782,120831,1),new Q.ptr(125264,125273,1)]),1);BA=new O.ptr(new IT([new P.ptr(33,35,1),new P.ptr(37,42,1),new P.ptr(44,47,1),new P.ptr(58,59,1),new P.ptr(63,64,1),new P.ptr(91,93,1),new P.ptr(95,123,28),new P.ptr(125,161,36),new P.ptr(167,171,4),new P.ptr(182,183,1),new P.ptr(187,191,4),new P.ptr(894,903,9),new P.ptr(1370,1375,1),new P.ptr(1417,1418,1),new P.ptr(1470,1472,2),new P.ptr(1475,1478,3),new P.ptr(1523,1524,1),new P.ptr(1545,1546,1),new P.ptr(1548,1549,1),new P.ptr(1563,1566,3),new P.ptr(1567,1642,75),new P.ptr(1643,1645,1),new P.ptr(1748,1792,44),new P.ptr(1793,1805,1),new P.ptr(2039,2041,1),new P.ptr(2096,2110,1),new P.ptr(2142,2404,262),new P.ptr(2405,2416,11),new P.ptr(2800,3572,772),new P.ptr(3663,3674,11),new P.ptr(3675,3844,169),new P.ptr(3845,3858,1),new P.ptr(3860,3898,38),new P.ptr(3899,3901,1),new P.ptr(3973,4048,75),new P.ptr(4049,4052,1),new P.ptr(4057,4058,1),new P.ptr(4170,4175,1),new P.ptr(4347,4960,613),new P.ptr(4961,4968,1),new P.ptr(5120,5741,621),new P.ptr(5742,5787,45),new P.ptr(5788,5867,79),new P.ptr(5868,5869,1),new P.ptr(5941,5942,1),new P.ptr(6100,6102,1),new P.ptr(6104,6106,1),new P.ptr(6144,6154,1),new P.ptr(6468,6469,1),new P.ptr(6686,6687,1),new P.ptr(6816,6822,1),new P.ptr(6824,6829,1),new P.ptr(7002,7008,1),new P.ptr(7164,7167,1),new P.ptr(7227,7231,1),new P.ptr(7294,7295,1),new P.ptr(7360,7367,1),new P.ptr(7379,8208,829),new P.ptr(8209,8231,1),new P.ptr(8240,8259,1),new P.ptr(8261,8273,1),new P.ptr(8275,8286,1),new P.ptr(8317,8318,1),new P.ptr(8333,8334,1),new P.ptr(8968,8971,1),new P.ptr(9001,9002,1),new P.ptr(10088,10101,1),new P.ptr(10181,10182,1),new P.ptr(10214,10223,1),new P.ptr(10627,10648,1),new P.ptr(10712,10715,1),new P.ptr(10748,10749,1),new P.ptr(11513,11516,1),new P.ptr(11518,11519,1),new P.ptr(11632,11776,144),new P.ptr(11777,11822,1),new P.ptr(11824,11844,1),new P.ptr(12289,12291,1),new P.ptr(12296,12305,1),new P.ptr(12308,12319,1),new P.ptr(12336,12349,13),new P.ptr(12448,12539,91),new P.ptr(42238,42239,1),new P.ptr(42509,42511,1),new P.ptr(42611,42622,11),new P.ptr(42738,42743,1),new P.ptr(43124,43127,1),new P.ptr(43214,43215,1),new P.ptr(43256,43258,1),new P.ptr(43260,43310,50),new P.ptr(43311,43359,48),new P.ptr(43457,43469,1),new P.ptr(43486,43487,1),new P.ptr(43612,43615,1),new P.ptr(43742,43743,1),new P.ptr(43760,43761,1),new P.ptr(44011,64830,20819),new P.ptr(64831,65040,209),new P.ptr(65041,65049,1),new P.ptr(65072,65106,1),new P.ptr(65108,65121,1),new P.ptr(65123,65128,5),new P.ptr(65130,65131,1),new P.ptr(65281,65283,1),new P.ptr(65285,65290,1),new P.ptr(65292,65295,1),new P.ptr(65306,65307,1),new P.ptr(65311,65312,1),new P.ptr(65339,65341,1),new P.ptr(65343,65371,28),new P.ptr(65373,65375,2),new P.ptr(65376,65381,1)]),new IU([new Q.ptr(65792,65794,1),new Q.ptr(66463,66512,49),new Q.ptr(66927,67671,744),new Q.ptr(67871,67903,32),new Q.ptr(68176,68184,1),new Q.ptr(68223,68336,113),new Q.ptr(68337,68342,1),new Q.ptr(68409,68415,1),new Q.ptr(68505,68508,1),new Q.ptr(69703,69709,1),new Q.ptr(69819,69820,1),new Q.ptr(69822,69825,1),new Q.ptr(69952,69955,1),new Q.ptr(70004,70005,1),new Q.ptr(70085,70089,1),new Q.ptr(70093,70107,14),new Q.ptr(70109,70111,1),new Q.ptr(70200,70205,1),new Q.ptr(70313,70731,418),new Q.ptr(70732,70735,1),new Q.ptr(70747,70749,2),new Q.ptr(70854,71105,251),new Q.ptr(71106,71127,1),new Q.ptr(71233,71235,1),new Q.ptr(71264,71276,1),new Q.ptr(71484,71486,1),new Q.ptr(72769,72773,1),new Q.ptr(72816,72817,1),new Q.ptr(74864,74868,1),new Q.ptr(92782,92783,1),new Q.ptr(92917,92983,66),new Q.ptr(92984,92987,1),new Q.ptr(92996,113823,20827),new Q.ptr(121479,121483,1),new Q.ptr(125278,125279,1)]),11);BI=new O.ptr(new IT([new P.ptr(36,43,7),new P.ptr(60,62,1),new P.ptr(94,96,2),new P.ptr(124,126,2),new P.ptr(162,166,1),new P.ptr(168,169,1),new P.ptr(172,174,2),new P.ptr(175,177,1),new P.ptr(180,184,4),new P.ptr(215,247,32),new P.ptr(706,709,1),new P.ptr(722,735,1),new P.ptr(741,747,1),new P.ptr(749,751,2),new P.ptr(752,767,1),new P.ptr(885,900,15),new P.ptr(901,1014,113),new P.ptr(1154,1421,267),new P.ptr(1422,1423,1),new P.ptr(1542,1544,1),new P.ptr(1547,1550,3),new P.ptr(1551,1758,207),new P.ptr(1769,1789,20),new P.ptr(1790,2038,248),new P.ptr(2546,2547,1),new P.ptr(2554,2555,1),new P.ptr(2801,2928,127),new P.ptr(3059,3066,1),new P.ptr(3199,3407,208),new P.ptr(3449,3647,198),new P.ptr(3841,3843,1),new P.ptr(3859,3861,2),new P.ptr(3862,3863,1),new P.ptr(3866,3871,1),new P.ptr(3892,3896,2),new P.ptr(4030,4037,1),new P.ptr(4039,4044,1),new P.ptr(4046,4047,1),new P.ptr(4053,4056,1),new P.ptr(4254,4255,1),new P.ptr(5008,5017,1),new P.ptr(6107,6464,357),new P.ptr(6622,6655,1),new P.ptr(7009,7018,1),new P.ptr(7028,7036,1),new P.ptr(8125,8127,2),new P.ptr(8128,8129,1),new P.ptr(8141,8143,1),new P.ptr(8157,8159,1),new P.ptr(8173,8175,1),new P.ptr(8189,8190,1),new P.ptr(8260,8274,14),new P.ptr(8314,8316,1),new P.ptr(8330,8332,1),new P.ptr(8352,8382,1),new P.ptr(8448,8449,1),new P.ptr(8451,8454,1),new P.ptr(8456,8457,1),new P.ptr(8468,8470,2),new P.ptr(8471,8472,1),new P.ptr(8478,8483,1),new P.ptr(8485,8489,2),new P.ptr(8494,8506,12),new P.ptr(8507,8512,5),new P.ptr(8513,8516,1),new P.ptr(8522,8525,1),new P.ptr(8527,8586,59),new P.ptr(8587,8592,5),new P.ptr(8593,8967,1),new P.ptr(8972,9000,1),new P.ptr(9003,9214,1),new P.ptr(9216,9254,1),new P.ptr(9280,9290,1),new P.ptr(9372,9449,1),new P.ptr(9472,10087,1),new P.ptr(10132,10180,1),new P.ptr(10183,10213,1),new P.ptr(10224,10626,1),new P.ptr(10649,10711,1),new P.ptr(10716,10747,1),new P.ptr(10750,11123,1),new P.ptr(11126,11157,1),new P.ptr(11160,11193,1),new P.ptr(11197,11208,1),new P.ptr(11210,11217,1),new P.ptr(11244,11247,1),new P.ptr(11493,11498,1),new P.ptr(11904,11929,1),new P.ptr(11931,12019,1),new P.ptr(12032,12245,1),new P.ptr(12272,12283,1),new P.ptr(12292,12306,14),new P.ptr(12307,12320,13),new P.ptr(12342,12343,1),new P.ptr(12350,12351,1),new P.ptr(12443,12444,1),new P.ptr(12688,12689,1),new P.ptr(12694,12703,1),new P.ptr(12736,12771,1),new P.ptr(12800,12830,1),new P.ptr(12842,12871,1),new P.ptr(12880,12896,16),new P.ptr(12897,12927,1),new P.ptr(12938,12976,1),new P.ptr(12992,13054,1),new P.ptr(13056,13311,1),new P.ptr(19904,19967,1),new P.ptr(42128,42182,1),new P.ptr(42752,42774,1),new P.ptr(42784,42785,1),new P.ptr(42889,42890,1),new P.ptr(43048,43051,1),new P.ptr(43062,43065,1),new P.ptr(43639,43641,1),new P.ptr(43867,64297,20430),new P.ptr(64434,64449,1),new P.ptr(65020,65021,1),new P.ptr(65122,65124,2),new P.ptr(65125,65126,1),new P.ptr(65129,65284,155),new P.ptr(65291,65308,17),new P.ptr(65309,65310,1),new P.ptr(65342,65344,2),new P.ptr(65372,65374,2),new P.ptr(65504,65510,1),new P.ptr(65512,65518,1),new P.ptr(65532,65533,1)]),new IU([new Q.ptr(65847,65855,1),new Q.ptr(65913,65929,1),new Q.ptr(65932,65934,1),new Q.ptr(65936,65947,1),new Q.ptr(65952,66000,48),new Q.ptr(66001,66044,1),new Q.ptr(67703,67704,1),new Q.ptr(68296,71487,3191),new Q.ptr(92988,92991,1),new Q.ptr(92997,113820,20823),new Q.ptr(118784,119029,1),new Q.ptr(119040,119078,1),new Q.ptr(119081,119140,1),new Q.ptr(119146,119148,1),new Q.ptr(119171,119172,1),new Q.ptr(119180,119209,1),new Q.ptr(119214,119272,1),new Q.ptr(119296,119361,1),new Q.ptr(119365,119552,187),new Q.ptr(119553,119638,1),new Q.ptr(120513,120539,26),new Q.ptr(120571,120597,26),new Q.ptr(120629,120655,26),new Q.ptr(120687,120713,26),new Q.ptr(120745,120771,26),new Q.ptr(120832,121343,1),new Q.ptr(121399,121402,1),new Q.ptr(121453,121460,1),new Q.ptr(121462,121475,1),new Q.ptr(121477,121478,1),new Q.ptr(126704,126705,1),new Q.ptr(126976,127019,1),new Q.ptr(127024,127123,1),new Q.ptr(127136,127150,1),new Q.ptr(127153,127167,1),new Q.ptr(127169,127183,1),new Q.ptr(127185,127221,1),new Q.ptr(127248,127278,1),new Q.ptr(127280,127339,1),new Q.ptr(127344,127404,1),new Q.ptr(127462,127490,1),new Q.ptr(127504,127547,1),new Q.ptr(127552,127560,1),new Q.ptr(127568,127569,1),new Q.ptr(127744,128722,1),new Q.ptr(128736,128748,1),new Q.ptr(128752,128758,1),new Q.ptr(128768,128883,1),new Q.ptr(128896,128980,1),new Q.ptr(129024,129035,1),new Q.ptr(129040,129095,1),new Q.ptr(129104,129113,1),new Q.ptr(129120,129159,1),new Q.ptr(129168,129197,1),new Q.ptr(129296,129310,1),new Q.ptr(129312,129319,1),new Q.ptr(129328,129331,3),new Q.ptr(129332,129342,1),new Q.ptr(129344,129355,1),new Q.ptr(129360,129374,1),new Q.ptr(129408,129425,1),new Q.ptr(129472,129472,1)]),10);BQ=new O.ptr(new IT([new P.ptr(32,160,128),new P.ptr(5760,8192,2432),new P.ptr(8193,8202,1),new P.ptr(8239,8287,48),new P.ptr(12288,12288,1)]),IU.nil,1);$pkg.Digit=AX;$pkg.Letter=AM;$pkg.L=AM;$pkg.M=AS;$pkg.N=AW;$pkg.P=BA;$pkg.S=BI;$pkg.Upper=AR;$pkg.Zs=BQ;$pkg.GraphicRanges=new IW([$pkg.L,$pkg.M,$pkg.N,$pkg.P,$pkg.S,$pkg.Zs]);IE=new O.ptr(new IT([new P.ptr(9,13,1),new P.ptr(32,32,1),new P.ptr(133,133,1),new P.ptr(160,160,1),new P.ptr(5760,5760,1),new P.ptr(8192,8202,1),new P.ptr(8232,8233,1),new P.ptr(8239,8239,1),new P.ptr(8287,8287,1),new P.ptr(12288,12288,1)]),IU.nil,4);$pkg.White_Space=IE;IG=$toNativeArray($kindUint8,[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,144,130,130,130,136,130,130,130,130,130,130,136,130,130,130,130,132,132,132,132,132,132,132,132,132,132,130,130,136,136,136,130,130,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,130,130,130,136,130,136,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,130,136,130,136,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,16,130,136,136,136,136,136,130,136,136,224,130,136,0,136,136,136,136,132,132,136,192,130,130,136,132,224,130,132,132,132,130,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,136,160,160,160,160,160,160,160,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,136,192,192,192,192,192,192,192,192]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["unicode/utf8"]=(function(){var $pkg={},$init,B,A,C,F,G,H,I,J,K,L,M,N,Q;B=$pkg.acceptRange=$newType(0,$kindStruct,"utf8.acceptRange",true,"unicode/utf8",false,function(lo_,hi_){this.$val=this;if(arguments.length===0){this.lo=0;this.hi=0;return;}this.lo=lo_;this.hi=hi_;});F=function(a){var $ptr,a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=a.$length;if(d<1){e=65533;f=0;b=e;c=f;return[b,c];}g=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);h=((g<0||g>=A.length)?($throwRuntimeError("index out of range"),undefined):A[g]);if(h>=240){i=(((h>>0))<<31>>0)>>31>>0;j=(((((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0])>>0))&~i)>>0)|(65533&i);k=1;b=j;c=k;return[b,c];}l=(h&7)>>>0;n=$clone((m=h>>>4<<24>>>24,((m<0||m>=C.length)?($throwRuntimeError("index out of range"),undefined):C[m])),B);if(d<((l>>0))){o=65533;p=1;b=o;c=p;return[b,c];}q=(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]);if(q<n.lo||n.hi<q){r=65533;s=1;b=r;c=s;return[b,c];}if(l===2){t=(((((g&31)>>>0)>>0))<<6>>0)|((((q&63)>>>0)>>0));u=2;b=t;c=u;return[b,c];}v=(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]);if(v<128||191<v){w=65533;x=1;b=w;c=x;return[b,c];}if(l===3){y=((((((g&15)>>>0)>>0))<<12>>0)|(((((q&63)>>>0)>>0))<<6>>0))|((((v&63)>>>0)>>0));z=3;b=y;c=z;return[b,c];}aa=(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]);if(aa<128||191<aa){ab=65533;ac=1;b=ab;c=ac;return[b,c];}ad=(((((((g&7)>>>0)>>0))<<18>>0)|(((((q&63)>>>0)>>0))<<12>>0))|(((((v&63)>>>0)>>0))<<6>>0))|((((aa&63)>>>0)>>0));ae=4;b=ad;c=ae;return[b,c];};$pkg.DecodeRune=F;G=function(a){var $ptr,a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;b=0;c=0;d=a.length;if(d<1){e=65533;f=0;b=e;c=f;return[b,c];}g=a.charCodeAt(0);h=((g<0||g>=A.length)?($throwRuntimeError("index out of range"),undefined):A[g]);if(h>=240){i=(((h>>0))<<31>>0)>>31>>0;j=((((a.charCodeAt(0)>>0))&~i)>>0)|(65533&i);k=1;b=j;c=k;return[b,c];}l=(h&7)>>>0;n=$clone((m=h>>>4<<24>>>24,((m<0||m>=C.length)?($throwRuntimeError("index out of range"),undefined):C[m])),B);if(d<((l>>0))){o=65533;p=1;b=o;c=p;return[b,c];}q=a.charCodeAt(1);if(q<n.lo||n.hi<q){r=65533;s=1;b=r;c=s;return[b,c];}if(l===2){t=(((((g&31)>>>0)>>0))<<6>>0)|((((q&63)>>>0)>>0));u=2;b=t;c=u;return[b,c];}v=a.charCodeAt(2);if(v<128||191<v){w=65533;x=1;b=w;c=x;return[b,c];}if(l===3){y=((((((g&15)>>>0)>>0))<<12>>0)|(((((q&63)>>>0)>>0))<<6>>0))|((((v&63)>>>0)>>0));z=3;b=y;c=z;return[b,c];}aa=a.charCodeAt(3);if(aa<128||191<aa){ab=65533;ac=1;b=ab;c=ac;return[b,c];}ad=(((((((g&7)>>>0)>>0))<<18>>0)|(((((q&63)>>>0)>>0))<<12>>0))|(((((v&63)>>>0)>>0))<<6>>0))|((((aa&63)>>>0)>>0));ae=4;b=ad;c=ae;return[b,c];};$pkg.DecodeRuneInString=G;H=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c=0;d=a.$length;if(d===0){e=65533;f=0;b=e;c=f;return[b,c];}g=d-1>>0;b=((((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g])>>0));if(b<128){h=b;i=1;b=h;c=i;return[b,c];}j=d-4>>0;if(j<0){j=0;}g=g-(1)>>0;while(true){if(!(g>=j)){break;}if(N(((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]))){break;}g=g-(1)>>0;}if(g<0){g=0;}k=F($subslice(a,g,d));b=k[0];c=k[1];if(!(((g+c>>0)===d))){l=65533;m=1;b=l;c=m;return[b,c];}n=b;o=c;b=n;c=o;return[b,c];};$pkg.DecodeLastRune=H;I=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=0;c=0;d=a.length;if(d===0){e=65533;f=0;b=e;c=f;return[b,c];}g=d-1>>0;b=((a.charCodeAt(g)>>0));if(b<128){h=b;i=1;b=h;c=i;return[b,c];}j=d-4>>0;if(j<0){j=0;}g=g-(1)>>0;while(true){if(!(g>=j)){break;}if(N(a.charCodeAt(g))){break;}g=g-(1)>>0;}if(g<0){g=0;}k=G($substring(a,g,d));b=k[0];c=k[1];if(!(((g+c>>0)===d))){l=65533;m=1;b=l;c=m;return[b,c];}n=b;o=c;b=n;c=o;return[b,c];};$pkg.DecodeLastRuneInString=I;J=function(a){var $ptr,a;if(a<0){return-1;}else if(a<=127){return 1;}else if(a<=2047){return 2;}else if(55296<=a&&a<=57343){return-1;}else if(a<=65535){return 3;}else if(a<=1114111){return 4;}return-1;};$pkg.RuneLen=J;K=function(a,b){var $ptr,a,b,c;c=((b>>>0));if(c<=127){(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((b<<24>>>24)));return 1;}else if(c<=2047){$unused((1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((192|(((b>>6>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 2;}else if((c>1114111)||(55296<=c&&c<=57343)){b=65533;$unused((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((224|(((b>>12>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 3;}else if(c<=65535){$unused((2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((224|(((b>>12>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 3;}else{$unused((3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]));(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]=((240|(((b>>18>>0)<<24>>>24)))>>>0));(1>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+1]=((128|(((((b>>12>>0)<<24>>>24))&63)>>>0))>>>0));(2>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+2]=((128|(((((b>>6>>0)<<24>>>24))&63)>>>0))>>>0));(3>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+3]=((128|((((b<<24>>>24))&63)>>>0))>>>0));return 4;}};$pkg.EncodeRune=K;L=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;b=a.$length;c=0;d=0;while(true){if(!(d<b)){break;}c=c+(1)>>0;e=((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d]);if(e<128){d=d+(1)>>0;continue;}f=((e<0||e>=A.length)?($throwRuntimeError("index out of range"),undefined):A[e]);if(f===241){d=d+(1)>>0;continue;}g=((((f&7)>>>0)>>0));if((d+g>>0)>b){d=d+(1)>>0;continue;}i=$clone((h=f>>>4<<24>>>24,((h<0||h>=C.length)?($throwRuntimeError("index out of range"),undefined):C[h])),B);k=(j=d+1>>0,((j<0||j>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+j]));if(k<i.lo||i.hi<k){g=1;}else if(g===2){}else{m=(l=d+2>>0,((l<0||l>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+l]));if(m<128||191<m){g=1;}else if(g===3){}else{o=(n=d+3>>0,((n<0||n>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+n]));if(o<128||191<o){g=1;}}}d=d+(g)>>0;}return c;};$pkg.RuneCount=L;M=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l;b=0;c=a.length;d=0;while(true){if(!(d<c)){break;}e=a.charCodeAt(d);if(e<128){d=d+(1)>>0;b=b+(1)>>0;continue;}f=((e<0||e>=A.length)?($throwRuntimeError("index out of range"),undefined):A[e]);if(f===241){d=d+(1)>>0;b=b+(1)>>0;continue;}g=((((f&7)>>>0)>>0));if((d+g>>0)>c){d=d+(1)>>0;b=b+(1)>>0;continue;}i=$clone((h=f>>>4<<24>>>24,((h<0||h>=C.length)?($throwRuntimeError("index out of range"),undefined):C[h])),B);j=a.charCodeAt((d+1>>0));if(j<i.lo||i.hi<j){g=1;}else if(g===2){}else{k=a.charCodeAt((d+2>>0));if(k<128||191<k){g=1;}else if(g===3){}else{l=a.charCodeAt((d+3>>0));if(l<128||191<l){g=1;}}}d=d+(g)>>0;b=b+(1)>>0;}b=b;return b;};$pkg.RuneCountInString=M;N=function(a){var $ptr,a;return!((((a&192)>>>0)===128));};$pkg.RuneStart=N;Q=function(a){var $ptr,a;if(0<=a&&a<55296){return true;}else if(57343<a&&a<=1114111){return true;}return false;};$pkg.ValidRune=Q;B.init("unicode/utf8",[{prop:"lo",name:"lo",exported:false,typ:$Uint8,tag:""},{prop:"hi",name:"hi",exported:false,typ:$Uint8,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:A=$toNativeArray($kindUint8,[240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,240,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,241,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,19,3,3,3,3,3,3,3,3,3,3,3,3,35,3,3,52,4,4,4,68,241,241,241,241,241,241,241,241,241,241,241]);C=$toNativeArray($kindStruct,[new B.ptr(128,191),new B.ptr(160,191),new B.ptr(128,159),new B.ptr(144,191),new B.ptr(128,143)]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["bytes"]=(function(){var $pkg={},$init,A,B,D,C,H,I,BO,BP,BQ,E,F,J,K,T,AG,AS,AT,AU,AZ,BA,BH;A=$packages["errors"];B=$packages["io"];D=$packages["unicode"];C=$packages["unicode/utf8"];H=$pkg.Buffer=$newType(0,$kindStruct,"bytes.Buffer",true,"bytes",true,function(buf_,off_,bootstrap_,lastRead_){this.$val=this;if(arguments.length===0){this.buf=BP.nil;this.off=0;this.bootstrap=BQ.zero();this.lastRead=0;return;}this.buf=buf_;this.off=off_;this.bootstrap=bootstrap_;this.lastRead=lastRead_;});I=$pkg.readOp=$newType(4,$kindInt,"bytes.readOp",true,"bytes",false,null);BO=$ptrType(H);BP=$sliceType($Uint8);BQ=$arrayType($Uint8,64);E=function(d,e){var $ptr,d,e,f,g,h,i;f=d;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(i===e){return h;}g++;}return-1;};$pkg.IndexByte=E;F=function(d,e){var $ptr,d,e,f,g,h,i;if(!((d.$length===e.$length))){return false;}f=d;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(!((i===((h<0||h>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+h])))){return false;}g++;}return true;};$pkg.Equal=F;H.ptr.prototype.Bytes=function(){var $ptr,d;d=this;return $subslice(d.buf,d.off);};H.prototype.Bytes=function(){return this.$val.Bytes();};H.ptr.prototype.String=function(){var $ptr,d;d=this;if(d===BO.nil){return"<nil>";}return($bytesToString($subslice(d.buf,d.off)));};H.prototype.String=function(){return this.$val.String();};H.ptr.prototype.Len=function(){var $ptr,d;d=this;return d.buf.$length-d.off>>0;};H.prototype.Len=function(){return this.$val.Len();};H.ptr.prototype.Cap=function(){var $ptr,d;d=this;return d.buf.$capacity;};H.prototype.Cap=function(){return this.$val.Cap();};H.ptr.prototype.Truncate=function(d){var $ptr,d,e;e=this;e.lastRead=0;if(d<0||d>e.Len()){$panic(new $String("bytes.Buffer: truncation out of range"));}else if((d===0)){e.off=0;}e.buf=$subslice(e.buf,0,(e.off+d>>0));};H.prototype.Truncate=function(d){return this.$val.Truncate(d);};H.ptr.prototype.Reset=function(){var $ptr,d;d=this;d.Truncate(0);};H.prototype.Reset=function(){return this.$val.Reset();};H.ptr.prototype.grow=function(d){var $ptr,d,e,f,g,h;e=this;f=e.Len();if((f===0)&&!((e.off===0))){e.Truncate(0);}if((e.buf.$length+d>>0)>e.buf.$capacity){g=BP.nil;if(e.buf===BP.nil&&d<=64){g=$subslice(new BP(e.bootstrap),0);}else if((f+d>>0)<=(h=e.buf.$capacity/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"))){$copySlice(e.buf,$subslice(e.buf,e.off));g=$subslice(e.buf,0,f);}else{g=J(($imul(2,e.buf.$capacity))+d>>0);$copySlice(g,$subslice(e.buf,e.off));}e.buf=g;e.off=0;}e.buf=$subslice(e.buf,0,((e.off+f>>0)+d>>0));return e.off+f>>0;};H.prototype.grow=function(d){return this.$val.grow(d);};H.ptr.prototype.Grow=function(d){var $ptr,d,e,f;e=this;if(d<0){$panic(new $String("bytes.Buffer.Grow: negative count"));}f=e.grow(d);e.buf=$subslice(e.buf,0,f);};H.prototype.Grow=function(d){return this.$val.Grow(d);};H.ptr.prototype.Write=function(d){var $ptr,d,e,f,g,h,i,j;e=0;f=$ifaceNil;g=this;g.lastRead=0;h=g.grow(d.$length);i=$copySlice($subslice(g.buf,h),d);j=$ifaceNil;e=i;f=j;return[e,f];};H.prototype.Write=function(d){return this.$val.Write(d);};H.ptr.prototype.WriteString=function(d){var $ptr,d,e,f,g,h,i,j;e=0;f=$ifaceNil;g=this;g.lastRead=0;h=g.grow(d.length);i=$copyString($subslice(g.buf,h),d);j=$ifaceNil;e=i;f=j;return[e,f];};H.prototype.WriteString=function(d){return this.$val.WriteString(d);};H.ptr.prototype.ReadFrom=function(d){var $ptr,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=$ifaceNil;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Truncate(0);}case 1:h=g.buf.$capacity-g.buf.$length>>0;if(h<512){i=g.buf;if((g.off+h>>0)<512){i=J(($imul(2,g.buf.$capacity))+512>>0);}$copySlice(i,$subslice(g.buf,g.off));g.buf=$subslice(i,0,(g.buf.$length-g.off>>0));g.off=0;}k=d.Read($subslice(g.buf,g.buf.$length,g.buf.$capacity));$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];m=j[1];g.buf=$subslice(g.buf,0,(g.buf.$length+l>>0));e=(n=(new $Int64(0,l)),new $Int64(e.$high+n.$high,e.$low+n.$low));if($interfaceIsEqual(m,B.EOF)){$s=2;continue;}if(!($interfaceIsEqual(m,$ifaceNil))){o=e;p=m;e=o;f=p;$s=-1;return[e,f];}$s=1;continue;case 2:q=e;r=$ifaceNil;e=q;f=r;$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:H.ptr.prototype.ReadFrom};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.ReadFrom=function(d){return this.$val.ReadFrom(d);};J=function(d){var $ptr,d,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);$deferred.push([(function(){var $ptr;if(!($interfaceIsEqual($recover(),$ifaceNil))){$panic($pkg.ErrTooLarge);}}),[]]);return $makeSlice(BP,d);}catch(err){$err=err;return BP.nil;}finally{$callDeferred($deferred,$err);}};H.ptr.prototype.WriteTo=function(d){var $ptr,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=new $Int64(0,0);f=$ifaceNil;g=this;g.lastRead=0;if(g.off<g.buf.$length){$s=1;continue;}$s=2;continue;case 1:h=g.Len();j=d.Write($subslice(g.buf,g.off));$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[0];l=i[1];if(k>h){$panic(new $String("bytes.Buffer.WriteTo: invalid Write count"));}g.off=g.off+(k)>>0;e=(new $Int64(0,k));if(!($interfaceIsEqual(l,$ifaceNil))){m=e;n=l;e=m;f=n;$s=-1;return[e,f];}if(!((k===h))){o=e;p=B.ErrShortWrite;e=o;f=p;$s=-1;return[e,f];}case 2:g.Truncate(0);$s=-1;return[e,f];}return;}if($f===undefined){$f={$blk:H.ptr.prototype.WriteTo};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};H.prototype.WriteTo=function(d){return this.$val.WriteTo(d);};H.ptr.prototype.WriteByte=function(d){var $ptr,d,e,f,g;e=this;e.lastRead=0;f=e.grow(1);(g=e.buf,((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]=d));return $ifaceNil;};H.prototype.WriteByte=function(d){return this.$val.WriteByte(d);};H.ptr.prototype.WriteRune=function(d){var $ptr,d,e,f,g,h,i,j,k,l;e=0;f=$ifaceNil;g=this;if(d<128){g.WriteByte(((d<<24>>>24)));h=1;i=$ifaceNil;e=h;f=i;return[e,f];}g.lastRead=0;j=g.grow(4);e=C.EncodeRune($subslice(g.buf,j,(j+4>>0)),d);g.buf=$subslice(g.buf,0,(j+e>>0));k=e;l=$ifaceNil;e=k;f=l;return[e,f];};H.prototype.WriteRune=function(d){return this.$val.WriteRune(d);};H.ptr.prototype.Read=function(d){var $ptr,d,e,f,g,h,i;e=0;f=$ifaceNil;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Truncate(0);if(d.$length===0){return[e,f];}h=0;i=B.EOF;e=h;f=i;return[e,f];}e=$copySlice(d,$subslice(g.buf,g.off));g.off=g.off+(e)>>0;if(e>0){g.lastRead=-1;}return[e,f];};H.prototype.Read=function(d){return this.$val.Read(d);};H.ptr.prototype.Next=function(d){var $ptr,d,e,f,g;e=this;e.lastRead=0;f=e.Len();if(d>f){d=f;}g=$subslice(e.buf,e.off,(e.off+d>>0));e.off=e.off+(d)>>0;if(d>0){e.lastRead=-1;}return g;};H.prototype.Next=function(d){return this.$val.Next(d);};H.ptr.prototype.ReadByte=function(){var $ptr,d,e,f,g;d=this;d.lastRead=0;if(d.off>=d.buf.$length){d.Truncate(0);return[0,B.EOF];}g=(e=d.buf,f=d.off,((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]));d.off=d.off+(1)>>0;d.lastRead=-1;return[g,$ifaceNil];};H.prototype.ReadByte=function(){return this.$val.ReadByte();};H.ptr.prototype.ReadRune=function(){var $ptr,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;d=0;e=0;f=$ifaceNil;g=this;g.lastRead=0;if(g.off>=g.buf.$length){g.Truncate(0);h=0;i=0;j=B.EOF;d=h;e=i;f=j;return[d,e,f];}m=(k=g.buf,l=g.off,((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]));if(m<128){g.off=g.off+(1)>>0;g.lastRead=1;n=((m>>0));o=1;p=$ifaceNil;d=n;e=o;f=p;return[d,e,f];}q=C.DecodeRune($subslice(g.buf,g.off));d=q[0];r=q[1];g.off=g.off+(r)>>0;g.lastRead=((r>>0));s=d;t=r;u=$ifaceNil;d=s;e=t;f=u;return[d,e,f];};H.prototype.ReadRune=function(){return this.$val.ReadRune();};H.ptr.prototype.UnreadRune=function(){var $ptr,d;d=this;if(d.lastRead<=0){return A.New("bytes.Buffer: UnreadRune: previous operation was not ReadRune");}if(d.off>=((d.lastRead>>0))){d.off=d.off-(((d.lastRead>>0)))>>0;}d.lastRead=0;return $ifaceNil;};H.prototype.UnreadRune=function(){return this.$val.UnreadRune();};H.ptr.prototype.UnreadByte=function(){var $ptr,d;d=this;if(d.lastRead===0){return A.New("bytes.Buffer: UnreadByte: previous operation was not a read");}d.lastRead=0;if(d.off>0){d.off=d.off-(1)>>0;}return $ifaceNil;};H.prototype.UnreadByte=function(){return this.$val.UnreadByte();};H.ptr.prototype.ReadBytes=function(d){var $ptr,d,e,f,g,h,i;e=BP.nil;f=$ifaceNil;g=this;h=g.readSlice(d);i=h[0];f=h[1];e=$appendSlice(e,i);return[e,f];};H.prototype.ReadBytes=function(d){return this.$val.ReadBytes(d);};H.ptr.prototype.readSlice=function(d){var $ptr,d,e,f,g,h,i,j,k;e=BP.nil;f=$ifaceNil;g=this;h=E($subslice(g.buf,g.off),d);i=(g.off+h>>0)+1>>0;if(h<0){i=g.buf.$length;f=B.EOF;}e=$subslice(g.buf,g.off,i);g.off=i;g.lastRead=-1;j=e;k=f;e=j;f=k;return[e,f];};H.prototype.readSlice=function(d){return this.$val.readSlice(d);};H.ptr.prototype.ReadString=function(d){var $ptr,d,e,f,g,h,i,j,k;e="";f=$ifaceNil;g=this;h=g.readSlice(d);i=h[0];f=h[1];j=($bytesToString(i));k=f;e=j;f=k;return[e,f];};H.prototype.ReadString=function(d){return this.$val.ReadString(d);};K=function(d){var $ptr,d;return new H.ptr(d,0,BQ.zero(),0);};$pkg.NewBuffer=K;T=function(d,e){var $ptr,d,e,f,g,h;f=e.$length;if(f===0){return d.$length;}g=(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]);h=d.$length-f>>0;while(true){if(!(h>=0)){break;}if((((h<0||h>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+h])===g)&&((f===1)||F($subslice(d,h,(h+f>>0)),e))){return h;}h=h-(1)>>0;}return-1;};$pkg.LastIndex=T;AG=function(d,e){var $ptr,d,e;return d.$length>=e.$length&&F($subslice(d,0,e.$length),e);};$pkg.HasPrefix=AG;AS=function(d,e){var $ptr,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=AZ(d,e,false);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(g===-1){$s=-1;return BP.nil;}$s=-1;return $subslice(d,g);}return;}if($f===undefined){$f={$blk:AS};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimLeftFunc=AS;AT=function(d,e){var $ptr,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=BA(d,e,false);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(g>=0&&((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])>=128){h=C.DecodeRune($subslice(d,g));i=h[1];g=g+(i)>>0;}else{g=g+(1)>>0;}$s=-1;return $subslice(d,0,g);}return;}if($f===undefined){$f={$blk:AT};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimRightFunc=AT;AU=function(d,e){var $ptr,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=AS(d,e);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=AT(f,e);$s=2;case 2:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;}return;}if($f===undefined){$f={$blk:AU};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimFunc=AU;AZ=function(d,e,f){var $ptr,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=0;case 1:if(!(g<d.$length)){$s=2;continue;}h=1;i=((((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g])>>0));if(i>=128){j=C.DecodeRune($subslice(d,g));i=j[0];h=j[1];}k=e(i);$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}if(k===f){$s=3;continue;}$s=4;continue;case 3:$s=-1;return g;case 4:g=g+(h)>>0;$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:AZ};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BA=function(d,e,f){var $ptr,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=d.$length;case 1:if(!(g>0)){$s=2;continue;}h=(((i=g-1>>0,((i<0||i>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+i]))>>0));j=1;k=h;l=j;if(k>=128){m=C.DecodeLastRune($subslice(d,0,g));k=m[0];l=m[1];}g=g-(l)>>0;n=e(k);$s=5;case 5:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}if(n===f){$s=3;continue;}$s=4;continue;case 3:$s=-1;return g;case 4:$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:BA};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BH=function(d){var $ptr,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=AU(d,D.IsSpace);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:BH};}$f.$ptr=$ptr;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimSpace=BH;BO.methods=[{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[BP],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Cap",name:"Cap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"grow",name:"grow",pkg:"bytes",typ:$funcType([$Int],[$Int],false)},{prop:"Grow",name:"Grow",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([BP],[$Int,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)},{prop:"ReadFrom",name:"ReadFrom",pkg:"",typ:$funcType([B.Reader],[$Int64,$error],false)},{prop:"WriteTo",name:"WriteTo",pkg:"",typ:$funcType([B.Writer],[$Int64,$error],false)},{prop:"WriteByte",name:"WriteByte",pkg:"",typ:$funcType([$Uint8],[$error],false)},{prop:"WriteRune",name:"WriteRune",pkg:"",typ:$funcType([$Int32],[$Int,$error],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([BP],[$Int,$error],false)},{prop:"Next",name:"Next",pkg:"",typ:$funcType([$Int],[BP],false)},{prop:"ReadByte",name:"ReadByte",pkg:"",typ:$funcType([],[$Uint8,$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"UnreadByte",name:"UnreadByte",pkg:"",typ:$funcType([],[$error],false)},{prop:"ReadBytes",name:"ReadBytes",pkg:"",typ:$funcType([$Uint8],[BP,$error],false)},{prop:"readSlice",name:"readSlice",pkg:"bytes",typ:$funcType([$Uint8],[BP,$error],false)},{prop:"ReadString",name:"ReadString",pkg:"",typ:$funcType([$Uint8],[$String,$error],false)}];H.init("bytes",[{prop:"buf",name:"buf",exported:false,typ:BP,tag:""},{prop:"off",name:"off",exported:false,typ:$Int,tag:""},{prop:"bootstrap",name:"bootstrap",exported:false,typ:BQ,tag:""},{prop:"lastRead",name:"lastRead",exported:false,typ:I,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrTooLarge=A.New("bytes.Buffer: too large");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["math"]=(function(){var $pkg={},$init,A,FI,FJ,FK,FL,GS,B,AS,EQ,AT,AU,AW,ES;A=$packages["github.com/gopherjs/gopherjs/js"];FI=$arrayType($Uint32,2);FJ=$arrayType($Float32,2);FK=$arrayType($Float64,1);FL=$structType("math",[{prop:"uint32array",name:"uint32array",exported:false,typ:FI,tag:""},{prop:"float32array",name:"float32array",exported:false,typ:FJ,tag:""},{prop:"float64array",name:"float64array",exported:false,typ:FK,tag:""}]);GS=$arrayType($Float64,70);AT=function(){var $ptr,aq;aq=new($global.ArrayBuffer)(8);AS.uint32array=new($global.Uint32Array)(aq);AS.float32array=new($global.Float32Array)(aq);AS.float64array=new($global.Float64Array)(aq);};AU=function(aq){var $ptr,aq;AS.float32array[0]=aq;return AS.uint32array[0];};$pkg.Float32bits=AU;AW=function(aq){var $ptr,aq,ar,as;AS.float64array[0]=aq;return(ar=$shiftLeft64((new $Uint64(0,AS.uint32array[1])),32),as=(new $Uint64(0,AS.uint32array[0])),new $Uint64(ar.$high+as.$high,ar.$low+as.$low));};$pkg.Float64bits=AW;ES=function(){var $ptr,aq,ar,as,at;EQ[0]=1;EQ[1]=10;aq=2;while(true){if(!(aq<70)){break;}as=(ar=aq/2,(ar===ar&&ar!==1/0&&ar!==-1/0)?ar>>0:$throwRuntimeError("integer divide by zero"));((aq<0||aq>=EQ.length)?($throwRuntimeError("index out of range"),undefined):EQ[aq]=((as<0||as>=EQ.length)?($throwRuntimeError("index out of range"),undefined):EQ[as])*(at=aq-as>>0,((at<0||at>=EQ.length)?($throwRuntimeError("index out of range"),undefined):EQ[at])));aq=aq+(1)>>0;}};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AS=new FL.ptr(FI.zero(),FJ.zero(),FK.zero());EQ=GS.zero();B=$global.Math;AT();ES();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["syscall"]=(function(){var $pkg={},$init,D,A,E,B,C,EZ,FA,KW,KZ,LF,MU,MW,ND,NG,NX,NY,OG,OP,OS,OT,PC,PD,PE,PF,PJ,PK,F,G,O,P,Q,AU,AV,AW,AX,CA,CB,ED,FB,FC,FD,GE,NC,GJ,H,I,J,K,L,M,R,S,T,W,AQ,AR,AS,AT,AZ,BB,BM,BY,BZ,CC,CZ,DA,DC,DI,DY,EI,EJ,EK,EL,FE,FG,FH,HD,HG,HO,HR,HW,HY,HZ,IC,IE,IF,IG,IZ,JI,JK,JL,JM,JR,KG,KP,KQ,KR;D=$packages["errors"];A=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["internal/race"];B=$packages["runtime"];C=$packages["sync"];EZ=$pkg.mmapper=$newType(0,$kindStruct,"syscall.mmapper",true,"syscall",false,function(Mutex_,active_,mmap_,munmap_){this.$val=this;if(arguments.length===0){this.Mutex=new C.Mutex.ptr(0,0);this.active=false;this.mmap=$throwNilPointerError;this.munmap=$throwNilPointerError;return;}this.Mutex=Mutex_;this.active=active_;this.mmap=mmap_;this.munmap=munmap_;});FA=$pkg.Errno=$newType(4,$kindUintptr,"syscall.Errno",true,"syscall",true,null);KW=$pkg._C_int=$newType(4,$kindInt32,"syscall._C_int",true,"syscall",false,null);KZ=$pkg.Timespec=$newType(0,$kindStruct,"syscall.Timespec",true,"syscall",true,function(Sec_,Nsec_){this.$val=this;if(arguments.length===0){this.Sec=new $Int64(0,0);this.Nsec=new $Int64(0,0);return;}this.Sec=Sec_;this.Nsec=Nsec_;});LF=$pkg.Stat_t=$newType(0,$kindStruct,"syscall.Stat_t",true,"syscall",true,function(Dev_,Mode_,Nlink_,Ino_,Uid_,Gid_,Rdev_,Pad_cgo_0_,Atimespec_,Mtimespec_,Ctimespec_,Birthtimespec_,Size_,Blocks_,Blksize_,Flags_,Gen_,Lspare_,Qspare_){this.$val=this;if(arguments.length===0){this.Dev=0;this.Mode=0;this.Nlink=0;this.Ino=new $Uint64(0,0);this.Uid=0;this.Gid=0;this.Rdev=0;this.Pad_cgo_0=NG.zero();this.Atimespec=new KZ.ptr(new $Int64(0,0),new $Int64(0,0));this.Mtimespec=new KZ.ptr(new $Int64(0,0),new $Int64(0,0));this.Ctimespec=new KZ.ptr(new $Int64(0,0),new $Int64(0,0));this.Birthtimespec=new KZ.ptr(new $Int64(0,0),new $Int64(0,0));this.Size=new $Int64(0,0);this.Blocks=new $Int64(0,0);this.Blksize=0;this.Flags=0;this.Gen=0;this.Lspare=0;this.Qspare=PK.zero();return;}this.Dev=Dev_;this.Mode=Mode_;this.Nlink=Nlink_;this.Ino=Ino_;this.Uid=Uid_;this.Gid=Gid_;this.Rdev=Rdev_;this.Pad_cgo_0=Pad_cgo_0_;this.Atimespec=Atimespec_;this.Mtimespec=Mtimespec_;this.Ctimespec=Ctimespec_;this.Birthtimespec=Birthtimespec_;this.Size=Size_;this.Blocks=Blocks_;this.Blksize=Blksize_;this.Flags=Flags_;this.Gen=Gen_;this.Lspare=Lspare_;this.Qspare=Qspare_;});MU=$sliceType($Uint8);MW=$sliceType($String);ND=$ptrType($Uint8);NG=$arrayType($Uint8,4);NX=$sliceType(KW);NY=$ptrType($Uintptr);OG=$arrayType($Uint8,32);OP=$arrayType(KW,14);OS=$structType("syscall",[{prop:"addr",name:"addr",exported:false,typ:$Uintptr,tag:""},{prop:"len",name:"len",exported:false,typ:$Int,tag:""},{prop:"cap",name:"cap",exported:false,typ:$Int,tag:""}]);OT=$ptrType($Int64);PC=$ptrType(EZ);PD=$mapType(ND,MU);PE=$funcType([$Uintptr,$Uintptr,$Int,$Int,$Int,$Int64],[$Uintptr,$error],false);PF=$funcType([$Uintptr,$Uintptr],[$error],false);PJ=$ptrType(KZ);PK=$arrayType($Int64,2);H=function(){var $ptr;$flushConsole=(function(){var $ptr;if(!((G.$length===0))){$global.console.log($externalize(($bytesToString(G)),$String));G=MU.nil;}});};I=function(){var $ptr;if(!F){$global.console.error($externalize("warning: system calls not available, see https://github.com/gopherjs/gopherjs/blob/master/doc/syscalls.md",$String));}F=true;};J=function(i){var $ptr,i,j,k;j=$global.goPrintToConsole;if(!(j===undefined)){j(i);return;}G=$appendSlice(G,i);while(true){k=L(G,10);if(k===-1){break;}$global.console.log($externalize(($bytesToString($subslice(G,0,k))),$String));G=$subslice(G,(k+1>>0));}};K=function(i){var $ptr,i;};L=function(i,j){var $ptr,i,j,k,l,m,n;k=i;l=0;while(true){if(!(l<k.$length)){break;}m=l;n=((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]);if(n===j){return m;}l++;}return-1;};M=function(){var $ptr,i,j,k,l,m,n;i=$global.process;if(i===undefined){return MW.nil;}j=i.env;k=$global.Object.keys(j);l=$makeSlice(MW,$parseInt(k.length));m=0;while(true){if(!(m<$parseInt(k.length))){break;}n=$internalize(k[m],$String);((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]=n+"="+$internalize(j[$externalize(n,$String)],$String));m=m+(1)>>0;}return l;};R=function(i){var $ptr,i,j,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);$deferred.push([(function(){var $ptr;$recover();}),[]]);if(O===null){if(P){return null;}P=true;j=$global.require;if(j===undefined){$panic(new $String(""));}O=j($externalize("syscall",$String));}return O[$externalize(i,$String)];}catch(err){$err=err;return null;}finally{$callDeferred($deferred,$err);}};S=function(i,j,k,l){var $ptr,aa,ab,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;m=0;n=0;o=0;p=R("Syscall");if(!(p===null)){q=p(i,j,k,l);r=((($parseInt(q[0])>>0)>>>0));s=((($parseInt(q[1])>>0)>>>0));t=((($parseInt(q[2])>>0)>>>0));m=r;n=s;o=t;return[m,n,o];}if((i===4)&&((j===1)||(j===2))){u=k;v=$makeSlice(MU,$parseInt(u.length));v.$array=u;J(v);w=(($parseInt(u.length)>>>0));x=0;y=0;m=w;n=x;o=y;return[m,n,o];}if(i===1){B.Goexit();}I();z=((Q>>>0));aa=0;ab=13;m=z;n=aa;o=ab;return[m,n,o];};$pkg.Syscall=S;T=function(i,j,k,l,m,n,o){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;p=0;q=0;r=0;s=R("Syscall6");if(!(s===null)){t=s(i,j,k,l,m,n,o);u=((($parseInt(t[0])>>0)>>>0));v=((($parseInt(t[1])>>0)>>>0));w=((($parseInt(t[2])>>0)>>>0));p=u;q=v;r=w;return[p,q,r];}if(!((i===202))){I();}x=((Q>>>0));y=0;z=13;p=x;q=y;r=z;return[p,q,r];};$pkg.Syscall6=T;W=function(i){var $ptr,i,j,k,l,m,n;j=new($global.Uint8Array)(i.length+1>>0);k=(new MU($stringToBytes(i)));l=0;while(true){if(!(l<k.$length)){break;}m=l;n=((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]);if(n===0){return[ND.nil,new FA(22)];}j[m]=n;l++;}j[i.length]=0;return[((j)),$ifaceNil];};$pkg.BytePtrFromString=W;AQ=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q,r,s;l=new $Uint64(0,0);m=false;if(i.$length<(((j+k>>>0)>>0))){n=new $Uint64(0,0);o=false;l=n;m=o;return[l,m];}if(false){p=AR($subslice(i,j),k);q=true;l=p;m=q;return[l,m];}r=AS($subslice(i,j),k);s=true;l=r;m=s;return[l,m];};AR=function(i,j){var $ptr,aa,ab,ac,ad,ae,af,ag,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;k=j;if(k===(1)){return(new $Uint64(0,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])));}else if(k===(2)){$unused((1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]));return(l=(new $Uint64(0,(1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]))),m=$shiftLeft64((new $Uint64(0,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]))),8),new $Uint64(l.$high|m.$high,(l.$low|m.$low)>>>0));}else if(k===(4)){$unused((3>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+3]));return(n=(o=(p=(new $Uint64(0,(3>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+3]))),q=$shiftLeft64((new $Uint64(0,(2>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+2]))),8),new $Uint64(p.$high|q.$high,(p.$low|q.$low)>>>0)),r=$shiftLeft64((new $Uint64(0,(1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]))),16),new $Uint64(o.$high|r.$high,(o.$low|r.$low)>>>0)),s=$shiftLeft64((new $Uint64(0,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]))),24),new $Uint64(n.$high|s.$high,(n.$low|s.$low)>>>0));}else if(k===(8)){$unused((7>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+7]));return(t=(u=(v=(w=(x=(y=(z=(new $Uint64(0,(7>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+7]))),aa=$shiftLeft64((new $Uint64(0,(6>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+6]))),8),new $Uint64(z.$high|aa.$high,(z.$low|aa.$low)>>>0)),ab=$shiftLeft64((new $Uint64(0,(5>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+5]))),16),new $Uint64(y.$high|ab.$high,(y.$low|ab.$low)>>>0)),ac=$shiftLeft64((new $Uint64(0,(4>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+4]))),24),new $Uint64(x.$high|ac.$high,(x.$low|ac.$low)>>>0)),ad=$shiftLeft64((new $Uint64(0,(3>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+3]))),32),new $Uint64(w.$high|ad.$high,(w.$low|ad.$low)>>>0)),ae=$shiftLeft64((new $Uint64(0,(2>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+2]))),40),new $Uint64(v.$high|ae.$high,(v.$low|ae.$low)>>>0)),af=$shiftLeft64((new $Uint64(0,(1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]))),48),new $Uint64(u.$high|af.$high,(u.$low|af.$low)>>>0)),ag=$shiftLeft64((new $Uint64(0,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]))),56),new $Uint64(t.$high|ag.$high,(t.$low|ag.$low)>>>0));}else{$panic(new $String("syscall: readInt with unsupported size"));}};AS=function(i,j){var $ptr,aa,ab,ac,ad,ae,af,ag,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;k=j;if(k===(1)){return(new $Uint64(0,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0])));}else if(k===(2)){$unused((1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]));return(l=(new $Uint64(0,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]))),m=$shiftLeft64((new $Uint64(0,(1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]))),8),new $Uint64(l.$high|m.$high,(l.$low|m.$low)>>>0));}else if(k===(4)){$unused((3>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+3]));return(n=(o=(p=(new $Uint64(0,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]))),q=$shiftLeft64((new $Uint64(0,(1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]))),8),new $Uint64(p.$high|q.$high,(p.$low|q.$low)>>>0)),r=$shiftLeft64((new $Uint64(0,(2>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+2]))),16),new $Uint64(o.$high|r.$high,(o.$low|r.$low)>>>0)),s=$shiftLeft64((new $Uint64(0,(3>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+3]))),24),new $Uint64(n.$high|s.$high,(n.$low|s.$low)>>>0));}else if(k===(8)){$unused((7>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+7]));return(t=(u=(v=(w=(x=(y=(z=(new $Uint64(0,(0>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+0]))),aa=$shiftLeft64((new $Uint64(0,(1>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+1]))),8),new $Uint64(z.$high|aa.$high,(z.$low|aa.$low)>>>0)),ab=$shiftLeft64((new $Uint64(0,(2>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+2]))),16),new $Uint64(y.$high|ab.$high,(y.$low|ab.$low)>>>0)),ac=$shiftLeft64((new $Uint64(0,(3>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+3]))),24),new $Uint64(x.$high|ac.$high,(x.$low|ac.$low)>>>0)),ad=$shiftLeft64((new $Uint64(0,(4>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+4]))),32),new $Uint64(w.$high|ad.$high,(w.$low|ad.$low)>>>0)),ae=$shiftLeft64((new $Uint64(0,(5>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+5]))),40),new $Uint64(v.$high|ae.$high,(v.$low|ae.$low)>>>0)),af=$shiftLeft64((new $Uint64(0,(6>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+6]))),48),new $Uint64(u.$high|af.$high,(u.$low|af.$low)>>>0)),ag=$shiftLeft64((new $Uint64(0,(7>=i.$length?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+7]))),56),new $Uint64(t.$high|ag.$high,(t.$low|ag.$low)>>>0));}else{$panic(new $String("syscall: readInt with unsupported size"));}};AT=function(i,j,k){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;l=0;m=0;n=MW.nil;o=i.$length;m=0;while(true){if(!(!((j===0))&&i.$length>0)){break;}p=EK(i);q=p[0];r=p[1];if(!r||(s=(new $Uint64(0,i.$length)),(q.$high>s.$high||(q.$high===s.$high&&q.$low>s.$low)))){t=o;u=m;v=k;l=t;m=u;n=v;return[l,m,n];}w=$subslice(i,0,$flatten64(q));i=$subslice(i,$flatten64(q));x=EJ(w);y=x[0];r=x[1];if(!r){break;}if((y.$high===0&&y.$low===0)){continue;}z=EL(w);aa=z[0];r=z[1];if(!r||(ab=new $Uint64(0+aa.$high,21+aa.$low),ac=(new $Uint64(0,w.$length)),(ab.$high>ac.$high||(ab.$high===ac.$high&&ab.$low>ac.$low)))){break;}ad=$subslice(w,21,$flatten64(new $Uint64(0+aa.$high,21+aa.$low)));ae=ad;af=0;while(true){if(!(af<ae.$length)){break;}ag=af;ah=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);if(ah===0){ad=$subslice(ad,0,ag);break;}af++;}if(($bytesToString(ad))==="."||($bytesToString(ad))===".."){continue;}j=j-(1)>>0;m=m+(1)>>0;k=$append(k,($bytesToString(ad)));}ai=o-i.$length>>0;aj=m;ak=k;l=ai;m=aj;n=ak;return[l,m,n];};$pkg.ParseDirent=AT;AZ=function(){var $ptr,i,j,k,l,m,n,o,p,q,r;AW={};i=AX;j=0;while(true){if(!(j<i.$length)){break;}k=j;l=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);m=0;while(true){if(!(m<l.length)){break;}if(l.charCodeAt(m)===61){n=$substring(l,0,m);o=(p=AW[$String.keyFor(n)],p!==undefined?[p.v,true]:[0,false]);q=o[1];if(!q){r=n;(AW||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(r)]={k:r,v:k};}else{((k<0||k>=AX.$length)?($throwRuntimeError("index out of range"),undefined):AX.$array[AX.$offset+k]="");}break;}m=m+(1)>>0;}j++;}};BB=function(i){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);j="";k=false;$r=AU.Do(AZ);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(i.length===0){l="";m=false;j=l;k=m;$s=-1;return[j,k];}$r=AV.RLock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(AV,"RUnlock"),[]]);n=(o=AW[$String.keyFor(i)],o!==undefined?[o.v,true]:[0,false]);p=n[0];q=n[1];if(!q){r="";s=false;j=r;k=s;$s=-1;return[j,k];}t=((p<0||p>=AX.$length)?($throwRuntimeError("index out of range"),undefined):AX.$array[AX.$offset+p]);u=0;while(true){if(!(u<t.length)){break;}if(t.charCodeAt(u)===61){v=$substring(t,(u+1>>0));w=true;j=v;k=w;$s=-1;return[j,k];}u=u+(1)>>0;}x="";y=false;j=x;k=y;$s=-1;return[j,k];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[j,k];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:BB};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};$pkg.Getenv=BB;BM=function(i){var $ptr,i;HG(i,2,1);};$pkg.CloseOnExec=BM;BY=function(i,j){var $ptr,i,j;};BZ=function(i,j){var $ptr,i,j;};CC=function(i){var $ptr,i,j;j=8;if(true){j=4;}else if(false){j=8;}else if(false){if(CA==="amd64"){j=8;}}if(i===0){return j;}return(((i+j>>0)-1>>0))&(~((j-1>>0))>>0);};CZ=function(i){var $ptr,i;if(i<0){return"-"+DA(((-i>>>0)));}return DA(((i>>>0)));};DA=function(i){var $ptr,i,j,k,l,m;j=OG.zero();k=31;while(true){if(!(i>=10)){break;}((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]=((((l=i%10,l===l?l:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24)));k=k-(1)>>0;i=(m=i/(10),(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));}((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]=(((i+48>>>0)<<24>>>24)));return($bytesToString($subslice(new MU(j),k)));};DC=function(i){var $ptr,i,j,k;j=0;while(true){if(!(j<i.length)){break;}if(i.charCodeAt(j)===0){return[MU.nil,new FA(22)];}j=j+(1)>>0;}k=$makeSlice(MU,(i.length+1>>0));$copyString(k,i);return[k,$ifaceNil];};$pkg.ByteSliceFromString=DC;KZ.ptr.prototype.Unix=function(){var $ptr,i,j,k,l,m;i=new $Int64(0,0);j=new $Int64(0,0);k=this;l=(k.Sec);m=(k.Nsec);i=l;j=m;return[i,j];};KZ.prototype.Unix=function(){return this.$val.Unix();};KZ.ptr.prototype.Nano=function(){var $ptr,i,j,k;i=this;return(j=$mul64((i.Sec),new $Int64(0,1000000000)),k=(i.Nsec),new $Int64(j.$high+k.$high,j.$low+k.$low));};KZ.prototype.Nano=function(){return this.$val.Nano();};DI=function(i,j){var $ptr,i,j,k,l,m,n;k=0;l=$ifaceNil;m=((new Uint8Array(8)));n=IG(i,j,m);k=n[0];l=n[1];return[k,l];};$pkg.ReadDirent=DI;DY=function(i){var $ptr,aa,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j="";k=$ifaceNil;l=EI(i);m=l[0];k=l[1];if(!($interfaceIsEqual(k,$ifaceNil))){n="";o=k;j=n;k=o;return[j,k];}p=0;k=HD(m,ND.nil,(q||(q=new NY(function(){return p;},function($v){p=$v;}))),ND.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){r="";s=k;j=r;k=s;return[j,k];}if(p===0){t="";u=$ifaceNil;j=t;k=u;return[j,k];}v=$makeSlice(MU,p);k=HD(m,$indexPtr(v.$array,v.$offset+0,ND),(q||(q=new NY(function(){return p;},function($v){p=$v;}))),ND.nil,0);if(!($interfaceIsEqual(k,$ifaceNil))){w="";x=k;j=w;k=x;return[j,k];}if(p>0&&((y=p-1>>>0,((y<0||y>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+y]))===0)){p=p-(1)>>>0;}z=($bytesToString($subslice(v,0,p)));aa=$ifaceNil;j=z;k=aa;return[j,k];};$pkg.Sysctl=DY;EI=function(i){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;j=NX.nil;k=$ifaceNil;l=OP.zero();m=48;n=(($sliceToArray(new MU(l))));o=DC(i);p=o[0];k=o[1];if(!($interfaceIsEqual(k,$ifaceNil))){q=NX.nil;r=k;j=q;k=r;return[j,k];}k=HD(new NX([0,3]),n,(s||(s=new NY(function(){return m;},function($v){m=$v;}))),$indexPtr(p.$array,p.$offset+0,ND),((i.length>>>0)));if(!($interfaceIsEqual(k,$ifaceNil))){t=NX.nil;u=k;j=t;k=u;return[j,k];}v=$subslice(new NX(l),0,(w=m/4,(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero")));x=$ifaceNil;j=v;k=x;return[j,k];};EJ=function(i){var $ptr,i;return AQ(i,0,8);};EK=function(i){var $ptr,i;return AQ(i,16,2);};EL=function(i){var $ptr,i;return AQ(i,18,2);};EZ.ptr.prototype.Mmap=function(i,j,k,l,m){var $ptr,aa,ab,ac,ad,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);n=[n];o=MU.nil;p=$ifaceNil;q=this;if(k<=0){r=MU.nil;s=new FA(22);o=r;p=s;$s=-1;return[o,p];}u=q.mmap(0,((k>>>0)),l,m,i,j);$s=1;case 1:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;v=t[0];w=t[1];if(!($interfaceIsEqual(w,$ifaceNil))){x=MU.nil;y=w;o=x;p=y;$s=-1;return[o,p];}n[0]=new OS.ptr(v,k,k);z=n[0];aa=$indexPtr(z.$array,z.$offset+(z.$capacity-1>>0),ND);$r=q.Mutex.Lock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(q.Mutex,"Unlock"),[]]);ab=aa;(q.active||$throwRuntimeError("assignment to entry in nil map"))[ND.keyFor(ab)]={k:ab,v:z};ac=z;ad=$ifaceNil;o=ac;p=ad;$s=-1;return[o,p];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[o,p];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:EZ.ptr.prototype.Mmap};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EZ.prototype.Mmap=function(i,j,k,l,m){return this.$val.Mmap(i,j,k,l,m);};EZ.ptr.prototype.Munmap=function(i){var $ptr,i,j,k,l,m,n,o,p,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);j=$ifaceNil;k=this;if((i.$length===0)||!((i.$length===i.$capacity))){j=new FA(22);$s=-1;return j;}l=$indexPtr(i.$array,i.$offset+(i.$capacity-1>>0),ND);$r=k.Mutex.Lock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$deferred.push([$methodVal(k.Mutex,"Unlock"),[]]);n=(m=k.active[ND.keyFor(l)],m!==undefined?m.v:MU.nil);if(n===MU.nil||!($indexPtr(n.$array,n.$offset+0,ND)===$indexPtr(i.$array,i.$offset+0,ND))){j=new FA(22);$s=-1;return j;}o=k.munmap((($sliceToArray(n))),((n.$length>>>0)));$s=2;case 2:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=o;if(!($interfaceIsEqual(p,$ifaceNil))){j=p;$s=-1;return j;}delete k.active[ND.keyFor(l)];j=$ifaceNil;$s=-1;return j;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return j;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:EZ.ptr.prototype.Munmap};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};EZ.prototype.Munmap=function(i){return this.$val.Munmap(i);};FA.prototype.Error=function(){var $ptr,i,j;i=this.$val;if(0<=((i>>0))&&((i>>0))<106){j=((i<0||i>=GJ.length)?($throwRuntimeError("index out of range"),undefined):GJ[i]);if(!(j==="")){return j;}}return"errno "+CZ(((i>>0)));};$ptrType(FA).prototype.Error=function(){return new FA(this.$get()).Error();};FA.prototype.Temporary=function(){var $ptr,i;i=this.$val;return(i===4)||(i===24)||(i===54)||(i===53)||new FA(i).Timeout();};$ptrType(FA).prototype.Temporary=function(){return new FA(this.$get()).Temporary();};FA.prototype.Timeout=function(){var $ptr,i;i=this.$val;return(i===35)||(i===35)||(i===60);};$ptrType(FA).prototype.Timeout=function(){return new FA(this.$get()).Timeout();};FE=function(i){var $ptr,i,j;j=i;if(j===(0)){return $ifaceNil;}else if(j===(35)){return FB;}else if(j===(22)){return FC;}else if(j===(2)){return FD;}return new FA(i);};FG=function(i,j){var $ptr,i,j,k,l,m;k=0;l=$ifaceNil;m=JM(i,j);k=m[0];l=m[1];if(false){if(k>0){E.WriteRange(($sliceToArray(j)),k);}if($interfaceIsEqual(l,$ifaceNil)){E.Acquire(((NC||(NC=new OT(function(){return GE;},function($v){GE=$v;})))));}}if(false&&k>0){BZ(($sliceToArray(j)),k);}return[k,l];};$pkg.Read=FG;FH=function(i,j){var $ptr,i,j,k,l,m;k=0;l=$ifaceNil;if(false){E.ReleaseMerge(((NC||(NC=new OT(function(){return GE;},function($v){GE=$v;})))));}m=KP(i,j);k=m[0];l=m[1];if(false&&k>0){E.ReadRange(($sliceToArray(j)),k);}if(false&&k>0){BY(($sliceToArray(j)),k);}return[k,l];};$pkg.Write=FH;HD=function(i,j,k,l,m){var $ptr,i,j,k,l,m,n,o,p,q;n=$ifaceNil;o=0;if(i.$length>0){o=($sliceToArray(i));}else{o=(new Uint8Array(0));}p=T(202,(o),((i.$length>>>0)),((j)),((k)),((l)),(m));q=p[2];K(o);if(!((q===0))){n=FE(q);}return n;};HG=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p;l=0;m=$ifaceNil;n=S(92,((i>>>0)),((j>>>0)),((k>>>0)));o=n[0];p=n[2];l=((o>>0));if(!((p===0))){m=FE(p);}return[l,m];};HO=function(i,j){var $ptr,i,j,k,l,m,n,o;k=$ifaceNil;l=ND.nil;m=W(i);l=m[0];k=m[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}n=S(15,((l)),((j>>>0)),0);o=n[2];K((l));if(!((o===0))){k=FE(o);}return k;};$pkg.Chmod=HO;HR=function(i){var $ptr,i,j,k,l;j=$ifaceNil;k=S(6,((i>>>0)),0,0);l=k[2];if(!((l===0))){j=FE(l);}return j;};$pkg.Close=HR;HW=function(i){var $ptr,i,j,k,l;j=$ifaceNil;k=S(13,((i>>>0)),0,0);l=k[2];if(!((l===0))){j=FE(l);}return j;};$pkg.Fchdir=HW;HY=function(i,j){var $ptr,i,j,k,l,m;k=$ifaceNil;l=S(124,((i>>>0)),((j>>>0)),0);m=l[2];if(!((m===0))){k=FE(m);}return k;};$pkg.Fchmod=HY;HZ=function(i,j,k){var $ptr,i,j,k,l,m,n;l=$ifaceNil;m=S(123,((i>>>0)),((j>>>0)),((k>>>0)));n=m[2];if(!((n===0))){l=FE(n);}return l;};$pkg.Fchown=HZ;IC=function(i,j){var $ptr,i,j,k,l,m,n,o,p;k=$ifaceNil;m=new Uint8Array(144);l=S(339,((i>>>0)),((m)),0);n=j,o=new DataView(m.buffer,m.byteOffset),n.Dev=o.getInt32(0,true),n.Mode=o.getUint16(4,true),n.Nlink=o.getUint16(6,true),n.Ino=new $Uint64(o.getUint32(12,true),o.getUint32(8,true)),n.Uid=o.getUint32(16,true),n.Gid=o.getUint32(20,true),n.Rdev=o.getInt32(24,true),n.Pad_cgo_0=new($nativeArray($kindUint8))(m.buffer,$min(m.byteOffset+28,m.buffer.byteLength)),n.Atimespec.Sec=new $Int64(o.getUint32(36,true),o.getUint32(32,true)),n.Atimespec.Nsec=new $Int64(o.getUint32(44,true),o.getUint32(40,true)),n.Mtimespec.Sec=new $Int64(o.getUint32(52,true),o.getUint32(48,true)),n.Mtimespec.Nsec=new $Int64(o.getUint32(60,true),o.getUint32(56,true)),n.Ctimespec.Sec=new $Int64(o.getUint32(68,true),o.getUint32(64,true)),n.Ctimespec.Nsec=new $Int64(o.getUint32(76,true),o.getUint32(72,true)),n.Birthtimespec.Sec=new $Int64(o.getUint32(84,true),o.getUint32(80,true)),n.Birthtimespec.Nsec=new $Int64(o.getUint32(92,true),o.getUint32(88,true)),n.Size=new $Int64(o.getUint32(100,true),o.getUint32(96,true)),n.Blocks=new $Int64(o.getUint32(108,true),o.getUint32(104,true)),n.Blksize=o.getInt32(112,true),n.Flags=o.getUint32(116,true),n.Gen=o.getUint32(120,true),n.Lspare=o.getInt32(124,true),n.Qspare=new($nativeArray($kindInt64))(m.buffer,$min(m.byteOffset+128,m.buffer.byteLength));p=l[2];if(!((p===0))){k=FE(p);}return k;};$pkg.Fstat=IC;IE=function(i){var $ptr,i,j,k,l;j=$ifaceNil;k=S(95,((i>>>0)),0,0);l=k[2];if(!((l===0))){j=FE(l);}return j;};$pkg.Fsync=IE;IF=function(i,j){var $ptr,i,j,k,l,m;k=$ifaceNil;l=S(201,((i>>>0)),((j.$low>>>0)),0);m=l[2];if(!((m===0))){k=FE(m);}return k;};$pkg.Ftruncate=IF;IG=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q;l=0;m=$ifaceNil;n=0;if(j.$length>0){n=($sliceToArray(j));}else{n=(new Uint8Array(0));}o=T(344,((i>>>0)),(n),((j.$length>>>0)),((k)),0,0);p=o[0];q=o[2];l=((p>>0));if(!((q===0))){m=FE(q);}return[l,m];};$pkg.Getdirentries=IG;IZ=function(i,j){var $ptr,i,j,k,l,m,n,o,p,q,r;k=$ifaceNil;l=ND.nil;m=W(i);l=m[0];k=m[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}o=new Uint8Array(144);n=S(340,((l)),((o)),0);p=j,q=new DataView(o.buffer,o.byteOffset),p.Dev=q.getInt32(0,true),p.Mode=q.getUint16(4,true),p.Nlink=q.getUint16(6,true),p.Ino=new $Uint64(q.getUint32(12,true),q.getUint32(8,true)),p.Uid=q.getUint32(16,true),p.Gid=q.getUint32(20,true),p.Rdev=q.getInt32(24,true),p.Pad_cgo_0=new($nativeArray($kindUint8))(o.buffer,$min(o.byteOffset+28,o.buffer.byteLength)),p.Atimespec.Sec=new $Int64(q.getUint32(36,true),q.getUint32(32,true)),p.Atimespec.Nsec=new $Int64(q.getUint32(44,true),q.getUint32(40,true)),p.Mtimespec.Sec=new $Int64(q.getUint32(52,true),q.getUint32(48,true)),p.Mtimespec.Nsec=new $Int64(q.getUint32(60,true),q.getUint32(56,true)),p.Ctimespec.Sec=new $Int64(q.getUint32(68,true),q.getUint32(64,true)),p.Ctimespec.Nsec=new $Int64(q.getUint32(76,true),q.getUint32(72,true)),p.Birthtimespec.Sec=new $Int64(q.getUint32(84,true),q.getUint32(80,true)),p.Birthtimespec.Nsec=new $Int64(q.getUint32(92,true),q.getUint32(88,true)),p.Size=new $Int64(q.getUint32(100,true),q.getUint32(96,true)),p.Blocks=new $Int64(q.getUint32(108,true),q.getUint32(104,true)),p.Blksize=q.getInt32(112,true),p.Flags=q.getUint32(116,true),p.Gen=q.getUint32(120,true),p.Lspare=q.getInt32(124,true),p.Qspare=new($nativeArray($kindInt64))(o.buffer,$min(o.byteOffset+128,o.buffer.byteLength));r=n[2];K((l));if(!((r===0))){k=FE(r);}return k;};$pkg.Lstat=IZ;JI=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q,r;l=0;m=$ifaceNil;n=ND.nil;o=W(i);n=o[0];m=o[1];if(!($interfaceIsEqual(m,$ifaceNil))){return[l,m];}p=S(5,((n)),((j>>>0)),((k>>>0)));q=p[0];r=p[2];K((n));l=((q>>0));if(!((r===0))){m=FE(r);}return[l,m];};$pkg.Open=JI;JK=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q;l=0;m=$ifaceNil;n=0;if(j.$length>0){n=($sliceToArray(j));}else{n=(new Uint8Array(0));}o=T(153,((i>>>0)),(n),((j.$length>>>0)),((k.$low>>>0)),0,0);p=o[0];q=o[2];l=((p>>0));if(!((q===0))){m=FE(q);}return[l,m];};$pkg.Pread=JK;JL=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q;l=0;m=$ifaceNil;n=0;if(j.$length>0){n=($sliceToArray(j));}else{n=(new Uint8Array(0));}o=T(154,((i>>>0)),(n),((j.$length>>>0)),((k.$low>>>0)),0,0);p=o[0];q=o[2];l=((p>>0));if(!((q===0))){m=FE(q);}return[l,m];};$pkg.Pwrite=JL;JM=function(i,j){var $ptr,i,j,k,l,m,n,o,p;k=0;l=$ifaceNil;m=0;if(j.$length>0){m=($sliceToArray(j));}else{m=(new Uint8Array(0));}n=S(3,((i>>>0)),(m),((j.$length>>>0)));o=n[0];p=n[2];k=((o>>0));if(!((p===0))){l=FE(p);}return[k,l];};JR=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p;l=new $Int64(0,0);m=$ifaceNil;n=S(199,((i>>>0)),((j.$low>>>0)),((k>>>0)));o=n[0];p=n[2];l=(new $Int64(0,o.constructor===Number?o:1));if(!((p===0))){m=FE(p);}return[l,m];};$pkg.Seek=JR;KG=function(i,j){var $ptr,i,j,k,l,m,n,o,p,q,r;k=$ifaceNil;l=ND.nil;m=W(i);l=m[0];k=m[1];if(!($interfaceIsEqual(k,$ifaceNil))){return k;}o=new Uint8Array(144);n=S(338,((l)),((o)),0);p=j,q=new DataView(o.buffer,o.byteOffset),p.Dev=q.getInt32(0,true),p.Mode=q.getUint16(4,true),p.Nlink=q.getUint16(6,true),p.Ino=new $Uint64(q.getUint32(12,true),q.getUint32(8,true)),p.Uid=q.getUint32(16,true),p.Gid=q.getUint32(20,true),p.Rdev=q.getInt32(24,true),p.Pad_cgo_0=new($nativeArray($kindUint8))(o.buffer,$min(o.byteOffset+28,o.buffer.byteLength)),p.Atimespec.Sec=new $Int64(q.getUint32(36,true),q.getUint32(32,true)),p.Atimespec.Nsec=new $Int64(q.getUint32(44,true),q.getUint32(40,true)),p.Mtimespec.Sec=new $Int64(q.getUint32(52,true),q.getUint32(48,true)),p.Mtimespec.Nsec=new $Int64(q.getUint32(60,true),q.getUint32(56,true)),p.Ctimespec.Sec=new $Int64(q.getUint32(68,true),q.getUint32(64,true)),p.Ctimespec.Nsec=new $Int64(q.getUint32(76,true),q.getUint32(72,true)),p.Birthtimespec.Sec=new $Int64(q.getUint32(84,true),q.getUint32(80,true)),p.Birthtimespec.Nsec=new $Int64(q.getUint32(92,true),q.getUint32(88,true)),p.Size=new $Int64(q.getUint32(100,true),q.getUint32(96,true)),p.Blocks=new $Int64(q.getUint32(108,true),q.getUint32(104,true)),p.Blksize=q.getInt32(112,true),p.Flags=q.getUint32(116,true),p.Gen=q.getUint32(120,true),p.Lspare=q.getInt32(124,true),p.Qspare=new($nativeArray($kindInt64))(o.buffer,$min(o.byteOffset+128,o.buffer.byteLength));r=n[2];K((l));if(!((r===0))){k=FE(r);}return k;};$pkg.Stat=KG;KP=function(i,j){var $ptr,i,j,k,l,m,n,o,p;k=0;l=$ifaceNil;m=0;if(j.$length>0){m=($sliceToArray(j));}else{m=(new Uint8Array(0));}n=S(4,((i>>>0)),(m),((j.$length>>>0)));o=n[0];p=n[2];k=((o>>0));if(!((p===0))){l=FE(p);}return[k,l];};KQ=function(i,j,k,l,m,n){var $ptr,i,j,k,l,m,n,o,p,q,r,s;o=0;p=$ifaceNil;q=T(197,(i),(j),((k>>>0)),((l>>>0)),((m>>>0)),((n.$low>>>0)));r=q[0];s=q[2];o=(r);if(!((s===0))){p=FE(s);}return[o,p];};KR=function(i,j){var $ptr,i,j,k,l,m;k=$ifaceNil;l=S(73,(i),(j),0);m=l[2];if(!((m===0))){k=FE(m);}return k;};PC.methods=[{prop:"Mmap",name:"Mmap",pkg:"",typ:$funcType([$Int,$Int64,$Int,$Int,$Int],[MU,$error],false)},{prop:"Munmap",name:"Munmap",pkg:"",typ:$funcType([MU],[$error],false)}];FA.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Temporary",name:"Temporary",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Timeout",name:"Timeout",pkg:"",typ:$funcType([],[$Bool],false)}];PJ.methods=[{prop:"Unix",name:"Unix",pkg:"",typ:$funcType([],[$Int64,$Int64],false)},{prop:"Nano",name:"Nano",pkg:"",typ:$funcType([],[$Int64],false)}];EZ.init("syscall",[{prop:"Mutex",name:"",exported:true,typ:C.Mutex,tag:""},{prop:"active",name:"active",exported:false,typ:PD,tag:""},{prop:"mmap",name:"mmap",exported:false,typ:PE,tag:""},{prop:"munmap",name:"munmap",exported:false,typ:PF,tag:""}]);KZ.init("",[{prop:"Sec",name:"Sec",exported:true,typ:$Int64,tag:""},{prop:"Nsec",name:"Nsec",exported:true,typ:$Int64,tag:""}]);LF.init("",[{prop:"Dev",name:"Dev",exported:true,typ:$Int32,tag:""},{prop:"Mode",name:"Mode",exported:true,typ:$Uint16,tag:""},{prop:"Nlink",name:"Nlink",exported:true,typ:$Uint16,tag:""},{prop:"Ino",name:"Ino",exported:true,typ:$Uint64,tag:""},{prop:"Uid",name:"Uid",exported:true,typ:$Uint32,tag:""},{prop:"Gid",name:"Gid",exported:true,typ:$Uint32,tag:""},{prop:"Rdev",name:"Rdev",exported:true,typ:$Int32,tag:""},{prop:"Pad_cgo_0",name:"Pad_cgo_0",exported:true,typ:NG,tag:""},{prop:"Atimespec",name:"Atimespec",exported:true,typ:KZ,tag:""},{prop:"Mtimespec",name:"Mtimespec",exported:true,typ:KZ,tag:""},{prop:"Ctimespec",name:"Ctimespec",exported:true,typ:KZ,tag:""},{prop:"Birthtimespec",name:"Birthtimespec",exported:true,typ:KZ,tag:""},{prop:"Size",name:"Size",exported:true,typ:$Int64,tag:""},{prop:"Blocks",name:"Blocks",exported:true,typ:$Int64,tag:""},{prop:"Blksize",name:"Blksize",exported:true,typ:$Int32,tag:""},{prop:"Flags",name:"Flags",exported:true,typ:$Uint32,tag:""},{prop:"Gen",name:"Gen",exported:true,typ:$Uint32,tag:""},{prop:"Lspare",name:"Lspare",exported:true,typ:$Int32,tag:""},{prop:"Qspare",name:"Qspare",exported:true,typ:PK,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=D.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=MU.nil;O=null;AU=new C.Once.ptr(new C.Mutex.ptr(0,0),0);AV=new C.RWMutex.ptr(new C.Mutex.ptr(0,0),0,0,0,0);AW=false;CA="";GE=new $Int64(0,0);F=false;P=false;Q=-1;AX=M();$pkg.Stdin=0;$pkg.Stdout=1;$pkg.Stderr=2;FB=new FA(35);FC=new FA(22);FD=new FA(2);GJ=$toNativeArray($kindString,["","operation not permitted","no such file or directory","no such process","interrupted system call","input/output error","device not configured","argument list too long","exec format error","bad file descriptor","no child processes","resource deadlock avoided","cannot allocate memory","permission denied","bad address","block device required","resource busy","file exists","cross-device link","operation not supported by device","not a directory","is a directory","invalid argument","too many open files in system","too many open files","inappropriate ioctl for device","text file busy","file too large","no space left on device","illegal seek","read-only file system","too many links","broken pipe","numerical argument out of domain","result too large","resource temporarily unavailable","operation now in progress","operation already in progress","socket operation on non-socket","destination address required","message too long","protocol wrong type for socket","protocol not available","protocol not supported","socket type not supported","operation not supported","protocol family not supported","address family not supported by protocol family","address already in use","can't assign requested address","network is down","network is unreachable","network dropped connection on reset","software caused connection abort","connection reset by peer","no buffer space available","socket is already connected","socket is not connected","can't send after socket shutdown","too many references: can't splice","operation timed out","connection refused","too many levels of symbolic links","file name too long","host is down","no route to host","directory not empty","too many processes","too many users","disc quota exceeded","stale NFS file handle","too many levels of remote in path","RPC struct is bad","RPC version wrong","RPC prog. not avail","program version wrong","bad procedure for program","no locks available","function not implemented","inappropriate file type or format","authentication error","need authenticator","device power is off","device error","value too large to be stored in data type","bad executable (or shared library)","bad CPU type in executable","shared library version mismatch","malformed Mach-o file","operation canceled","identifier removed","no message of desired type","illegal byte sequence","attribute not found","bad message","EMULTIHOP (Reserved)","no message available on STREAM","ENOLINK (Reserved)","no STREAM resources","not a STREAM","protocol error","STREAM ioctl timeout","operation not supported on socket","policy not found","state not recoverable","previous owner died"]);ED=new EZ.ptr(new C.Mutex.ptr(0,0),{},KQ,KR);CB=CC(0);H();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["github.com/gopherjs/gopherjs/nosync"]=(function(){var $pkg={},$init,B,D,G,I,J;B=$pkg.RWMutex=$newType(0,$kindStruct,"nosync.RWMutex",true,"github.com/gopherjs/gopherjs/nosync",true,function(writeLocked_,readLockCounter_){this.$val=this;if(arguments.length===0){this.writeLocked=false;this.readLockCounter=0;return;}this.writeLocked=writeLocked_;this.readLockCounter=readLockCounter_;});D=$pkg.Once=$newType(0,$kindStruct,"nosync.Once",true,"github.com/gopherjs/gopherjs/nosync",true,function(doing_,done_){this.$val=this;if(arguments.length===0){this.doing=false;this.done=false;return;}this.doing=doing_;this.done=done_;});G=$ptrType(B);I=$funcType([],[],false);J=$ptrType(D);B.ptr.prototype.Lock=function(){var $ptr,a;a=this;if(!((a.readLockCounter===0))||a.writeLocked){$panic(new $String("nosync: mutex is already locked"));}a.writeLocked=true;};B.prototype.Lock=function(){return this.$val.Lock();};B.ptr.prototype.Unlock=function(){var $ptr,a;a=this;if(!a.writeLocked){$panic(new $String("nosync: unlock of unlocked mutex"));}a.writeLocked=false;};B.prototype.Unlock=function(){return this.$val.Unlock();};B.ptr.prototype.RLock=function(){var $ptr,a;a=this;if(a.writeLocked){$panic(new $String("nosync: mutex is already locked"));}a.readLockCounter=a.readLockCounter+(1)>>0;};B.prototype.RLock=function(){return this.$val.RLock();};B.ptr.prototype.RUnlock=function(){var $ptr,a;a=this;if(a.readLockCounter===0){$panic(new $String("nosync: unlock of unlocked mutex"));}a.readLockCounter=a.readLockCounter-(1)>>0;};B.prototype.RUnlock=function(){return this.$val.RUnlock();};D.ptr.prototype.Do=function(a){var $ptr,a,b,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=[b];b[0]=this;if(b[0].done){$s=-1;return;}if(b[0].doing){$panic(new $String("nosync: Do called within f"));}b[0].doing=true;$deferred.push([(function(b){return function(){var $ptr;b[0].doing=false;b[0].done=true;};})(b),[]]);$r=a();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:D.ptr.prototype.Do};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};D.prototype.Do=function(a){return this.$val.Do(a);};G.methods=[{prop:"Lock",name:"Lock",pkg:"",typ:$funcType([],[],false)},{prop:"Unlock",name:"Unlock",pkg:"",typ:$funcType([],[],false)},{prop:"RLock",name:"RLock",pkg:"",typ:$funcType([],[],false)},{prop:"RUnlock",name:"RUnlock",pkg:"",typ:$funcType([],[],false)}];J.methods=[{prop:"Do",name:"Do",pkg:"",typ:$funcType([I],[],false)}];B.init("github.com/gopherjs/gopherjs/nosync",[{prop:"writeLocked",name:"writeLocked",exported:false,typ:$Bool,tag:""},{prop:"readLockCounter",name:"readLockCounter",exported:false,typ:$Int,tag:""}]);D.init("github.com/gopherjs/gopherjs/nosync",[{prop:"doing",name:"doing",exported:false,typ:$Bool,tag:""},{prop:"done",name:"done",exported:false,typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["time"]=(function(){var $pkg={},$init,C,B,E,A,D,AF,BM,BN,BP,BT,CH,CI,CJ,DA,DB,DC,DD,DF,DG,DH,DI,DJ,DN,DR,DV,R,U,V,W,X,AB,AE,AR,BO,BQ,BZ,CK,CY,CL,CZ,CM,CO,CS,g,h,F,H,Q,S,T,Y,Z,AA,AC,AD,AG,AH,AI,AJ,AK,AL,AN,AO,AP,AQ,AS,BR,BS,BU,BV,BY,CA,CC,CD,CE,CF,CG,CN;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];E=$packages["github.com/gopherjs/gopherjs/nosync"];A=$packages["runtime"];D=$packages["syscall"];AF=$pkg.ParseError=$newType(0,$kindStruct,"time.ParseError",true,"time",true,function(Layout_,Value_,LayoutElem_,ValueElem_,Message_){this.$val=this;if(arguments.length===0){this.Layout="";this.Value="";this.LayoutElem="";this.ValueElem="";this.Message="";return;}this.Layout=Layout_;this.Value=Value_;this.LayoutElem=LayoutElem_;this.ValueElem=ValueElem_;this.Message=Message_;});BM=$pkg.Time=$newType(0,$kindStruct,"time.Time",true,"time",true,function(sec_,nsec_,loc_){this.$val=this;if(arguments.length===0){this.sec=new $Int64(0,0);this.nsec=0;this.loc=DJ.nil;return;}this.sec=sec_;this.nsec=nsec_;this.loc=loc_;});BN=$pkg.Month=$newType(4,$kindInt,"time.Month",true,"time",true,null);BP=$pkg.Weekday=$newType(4,$kindInt,"time.Weekday",true,"time",true,null);BT=$pkg.Duration=$newType(8,$kindInt64,"time.Duration",true,"time",true,null);CH=$pkg.Location=$newType(0,$kindStruct,"time.Location",true,"time",true,function(name_,zone_,tx_,cacheStart_,cacheEnd_,cacheZone_){this.$val=this;if(arguments.length===0){this.name="";this.zone=DA.nil;this.tx=DB.nil;this.cacheStart=new $Int64(0,0);this.cacheEnd=new $Int64(0,0);this.cacheZone=DC.nil;return;}this.name=name_;this.zone=zone_;this.tx=tx_;this.cacheStart=cacheStart_;this.cacheEnd=cacheEnd_;this.cacheZone=cacheZone_;});CI=$pkg.zone=$newType(0,$kindStruct,"time.zone",true,"time",false,function(name_,offset_,isDST_){this.$val=this;if(arguments.length===0){this.name="";this.offset=0;this.isDST=false;return;}this.name=name_;this.offset=offset_;this.isDST=isDST_;});CJ=$pkg.zoneTrans=$newType(0,$kindStruct,"time.zoneTrans",true,"time",false,function(when_,index_,isstd_,isutc_){this.$val=this;if(arguments.length===0){this.when=new $Int64(0,0);this.index=0;this.isstd=false;this.isutc=false;return;}this.when=when_;this.index=index_;this.isstd=isstd_;this.isutc=isutc_;});DA=$sliceType(CI);DB=$sliceType(CJ);DC=$ptrType(CI);DD=$sliceType($String);DF=$arrayType($Uint8,20);DG=$sliceType($Uint8);DH=$arrayType($Uint8,9);DI=$arrayType($Uint8,64);DJ=$ptrType(CH);DN=$arrayType($Uint8,32);DR=$ptrType(AF);DV=$ptrType(BM);F=function(){var $ptr;$unused(CC(new $Int64(0,0),new $Int64(0,0)));};H=function(){var $ptr,i,j,k,l;i=new($global.Date)();j=$internalize(i,$String);k=Q(j,40);l=Q(j,41);if((k===-1)||(l===-1)){CL.name="UTC";return;}CL.name=$substring(j,(k+1>>0),l);CL.zone=new DA([new CI.ptr(CL.name,$imul(($parseInt(i.getTimezoneOffset())>>0),-60),false)]);};Q=function(i,j){var $ptr,i,j;return $parseInt(i.indexOf($global.String.fromCharCode(j)))>>0;};S=function(i){var $ptr,i,j;if(i.length===0){return false;}j=i.charCodeAt(0);return 97<=j&&j<=122;};T=function(i){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j="";k=0;l="";m=0;while(true){if(!(m<i.length)){break;}n=((i.charCodeAt(m)>>0));o=n;if(o===(74)){if(i.length>=(m+3>>0)&&$substring(i,m,(m+3>>0))==="Jan"){if(i.length>=(m+7>>0)&&$substring(i,m,(m+7>>0))==="January"){p=$substring(i,0,m);q=257;r=$substring(i,(m+7>>0));j=p;k=q;l=r;return[j,k,l];}if(!S($substring(i,(m+3>>0)))){s=$substring(i,0,m);t=258;u=$substring(i,(m+3>>0));j=s;k=t;l=u;return[j,k,l];}}}else if(o===(77)){if(i.length>=(m+3>>0)){if($substring(i,m,(m+3>>0))==="Mon"){if(i.length>=(m+6>>0)&&$substring(i,m,(m+6>>0))==="Monday"){v=$substring(i,0,m);w=261;x=$substring(i,(m+6>>0));j=v;k=w;l=x;return[j,k,l];}if(!S($substring(i,(m+3>>0)))){y=$substring(i,0,m);z=262;aa=$substring(i,(m+3>>0));j=y;k=z;l=aa;return[j,k,l];}}if($substring(i,m,(m+3>>0))==="MST"){ab=$substring(i,0,m);ac=21;ad=$substring(i,(m+3>>0));j=ab;k=ac;l=ad;return[j,k,l];}}}else if(o===(48)){if(i.length>=(m+2>>0)&&49<=i.charCodeAt((m+1>>0))&&i.charCodeAt((m+1>>0))<=54){ae=$substring(i,0,m);af=(ag=i.charCodeAt((m+1>>0))-49<<24>>>24,((ag<0||ag>=R.length)?($throwRuntimeError("index out of range"),undefined):R[ag]));ah=$substring(i,(m+2>>0));j=ae;k=af;l=ah;return[j,k,l];}}else if(o===(49)){if(i.length>=(m+2>>0)&&(i.charCodeAt((m+1>>0))===53)){ai=$substring(i,0,m);aj=522;ak=$substring(i,(m+2>>0));j=ai;k=aj;l=ak;return[j,k,l];}al=$substring(i,0,m);am=259;an=$substring(i,(m+1>>0));j=al;k=am;l=an;return[j,k,l];}else if(o===(50)){if(i.length>=(m+4>>0)&&$substring(i,m,(m+4>>0))==="2006"){ao=$substring(i,0,m);ap=273;aq=$substring(i,(m+4>>0));j=ao;k=ap;l=aq;return[j,k,l];}ar=$substring(i,0,m);as=263;at=$substring(i,(m+1>>0));j=ar;k=as;l=at;return[j,k,l];}else if(o===(95)){if(i.length>=(m+2>>0)&&(i.charCodeAt((m+1>>0))===50)){if(i.length>=(m+5>>0)&&$substring(i,(m+1>>0),(m+5>>0))==="2006"){au=$substring(i,0,(m+1>>0));av=273;aw=$substring(i,(m+5>>0));j=au;k=av;l=aw;return[j,k,l];}ax=$substring(i,0,m);ay=264;az=$substring(i,(m+2>>0));j=ax;k=ay;l=az;return[j,k,l];}}else if(o===(51)){ba=$substring(i,0,m);bb=523;bc=$substring(i,(m+1>>0));j=ba;k=bb;l=bc;return[j,k,l];}else if(o===(52)){bd=$substring(i,0,m);be=525;bf=$substring(i,(m+1>>0));j=bd;k=be;l=bf;return[j,k,l];}else if(o===(53)){bg=$substring(i,0,m);bh=527;bi=$substring(i,(m+1>>0));j=bg;k=bh;l=bi;return[j,k,l];}else if(o===(80)){if(i.length>=(m+2>>0)&&(i.charCodeAt((m+1>>0))===77)){bj=$substring(i,0,m);bk=531;bl=$substring(i,(m+2>>0));j=bj;k=bk;l=bl;return[j,k,l];}}else if(o===(112)){if(i.length>=(m+2>>0)&&(i.charCodeAt((m+1>>0))===109)){bm=$substring(i,0,m);bn=532;bo=$substring(i,(m+2>>0));j=bm;k=bn;l=bo;return[j,k,l];}}else if(o===(45)){if(i.length>=(m+7>>0)&&$substring(i,m,(m+7>>0))==="-070000"){bp=$substring(i,0,m);bq=28;br=$substring(i,(m+7>>0));j=bp;k=bq;l=br;return[j,k,l];}if(i.length>=(m+9>>0)&&$substring(i,m,(m+9>>0))==="-07:00:00"){bs=$substring(i,0,m);bt=31;bu=$substring(i,(m+9>>0));j=bs;k=bt;l=bu;return[j,k,l];}if(i.length>=(m+5>>0)&&$substring(i,m,(m+5>>0))==="-0700"){bv=$substring(i,0,m);bw=27;bx=$substring(i,(m+5>>0));j=bv;k=bw;l=bx;return[j,k,l];}if(i.length>=(m+6>>0)&&$substring(i,m,(m+6>>0))==="-07:00"){by=$substring(i,0,m);bz=30;ca=$substring(i,(m+6>>0));j=by;k=bz;l=ca;return[j,k,l];}if(i.length>=(m+3>>0)&&$substring(i,m,(m+3>>0))==="-07"){cb=$substring(i,0,m);cc=29;cd=$substring(i,(m+3>>0));j=cb;k=cc;l=cd;return[j,k,l];}}else if(o===(90)){if(i.length>=(m+7>>0)&&$substring(i,m,(m+7>>0))==="Z070000"){ce=$substring(i,0,m);cf=23;cg=$substring(i,(m+7>>0));j=ce;k=cf;l=cg;return[j,k,l];}if(i.length>=(m+9>>0)&&$substring(i,m,(m+9>>0))==="Z07:00:00"){ch=$substring(i,0,m);ci=26;cj=$substring(i,(m+9>>0));j=ch;k=ci;l=cj;return[j,k,l];}if(i.length>=(m+5>>0)&&$substring(i,m,(m+5>>0))==="Z0700"){ck=$substring(i,0,m);cl=22;cm=$substring(i,(m+5>>0));j=ck;k=cl;l=cm;return[j,k,l];}if(i.length>=(m+6>>0)&&$substring(i,m,(m+6>>0))==="Z07:00"){cn=$substring(i,0,m);co=25;cp=$substring(i,(m+6>>0));j=cn;k=co;l=cp;return[j,k,l];}if(i.length>=(m+3>>0)&&$substring(i,m,(m+3>>0))==="Z07"){cq=$substring(i,0,m);cr=24;cs=$substring(i,(m+3>>0));j=cq;k=cr;l=cs;return[j,k,l];}}else if(o===(46)){if((m+1>>0)<i.length&&((i.charCodeAt((m+1>>0))===48)||(i.charCodeAt((m+1>>0))===57))){ct=i.charCodeAt((m+1>>0));cu=m+1>>0;while(true){if(!(cu<i.length&&(i.charCodeAt(cu)===ct))){break;}cu=cu+(1)>>0;}if(!AH(i,cu)){cv=32;if(i.charCodeAt((m+1>>0))===57){cv=33;}cv=cv|((((cu-((m+1>>0))>>0))<<16>>0));cw=$substring(i,0,m);cx=cv;cy=$substring(i,cu);j=cw;k=cx;l=cy;return[j,k,l];}}}m=m+(1)>>0;}cz=i;da=0;db="";j=cz;k=da;l=db;return[j,k,l];};Y=function(i,j){var $ptr,i,j,k,l,m;k=0;while(true){if(!(k<i.length)){break;}l=i.charCodeAt(k);m=j.charCodeAt(k);if(!((l===m))){l=(l|(32))>>>0;m=(m|(32))>>>0;if(!((l===m))||l<97||l>122){return false;}}k=k+(1)>>0;}return true;};Z=function(i,j){var $ptr,i,j,k,l,m,n;k=i;l=0;while(true){if(!(l<k.$length)){break;}m=l;n=((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]);if(j.length>=n.length&&Y($substring(j,0,n.length),n)){return[m,$substring(j,n.length),$ifaceNil];}l++;}return[-1,j,AE];};AA=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q;l=((j>>>0));if(j<0){i=$append(i,45);l=((-j>>>0));}m=DF.zero();n=20;while(true){if(!(l>=10)){break;}n=n-(1)>>0;p=(o=l/10,(o===o&&o!==1/0&&o!==-1/0)?o>>>0:$throwRuntimeError("integer divide by zero"));((n<0||n>=m.length)?($throwRuntimeError("index out of range"),undefined):m[n]=((((48+l>>>0)-(p*10>>>0)>>>0)<<24>>>24)));l=p;}n=n-(1)>>0;((n<0||n>=m.length)?($throwRuntimeError("index out of range"),undefined):m[n]=(((48+l>>>0)<<24>>>24)));q=20-n>>0;while(true){if(!(q<k)){break;}i=$append(i,48);q=q+(1)>>0;}return $appendSlice(i,$subslice(new DG(m),n));};AC=function(i){var $ptr,i,j,k,l,m,n,o,p,q,r,s;j=0;k=$ifaceNil;l=false;if(!(i==="")&&((i.charCodeAt(0)===45)||(i.charCodeAt(0)===43))){l=i.charCodeAt(0)===45;i=$substring(i,1);}m=AS(i);n=m[0];o=m[1];k=m[2];j=(((n.$low+((n.$high>>31)*4294967296))>>0));if(!($interfaceIsEqual(k,$ifaceNil))||!(o==="")){p=0;q=AB;j=p;k=q;return[j,k];}if(l){j=-j;}r=j;s=$ifaceNil;j=r;k=s;return[j,k];};AD=function(i,j,k,l){var $ptr,i,j,k,l,m,n,o,p,q,r;m=j;n=DH.zero();o=9;while(true){if(!(o>0)){break;}o=o-(1)>>0;((o<0||o>=n.length)?($throwRuntimeError("index out of range"),undefined):n[o]=((((p=m%10,p===p?p:$throwRuntimeError("integer divide by zero"))+48>>>0)<<24>>>24)));m=(q=m/(10),(q===q&&q!==1/0&&q!==-1/0)?q>>>0:$throwRuntimeError("integer divide by zero"));}if(k>9){k=9;}if(l){while(true){if(!(k>0&&((r=k-1>>0,((r<0||r>=n.length)?($throwRuntimeError("index out of range"),undefined):n[r]))===48))){break;}k=k-(1)>>0;}if(k===0){return i;}}i=$append(i,46);return $appendSlice(i,$subslice(new DG(n),0,k));};BM.ptr.prototype.String=function(){var $ptr,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=$clone(i,BM).Format("2006-01-02 15:04:05.999999999 -0700 MST");$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=-1;return j;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.String};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.String=function(){return this.$val.String();};BM.ptr.prototype.Format=function(i){var $ptr,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;k=DG.nil;l=i.length+10>>0;if(l<64){m=DI.zero();k=$subslice(new DG(m),0,0);}else{k=$makeSlice(DG,0,l);}n=$clone(j,BM).AppendFormat(k,i);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}k=n;$s=-1;return($bytesToString(k));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Format};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Format=function(i){return this.$val.Format(i);};BM.ptr.prototype.AppendFormat=function(i,j){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=this;m=$clone(k,BM).locabs();$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;n=l[0];o=l[1];p=l[2];q=-1;r=0;s=0;t=-1;u=0;v=0;while(true){if(!(!(j===""))){break;}w=T(j);x=w[0];y=w[1];z=w[2];if(!(x==="")){i=$appendSlice(i,x);}if(y===0){break;}j=z;if(q<0&&!(((y&256)===0))){aa=BY(p,true);q=aa[0];r=aa[1];s=aa[2];}if(t<0&&!(((y&512)===0))){ab=BS(p);t=ab[0];u=ab[1];v=ab[2];}switch(0){default:ac=y&65535;if(ac===(274)){ad=q;if(ad<0){ad=-ad;}i=AA(i,(ae=ad%100,ae===ae?ae:$throwRuntimeError("integer divide by zero")),2);}else if(ac===(273)){i=AA(i,q,4);}else if(ac===(258)){i=$appendSlice(i,$substring(new BN(r).String(),0,3));}else if(ac===(257)){af=new BN(r).String();i=$appendSlice(i,af);}else if(ac===(259)){i=AA(i,((r>>0)),0);}else if(ac===(260)){i=AA(i,((r>>0)),2);}else if(ac===(262)){i=$appendSlice(i,$substring(new BP(BR(p)).String(),0,3));}else if(ac===(261)){ag=new BP(BR(p)).String();i=$appendSlice(i,ag);}else if(ac===(263)){i=AA(i,s,0);}else if(ac===(264)){if(s<10){i=$append(i,32);}i=AA(i,s,0);}else if(ac===(265)){i=AA(i,s,2);}else if(ac===(522)){i=AA(i,t,2);}else if(ac===(523)){ai=(ah=t%12,ah===ah?ah:$throwRuntimeError("integer divide by zero"));if(ai===0){ai=12;}i=AA(i,ai,0);}else if(ac===(524)){ak=(aj=t%12,aj===aj?aj:$throwRuntimeError("integer divide by zero"));if(ak===0){ak=12;}i=AA(i,ak,2);}else if(ac===(525)){i=AA(i,u,0);}else if(ac===(526)){i=AA(i,u,2);}else if(ac===(527)){i=AA(i,v,0);}else if(ac===(528)){i=AA(i,v,2);}else if(ac===(531)){if(t>=12){i=$appendSlice(i,"PM");}else{i=$appendSlice(i,"AM");}}else if(ac===(532)){if(t>=12){i=$appendSlice(i,"pm");}else{i=$appendSlice(i,"am");}}else if((ac===(22))||(ac===(25))||(ac===(23))||(ac===(24))||(ac===(26))||(ac===(27))||(ac===(30))||(ac===(28))||(ac===(29))||(ac===(31))){if((o===0)&&((y===22)||(y===25)||(y===23)||(y===24)||(y===26))){i=$append(i,90);break;}am=(al=o/60,(al===al&&al!==1/0&&al!==-1/0)?al>>0:$throwRuntimeError("integer divide by zero"));an=o;if(am<0){i=$append(i,45);am=-am;an=-an;}else{i=$append(i,43);}i=AA(i,(ao=am/60,(ao===ao&&ao!==1/0&&ao!==-1/0)?ao>>0:$throwRuntimeError("integer divide by zero")),2);if((y===25)||(y===30)||(y===26)||(y===31)){i=$append(i,58);}if(!((y===29))&&!((y===24))){i=AA(i,(ap=am%60,ap===ap?ap:$throwRuntimeError("integer divide by zero")),2);}if((y===23)||(y===28)||(y===31)||(y===26)){if((y===31)||(y===26)){i=$append(i,58);}i=AA(i,(aq=an%60,aq===aq?aq:$throwRuntimeError("integer divide by zero")),2);}}else if(ac===(21)){if(!(n==="")){i=$appendSlice(i,n);break;}as=(ar=o/60,(ar===ar&&ar!==1/0&&ar!==-1/0)?ar>>0:$throwRuntimeError("integer divide by zero"));if(as<0){i=$append(i,45);as=-as;}else{i=$append(i,43);}i=AA(i,(at=as/60,(at===at&&at!==1/0&&at!==-1/0)?at>>0:$throwRuntimeError("integer divide by zero")),2);i=AA(i,(au=as%60,au===au?au:$throwRuntimeError("integer divide by zero")),2);}else if((ac===(32))||(ac===(33))){i=AD(i,(($clone(k,BM).Nanosecond()>>>0)),y>>16>>0,(y&65535)===33);}}}$s=-1;return i;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.AppendFormat};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.AppendFormat=function(i,j){return this.$val.AppendFormat(i,j);};AG=function(i){var $ptr,i;return"\""+i+"\"";};AF.ptr.prototype.Error=function(){var $ptr,i;i=this;if(i.Message===""){return"parsing time "+AG(i.Value)+" as "+AG(i.Layout)+": cannot parse "+AG(i.ValueElem)+" as "+AG(i.LayoutElem);}return"parsing time "+AG(i.Value)+i.Message;};AF.prototype.Error=function(){return this.$val.Error();};AH=function(i,j){var $ptr,i,j,k;if(i.length<=j){return false;}k=i.charCodeAt(j);return 48<=k&&k<=57;};AI=function(i,j){var $ptr,i,j;if(!AH(i,0)){return[0,i,AE];}if(!AH(i,1)){if(j){return[0,i,AE];}return[(((i.charCodeAt(0)-48<<24>>>24)>>0)),$substring(i,1),$ifaceNil];}return[($imul((((i.charCodeAt(0)-48<<24>>>24)>>0)),10))+(((i.charCodeAt(1)-48<<24>>>24)>>0))>>0,$substring(i,2),$ifaceNil];};AJ=function(i){var $ptr,i;while(true){if(!(i.length>0&&(i.charCodeAt(0)===32))){break;}i=$substring(i,1);}return i;};AK=function(i,j){var $ptr,i,j;while(true){if(!(j.length>0)){break;}if(j.charCodeAt(0)===32){if(i.length>0&&!((i.charCodeAt(0)===32))){return[i,AE];}j=AJ(j);i=AJ(i);continue;}if((i.length===0)||!((i.charCodeAt(0)===j.charCodeAt(0)))){return[i,AE];}j=$substring(j,1);i=$substring(i,1);}return[i,$ifaceNil];};AL=function(i,j){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=AN(i,j,$pkg.UTC,$pkg.Local);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;}return;}if($f===undefined){$f={$blk:AL};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Parse=AL;AN=function(i,j,k,l){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,cs,ct,cu,cv,cw,cx,cy,cz,da,db,dc,dd,de,df,dg,dh,di,dj,dk,dl,dm,dn,dp,dq,dr,ds,dt,du,dv,dw,dx,dy,dz,ea,eb,ec,ed,ee,ef,eg,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;cs=$f.cs;ct=$f.ct;cu=$f.cu;cv=$f.cv;cw=$f.cw;cx=$f.cx;cy=$f.cy;cz=$f.cz;da=$f.da;db=$f.db;dc=$f.dc;dd=$f.dd;de=$f.de;df=$f.df;dg=$f.dg;dh=$f.dh;di=$f.di;dj=$f.dj;dk=$f.dk;dl=$f.dl;dm=$f.dm;dn=$f.dn;dp=$f.dp;dq=$f.dq;dr=$f.dr;ds=$f.ds;dt=$f.dt;du=$f.du;dv=$f.dv;dw=$f.dw;dx=$f.dx;dy=$f.dy;dz=$f.dz;ea=$f.ea;eb=$f.eb;ec=$f.ec;ed=$f.ed;ee=$f.ee;ef=$f.ef;eg=$f.eg;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=i;n=j;o=m;p=n;q="";r=false;s=false;t=0;u=1;v=1;w=0;x=0;y=0;z=0;aa=DJ.nil;ab=-1;ac="";while(true){ad=$ifaceNil;ae=T(i);af=ae[0];ag=ae[1];ah=ae[2];ai=$substring(i,af.length,(i.length-ah.length>>0));aj=AK(j,af);j=aj[0];ad=aj[1];if(!($interfaceIsEqual(ad,$ifaceNil))){$s=-1;return[new BM.ptr(new $Int64(0,0),0,DJ.nil),new AF.ptr(o,p,af,j,"")];}if(ag===0){if(!((j.length===0))){$s=-1;return[new BM.ptr(new $Int64(0,0),0,DJ.nil),new AF.ptr(o,p,"",j,": extra text: "+j)];}break;}i=ah;ak="";switch(0){default:al=ag&65535;if(al===(274)){if(j.length<2){ad=AE;break;}am=$substring(j,0,2);an=$substring(j,2);ak=am;j=an;ao=AC(ak);t=ao[0];ad=ao[1];if(t>=69){t=t+(1900)>>0;}else{t=t+(2000)>>0;}}else if(al===(273)){if(j.length<4||!AH(j,0)){ad=AE;break;}ap=$substring(j,0,4);aq=$substring(j,4);ak=ap;j=aq;ar=AC(ak);t=ar[0];ad=ar[1];}else if(al===(258)){as=Z(W,j);u=as[0];j=as[1];ad=as[2];}else if(al===(257)){at=Z(X,j);u=at[0];j=at[1];ad=at[2];}else if((al===(259))||(al===(260))){au=AI(j,ag===260);u=au[0];j=au[1];ad=au[2];if(u<=0||12<u){q="month";}}else if(al===(262)){av=Z(V,j);j=av[1];ad=av[2];}else if(al===(261)){aw=Z(U,j);j=aw[1];ad=aw[2];}else if((al===(263))||(al===(264))||(al===(265))){if((ag===264)&&j.length>0&&(j.charCodeAt(0)===32)){j=$substring(j,1);}ax=AI(j,ag===265);v=ax[0];j=ax[1];ad=ax[2];if(v<0){q="day";}}else if(al===(522)){ay=AI(j,false);w=ay[0];j=ay[1];ad=ay[2];if(w<0||24<=w){q="hour";}}else if((al===(523))||(al===(524))){az=AI(j,ag===524);w=az[0];j=az[1];ad=az[2];if(w<0||12<w){q="hour";}}else if((al===(525))||(al===(526))){ba=AI(j,ag===526);x=ba[0];j=ba[1];ad=ba[2];if(x<0||60<=x){q="minute";}}else if((al===(527))||(al===(528))){bb=AI(j,ag===528);y=bb[0];j=bb[1];ad=bb[2];if(y<0||60<=y){q="second";break;}if(j.length>=2&&(j.charCodeAt(0)===46)&&AH(j,1)){bc=T(i);ag=bc[1];ag=ag&(65535);if((ag===32)||(ag===33)){break;}bd=2;while(true){if(!(bd<j.length&&AH(j,bd))){break;}bd=bd+(1)>>0;}be=AQ(j,bd);z=be[0];q=be[1];ad=be[2];j=$substring(j,bd);}}else if(al===(531)){if(j.length<2){ad=AE;break;}bf=$substring(j,0,2);bg=$substring(j,2);ak=bf;j=bg;bh=ak;if(bh===("PM")){s=true;}else if(bh===("AM")){r=true;}else{ad=AE;}}else if(al===(532)){if(j.length<2){ad=AE;break;}bi=$substring(j,0,2);bj=$substring(j,2);ak=bi;j=bj;bk=ak;if(bk===("pm")){s=true;}else if(bk===("am")){r=true;}else{ad=AE;}}else if((al===(22))||(al===(25))||(al===(23))||(al===(24))||(al===(26))||(al===(27))||(al===(29))||(al===(30))||(al===(28))||(al===(31))){if(((ag===22)||(ag===24)||(ag===25))&&j.length>=1&&(j.charCodeAt(0)===90)){j=$substring(j,1);aa=$pkg.UTC;break;}bl="";bm="";bn="";bo="";bp=bl;bq=bm;br=bn;bs=bo;if((ag===25)||(ag===30)){if(j.length<6){ad=AE;break;}if(!((j.charCodeAt(3)===58))){ad=AE;break;}bt=$substring(j,0,1);bu=$substring(j,1,3);bv=$substring(j,4,6);bw="00";bx=$substring(j,6);bp=bt;bq=bu;br=bv;bs=bw;j=bx;}else if((ag===29)||(ag===24)){if(j.length<3){ad=AE;break;}by=$substring(j,0,1);bz=$substring(j,1,3);ca="00";cb="00";cc=$substring(j,3);bp=by;bq=bz;br=ca;bs=cb;j=cc;}else if((ag===26)||(ag===31)){if(j.length<9){ad=AE;break;}if(!((j.charCodeAt(3)===58))||!((j.charCodeAt(6)===58))){ad=AE;break;}cd=$substring(j,0,1);ce=$substring(j,1,3);cf=$substring(j,4,6);cg=$substring(j,7,9);ch=$substring(j,9);bp=cd;bq=ce;br=cf;bs=cg;j=ch;}else if((ag===23)||(ag===28)){if(j.length<7){ad=AE;break;}ci=$substring(j,0,1);cj=$substring(j,1,3);ck=$substring(j,3,5);cl=$substring(j,5,7);cm=$substring(j,7);bp=ci;bq=cj;br=ck;bs=cl;j=cm;}else{if(j.length<5){ad=AE;break;}cn=$substring(j,0,1);co=$substring(j,1,3);cp=$substring(j,3,5);cq="00";cr=$substring(j,5);bp=cn;bq=co;br=cp;bs=cq;j=cr;}cs=0;ct=0;cu=0;cv=cs;cw=ct;cx=cu;cy=AC(bq);cv=cy[0];ad=cy[1];if($interfaceIsEqual(ad,$ifaceNil)){cz=AC(br);cw=cz[0];ad=cz[1];}if($interfaceIsEqual(ad,$ifaceNil)){da=AC(bs);cx=da[0];ad=da[1];}ab=($imul(((($imul(cv,60))+cw>>0)),60))+cx>>0;db=bp.charCodeAt(0);if(db===(43)){}else if(db===(45)){ab=-ab;}else{ad=AE;}}else if(al===(21)){if(j.length>=3&&$substring(j,0,3)==="UTC"){aa=$pkg.UTC;j=$substring(j,3);break;}dc=AO(j);dd=dc[0];de=dc[1];if(!de){ad=AE;break;}df=$substring(j,0,dd);dg=$substring(j,dd);ac=df;j=dg;}else if(al===(32)){dh=1+((ag>>16>>0))>>0;if(j.length<dh){ad=AE;break;}di=AQ(j,dh);z=di[0];q=di[1];ad=di[2];j=$substring(j,dh);}else if(al===(33)){if(j.length<2||!((j.charCodeAt(0)===46))||j.charCodeAt(1)<48||57<j.charCodeAt(1)){break;}dj=0;while(true){if(!(dj<9&&(dj+1>>0)<j.length&&48<=j.charCodeAt((dj+1>>0))&&j.charCodeAt((dj+1>>0))<=57)){break;}dj=dj+(1)>>0;}dk=AQ(j,1+dj>>0);z=dk[0];q=dk[1];ad=dk[2];j=$substring(j,(1+dj>>0));}}if(!(q==="")){$s=-1;return[new BM.ptr(new $Int64(0,0),0,DJ.nil),new AF.ptr(o,p,ai,j,": "+q+" out of range")];}if(!($interfaceIsEqual(ad,$ifaceNil))){$s=-1;return[new BM.ptr(new $Int64(0,0),0,DJ.nil),new AF.ptr(o,p,ai,j,"")];}}if(s&&w<12){w=w+(12)>>0;}else if(r&&(w===12)){w=0;}if(v<1||v>CA(((u>>0)),t)){$s=-1;return[new BM.ptr(new $Int64(0,0),0,DJ.nil),new AF.ptr(o,p,"",j,": day out of range")];}if(!(aa===DJ.nil)){$s=1;continue;}$s=2;continue;case 1:dl=CF(t,((u>>0)),v,w,x,y,z,aa);$s=3;case 3:if($c){$c=false;dl=dl.$blk();}if(dl&&dl.$blk!==undefined){break s;}$s=-1;return[dl,$ifaceNil];case 2:if(!((ab===-1))){$s=4;continue;}$s=5;continue;case 4:dm=CF(t,((u>>0)),v,w,x,y,z,$pkg.UTC);$s=6;case 6:if($c){$c=false;dm=dm.$blk();}if(dm&&dm.$blk!==undefined){break s;}dn=$clone(dm,BM);dn.sec=(dp=dn.sec,dq=(new $Int64(0,ab)),new $Int64(dp.$high-dq.$high,dp.$low-dq.$low));dt=l.lookup((ds=dn.sec,new $Int64(ds.$high+-15,ds.$low+2288912640)));$s=7;case 7:if($c){$c=false;dt=dt.$blk();}if(dt&&dt.$blk!==undefined){break s;}dr=dt;du=dr[0];dv=dr[1];if((dv===ab)&&(ac===""||du===ac)){dn.setLoc(l);$s=-1;return[dn,$ifaceNil];}dn.setLoc(CN(ac,ab));$s=-1;return[dn,$ifaceNil];case 5:if(!(ac==="")){$s=8;continue;}$s=9;continue;case 8:dw=CF(t,((u>>0)),v,w,x,y,z,$pkg.UTC);$s=10;case 10:if($c){$c=false;dw=dw.$blk();}if(dw&&dw.$blk!==undefined){break s;}dx=$clone(dw,BM);ea=l.lookupName(ac,(dz=dx.sec,new $Int64(dz.$high+-15,dz.$low+2288912640)));$s=11;case 11:if($c){$c=false;ea=ea.$blk();}if(ea&&ea.$blk!==undefined){break s;}dy=ea;eb=dy[0];ec=dy[2];if(ec){dx.sec=(ed=dx.sec,ee=(new $Int64(0,eb)),new $Int64(ed.$high-ee.$high,ed.$low-ee.$low));dx.setLoc(l);$s=-1;return[dx,$ifaceNil];}if(ac.length>3&&$substring(ac,0,3)==="GMT"){ef=AC($substring(ac,3));eb=ef[0];eb=$imul(eb,(3600));}dx.setLoc(CN(ac,eb));$s=-1;return[dx,$ifaceNil];case 9:eg=CF(t,((u>>0)),v,w,x,y,z,k);$s=12;case 12:if($c){$c=false;eg=eg.$blk();}if(eg&&eg.$blk!==undefined){break s;}$s=-1;return[eg,$ifaceNil];}return;}if($f===undefined){$f={$blk:AN};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.cs=cs;$f.ct=ct;$f.cu=cu;$f.cv=cv;$f.cw=cw;$f.cx=cx;$f.cy=cy;$f.cz=cz;$f.da=da;$f.db=db;$f.dc=dc;$f.dd=dd;$f.de=de;$f.df=df;$f.dg=dg;$f.dh=dh;$f.di=di;$f.dj=dj;$f.dk=dk;$f.dl=dl;$f.dm=dm;$f.dn=dn;$f.dp=dp;$f.dq=dq;$f.dr=dr;$f.ds=ds;$f.dt=dt;$f.du=du;$f.dv=dv;$f.dw=dw;$f.dx=dx;$f.dy=dy;$f.dz=dz;$f.ea=ea;$f.eb=eb;$f.ec=ec;$f.ed=ed;$f.ee=ee;$f.ef=ef;$f.eg=eg;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AO=function(i){var $ptr,aa,ab,ac,ad,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j=0;k=false;if(i.length<3){l=0;m=false;j=l;k=m;return[j,k];}if(i.length>=4&&($substring(i,0,4)==="ChST"||$substring(i,0,4)==="MeST")){n=4;o=true;j=n;k=o;return[j,k];}if($substring(i,0,3)==="GMT"){j=AP(i);p=j;q=true;j=p;k=q;return[j,k];}r=0;r=0;while(true){if(!(r<6)){break;}if(r>=i.length){break;}s=i.charCodeAt(r);if(s<65||90<s){break;}r=r+(1)>>0;}t=r;if((t===(0))||(t===(1))||(t===(2))||(t===(6))){u=0;v=false;j=u;k=v;return[j,k];}else if(t===(5)){if(i.charCodeAt(4)===84){w=5;x=true;j=w;k=x;return[j,k];}}else if(t===(4)){if((i.charCodeAt(3)===84)||$substring(i,0,4)==="WITA"){y=4;z=true;j=y;k=z;return[j,k];}}else if(t===(3)){aa=3;ab=true;j=aa;k=ab;return[j,k];}ac=0;ad=false;j=ac;k=ad;return[j,k];};AP=function(i){var $ptr,i,j,k,l,m,n;i=$substring(i,3);if(i.length===0){return 3;}j=i.charCodeAt(0);if(!((j===45))&&!((j===43))){return 3;}k=AS($substring(i,1));l=k[0];m=k[1];n=k[2];if(!($interfaceIsEqual(n,$ifaceNil))){return 3;}if(j===45){l=new $Int64(-l.$high,-l.$low);}if((l.$high===0&&l.$low===0)||(l.$high<-1||(l.$high===-1&&l.$low<4294967282))||(0<l.$high||(0===l.$high&&12<l.$low))){return 3;}return(3+i.length>>0)-m.length>>0;};AQ=function(i,j){var $ptr,i,j,k,l,m,n,o,p;k=0;l="";m=$ifaceNil;if(!((i.charCodeAt(0)===46))){m=AE;return[k,l,m];}n=AC($substring(i,1,j));k=n[0];m=n[1];if(!($interfaceIsEqual(m,$ifaceNil))){return[k,l,m];}if(k<0||1000000000<=k){l="fractional second";return[k,l,m];}o=10-j>>0;p=0;while(true){if(!(p<o)){break;}k=$imul(k,(10));p=p+(1)>>0;}return[k,l,m];};AS=function(i){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;j=new $Int64(0,0);k="";l=$ifaceNil;m=0;while(true){if(!(m<i.length)){break;}n=i.charCodeAt(m);if(n<48||n>57){break;}if((j.$high>214748364||(j.$high===214748364&&j.$low>3435973836))){o=new $Int64(0,0);p="";q=AR;j=o;k=p;l=q;return[j,k,l];}j=(r=(s=$mul64(j,new $Int64(0,10)),t=(new $Int64(0,n)),new $Int64(s.$high+t.$high,s.$low+t.$low)),new $Int64(r.$high-0,r.$low-48));if((j.$high<0||(j.$high===0&&j.$low<0))){u=new $Int64(0,0);v="";w=AR;j=u;k=v;l=w;return[j,k,l];}m=m+(1)>>0;}x=j;y=$substring(i,m);z=$ifaceNil;j=x;k=y;l=z;return[j,k,l];};BM.ptr.prototype.setLoc=function(i){var $ptr,i,j;j=this;if(i===CK){i=DJ.nil;}j.loc=i;};BM.prototype.setLoc=function(i){return this.$val.setLoc(i);};BM.ptr.prototype.After=function(i){var $ptr,i,j,k,l,m,n;j=this;return(k=j.sec,l=i.sec,(k.$high>l.$high||(k.$high===l.$high&&k.$low>l.$low)))||(m=j.sec,n=i.sec,(m.$high===n.$high&&m.$low===n.$low))&&j.nsec>i.nsec;};BM.prototype.After=function(i){return this.$val.After(i);};BM.ptr.prototype.Before=function(i){var $ptr,i,j,k,l,m,n;j=this;return(k=j.sec,l=i.sec,(k.$high<l.$high||(k.$high===l.$high&&k.$low<l.$low)))||(m=j.sec,n=i.sec,(m.$high===n.$high&&m.$low===n.$low))&&j.nsec<i.nsec;};BM.prototype.Before=function(i){return this.$val.Before(i);};BM.ptr.prototype.Equal=function(i){var $ptr,i,j,k,l;j=this;return(k=j.sec,l=i.sec,(k.$high===l.$high&&k.$low===l.$low))&&(j.nsec===i.nsec);};BM.prototype.Equal=function(i){return this.$val.Equal(i);};BN.prototype.String=function(){var $ptr,i,j,k,l;i=this.$val;if(1<=i&&i<=12){return(j=i-1>>0,((j<0||j>=BO.length)?($throwRuntimeError("index out of range"),undefined):BO[j]));}k=$makeSlice(DG,20);l=BV(k,(new $Uint64(0,i)));return"%!Month("+($bytesToString($subslice(k,l)))+")";};$ptrType(BN).prototype.String=function(){return new BN(this.$get()).String();};BP.prototype.String=function(){var $ptr,i;i=this.$val;return((i<0||i>=BQ.length)?($throwRuntimeError("index out of range"),undefined):BQ[i]);};$ptrType(BP).prototype.String=function(){return new BP(this.$get()).String();};BM.ptr.prototype.IsZero=function(){var $ptr,i,j;i=this;return(j=i.sec,(j.$high===0&&j.$low===0))&&(i.nsec===0);};BM.prototype.IsZero=function(){return this.$val.IsZero();};BM.ptr.prototype.abs=function(){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=i.loc;if(j===DJ.nil||j===CL){$s=1;continue;}$s=2;continue;case 1:k=j.get();$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;case 2:m=(l=i.sec,new $Int64(l.$high+-15,l.$low+2288912640));if(!(j===CK)){$s=4;continue;}$s=5;continue;case 4:if(!(j.cacheZone===DC.nil)&&(n=j.cacheStart,(n.$high<m.$high||(n.$high===m.$high&&n.$low<=m.$low)))&&(o=j.cacheEnd,(m.$high<o.$high||(m.$high===o.$high&&m.$low<o.$low)))){$s=6;continue;}$s=7;continue;case 6:m=(p=(new $Int64(0,j.cacheZone.offset)),new $Int64(m.$high+p.$high,m.$low+p.$low));$s=8;continue;case 7:r=j.lookup(m);$s=9;case 9:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;s=q[1];m=(t=(new $Int64(0,s)),new $Int64(m.$high+t.$high,m.$low+t.$low));case 8:case 5:$s=-1;return((u=new $Int64(m.$high+2147483646,m.$low+450480384),new $Uint64(u.$high,u.$low)));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.abs};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.abs=function(){return this.$val.abs();};BM.ptr.prototype.locabs=function(){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i="";j=0;k=new $Uint64(0,0);l=this;m=l.loc;if(m===DJ.nil||m===CL){$s=1;continue;}$s=2;continue;case 1:n=m.get();$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;case 2:p=(o=l.sec,new $Int64(o.$high+-15,o.$low+2288912640));if(!(m===CK)){$s=4;continue;}$s=5;continue;case 4:if(!(m.cacheZone===DC.nil)&&(q=m.cacheStart,(q.$high<p.$high||(q.$high===p.$high&&q.$low<=p.$low)))&&(r=m.cacheEnd,(p.$high<r.$high||(p.$high===r.$high&&p.$low<r.$low)))){$s=7;continue;}$s=8;continue;case 7:i=m.cacheZone.name;j=m.cacheZone.offset;$s=9;continue;case 8:t=m.lookup(p);$s=10;case 10:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}s=t;i=s[0];j=s[1];case 9:p=(u=(new $Int64(0,j)),new $Int64(p.$high+u.$high,p.$low+u.$low));$s=6;continue;case 5:i="UTC";case 6:k=((v=new $Int64(p.$high+2147483646,p.$low+450480384),new $Uint64(v.$high,v.$low)));$s=-1;return[i,j,k];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.locabs};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.locabs=function(){return this.$val.locabs();};BM.ptr.prototype.Date=function(){var $ptr,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=0;j=0;k=0;l=this;n=$clone(l,BM).date(true);$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;i=m[0];j=m[1];k=m[2];$s=-1;return[i,j,k];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Date};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Date=function(){return this.$val.Date();};BM.ptr.prototype.Year=function(){var $ptr,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;k=$clone(i,BM).date(false);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[0];$s=-1;return l;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Year};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Year=function(){return this.$val.Year();};BM.ptr.prototype.Month=function(){var $ptr,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;k=$clone(i,BM).date(true);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[1];$s=-1;return l;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Month};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Month=function(){return this.$val.Month();};BM.ptr.prototype.Day=function(){var $ptr,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;k=$clone(i,BM).date(true);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[2];$s=-1;return l;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Day};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Day=function(){return this.$val.Day();};BM.ptr.prototype.Weekday=function(){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=$clone(i,BM).abs();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=BR(j);$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Weekday};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Weekday=function(){return this.$val.Weekday();};BR=function(i){var $ptr,i,j,k;j=$div64((new $Uint64(i.$high+0,i.$low+86400)),new $Uint64(0,604800),true);return(((k=((j.$low>>0))/86400,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))>>0));};BM.ptr.prototype.ISOWeek=function(){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=0;j=0;k=this;m=$clone(k,BM).date(true);$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;i=l[0];n=l[1];o=l[2];p=l[3];r=$clone(k,BM).Weekday();$s=2;case 2:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=(q=(((r+6>>0)>>0))%7,q===q?q:$throwRuntimeError("integer divide by zero"));j=(t=(((p-s>>0)+7>>0))/7,(t===t&&t!==1/0&&t!==-1/0)?t>>0:$throwRuntimeError("integer divide by zero"));v=(u=(((s-p>>0)+371>>0))%7,u===u?u:$throwRuntimeError("integer divide by zero"));if(1<=v&&v<=3){j=j+(1)>>0;}if(j===0){i=i-(1)>>0;j=52;if((v===4)||((v===5)&&CD(i))){j=j+(1)>>0;}}if((n===12)&&o>=29&&s<3){x=(w=(((s+31>>0)-o>>0))%7,w===w?w:$throwRuntimeError("integer divide by zero"));if(0<=x&&x<=2){i=i+(1)>>0;j=1;}}$s=-1;return[i,j];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.ISOWeek};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.ISOWeek=function(){return this.$val.ISOWeek();};BM.ptr.prototype.Clock=function(){var $ptr,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=0;j=0;k=0;l=this;n=$clone(l,BM).abs();$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=BS(n);$s=2;case 2:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}m=o;i=m[0];j=m[1];k=m[2];$s=-1;return[i,j,k];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Clock};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Clock=function(){return this.$val.Clock();};BS=function(i){var $ptr,i,j,k,l,m,n;j=0;k=0;l=0;l=(($div64(i,new $Uint64(0,86400),true).$low>>0));j=(m=l/3600,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"));l=l-(($imul(j,3600)))>>0;k=(n=l/60,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"));l=l-(($imul(k,60)))>>0;return[j,k,l];};BM.ptr.prototype.Hour=function(){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;k=$clone(i,BM).abs();$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return(j=(($div64(k,new $Uint64(0,86400),true).$low>>0))/3600,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Hour};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Hour=function(){return this.$val.Hour();};BM.ptr.prototype.Minute=function(){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;k=$clone(i,BM).abs();$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return(j=(($div64(k,new $Uint64(0,3600),true).$low>>0))/60,(j===j&&j!==1/0&&j!==-1/0)?j>>0:$throwRuntimeError("integer divide by zero"));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Minute};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Minute=function(){return this.$val.Minute();};BM.ptr.prototype.Second=function(){var $ptr,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=$clone(i,BM).abs();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=-1;return(($div64(j,new $Uint64(0,60),true).$low>>0));}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Second};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Second=function(){return this.$val.Second();};BM.ptr.prototype.Nanosecond=function(){var $ptr,i;i=this;return((i.nsec>>0));};BM.prototype.Nanosecond=function(){return this.$val.Nanosecond();};BM.ptr.prototype.YearDay=function(){var $ptr,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;k=$clone(i,BM).date(false);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;l=j[3];$s=-1;return l+1>>0;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.YearDay};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.YearDay=function(){return this.$val.YearDay();};BT.prototype.String=function(){var $ptr,i,j,k,l,m,n,o,p;i=this;j=DN.zero();k=32;l=(new $Uint64(i.$high,i.$low));m=(i.$high<0||(i.$high===0&&i.$low<0));if(m){l=new $Uint64(-l.$high,-l.$low);}if((l.$high<0||(l.$high===0&&l.$low<1000000000))){n=0;k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]=115);k=k-(1)>>0;if((l.$high===0&&l.$low===0)){return"0s";}else if((l.$high<0||(l.$high===0&&l.$low<1000))){n=0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]=110);}else if((l.$high<0||(l.$high===0&&l.$low<1000000))){n=3;k=k-(1)>>0;$copyString($subslice(new DG(j),k),"\xC2\xB5");}else{n=6;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]=109);}o=BU($subslice(new DG(j),0,k),l,n);k=o[0];l=o[1];k=BV($subslice(new DG(j),0,k),l);}else{k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]=115);p=BU($subslice(new DG(j),0,k),l,9);k=p[0];l=p[1];k=BV($subslice(new DG(j),0,k),$div64(l,new $Uint64(0,60),true));l=$div64(l,(new $Uint64(0,60)),false);if((l.$high>0||(l.$high===0&&l.$low>0))){k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]=109);k=BV($subslice(new DG(j),0,k),$div64(l,new $Uint64(0,60),true));l=$div64(l,(new $Uint64(0,60)),false);if((l.$high>0||(l.$high===0&&l.$low>0))){k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]=104);k=BV($subslice(new DG(j),0,k),l);}}}if(m){k=k-(1)>>0;((k<0||k>=j.length)?($throwRuntimeError("index out of range"),undefined):j[k]=45);}return($bytesToString($subslice(new DG(j),k)));};$ptrType(BT).prototype.String=function(){return this.$get().String();};BU=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q,r,s;l=0;m=new $Uint64(0,0);n=i.$length;o=false;p=0;while(true){if(!(p<k)){break;}q=$div64(j,new $Uint64(0,10),true);o=o||!((q.$high===0&&q.$low===0));if(o){n=n-(1)>>0;((n<0||n>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+n]=(((q.$low<<24>>>24))+48<<24>>>24));}j=$div64(j,(new $Uint64(0,10)),false);p=p+(1)>>0;}if(o){n=n-(1)>>0;((n<0||n>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+n]=46);}r=n;s=j;l=r;m=s;return[l,m];};BV=function(i,j){var $ptr,i,j,k;k=i.$length;if((j.$high===0&&j.$low===0)){k=k-(1)>>0;((k<0||k>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+k]=48);}else{while(true){if(!((j.$high>0||(j.$high===0&&j.$low>0)))){break;}k=k-(1)>>0;((k<0||k>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+k]=((($div64(j,new $Uint64(0,10),true).$low<<24>>>24))+48<<24>>>24));j=$div64(j,(new $Uint64(0,10)),false);}}return k;};BT.prototype.Nanoseconds=function(){var $ptr,i;i=this;return(new $Int64(i.$high,i.$low));};$ptrType(BT).prototype.Nanoseconds=function(){return this.$get().Nanoseconds();};BT.prototype.Seconds=function(){var $ptr,i,j,k;i=this;j=$div64(i,new BT(0,1000000000),false);k=$div64(i,new BT(0,1000000000),true);return($flatten64(j))+($flatten64(k))/1e+09;};$ptrType(BT).prototype.Seconds=function(){return this.$get().Seconds();};BT.prototype.Minutes=function(){var $ptr,i,j,k;i=this;j=$div64(i,new BT(13,4165425152),false);k=$div64(i,new BT(13,4165425152),true);return($flatten64(j))+($flatten64(k))/6e+10;};$ptrType(BT).prototype.Minutes=function(){return this.$get().Minutes();};BT.prototype.Hours=function(){var $ptr,i,j,k;i=this;j=$div64(i,new BT(838,817405952),false);k=$div64(i,new BT(838,817405952),true);return($flatten64(j))+($flatten64(k))/3.6e+12;};$ptrType(BT).prototype.Hours=function(){return this.$get().Hours();};BM.ptr.prototype.Add=function(i){var $ptr,i,j,k,l,m,n,o,p,q,r,s;j=this;j.sec=(k=j.sec,l=((m=$div64(i,new BT(0,1000000000),false),new $Int64(m.$high,m.$low))),new $Int64(k.$high+l.$high,k.$low+l.$low));o=j.nsec+(((n=$div64(i,new BT(0,1000000000),true),n.$low+((n.$high>>31)*4294967296))>>0))>>0;if(o>=1000000000){j.sec=(p=j.sec,q=new $Int64(0,1),new $Int64(p.$high+q.$high,p.$low+q.$low));o=o-(1000000000)>>0;}else if(o<0){j.sec=(r=j.sec,s=new $Int64(0,1),new $Int64(r.$high-s.$high,r.$low-s.$low));o=o+(1000000000)>>0;}j.nsec=o;return j;};BM.prototype.Add=function(i){return this.$val.Add(i);};BM.ptr.prototype.Sub=function(i){var $ptr,i,j,k,l,m,n,o,p;j=this;p=(k=$mul64(((l=(m=j.sec,n=i.sec,new $Int64(m.$high-n.$high,m.$low-n.$low)),new BT(l.$high,l.$low))),new BT(0,1000000000)),o=(new BT(0,(j.nsec-i.nsec>>0))),new BT(k.$high+o.$high,k.$low+o.$low));if($clone($clone(i,BM).Add(p),BM).Equal($clone(j,BM))){return p;}else if($clone(j,BM).Before($clone(i,BM))){return new BT(-2147483648,0);}else{return new BT(2147483647,4294967295);}};BM.prototype.Sub=function(i){return this.$val.Sub(i);};BM.ptr.prototype.AddDate=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:l=this;n=$clone(l,BM).Date();$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];q=m[2];s=$clone(l,BM).Clock();$s=2;case 2:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;t=r[0];u=r[1];v=r[2];w=CF(o+i>>0,p+((j>>0))>>0,q+k>>0,t,u,v,((l.nsec>>0)),$clone(l,BM).Location());$s=3;case 3:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}$s=-1;return w;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.AddDate};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.AddDate=function(i,j,k){return this.$val.AddDate(i,j,k);};BM.ptr.prototype.date=function(i){var $ptr,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=0;k=0;l=0;m=0;n=this;p=$clone(n,BM).abs();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=BY(p,i);$s=2;case 2:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o=q;j=o[0];k=o[1];l=o[2];m=o[3];$s=-1;return[j,k,l,m];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.date};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.date=function(i){return this.$val.date(i);};BY=function(i,j){var $ptr,aa,ab,ac,ad,ae,af,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;k=0;l=0;m=0;n=0;o=$div64(i,new $Uint64(0,86400),false);p=$div64(o,new $Uint64(0,146097),false);q=$mul64(new $Uint64(0,400),p);o=(r=$mul64(new $Uint64(0,146097),p),new $Uint64(o.$high-r.$high,o.$low-r.$low));p=$div64(o,new $Uint64(0,36524),false);p=(s=$shiftRightUint64(p,2),new $Uint64(p.$high-s.$high,p.$low-s.$low));q=(t=$mul64(new $Uint64(0,100),p),new $Uint64(q.$high+t.$high,q.$low+t.$low));o=(u=$mul64(new $Uint64(0,36524),p),new $Uint64(o.$high-u.$high,o.$low-u.$low));p=$div64(o,new $Uint64(0,1461),false);q=(v=$mul64(new $Uint64(0,4),p),new $Uint64(q.$high+v.$high,q.$low+v.$low));o=(w=$mul64(new $Uint64(0,1461),p),new $Uint64(o.$high-w.$high,o.$low-w.$low));p=$div64(o,new $Uint64(0,365),false);p=(x=$shiftRightUint64(p,2),new $Uint64(p.$high-x.$high,p.$low-x.$low));q=(y=p,new $Uint64(q.$high+y.$high,q.$low+y.$low));o=(z=$mul64(new $Uint64(0,365),p),new $Uint64(o.$high-z.$high,o.$low-z.$low));k=(((aa=(ab=(new $Int64(q.$high,q.$low)),new $Int64(ab.$high+-69,ab.$low+4075721025)),aa.$low+((aa.$high>>31)*4294967296))>>0));n=((o.$low>>0));if(!j){return[k,l,m,n];}m=n;if(CD(k)){if(m>59){m=m-(1)>>0;}else if((m===59)){l=2;m=29;return[k,l,m,n];}}l=(((ac=m/31,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>0:$throwRuntimeError("integer divide by zero"))>>0));ae=(((ad=l+1>>0,((ad<0||ad>=BZ.length)?($throwRuntimeError("index out of range"),undefined):BZ[ad]))>>0));af=0;if(m>=ae){l=l+(1)>>0;af=ae;}else{af=((((l<0||l>=BZ.length)?($throwRuntimeError("index out of range"),undefined):BZ[l])>>0));}l=l+(1)>>0;m=(m-af>>0)+1>>0;return[k,l,m,n];};CA=function(i,j){var $ptr,i,j,k;if((i===2)&&CD(j)){return 29;}return(((((i<0||i>=BZ.length)?($throwRuntimeError("index out of range"),undefined):BZ[i])-(k=i-1>>0,((k<0||k>=BZ.length)?($throwRuntimeError("index out of range"),undefined):BZ[k]))>>0)>>0));};BM.ptr.prototype.UTC=function(){var $ptr,i;i=this;i.setLoc(CK);return i;};BM.prototype.UTC=function(){return this.$val.UTC();};BM.ptr.prototype.Local=function(){var $ptr,i;i=this;i.setLoc($pkg.Local);return i;};BM.prototype.Local=function(){return this.$val.Local();};BM.ptr.prototype.In=function(i){var $ptr,i,j;j=this;if(i===DJ.nil){$panic(new $String("time: missing Location in call to Time.In"));}j.setLoc(i);return j;};BM.prototype.In=function(i){return this.$val.In(i);};BM.ptr.prototype.Location=function(){var $ptr,i,j;i=this;j=i.loc;if(j===DJ.nil){j=$pkg.UTC;}return j;};BM.prototype.Location=function(){return this.$val.Location();};BM.ptr.prototype.Zone=function(){var $ptr,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i="";j=0;k=this;n=k.loc.lookup((m=k.sec,new $Int64(m.$high+-15,m.$low+2288912640)));$s=1;case 1:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=n;i=l[0];j=l[1];$s=-1;return[i,j];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.Zone};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.Zone=function(){return this.$val.Zone();};BM.ptr.prototype.Unix=function(){var $ptr,i,j;i=this;return(j=i.sec,new $Int64(j.$high+-15,j.$low+2288912640));};BM.prototype.Unix=function(){return this.$val.Unix();};BM.ptr.prototype.UnixNano=function(){var $ptr,i,j,k,l;i=this;return(j=$mul64(((k=i.sec,new $Int64(k.$high+-15,k.$low+2288912640))),new $Int64(0,1000000000)),l=(new $Int64(0,i.nsec)),new $Int64(j.$high+l.$high,j.$low+l.$low));};BM.prototype.UnixNano=function(){return this.$val.UnixNano();};BM.ptr.prototype.MarshalBinary=function(){var $ptr,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=0;if($clone(i,BM).Location()===$pkg.UTC){$s=1;continue;}$s=2;continue;case 1:j=-1;$s=3;continue;case 2:l=$clone(i,BM).Zone();$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[1];if(!(((n=m%60,n===n?n:$throwRuntimeError("integer divide by zero"))===0))){$s=-1;return[DG.nil,C.New("Time.MarshalBinary: zone offset has fractional minute")];}m=(o=m/(60),(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"));if(m<-32768||(m===-1)||m>32767){$s=-1;return[DG.nil,C.New("Time.MarshalBinary: unexpected zone offset")];}j=((m<<16>>16));case 3:p=new DG([1,(($shiftRightInt64(i.sec,56).$low<<24>>>24)),(($shiftRightInt64(i.sec,48).$low<<24>>>24)),(($shiftRightInt64(i.sec,40).$low<<24>>>24)),(($shiftRightInt64(i.sec,32).$low<<24>>>24)),(($shiftRightInt64(i.sec,24).$low<<24>>>24)),(($shiftRightInt64(i.sec,16).$low<<24>>>24)),(($shiftRightInt64(i.sec,8).$low<<24>>>24)),((i.sec.$low<<24>>>24)),(((i.nsec>>24>>0)<<24>>>24)),(((i.nsec>>16>>0)<<24>>>24)),(((i.nsec>>8>>0)<<24>>>24)),((i.nsec<<24>>>24)),(((j>>8<<16>>16)<<24>>>24)),((j<<24>>>24))]);$s=-1;return[p,$ifaceNil];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.MarshalBinary};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.MarshalBinary=function(){return this.$val.MarshalBinary();};BM.ptr.prototype.UnmarshalBinary=function(i){var $ptr,aa,ab,ac,ad,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;k=i;if(k.$length===0){$s=-1;return C.New("Time.UnmarshalBinary: no data");}if(!(((0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0])===1))){$s=-1;return C.New("Time.UnmarshalBinary: unsupported version");}if(!((k.$length===15))){$s=-1;return C.New("Time.UnmarshalBinary: invalid length");}k=$subslice(k,1);j.sec=(l=(m=(n=(o=(p=(q=(r=(new $Int64(0,(7>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+7]))),s=$shiftLeft64((new $Int64(0,(6>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+6]))),8),new $Int64(r.$high|s.$high,(r.$low|s.$low)>>>0)),t=$shiftLeft64((new $Int64(0,(5>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+5]))),16),new $Int64(q.$high|t.$high,(q.$low|t.$low)>>>0)),u=$shiftLeft64((new $Int64(0,(4>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+4]))),24),new $Int64(p.$high|u.$high,(p.$low|u.$low)>>>0)),v=$shiftLeft64((new $Int64(0,(3>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+3]))),32),new $Int64(o.$high|v.$high,(o.$low|v.$low)>>>0)),w=$shiftLeft64((new $Int64(0,(2>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+2]))),40),new $Int64(n.$high|w.$high,(n.$low|w.$low)>>>0)),x=$shiftLeft64((new $Int64(0,(1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1]))),48),new $Int64(m.$high|x.$high,(m.$low|x.$low)>>>0)),y=$shiftLeft64((new $Int64(0,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0]))),56),new $Int64(l.$high|y.$high,(l.$low|y.$low)>>>0));k=$subslice(k,8);j.nsec=(((((3>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+3])>>0))|((((2>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+2])>>0))<<8>>0))|((((1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1])>>0))<<16>>0))|((((0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0])>>0))<<24>>0);k=$subslice(k,4);z=$imul(((((((1>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+1])<<16>>16))|((((0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0])<<16>>16))<<8<<16>>16))>>0)),60);if(z===-60){$s=1;continue;}$s=2;continue;case 1:j.setLoc(CK);$s=3;continue;case 2:ac=$pkg.Local.lookup((ab=j.sec,new $Int64(ab.$high+-15,ab.$low+2288912640)));$s=4;case 4:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}aa=ac;ad=aa[1];if(z===ad){j.setLoc($pkg.Local);}else{j.setLoc(CN("",z));}case 3:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.UnmarshalBinary};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.UnmarshalBinary=function(i){return this.$val.UnmarshalBinary(i);};BM.ptr.prototype.GobEncode=function(){var $ptr,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=$clone(i,BM).MarshalBinary();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=-1;return j;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.GobEncode};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.GobEncode=function(){return this.$val.GobEncode();};BM.ptr.prototype.GobDecode=function(i){var $ptr,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;k=j.UnmarshalBinary(i);$s=1;case 1:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.GobDecode};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.GobDecode=function(i){return this.$val.GobDecode(i);};BM.ptr.prototype.MarshalJSON=function(){var $ptr,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=$clone(i,BM).Year();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(k<0||k>=10000){$s=-1;return[DG.nil,C.New("Time.MarshalJSON: year outside of range [0,9999]")];}l=$makeSlice(DG,0,37);l=$append(l,34);m=$clone(i,BM).AppendFormat(l,"2006-01-02T15:04:05.999999999Z07:00");$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;l=$append(l,34);$s=-1;return[l,$ifaceNil];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.MarshalJSON};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.MarshalJSON=function(){return this.$val.MarshalJSON();};BM.ptr.prototype.UnmarshalJSON=function(i){var $ptr,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;if(($bytesToString(i))==="null"){$s=-1;return $ifaceNil;}k=$ifaceNil;m=AL("\"2006-01-02T15:04:05Z07:00\"",($bytesToString(i)));$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;BM.copy(j,l[0]);k=l[1];$s=-1;return k;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.UnmarshalJSON};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.UnmarshalJSON=function(i){return this.$val.UnmarshalJSON(i);};BM.ptr.prototype.MarshalText=function(){var $ptr,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=$clone(i,BM).Year();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(k<0||k>=10000){$s=-1;return[DG.nil,C.New("Time.MarshalText: year outside of range [0,9999]")];}l=$makeSlice(DG,0,35);m=$clone(i,BM).AppendFormat(l,"2006-01-02T15:04:05.999999999Z07:00");$s=2;case 2:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return[m,$ifaceNil];}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.MarshalText};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.MarshalText=function(){return this.$val.MarshalText();};BM.ptr.prototype.UnmarshalText=function(i){var $ptr,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j=this;k=$ifaceNil;m=AL("2006-01-02T15:04:05Z07:00",($bytesToString(i)));$s=1;case 1:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;BM.copy(j,l[0]);k=l[1];$s=-1;return k;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.UnmarshalText};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.UnmarshalText=function(i){return this.$val.UnmarshalText(i);};CC=function(i,j){var $ptr,i,j,k,l,m,n,o;if((j.$high<0||(j.$high===0&&j.$low<0))||(j.$high>0||(j.$high===0&&j.$low>=1000000000))){k=$div64(j,new $Int64(0,1000000000),false);i=(l=k,new $Int64(i.$high+l.$high,i.$low+l.$low));j=(m=$mul64(k,new $Int64(0,1000000000)),new $Int64(j.$high-m.$high,j.$low-m.$low));if((j.$high<0||(j.$high===0&&j.$low<0))){j=(n=new $Int64(0,1000000000),new $Int64(j.$high+n.$high,j.$low+n.$low));i=(o=new $Int64(0,1),new $Int64(i.$high-o.$high,i.$low-o.$low));}}return new BM.ptr(new $Int64(i.$high+14,i.$low+2006054656),(((j.$low+((j.$high>>31)*4294967296))>>0)),$pkg.Local);};$pkg.Unix=CC;CD=function(i){var $ptr,i,j,k,l;return((j=i%4,j===j?j:$throwRuntimeError("integer divide by zero"))===0)&&(!(((k=i%100,k===k?k:$throwRuntimeError("integer divide by zero"))===0))||((l=i%400,l===l?l:$throwRuntimeError("integer divide by zero"))===0));};CE=function(i,j,k){var $ptr,i,j,k,l,m,n,o,p,q,r,s;l=0;m=0;if(j<0){o=(n=((-j-1>>0))/k,(n===n&&n!==1/0&&n!==-1/0)?n>>0:$throwRuntimeError("integer divide by zero"))+1>>0;i=i-(o)>>0;j=j+(($imul(o,k)))>>0;}if(j>=k){q=(p=j/k,(p===p&&p!==1/0&&p!==-1/0)?p>>0:$throwRuntimeError("integer divide by zero"));i=i+(q)>>0;j=j-(($imul(q,k)))>>0;}r=i;s=j;l=r;m=s;return[l,m];};CF=function(i,j,k,l,m,n,o,p){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(p===DJ.nil){$panic(new $String("time: missing Location in call to Date"));}q=((j>>0))-1>>0;r=CE(i,q,12);i=r[0];q=r[1];j=((q>>0))+1>>0;s=CE(n,o,1000000000);n=s[0];o=s[1];t=CE(m,n,60);m=t[0];n=t[1];u=CE(l,m,60);l=u[0];m=u[1];v=CE(k,l,24);k=v[0];l=v[1];y=((w=(x=(new $Int64(0,i)),new $Int64(x.$high- -69,x.$low-4075721025)),new $Uint64(w.$high,w.$low)));z=$div64(y,new $Uint64(0,400),false);y=(aa=$mul64(new $Uint64(0,400),z),new $Uint64(y.$high-aa.$high,y.$low-aa.$low));ab=$mul64(new $Uint64(0,146097),z);z=$div64(y,new $Uint64(0,100),false);y=(ac=$mul64(new $Uint64(0,100),z),new $Uint64(y.$high-ac.$high,y.$low-ac.$low));ab=(ad=$mul64(new $Uint64(0,36524),z),new $Uint64(ab.$high+ad.$high,ab.$low+ad.$low));z=$div64(y,new $Uint64(0,4),false);y=(ae=$mul64(new $Uint64(0,4),z),new $Uint64(y.$high-ae.$high,y.$low-ae.$low));ab=(af=$mul64(new $Uint64(0,1461),z),new $Uint64(ab.$high+af.$high,ab.$low+af.$low));z=y;ab=(ag=$mul64(new $Uint64(0,365),z),new $Uint64(ab.$high+ag.$high,ab.$low+ag.$low));ab=(ah=(new $Uint64(0,(ai=j-1>>0,((ai<0||ai>=BZ.length)?($throwRuntimeError("index out of range"),undefined):BZ[ai])))),new $Uint64(ab.$high+ah.$high,ab.$low+ah.$low));if(CD(i)&&j>=3){ab=(aj=new $Uint64(0,1),new $Uint64(ab.$high+aj.$high,ab.$low+aj.$low));}ab=(ak=(new $Uint64(0,(k-1>>0))),new $Uint64(ab.$high+ak.$high,ab.$low+ak.$low));al=$mul64(ab,new $Uint64(0,86400));al=(am=(new $Uint64(0,((($imul(l,3600))+($imul(m,60))>>0)+n>>0))),new $Uint64(al.$high+am.$high,al.$low+am.$low));ao=(an=(new $Int64(al.$high,al.$low)),new $Int64(an.$high+-2147483647,an.$low+3844486912));aq=p.lookup(ao);$s=1;case 1:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;ar=ap[1];as=ap[3];at=ap[4];if(!((ar===0))){$s=2;continue;}$s=3;continue;case 2:av=(au=(new $Int64(0,ar)),new $Int64(ao.$high-au.$high,ao.$low-au.$low));if((av.$high<as.$high||(av.$high===as.$high&&av.$low<as.$low))){$s=5;continue;}if((av.$high>at.$high||(av.$high===at.$high&&av.$low>=at.$low))){$s=6;continue;}$s=7;continue;case 5:ax=p.lookup(new $Int64(as.$high-0,as.$low-1));$s=8;case 8:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}aw=ax;ar=aw[1];$s=7;continue;case 6:az=p.lookup(at);$s=9;case 9:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ay=az;ar=ay[1];case 7:case 4:ao=(ba=(new $Int64(0,ar)),new $Int64(ao.$high-ba.$high,ao.$low-ba.$low));case 3:bb=new BM.ptr(new $Int64(ao.$high+14,ao.$low+2006054656),((o>>0)),DJ.nil);bb.setLoc(p);$s=-1;return bb;}return;}if($f===undefined){$f={$blk:CF};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Date=CF;BM.ptr.prototype.Truncate=function(i){var $ptr,i,j,k,l;j=this;if((i.$high<0||(i.$high===0&&i.$low<=0))){return j;}k=CG($clone(j,BM),i);l=k[1];return $clone(j,BM).Add(new BT(-l.$high,-l.$low));};BM.prototype.Truncate=function(i){return this.$val.Truncate(i);};BM.ptr.prototype.Round=function(i){var $ptr,i,j,k,l,m;j=this;if((i.$high<0||(i.$high===0&&i.$low<=0))){return j;}k=CG($clone(j,BM),i);l=k[1];if((m=new BT(l.$high+l.$high,l.$low+l.$low),(m.$high<i.$high||(m.$high===i.$high&&m.$low<i.$low)))){return $clone(j,BM).Add(new BT(-l.$high,-l.$low));}return $clone(j,BM).Add(new BT(i.$high-l.$high,i.$low-l.$low));};BM.prototype.Round=function(i){return this.$val.Round(i);};CG=function(i,j){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;k=0;l=new BT(0,0);m=false;n=i.nsec;if((o=i.sec,(o.$high<0||(o.$high===0&&o.$low<0)))){m=true;i.sec=(p=i.sec,new $Int64(-p.$high,-p.$low));n=-n;if(n<0){n=n+(1000000000)>>0;i.sec=(q=i.sec,r=new $Int64(0,1),new $Int64(q.$high-r.$high,q.$low-r.$low));}}if((j.$high<0||(j.$high===0&&j.$low<1000000000))&&(s=$div64(new BT(0,1000000000),(new BT(j.$high+j.$high,j.$low+j.$low)),true),(s.$high===0&&s.$low===0))){k=(((u=n/(((j.$low+((j.$high>>31)*4294967296))>>0)),(u===u&&u!==1/0&&u!==-1/0)?u>>0:$throwRuntimeError("integer divide by zero"))>>0))&1;l=(new BT(0,(v=n%(((j.$low+((j.$high>>31)*4294967296))>>0)),v===v?v:$throwRuntimeError("integer divide by zero"))));}else if((t=$div64(j,new BT(0,1000000000),true),(t.$high===0&&t.$low===0))){x=((w=$div64(j,new BT(0,1000000000),false),new $Int64(w.$high,w.$low)));k=(((y=$div64(i.sec,x,false),y.$low+((y.$high>>31)*4294967296))>>0))&1;l=(z=$mul64(((aa=$div64(i.sec,x,true),new BT(aa.$high,aa.$low))),new BT(0,1000000000)),ab=(new BT(0,n)),new BT(z.$high+ab.$high,z.$low+ab.$low));}else{ad=((ac=i.sec,new $Uint64(ac.$high,ac.$low)));ae=$mul64(($shiftRightUint64(ad,32)),new $Uint64(0,1000000000));af=$shiftRightUint64(ae,32);ag=$shiftLeft64(ae,32);ae=$mul64((new $Uint64(ad.$high&0,(ad.$low&4294967295)>>>0)),new $Uint64(0,1000000000));ah=ag;ai=new $Uint64(ag.$high+ae.$high,ag.$low+ae.$low);aj=ah;ag=ai;if((ag.$high<aj.$high||(ag.$high===aj.$high&&ag.$low<aj.$low))){af=(ak=new $Uint64(0,1),new $Uint64(af.$high+ak.$high,af.$low+ak.$low));}al=ag;am=(an=(new $Uint64(0,n)),new $Uint64(ag.$high+an.$high,ag.$low+an.$low));aj=al;ag=am;if((ag.$high<aj.$high||(ag.$high===aj.$high&&ag.$low<aj.$low))){af=(ao=new $Uint64(0,1),new $Uint64(af.$high+ao.$high,af.$low+ao.$low));}ap=(new $Uint64(j.$high,j.$low));while(true){if(!(!((aq=$shiftRightUint64(ap,63),(aq.$high===0&&aq.$low===1))))){break;}ap=$shiftLeft64(ap,(1));}ar=new $Uint64(0,0);while(true){k=0;if((af.$high>ap.$high||(af.$high===ap.$high&&af.$low>ap.$low))||(af.$high===ap.$high&&af.$low===ap.$low)&&(ag.$high>ar.$high||(ag.$high===ar.$high&&ag.$low>=ar.$low))){k=1;as=ag;at=new $Uint64(ag.$high-ar.$high,ag.$low-ar.$low);aj=as;ag=at;if((ag.$high>aj.$high||(ag.$high===aj.$high&&ag.$low>aj.$low))){af=(au=new $Uint64(0,1),new $Uint64(af.$high-au.$high,af.$low-au.$low));}af=(av=ap,new $Uint64(af.$high-av.$high,af.$low-av.$low));}if((ap.$high===0&&ap.$low===0)&&(aw=(new $Uint64(j.$high,j.$low)),(ar.$high===aw.$high&&ar.$low===aw.$low))){break;}ar=$shiftRightUint64(ar,(1));ar=(ax=$shiftLeft64((new $Uint64(ap.$high&0,(ap.$low&1)>>>0)),63),new $Uint64(ar.$high|ax.$high,(ar.$low|ax.$low)>>>0));ap=$shiftRightUint64(ap,(1));}l=(new BT(ag.$high,ag.$low));}if(m&&!((l.$high===0&&l.$low===0))){k=(k^(1))>>0;l=new BT(j.$high-l.$high,j.$low-l.$low);}return[k,l];};CH.ptr.prototype.get=function(){var $ptr,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;if(i===DJ.nil){$s=-1;return CK;}if(i===CL){$s=1;continue;}$s=2;continue;case 1:$r=CM.Do(H);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$s=-1;return i;}return;}if($f===undefined){$f={$blk:CH.ptr.prototype.get};}$f.$ptr=$ptr;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};CH.prototype.get=function(){return this.$val.get();};CH.ptr.prototype.String=function(){var $ptr,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:i=this;j=i.get();$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=-1;return j.name;}return;}if($f===undefined){$f={$blk:CH.ptr.prototype.String};}$f.$ptr=$ptr;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};CH.prototype.String=function(){return this.$val.String();};CN=function(i,j){var $ptr,i,j,k,l;k=new CH.ptr(i,new DA([new CI.ptr(i,j,false)]),new DB([new CJ.ptr(new $Int64(-2147483648,0),0,false,false)]),new $Int64(-2147483648,0),new $Int64(2147483647,4294967295),DC.nil);k.cacheZone=(l=k.zone,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0]));return k;};$pkg.FixedZone=CN;CH.ptr.prototype.lookup=function(i){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:j="";k=0;l=false;m=new $Int64(0,0);n=new $Int64(0,0);o=this;p=o.get();$s=1;case 1:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;if(o.zone.$length===0){j="UTC";k=0;l=false;m=new $Int64(-2147483648,0);n=new $Int64(2147483647,4294967295);$s=-1;return[j,k,l,m,n];}q=o.cacheZone;if(!(q===DC.nil)&&(r=o.cacheStart,(r.$high<i.$high||(r.$high===i.$high&&r.$low<=i.$low)))&&(s=o.cacheEnd,(i.$high<s.$high||(i.$high===s.$high&&i.$low<s.$low)))){j=q.name;k=q.offset;l=q.isDST;m=o.cacheStart;n=o.cacheEnd;$s=-1;return[j,k,l,m,n];}if((o.tx.$length===0)||(t=(u=o.tx,(0>=u.$length?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+0])).when,(i.$high<t.$high||(i.$high===t.$high&&i.$low<t.$low)))){x=(v=o.zone,w=o.lookupFirstZone(),((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w]));j=x.name;k=x.offset;l=x.isDST;m=new $Int64(-2147483648,0);if(o.tx.$length>0){n=(y=o.tx,(0>=y.$length?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+0])).when;}else{n=new $Int64(2147483647,4294967295);}$s=-1;return[j,k,l,m,n];}z=o.tx;n=new $Int64(2147483647,4294967295);aa=0;ab=z.$length;while(true){if(!((ab-aa>>0)>1)){break;}ad=aa+(ac=((ab-aa>>0))/2,(ac===ac&&ac!==1/0&&ac!==-1/0)?ac>>0:$throwRuntimeError("integer divide by zero"))>>0;ae=((ad<0||ad>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+ad]).when;if((i.$high<ae.$high||(i.$high===ae.$high&&i.$low<ae.$low))){n=ae;ab=ad;}else{aa=ad;}}ah=(af=o.zone,ag=((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]).index,((ag<0||ag>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+ag]));j=ah.name;k=ah.offset;l=ah.isDST;m=((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]).when;$s=-1;return[j,k,l,m,n];}return;}if($f===undefined){$f={$blk:CH.ptr.prototype.lookup};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CH.prototype.lookup=function(i){return this.$val.lookup(i);};CH.ptr.prototype.lookupFirstZone=function(){var $ptr,i,j,k,l,m,n,o,p,q,r,s;i=this;if(!i.firstZoneUsed()){return 0;}if(i.tx.$length>0&&(j=i.zone,k=(l=i.tx,(0>=l.$length?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+0])).index,((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k])).isDST){n=(((m=i.tx,(0>=m.$length?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+0])).index>>0))-1>>0;while(true){if(!(n>=0)){break;}if(!(o=i.zone,((n<0||n>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+n])).isDST){return n;}n=n-(1)>>0;}}p=i.zone;q=0;while(true){if(!(q<p.$length)){break;}r=q;if(!(s=i.zone,((r<0||r>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+r])).isDST){return r;}q++;}return 0;};CH.prototype.lookupFirstZone=function(){return this.$val.lookupFirstZone();};CH.ptr.prototype.firstZoneUsed=function(){var $ptr,i,j,k,l;i=this;j=i.tx;k=0;while(true){if(!(k<j.$length)){break;}l=$clone(((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]),CJ);if(l.index===0){return true;}k++;}return false;};CH.prototype.firstZoneUsed=function(){return this.$val.firstZoneUsed();};CH.ptr.prototype.lookupName=function(i,j){var $ptr,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:k=0;l=false;m=false;n=this;o=n.get();$s=1;case 1:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;p=n.zone;q=0;case 2:if(!(q<p.$length)){$s=3;continue;}r=q;t=(s=n.zone,((r<0||r>=s.$length)?($throwRuntimeError("index out of range"),undefined):s.$array[s.$offset+r]));if(t.name===i){$s=4;continue;}$s=5;continue;case 4:w=n.lookup((v=(new $Int64(0,t.offset)),new $Int64(j.$high-v.$high,j.$low-v.$low)));$s=6;case 6:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}u=w;x=u[0];y=u[1];z=u[2];if(x===t.name){aa=y;ab=z;ac=true;k=aa;l=ab;m=ac;$s=-1;return[k,l,m];}case 5:q++;$s=2;continue;case 3:ad=n.zone;ae=0;while(true){if(!(ae<ad.$length)){break;}af=ae;ah=(ag=n.zone,((af<0||af>=ag.$length)?($throwRuntimeError("index out of range"),undefined):ag.$array[ag.$offset+af]));if(ah.name===i){ai=ah.offset;aj=ah.isDST;ak=true;k=ai;l=aj;m=ak;$s=-1;return[k,l,m];}ae++;}$s=-1;return[k,l,m];}return;}if($f===undefined){$f={$blk:CH.ptr.prototype.lookupName};}$f.$ptr=$ptr;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};CH.prototype.lookupName=function(i,j){return this.$val.lookupName(i,j);};DR.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];BM.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Format",name:"Format",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"AppendFormat",name:"AppendFormat",pkg:"",typ:$funcType([DG,$String],[DG],false)},{prop:"After",name:"After",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"Before",name:"Before",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"Equal",name:"Equal",pkg:"",typ:$funcType([BM],[$Bool],false)},{prop:"IsZero",name:"IsZero",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"abs",name:"abs",pkg:"time",typ:$funcType([],[$Uint64],false)},{prop:"locabs",name:"locabs",pkg:"time",typ:$funcType([],[$String,$Int,$Uint64],false)},{prop:"Date",name:"Date",pkg:"",typ:$funcType([],[$Int,BN,$Int],false)},{prop:"Year",name:"Year",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Month",name:"Month",pkg:"",typ:$funcType([],[BN],false)},{prop:"Day",name:"Day",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Weekday",name:"Weekday",pkg:"",typ:$funcType([],[BP],false)},{prop:"ISOWeek",name:"ISOWeek",pkg:"",typ:$funcType([],[$Int,$Int],false)},{prop:"Clock",name:"Clock",pkg:"",typ:$funcType([],[$Int,$Int,$Int],false)},{prop:"Hour",name:"Hour",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Minute",name:"Minute",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Second",name:"Second",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Nanosecond",name:"Nanosecond",pkg:"",typ:$funcType([],[$Int],false)},{prop:"YearDay",name:"YearDay",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Add",name:"Add",pkg:"",typ:$funcType([BT],[BM],false)},{prop:"Sub",name:"Sub",pkg:"",typ:$funcType([BM],[BT],false)},{prop:"AddDate",name:"AddDate",pkg:"",typ:$funcType([$Int,$Int,$Int],[BM],false)},{prop:"date",name:"date",pkg:"time",typ:$funcType([$Bool],[$Int,BN,$Int,$Int],false)},{prop:"UTC",name:"UTC",pkg:"",typ:$funcType([],[BM],false)},{prop:"Local",name:"Local",pkg:"",typ:$funcType([],[BM],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([DJ],[BM],false)},{prop:"Location",name:"Location",pkg:"",typ:$funcType([],[DJ],false)},{prop:"Zone",name:"Zone",pkg:"",typ:$funcType([],[$String,$Int],false)},{prop:"Unix",name:"Unix",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"UnixNano",name:"UnixNano",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"MarshalBinary",name:"MarshalBinary",pkg:"",typ:$funcType([],[DG,$error],false)},{prop:"GobEncode",name:"GobEncode",pkg:"",typ:$funcType([],[DG,$error],false)},{prop:"MarshalJSON",name:"MarshalJSON",pkg:"",typ:$funcType([],[DG,$error],false)},{prop:"MarshalText",name:"MarshalText",pkg:"",typ:$funcType([],[DG,$error],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([BT],[BM],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([BT],[BM],false)}];DV.methods=[{prop:"setLoc",name:"setLoc",pkg:"time",typ:$funcType([DJ],[],false)},{prop:"UnmarshalBinary",name:"UnmarshalBinary",pkg:"",typ:$funcType([DG],[$error],false)},{prop:"GobDecode",name:"GobDecode",pkg:"",typ:$funcType([DG],[$error],false)},{prop:"UnmarshalJSON",name:"UnmarshalJSON",pkg:"",typ:$funcType([DG],[$error],false)},{prop:"UnmarshalText",name:"UnmarshalText",pkg:"",typ:$funcType([DG],[$error],false)}];BN.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];BP.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];BT.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Nanoseconds",name:"Nanoseconds",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Seconds",name:"Seconds",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Minutes",name:"Minutes",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Hours",name:"Hours",pkg:"",typ:$funcType([],[$Float64],false)}];DJ.methods=[{prop:"get",name:"get",pkg:"time",typ:$funcType([],[DJ],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"lookup",name:"lookup",pkg:"time",typ:$funcType([$Int64],[$String,$Int,$Bool,$Int64,$Int64],false)},{prop:"lookupFirstZone",name:"lookupFirstZone",pkg:"time",typ:$funcType([],[$Int],false)},{prop:"firstZoneUsed",name:"firstZoneUsed",pkg:"time",typ:$funcType([],[$Bool],false)},{prop:"lookupName",name:"lookupName",pkg:"time",typ:$funcType([$String,$Int64],[$Int,$Bool,$Bool],false)}];AF.init("",[{prop:"Layout",name:"Layout",exported:true,typ:$String,tag:""},{prop:"Value",name:"Value",exported:true,typ:$String,tag:""},{prop:"LayoutElem",name:"LayoutElem",exported:true,typ:$String,tag:""},{prop:"ValueElem",name:"ValueElem",exported:true,typ:$String,tag:""},{prop:"Message",name:"Message",exported:true,typ:$String,tag:""}]);BM.init("time",[{prop:"sec",name:"sec",exported:false,typ:$Int64,tag:""},{prop:"nsec",name:"nsec",exported:false,typ:$Int32,tag:""},{prop:"loc",name:"loc",exported:false,typ:DJ,tag:""}]);CH.init("time",[{prop:"name",name:"name",exported:false,typ:$String,tag:""},{prop:"zone",name:"zone",exported:false,typ:DA,tag:""},{prop:"tx",name:"tx",exported:false,typ:DB,tag:""},{prop:"cacheStart",name:"cacheStart",exported:false,typ:$Int64,tag:""},{prop:"cacheEnd",name:"cacheEnd",exported:false,typ:$Int64,tag:""},{prop:"cacheZone",name:"cacheZone",exported:false,typ:DC,tag:""}]);CI.init("time",[{prop:"name",name:"name",exported:false,typ:$String,tag:""},{prop:"offset",name:"offset",exported:false,typ:$Int,tag:""},{prop:"isDST",name:"isDST",exported:false,typ:$Bool,tag:""}]);CJ.init("time",[{prop:"when",name:"when",exported:false,typ:$Int64,tag:""},{prop:"index",name:"index",exported:false,typ:$Uint8,tag:""},{prop:"isstd",name:"isstd",exported:false,typ:$Bool,tag:""},{prop:"isutc",name:"isutc",exported:false,typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}CL=new CH.ptr("",DA.nil,DB.nil,new $Int64(0,0),new $Int64(0,0),DC.nil);CM=new E.Once.ptr(false,false);R=$toNativeArray($kindInt,[260,265,524,526,528,274]);U=new DD(["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);V=new DD(["Sun","Mon","Tue","Wed","Thu","Fri","Sat"]);W=new DD(["---","Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]);X=new DD(["---","January","February","March","April","May","June","July","August","September","October","November","December"]);AB=C.New("time: invalid number");AE=C.New("bad value for field");AR=C.New("time: bad [0-9]*");BO=$toNativeArray($kindString,["January","February","March","April","May","June","July","August","September","October","November","December"]);BQ=$toNativeArray($kindString,["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]);BZ=$toNativeArray($kindInt32,[0,31,59,90,120,151,181,212,243,273,304,334,365]);CK=new CH.ptr("UTC",DA.nil,DB.nil,new $Int64(0,0),new $Int64(0,0),DC.nil);$pkg.UTC=CK;$pkg.Local=CL;h=D.Getenv("ZONEINFO");$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;CO=g[0];CS=C.New("malformed time zone information");F();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["os"]=(function(){var $pkg={},$init,A,B,C,E,F,G,D,H,X,Y,AU,BL,BN,CY,CZ,DA,DC,DF,DG,DH,DI,DJ,DK,DL,DM,DU,DZ,EA,EE,EF,EH,EI,AR,AZ,BW,CV,I,J,Z,AB,AD,AF,AX,BB,BC,BE,BF,BM,BO,BP,BY,BZ,CC,CD,CF,CM,CN,CP,CQ,CW;A=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];C=$packages["io"];E=$packages["runtime"];F=$packages["sync"];G=$packages["sync/atomic"];D=$packages["syscall"];H=$packages["time"];X=$pkg.PathError=$newType(0,$kindStruct,"os.PathError",true,"os",true,function(Op_,Path_,Err_){this.$val=this;if(arguments.length===0){this.Op="";this.Path="";this.Err=$ifaceNil;return;}this.Op=Op_;this.Path=Path_;this.Err=Err_;});Y=$pkg.SyscallError=$newType(0,$kindStruct,"os.SyscallError",true,"os",true,function(Syscall_,Err_){this.$val=this;if(arguments.length===0){this.Syscall="";this.Err=$ifaceNil;return;}this.Syscall=Syscall_;this.Err=Err_;});AU=$pkg.LinkError=$newType(0,$kindStruct,"os.LinkError",true,"os",true,function(Op_,Old_,New_,Err_){this.$val=this;if(arguments.length===0){this.Op="";this.Old="";this.New="";this.Err=$ifaceNil;return;}this.Op=Op_;this.Old=Old_;this.New=New_;this.Err=Err_;});BL=$pkg.file=$newType(0,$kindStruct,"os.file",true,"os",false,function(fd_,name_,dirinfo_){this.$val=this;if(arguments.length===0){this.fd=0;this.name="";this.dirinfo=DI.nil;return;}this.fd=fd_;this.name=name_;this.dirinfo=dirinfo_;});BN=$pkg.dirInfo=$newType(0,$kindStruct,"os.dirInfo",true,"os",false,function(buf_,nbuf_,bufp_){this.$val=this;if(arguments.length===0){this.buf=DJ.nil;this.nbuf=0;this.bufp=0;return;}this.buf=buf_;this.nbuf=nbuf_;this.bufp=bufp_;});CY=$pkg.File=$newType(0,$kindStruct,"os.File",true,"os",true,function(file_){this.$val=this;if(arguments.length===0){this.file=DZ.nil;return;}this.file=file_;});CZ=$pkg.FileInfo=$newType(8,$kindInterface,"os.FileInfo",true,"os",true,null);DA=$pkg.FileMode=$newType(4,$kindUint32,"os.FileMode",true,"os",true,null);DC=$pkg.fileStat=$newType(0,$kindStruct,"os.fileStat",true,"os",false,function(name_,size_,mode_,modTime_,sys_){this.$val=this;if(arguments.length===0){this.name="";this.size=new $Int64(0,0);this.mode=0;this.modTime=new H.Time.ptr(new $Int64(0,0),0,EE.nil);this.sys=new D.Stat_t.ptr(0,0,0,new $Uint64(0,0),0,0,0,DU.zero(),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new $Int64(0,0),new $Int64(0,0),0,0,0,0,EF.zero());return;}this.name=name_;this.size=size_;this.mode=mode_;this.modTime=modTime_;this.sys=sys_;});DF=$sliceType($String);DG=$ptrType(CY);DH=$sliceType(CZ);DI=$ptrType(BN);DJ=$sliceType($Uint8);DK=$ptrType(X);DL=$ptrType(AU);DM=$ptrType(Y);DU=$arrayType($Uint8,4);DZ=$ptrType(BL);EA=$funcType([DZ],[$error],false);EE=$ptrType(H.Location);EF=$arrayType($Int64,2);EH=$arrayType($Uint8,32);EI=$ptrType(DC);I=function(){var $ptr;return $pkg.Args;};J=function(){var $ptr,c,d,e;c=$global.process;if(!(c===undefined)){d=c.argv;$pkg.Args=$makeSlice(DF,($parseInt(d.length)-1>>0));e=0;while(true){if(!(e<($parseInt(d.length)-1>>0))){break;}((e<0||e>=$pkg.Args.$length)?($throwRuntimeError("index out of range"),undefined):$pkg.Args.$array[$pkg.Args.$offset+e]=$internalize(d[(e+1>>0)],$String));e=e+(1)>>0;}}if($pkg.Args.$length===0){$pkg.Args=new DF(["?"]);}};CY.ptr.prototype.Readdir=function(c){var $ptr,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(d===DG.nil){$s=-1;return[DH.nil,$pkg.ErrInvalid];}e=d.readdir(c);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:CY.ptr.prototype.Readdir};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};CY.prototype.Readdir=function(c){return this.$val.Readdir(c);};CY.ptr.prototype.Readdirnames=function(c){var $ptr,c,d,e,f,g,h,i;d=DF.nil;e=$ifaceNil;f=this;if(f===DG.nil){g=DF.nil;h=$pkg.ErrInvalid;d=g;e=h;return[d,e];}i=f.readdirnames(c);d=i[0];e=i[1];return[d,e];};CY.prototype.Readdirnames=function(c){return this.$val.Readdirnames(c);};CY.ptr.prototype.readdir=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=DH.nil;e=$ifaceNil;f=this;g=f.file.name;if(g===""){g=".";}h=f.Readdirnames(c);i=h[0];e=h[1];d=$makeSlice(DH,0,i.$length);j=i;k=0;case 1:if(!(k<j.$length)){$s=2;continue;}l=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);n=AZ(g+"/"+l);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];if(AB(p)){k++;$s=1;continue;}if(!($interfaceIsEqual(p,$ifaceNil))){q=d;r=p;d=q;e=r;$s=-1;return[d,e];}d=$append(d,o);k++;$s=1;continue;case 2:if((d.$length===0)&&$interfaceIsEqual(e,$ifaceNil)&&c>0){e=C.EOF;}s=d;t=e;d=s;e=t;$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:CY.ptr.prototype.readdir};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};CY.prototype.readdir=function(c){return this.$val.readdir(c);};CY.ptr.prototype.readdirnames=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v;d=DF.nil;e=$ifaceNil;f=this;if(f.file.dirinfo===DI.nil){f.file.dirinfo=new BN.ptr(DJ.nil,0,0);f.file.dirinfo.buf=$makeSlice(DJ,4096);}g=f.file.dirinfo;h=c;if(h<=0){h=100;c=-1;}d=$makeSlice(DF,0,h);while(true){if(!(!((c===0)))){break;}if(g.bufp>=g.nbuf){g.bufp=0;i=$ifaceNil;k=D.ReadDirent(f.file.fd,g.buf);j=BB(k[0],k[1]);g.nbuf=j[0];i=j[1];if(!($interfaceIsEqual(i,$ifaceNil))){l=d;m=Z("readdirent",i);d=l;e=m;return[d,e];}if(g.nbuf<=0){break;}}n=0;o=0;p=n;q=o;r=D.ParseDirent($subslice(g.buf,g.bufp,g.nbuf),c,d);p=r[0];q=r[1];d=r[2];g.bufp=g.bufp+(p)>>0;c=c-(q)>>0;}if(c>=0&&(d.$length===0)){s=d;t=C.EOF;d=s;e=t;return[d,e];}u=d;v=$ifaceNil;d=u;e=v;return[d,e];};CY.prototype.readdirnames=function(c){return this.$val.readdirnames(c);};X.ptr.prototype.Error=function(){var $ptr,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Err.Error();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return c.Op+" "+c.Path+": "+d;}return;}if($f===undefined){$f={$blk:X.ptr.prototype.Error};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};X.prototype.Error=function(){return this.$val.Error();};Y.ptr.prototype.Error=function(){var $ptr,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Err.Error();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return c.Syscall+": "+d;}return;}if($f===undefined){$f={$blk:Y.ptr.prototype.Error};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};Y.prototype.Error=function(){return this.$val.Error();};Z=function(c,d){var $ptr,c,d;if($interfaceIsEqual(d,$ifaceNil)){return $ifaceNil;}return new Y.ptr(c,d);};$pkg.NewSyscallError=Z;AB=function(c){var $ptr,c;return AF(c);};$pkg.IsNotExist=AB;AD=function(c){var $ptr,c,d,e,f,g;d=c;if($assertType(d,DK,true)[1]){e=d.$val;return e.Err;}else if($assertType(d,DL,true)[1]){f=d.$val;return f.Err;}else if($assertType(d,DM,true)[1]){g=d.$val;return g.Err;}return c;};AF=function(c){var $ptr,c;c=AD(c);return $interfaceIsEqual(c,new D.Errno(2))||$interfaceIsEqual(c,$pkg.ErrNotExist);};CY.ptr.prototype.Name=function(){var $ptr,c;c=this;return c.file.name;};CY.prototype.Name=function(){return this.$val.Name();};AU.ptr.prototype.Error=function(){var $ptr,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.Err.Error();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return c.Op+" "+c.Old+" "+c.New+": "+d;}return;}if($f===undefined){$f={$blk:AU.ptr.prototype.Error};}$f.$ptr=$ptr;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AU.prototype.Error=function(){return this.$val.Error();};CY.ptr.prototype.Read=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o;d=0;e=$ifaceNil;f=this;g=f.checkValid("read");if(!($interfaceIsEqual(g,$ifaceNil))){h=0;i=g;d=h;e=i;return[d,e];}j=f.read(c);d=j[0];k=j[1];if((d===0)&&c.$length>0&&$interfaceIsEqual(k,$ifaceNil)){l=0;m=C.EOF;d=l;e=m;return[d,e];}if(!($interfaceIsEqual(k,$ifaceNil))){e=new X.ptr("read",f.file.name,k);}n=d;o=e;d=n;e=o;return[d,e];};CY.prototype.Read=function(c){return this.$val.Read(c);};CY.ptr.prototype.ReadAt=function(c,d){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p;e=0;f=$ifaceNil;g=this;h=g.checkValid("read");if(!($interfaceIsEqual(h,$ifaceNil))){i=0;j=h;e=i;f=j;return[e,f];}while(true){if(!(c.$length>0)){break;}k=g.pread(c,d);l=k[0];m=k[1];if((l===0)&&$interfaceIsEqual(m,$ifaceNil)){n=e;o=C.EOF;e=n;f=o;return[e,f];}if(!($interfaceIsEqual(m,$ifaceNil))){f=new X.ptr("read",g.file.name,m);break;}e=e+(l)>>0;c=$subslice(c,l);d=(p=(new $Int64(0,l)),new $Int64(d.$high+p.$high,d.$low+p.$low));}return[e,f];};CY.prototype.ReadAt=function(c,d){return this.$val.ReadAt(c,d);};CY.ptr.prototype.Write=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l,m;d=0;e=$ifaceNil;f=this;g=f.checkValid("write");if(!($interfaceIsEqual(g,$ifaceNil))){h=0;i=g;d=h;e=i;return[d,e];}j=f.write(c);d=j[0];k=j[1];if(d<0){d=0;}if(!((d===c.$length))){e=C.ErrShortWrite;}BO(f,k);if(!($interfaceIsEqual(k,$ifaceNil))){e=new X.ptr("write",f.file.name,k);}l=d;m=e;d=l;e=m;return[d,e];};CY.prototype.Write=function(c){return this.$val.Write(c);};CY.ptr.prototype.WriteAt=function(c,d){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n;e=0;f=$ifaceNil;g=this;h=g.checkValid("write");if(!($interfaceIsEqual(h,$ifaceNil))){i=0;j=h;e=i;f=j;return[e,f];}while(true){if(!(c.$length>0)){break;}k=g.pwrite(c,d);l=k[0];m=k[1];if(!($interfaceIsEqual(m,$ifaceNil))){f=new X.ptr("write",g.file.name,m);break;}e=e+(l)>>0;c=$subslice(c,l);d=(n=(new $Int64(0,l)),new $Int64(d.$high+n.$high,d.$low+n.$low));}return[e,f];};CY.prototype.WriteAt=function(c,d){return this.$val.WriteAt(c,d);};CY.ptr.prototype.Seek=function(c,d){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;e=new $Int64(0,0);f=$ifaceNil;g=this;h=g.checkValid("seek");if(!($interfaceIsEqual(h,$ifaceNil))){i=new $Int64(0,0);j=h;e=i;f=j;return[e,f];}k=g.seek(c,d);l=k[0];m=k[1];if($interfaceIsEqual(m,$ifaceNil)&&!(g.file.dirinfo===DI.nil)&&!((l.$high===0&&l.$low===0))){m=new D.Errno(21);}if(!($interfaceIsEqual(m,$ifaceNil))){n=new $Int64(0,0);o=new X.ptr("seek",g.file.name,m);e=n;f=o;return[e,f];}p=l;q=$ifaceNil;e=p;f=q;return[e,f];};CY.prototype.Seek=function(c,d){return this.$val.Seek(c,d);};CY.ptr.prototype.WriteString=function(c){var $ptr,c,d,e,f,g;d=0;e=$ifaceNil;f=this;g=f.Write((new DJ($stringToBytes(c))));d=g[0];e=g[1];return[d,e];};CY.prototype.WriteString=function(c){return this.$val.WriteString(c);};CY.ptr.prototype.Chdir=function(){var $ptr,c,d,e;c=this;d=c.checkValid("chdir");if(!($interfaceIsEqual(d,$ifaceNil))){return d;}e=D.Fchdir(c.file.fd);if(!($interfaceIsEqual(e,$ifaceNil))){return new X.ptr("chdir",c.file.name,e);}return $ifaceNil;};CY.prototype.Chdir=function(){return this.$val.Chdir();};AX=function(c){var $ptr,c;return BP(c,0,0);};$pkg.Open=AX;BB=function(c,d){var $ptr,c,d;if(c<0){c=0;}return[c,d];};CY.ptr.prototype.checkValid=function(c){var $ptr,c,d;d=this;if(d===DG.nil){return $pkg.ErrInvalid;}if(d.file.fd===-1){return new X.ptr(c,d.file.name,$pkg.ErrClosed);}return $ifaceNil;};CY.prototype.checkValid=function(c){return this.$val.checkValid(c);};BC=function(){$throwRuntimeError("native function not implemented: os.sigpipe");};BE=function(c){var $ptr,c,d;d=0;d=(d|(((new DA(c).Perm()>>>0))))>>>0;if(!((((c&8388608)>>>0)===0))){d=(d|(2048))>>>0;}if(!((((c&4194304)>>>0)===0))){d=(d|(1024))>>>0;}if(!((((c&1048576)>>>0)===0))){d=(d|(512))>>>0;}return d;};BF=function(c,d){var $ptr,c,d,e;e=D.Chmod(c,BE(d));if(!($interfaceIsEqual(e,$ifaceNil))){return new X.ptr("chmod",c,e);}return $ifaceNil;};$pkg.Chmod=BF;CY.ptr.prototype.Chmod=function(c){var $ptr,c,d,e,f;d=this;e=d.checkValid("chmod");if(!($interfaceIsEqual(e,$ifaceNil))){return e;}f=D.Fchmod(d.file.fd,BE(c));if(!($interfaceIsEqual(f,$ifaceNil))){return new X.ptr("chmod",d.file.name,f);}return $ifaceNil;};CY.prototype.Chmod=function(c){return this.$val.Chmod(c);};CY.ptr.prototype.Chown=function(c,d){var $ptr,c,d,e,f,g;e=this;f=e.checkValid("chown");if(!($interfaceIsEqual(f,$ifaceNil))){return f;}g=D.Fchown(e.file.fd,c,d);if(!($interfaceIsEqual(g,$ifaceNil))){return new X.ptr("chown",e.file.name,g);}return $ifaceNil;};CY.prototype.Chown=function(c,d){return this.$val.Chown(c,d);};CY.ptr.prototype.Truncate=function(c){var $ptr,c,d,e,f;d=this;e=d.checkValid("truncate");if(!($interfaceIsEqual(e,$ifaceNil))){return e;}f=D.Ftruncate(d.file.fd,c);if(!($interfaceIsEqual(f,$ifaceNil))){return new X.ptr("truncate",d.file.name,f);}return $ifaceNil;};CY.prototype.Truncate=function(c){return this.$val.Truncate(c);};CY.ptr.prototype.Sync=function(){var $ptr,c,d,e;c=this;d=c.checkValid("sync");if(!($interfaceIsEqual(d,$ifaceNil))){return d;}e=D.Fsync(c.file.fd);if(!($interfaceIsEqual(e,$ifaceNil))){return new X.ptr("sync",c.file.name,e);}return $ifaceNil;};CY.prototype.Sync=function(){return this.$val.Sync();};CY.ptr.prototype.Fd=function(){var $ptr,c;c=this;if(c===DG.nil){return 4294967295;}return((c.file.fd>>>0));};CY.prototype.Fd=function(){return this.$val.Fd();};BM=function(c,d){var $ptr,c,d,e,f;e=((c>>0));if(e<0){return DG.nil;}f=new CY.ptr(new BL.ptr(e,d,DI.nil));E.SetFinalizer(f.file,new EA($methodExpr(DZ,"close")));return f;};$pkg.NewFile=BM;BO=function(c,d){var $ptr,c,d;if($interfaceIsEqual(d,new D.Errno(32))&&((c.file.fd===1)||(c.file.fd===2))){BC();}};BP=function(c,d,e){var $ptr,c,d,e,f,g,h,i,j,k;f=false;if(true&&!(((d&512)===0))&&!((((e&1048576)>>>0)===0))){g=CP(c);h=g[1];if(AB(h)){f=true;}}i=0;while(true){j=$ifaceNil;k=D.Open(c,d|16777216,BE(e));i=k[0];j=k[1];if($interfaceIsEqual(j,$ifaceNil)){break;}if(true&&$interfaceIsEqual(j,new D.Errno(4))){continue;}return[DG.nil,new X.ptr("open",c,j)];}if(f){BF(c,e);}if(!CV){D.CloseOnExec(i);}return[BM(((i>>>0)),c),$ifaceNil];};$pkg.OpenFile=BP;CY.ptr.prototype.Close=function(){var $ptr,c;c=this;if(c===DG.nil){return $pkg.ErrInvalid;}return c.file.close();};CY.prototype.Close=function(){return this.$val.Close();};BL.ptr.prototype.close=function(){var $ptr,c,d,e;c=this;if(c===DZ.nil||(c.fd===-1)){return new D.Errno(22);}d=$ifaceNil;e=D.Close(c.fd);if(!($interfaceIsEqual(e,$ifaceNil))){d=new X.ptr("close",c.name,e);}c.fd=-1;E.SetFinalizer(c,$ifaceNil);return d;};BL.prototype.close=function(){return this.$val.close();};CY.ptr.prototype.read=function(c){var $ptr,c,d,e,f,g,h;d=0;e=$ifaceNil;f=this;if(true&&c.$length>1073741824){c=$subslice(c,0,1073741824);}h=D.Read(f.file.fd,c);g=BB(h[0],h[1]);d=g[0];e=g[1];return[d,e];};CY.prototype.read=function(c){return this.$val.read(c);};CY.ptr.prototype.pread=function(c,d){var $ptr,c,d,e,f,g,h,i;e=0;f=$ifaceNil;g=this;if(true&&c.$length>1073741824){c=$subslice(c,0,1073741824);}i=D.Pread(g.file.fd,c,d);h=BB(i[0],i[1]);e=h[0];f=h[1];return[e,f];};CY.prototype.pread=function(c,d){return this.$val.pread(c,d);};CY.ptr.prototype.write=function(c){var $ptr,c,d,e,f,g,h,i,j,k,l,m;d=0;e=$ifaceNil;f=this;while(true){g=c;if(true&&g.$length>1073741824){g=$subslice(g,0,1073741824);}i=D.Write(f.file.fd,g);h=BB(i[0],i[1]);j=h[0];k=h[1];d=d+(j)>>0;if(0<j&&j<g.$length||$interfaceIsEqual(k,new D.Errno(4))){c=$subslice(c,j);continue;}if(true&&!((g.$length===c.$length))&&$interfaceIsEqual(k,$ifaceNil)){c=$subslice(c,j);continue;}l=d;m=k;d=l;e=m;return[d,e];}};CY.prototype.write=function(c){return this.$val.write(c);};CY.ptr.prototype.pwrite=function(c,d){var $ptr,c,d,e,f,g,h,i;e=0;f=$ifaceNil;g=this;if(true&&c.$length>1073741824){c=$subslice(c,0,1073741824);}i=D.Pwrite(g.file.fd,c,d);h=BB(i[0],i[1]);e=h[0];f=h[1];return[e,f];};CY.prototype.pwrite=function(c,d){return this.$val.pwrite(c,d);};CY.ptr.prototype.seek=function(c,d){var $ptr,c,d,e,f,g,h;e=new $Int64(0,0);f=$ifaceNil;g=this;h=D.Seek(g.file.fd,c,d);e=h[0];f=h[1];return[e,f];};CY.prototype.seek=function(c,d){return this.$val.seek(c,d);};BY=function(){var $ptr;BW=BZ;};BZ=function(c){var $ptr,c;return!($interfaceIsEqual(c,new D.Errno(45)));};CC=function(c){var $ptr,c;return 47===c;};$pkg.IsPathSeparator=CC;CD=function(c){var $ptr,c,d;d=c.length-1>>0;while(true){if(!(d>0&&(c.charCodeAt(d)===47))){break;}c=$substring(c,0,d);d=d-(1)>>0;}d=d-(1)>>0;while(true){if(!(d>=0)){break;}if(c.charCodeAt(d)===47){c=$substring(c,(d+1>>0));break;}d=d-(1)>>0;}return c;};CF=function(){var $ptr;if(false){return;}$pkg.Args=I();};CM=function(c,d){var $ptr,c,d,e;c.name=CD(d);c.size=c.sys.Size;H.Time.copy(c.modTime,CN($clone(c.sys.Mtimespec,D.Timespec)));c.mode=((((c.sys.Mode&511)>>>0)>>>0));e=(c.sys.Mode&61440)>>>0;if((e===(24576))||(e===(57344))){c.mode=(c.mode|(67108864))>>>0;}else if(e===(8192)){c.mode=(c.mode|(69206016))>>>0;}else if(e===(16384)){c.mode=(c.mode|(2147483648))>>>0;}else if(e===(4096)){c.mode=(c.mode|(33554432))>>>0;}else if(e===(40960)){c.mode=(c.mode|(134217728))>>>0;}else if(e===(32768)){}else if(e===(49152)){c.mode=(c.mode|(16777216))>>>0;}if(!((((c.sys.Mode&1024)>>>0)===0))){c.mode=(c.mode|(4194304))>>>0;}if(!((((c.sys.Mode&2048)>>>0)===0))){c.mode=(c.mode|(8388608))>>>0;}if(!((((c.sys.Mode&512)>>>0)===0))){c.mode=(c.mode|(1048576))>>>0;}};CN=function(c){var $ptr,c;return H.Unix((c.Sec),(c.Nsec));};CY.ptr.prototype.Stat=function(){var $ptr,c,d,e;c=this;if(c===DG.nil){return[$ifaceNil,$pkg.ErrInvalid];}d=new DC.ptr("",new $Int64(0,0),0,new H.Time.ptr(new $Int64(0,0),0,EE.nil),new D.Stat_t.ptr(0,0,0,new $Uint64(0,0),0,0,0,DU.zero(),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new $Int64(0,0),new $Int64(0,0),0,0,0,0,EF.zero()));e=D.Fstat(c.file.fd,d.sys);if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,new X.ptr("stat",c.file.name,e)];}CM(d,c.file.name);return[d,$ifaceNil];};CY.prototype.Stat=function(){return this.$val.Stat();};CP=function(c){var $ptr,c,d,e;d=new DC.ptr("",new $Int64(0,0),0,new H.Time.ptr(new $Int64(0,0),0,EE.nil),new D.Stat_t.ptr(0,0,0,new $Uint64(0,0),0,0,0,DU.zero(),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new $Int64(0,0),new $Int64(0,0),0,0,0,0,EF.zero()));e=D.Stat(c,d.sys);if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,new X.ptr("stat",c,e)];}CM(d,c);return[d,$ifaceNil];};$pkg.Stat=CP;CQ=function(c){var $ptr,c,d,e;d=new DC.ptr("",new $Int64(0,0),0,new H.Time.ptr(new $Int64(0,0),0,EE.nil),new D.Stat_t.ptr(0,0,0,new $Uint64(0,0),0,0,0,DU.zero(),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new D.Timespec.ptr(new $Int64(0,0),new $Int64(0,0)),new $Int64(0,0),new $Int64(0,0),0,0,0,0,EF.zero()));e=D.Lstat(c,d.sys);if(!($interfaceIsEqual(e,$ifaceNil))){return[$ifaceNil,new X.ptr("lstat",c,e)];}CM(d,c);return[d,$ifaceNil];};$pkg.Lstat=CQ;CW=function(){var $ptr,c,d,e,f,g,h,i;c=D.Sysctl("kern.osrelease");d=c[0];e=c[1];if(!($interfaceIsEqual(e,$ifaceNil))){return;}f=0;g=d;h=0;while(true){if(!(h<g.length)){break;}i=$decodeRune(g,h);f=h;if(!((d.charCodeAt(f)===46))){h+=i[1];continue;}h+=i[1];}if(f>2||(f===2)&&d.charCodeAt(0)>=49&&d.charCodeAt(1)>=49){CV=true;}};DA.prototype.String=function(){var $ptr,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;c=this.$val;d=EH.zero();e=0;f="dalTLDpSugct";g=0;while(true){if(!(g<f.length)){break;}h=$decodeRune(f,g);i=g;j=h[0];if(!((((c&(((k=(((31-i>>0)>>>0)),k<32?(1<<k):0)>>>0)))>>>0)===0))){((e<0||e>=d.length)?($throwRuntimeError("index out of range"),undefined):d[e]=((j<<24>>>24)));e=e+(1)>>0;}g+=h[1];}if(e===0){((e<0||e>=d.length)?($throwRuntimeError("index out of range"),undefined):d[e]=45);e=e+(1)>>0;}l="rwxrwxrwx";m=0;while(true){if(!(m<l.length)){break;}n=$decodeRune(l,m);o=m;p=n[0];if(!((((c&(((q=(((8-o>>0)>>>0)),q<32?(1<<q):0)>>>0)))>>>0)===0))){((e<0||e>=d.length)?($throwRuntimeError("index out of range"),undefined):d[e]=((p<<24>>>24)));}else{((e<0||e>=d.length)?($throwRuntimeError("index out of range"),undefined):d[e]=45);}e=e+(1)>>0;m+=n[1];}return($bytesToString($subslice(new DJ(d),0,e)));};$ptrType(DA).prototype.String=function(){return new DA(this.$get()).String();};DA.prototype.IsDir=function(){var $ptr,c;c=this.$val;return!((((c&2147483648)>>>0)===0));};$ptrType(DA).prototype.IsDir=function(){return new DA(this.$get()).IsDir();};DA.prototype.IsRegular=function(){var $ptr,c;c=this.$val;return((c&2399141888)>>>0)===0;};$ptrType(DA).prototype.IsRegular=function(){return new DA(this.$get()).IsRegular();};DA.prototype.Perm=function(){var $ptr,c;c=this.$val;return(c&511)>>>0;};$ptrType(DA).prototype.Perm=function(){return new DA(this.$get()).Perm();};DC.ptr.prototype.Name=function(){var $ptr,c;c=this;return c.name;};DC.prototype.Name=function(){return this.$val.Name();};DC.ptr.prototype.IsDir=function(){var $ptr,c;c=this;return new DA(c.Mode()).IsDir();};DC.prototype.IsDir=function(){return this.$val.IsDir();};DC.ptr.prototype.Size=function(){var $ptr,c;c=this;return c.size;};DC.prototype.Size=function(){return this.$val.Size();};DC.ptr.prototype.Mode=function(){var $ptr,c;c=this;return c.mode;};DC.prototype.Mode=function(){return this.$val.Mode();};DC.ptr.prototype.ModTime=function(){var $ptr,c;c=this;return c.modTime;};DC.prototype.ModTime=function(){return this.$val.ModTime();};DC.ptr.prototype.Sys=function(){var $ptr,c;c=this;return c.sys;};DC.prototype.Sys=function(){return this.$val.Sys();};DK.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];DM.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];DL.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];DZ.methods=[{prop:"close",name:"close",pkg:"os",typ:$funcType([],[$error],false)}];DG.methods=[{prop:"Readdir",name:"Readdir",pkg:"",typ:$funcType([$Int],[DH,$error],false)},{prop:"Readdirnames",name:"Readdirnames",pkg:"",typ:$funcType([$Int],[DF,$error],false)},{prop:"readdir",name:"readdir",pkg:"os",typ:$funcType([$Int],[DH,$error],false)},{prop:"readdirnames",name:"readdirnames",pkg:"os",typ:$funcType([$Int],[DF,$error],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([DJ],[$Int,$error],false)},{prop:"ReadAt",name:"ReadAt",pkg:"",typ:$funcType([DJ,$Int64],[$Int,$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([DJ],[$Int,$error],false)},{prop:"WriteAt",name:"WriteAt",pkg:"",typ:$funcType([DJ,$Int64],[$Int,$error],false)},{prop:"Seek",name:"Seek",pkg:"",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[$Int,$error],false)},{prop:"Chdir",name:"Chdir",pkg:"",typ:$funcType([],[$error],false)},{prop:"checkValid",name:"checkValid",pkg:"os",typ:$funcType([$String],[$error],false)},{prop:"Chmod",name:"Chmod",pkg:"",typ:$funcType([DA],[$error],false)},{prop:"Chown",name:"Chown",pkg:"",typ:$funcType([$Int,$Int],[$error],false)},{prop:"Truncate",name:"Truncate",pkg:"",typ:$funcType([$Int64],[$error],false)},{prop:"Sync",name:"Sync",pkg:"",typ:$funcType([],[$error],false)},{prop:"Fd",name:"Fd",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[$error],false)},{prop:"read",name:"read",pkg:"os",typ:$funcType([DJ],[$Int,$error],false)},{prop:"pread",name:"pread",pkg:"os",typ:$funcType([DJ,$Int64],[$Int,$error],false)},{prop:"write",name:"write",pkg:"os",typ:$funcType([DJ],[$Int,$error],false)},{prop:"pwrite",name:"pwrite",pkg:"os",typ:$funcType([DJ,$Int64],[$Int,$error],false)},{prop:"seek",name:"seek",pkg:"os",typ:$funcType([$Int64,$Int],[$Int64,$error],false)},{prop:"Stat",name:"Stat",pkg:"",typ:$funcType([],[CZ,$error],false)}];DA.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsRegular",name:"IsRegular",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Perm",name:"Perm",pkg:"",typ:$funcType([],[DA],false)}];EI.methods=[{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Mode",name:"Mode",pkg:"",typ:$funcType([],[DA],false)},{prop:"ModTime",name:"ModTime",pkg:"",typ:$funcType([],[H.Time],false)},{prop:"Sys",name:"Sys",pkg:"",typ:$funcType([],[$emptyInterface],false)}];X.init("",[{prop:"Op",name:"Op",exported:true,typ:$String,tag:""},{prop:"Path",name:"Path",exported:true,typ:$String,tag:""},{prop:"Err",name:"Err",exported:true,typ:$error,tag:""}]);Y.init("",[{prop:"Syscall",name:"Syscall",exported:true,typ:$String,tag:""},{prop:"Err",name:"Err",exported:true,typ:$error,tag:""}]);AU.init("",[{prop:"Op",name:"Op",exported:true,typ:$String,tag:""},{prop:"Old",name:"Old",exported:true,typ:$String,tag:""},{prop:"New",name:"New",exported:true,typ:$String,tag:""},{prop:"Err",name:"Err",exported:true,typ:$error,tag:""}]);BL.init("os",[{prop:"fd",name:"fd",exported:false,typ:$Int,tag:""},{prop:"name",name:"name",exported:false,typ:$String,tag:""},{prop:"dirinfo",name:"dirinfo",exported:false,typ:DI,tag:""}]);BN.init("os",[{prop:"buf",name:"buf",exported:false,typ:DJ,tag:""},{prop:"nbuf",name:"nbuf",exported:false,typ:$Int,tag:""},{prop:"bufp",name:"bufp",exported:false,typ:$Int,tag:""}]);CY.init("os",[{prop:"file",name:"",exported:false,typ:DZ,tag:""}]);CZ.init([{prop:"IsDir",name:"IsDir",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"ModTime",name:"ModTime",pkg:"",typ:$funcType([],[H.Time],false)},{prop:"Mode",name:"Mode",pkg:"",typ:$funcType([],[DA],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"Sys",name:"Sys",pkg:"",typ:$funcType([],[$emptyInterface],false)}]);DC.init("os",[{prop:"name",name:"name",exported:false,typ:$String,tag:""},{prop:"size",name:"size",exported:false,typ:$Int64,tag:""},{prop:"mode",name:"mode",exported:false,typ:DA,tag:""},{prop:"modTime",name:"modTime",exported:false,typ:H.Time,tag:""},{prop:"sys",name:"sys",exported:false,typ:D.Stat_t,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.Args=DF.nil;CV=false;$pkg.ErrInvalid=A.New("invalid argument");$pkg.ErrPermission=A.New("permission denied");$pkg.ErrExist=A.New("file already exists");$pkg.ErrNotExist=A.New("file does not exist");$pkg.ErrClosed=A.New("file already closed");AR=A.New("os: process already finished");BW=(function(c){var $ptr,c;return true;});AZ=CQ;$pkg.Stdin=BM(((D.Stdin>>>0)),"/dev/stdin");$pkg.Stdout=BM(((D.Stdout>>>0)),"/dev/stdout");$pkg.Stderr=BM(((D.Stderr>>>0)),"/dev/stderr");J();BY();CF();CW();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["strconv"]=(function(){var $pkg={},$init,B,A,C,S,Y,AC,AH,AO,AX,CV,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,G,AD,AI,AJ,AK,AP,CQ,AQ,CR,BD,BE,BF,BG,BH,BN,T,U,V,W,X,Z,AA,AB,AE,AF,AG,AL,AM,AN,AS,AT,AU,AV,AW,AY,AZ,BA,BB,BC,BJ,BK,BO,BP,BR,BS,BT,BU,BV,BX,CB,CD,CG,CH,CI,CJ,CK,CL,CM,CN,CP;B=$packages["errors"];A=$packages["math"];C=$packages["unicode/utf8"];S=$pkg.NumError=$newType(0,$kindStruct,"strconv.NumError",true,"strconv",true,function(Func_,Num_,Err_){this.$val=this;if(arguments.length===0){this.Func="";this.Num="";this.Err=$ifaceNil;return;}this.Func=Func_;this.Num=Num_;this.Err=Err_;});Y=$pkg.decimal=$newType(0,$kindStruct,"strconv.decimal",true,"strconv",false,function(d_,nd_,dp_,neg_,trunc_){this.$val=this;if(arguments.length===0){this.d=CY.zero();this.nd=0;this.dp=0;this.neg=false;this.trunc=false;return;}this.d=d_;this.nd=nd_;this.dp=dp_;this.neg=neg_;this.trunc=trunc_;});AC=$pkg.leftCheat=$newType(0,$kindStruct,"strconv.leftCheat",true,"strconv",false,function(delta_,cutoff_){this.$val=this;if(arguments.length===0){this.delta=0;this.cutoff="";return;}this.delta=delta_;this.cutoff=cutoff_;});AH=$pkg.extFloat=$newType(0,$kindStruct,"strconv.extFloat",true,"strconv",false,function(mant_,exp_,neg_){this.$val=this;if(arguments.length===0){this.mant=new $Uint64(0,0);this.exp=0;this.neg=false;return;}this.mant=mant_;this.exp=exp_;this.neg=neg_;});AO=$pkg.floatInfo=$newType(0,$kindStruct,"strconv.floatInfo",true,"strconv",false,function(mantbits_,expbits_,bias_){this.$val=this;if(arguments.length===0){this.mantbits=0;this.expbits=0;this.bias=0;return;}this.mantbits=mantbits_;this.expbits=expbits_;this.bias=bias_;});AX=$pkg.decimalSlice=$newType(0,$kindStruct,"strconv.decimalSlice",true,"strconv",false,function(d_,nd_,dp_,neg_){this.$val=this;if(arguments.length===0){this.d=DA.nil;this.nd=0;this.dp=0;this.neg=false;return;}this.d=d_;this.nd=nd_;this.dp=dp_;this.neg=neg_;});CV=$sliceType(AC);CW=$sliceType($Uint16);CX=$sliceType($Uint32);CY=$arrayType($Uint8,800);CZ=$ptrType(S);DA=$sliceType($Uint8);DB=$arrayType($Uint8,24);DC=$arrayType($Uint8,32);DD=$ptrType(AO);DE=$arrayType($Uint8,65);DF=$arrayType($Uint8,4);DG=$ptrType(Y);DH=$ptrType(AX);DI=$ptrType(AH);S.ptr.prototype.Error=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Err.Error();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return"strconv."+a.Func+": "+"parsing "+BU(a.Num)+": "+b;}return;}if($f===undefined){$f={$blk:S.ptr.prototype.Error};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};S.prototype.Error=function(){return this.$val.Error();};T=function(a,b){var $ptr,a,b;return new S.ptr(a,b,$pkg.ErrSyntax);};U=function(a,b){var $ptr,a,b;return new S.ptr(a,b,$pkg.ErrRange);};V=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s;$s=0;s:while(true){switch($s){case 0:d=new $Uint64(0,0);e=$ifaceNil;f=new $Uint64(0,0);g=new $Uint64(0,0);h=f;i=g;if(c===0){c=32;}j=0;if(a.length<1){$s=2;continue;}if(2<=b&&b<=36){$s=3;continue;}if((b===0)){$s=4;continue;}$s=5;continue;case 2:e=$pkg.ErrSyntax;$s=7;continue;$s=6;continue;case 3:$s=6;continue;case 4:if((a.charCodeAt(0)===48)&&a.length>1&&((a.charCodeAt(1)===120)||(a.charCodeAt(1)===88))){$s=9;continue;}if((a.charCodeAt(0)===48)){$s=10;continue;}$s=11;continue;case 9:if(a.length<3){$s=13;continue;}$s=14;continue;case 13:e=$pkg.ErrSyntax;$s=7;continue;case 14:b=16;j=2;$s=12;continue;case 10:b=8;j=1;$s=12;continue;case 11:b=10;case 12:case 8:$s=6;continue;case 5:e=B.New("invalid base "+BK(b));$s=7;continue;case 6:case 1:k=b;if(k===(10)){h=new $Uint64(429496729,2576980378);}else if(k===(16)){h=new $Uint64(268435456,0);}else{h=(l=$div64(new $Uint64(4294967295,4294967295),(new $Uint64(0,b)),false),new $Uint64(l.$high+0,l.$low+1));}i=(m=$shiftLeft64(new $Uint64(0,1),((c>>>0))),new $Uint64(m.$high-0,m.$low-1));case 15:if(!(j<a.length)){$s=16;continue;}n=0;o=a.charCodeAt(j);if(48<=o&&o<=57){$s=18;continue;}if(97<=o&&o<=122){$s=19;continue;}if(65<=o&&o<=90){$s=20;continue;}$s=21;continue;case 18:n=o-48<<24>>>24;$s=22;continue;case 19:n=(o-97<<24>>>24)+10<<24>>>24;$s=22;continue;case 20:n=(o-65<<24>>>24)+10<<24>>>24;$s=22;continue;case 21:d=new $Uint64(0,0);e=$pkg.ErrSyntax;$s=7;continue;case 22:case 17:if(n>=((b<<24>>>24))){$s=23;continue;}$s=24;continue;case 23:d=new $Uint64(0,0);e=$pkg.ErrSyntax;$s=7;continue;case 24:if((d.$high>h.$high||(d.$high===h.$high&&d.$low>=h.$low))){$s=25;continue;}$s=26;continue;case 25:d=new $Uint64(4294967295,4294967295);e=$pkg.ErrRange;$s=7;continue;case 26:d=$mul64(d,((new $Uint64(0,b))));q=(p=(new $Uint64(0,n)),new $Uint64(d.$high+p.$high,d.$low+p.$low));if((q.$high<d.$high||(q.$high===d.$high&&q.$low<d.$low))||(q.$high>i.$high||(q.$high===i.$high&&q.$low>i.$low))){$s=27;continue;}$s=28;continue;case 27:d=new $Uint64(4294967295,4294967295);e=$pkg.ErrRange;$s=7;continue;case 28:d=q;j=j+(1)>>0;$s=15;continue;case 16:$s=-1;return[d,$ifaceNil];case 7:$s=-1;return[d,new S.ptr("ParseUint",a,e)];$s=-1;return[new $Uint64(0,0),$ifaceNil];}return;}};$pkg.ParseUint=V;W=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;d=new $Int64(0,0);e=$ifaceNil;if(c===0){c=32;}if(a.length===0){f=new $Int64(0,0);g=T("ParseInt",a);d=f;e=g;return[d,e];}h=a;i=false;if(a.charCodeAt(0)===43){a=$substring(a,1);}else if(a.charCodeAt(0)===45){i=true;a=$substring(a,1);}j=new $Uint64(0,0);k=V(a,b,c);j=k[0];e=k[1];if(!($interfaceIsEqual(e,$ifaceNil))&&!($interfaceIsEqual($assertType(e,CZ).Err,$pkg.ErrRange))){$assertType(e,CZ).Func="ParseInt";$assertType(e,CZ).Num=h;l=new $Int64(0,0);m=e;d=l;e=m;return[d,e];}n=($shiftLeft64(new $Uint64(0,1),(((c-1>>0)>>>0))));if(!i&&(j.$high>n.$high||(j.$high===n.$high&&j.$low>=n.$low))){o=((p=new $Uint64(n.$high-0,n.$low-1),new $Int64(p.$high,p.$low)));q=U("ParseInt",h);d=o;e=q;return[d,e];}if(i&&(j.$high>n.$high||(j.$high===n.$high&&j.$low>n.$low))){r=(s=(new $Int64(n.$high,n.$low)),new $Int64(-s.$high,-s.$low));t=U("ParseInt",h);d=r;e=t;return[d,e];}u=(new $Int64(j.$high,j.$low));if(i){u=new $Int64(-u.$high,-u.$low);}v=u;w=$ifaceNil;d=v;e=w;return[d,e];};$pkg.ParseInt=W;X=function(a){var $ptr,a,b,c,d,e,f,g;b=W(a,10,0);c=b[0];d=b[1];e=$assertType(d,CZ,true);f=e[0];g=e[1];if(g){f.Func="Atoi";}return[(((c.$low+((c.$high>>31)*4294967296))>>0)),d];};$pkg.Atoi=X;Y.ptr.prototype.String=function(){var $ptr,a,b,c,d;a=this;b=10+a.nd>>0;if(a.dp>0){b=b+(a.dp)>>0;}if(a.dp<0){b=b+(-a.dp)>>0;}c=$makeSlice(DA,b);d=0;if((a.nd===0)){return"0";}else if(a.dp<=0){((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=48);d=d+(1)>>0;((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=46);d=d+(1)>>0;d=d+(Z($subslice(c,d,(d+-a.dp>>0))))>>0;d=d+($copySlice($subslice(c,d),$subslice(new DA(a.d),0,a.nd)))>>0;}else if(a.dp<a.nd){d=d+($copySlice($subslice(c,d),$subslice(new DA(a.d),0,a.dp)))>>0;((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=46);d=d+(1)>>0;d=d+($copySlice($subslice(c,d),$subslice(new DA(a.d),a.dp,a.nd)))>>0;}else{d=d+($copySlice($subslice(c,d),$subslice(new DA(a.d),0,a.nd)))>>0;d=d+(Z($subslice(c,d,((d+a.dp>>0)-a.nd>>0))))>>0;}return($bytesToString($subslice(c,0,d)));};Y.prototype.String=function(){return this.$val.String();};Z=function(a){var $ptr,a,b,c,d;b=a;c=0;while(true){if(!(c<b.$length)){break;}d=c;((d<0||d>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+d]=48);c++;}return a.$length;};AA=function(a){var $ptr,a,b,c;while(true){if(!(a.nd>0&&((b=a.d,c=a.nd-1>>0,((c<0||c>=b.length)?($throwRuntimeError("index out of range"),undefined):b[c]))===48))){break;}a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}};Y.ptr.prototype.Assign=function(a){var $ptr,a,b,c,d,e,f,g,h;b=this;c=DB.zero();d=0;while(true){if(!((a.$high>0||(a.$high===0&&a.$low>0)))){break;}e=$div64(a,new $Uint64(0,10),false);a=(f=$mul64(new $Uint64(0,10),e),new $Uint64(a.$high-f.$high,a.$low-f.$low));((d<0||d>=c.length)?($throwRuntimeError("index out of range"),undefined):c[d]=((new $Uint64(a.$high+0,a.$low+48).$low<<24>>>24)));d=d+(1)>>0;a=e;}b.nd=0;d=d-(1)>>0;while(true){if(!(d>=0)){break;}(g=b.d,h=b.nd,((h<0||h>=g.length)?($throwRuntimeError("index out of range"),undefined):g[h]=((d<0||d>=c.length)?($throwRuntimeError("index out of range"),undefined):c[d])));b.nd=b.nd+(1)>>0;d=d-(1)>>0;}b.dp=b.nd;AA(b);};Y.prototype.Assign=function(a){return this.$val.Assign(a);};AB=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;c=0;d=0;e=0;while(true){if(!(((f=b,f<32?(e>>>f):0)>>>0)===0)){break;}if(c>=a.nd){if(e===0){a.nd=0;return;}while(true){if(!(((g=b,g<32?(e>>>g):0)>>>0)===0)){break;}e=e*10>>>0;c=c+(1)>>0;}break;}i=(((h=a.d,((c<0||c>=h.length)?($throwRuntimeError("index out of range"),undefined):h[c]))>>>0));e=((e*10>>>0)+i>>>0)-48>>>0;c=c+(1)>>0;}a.dp=a.dp-((c-1>>0))>>0;k=(((j=b,j<32?(1<<j):0)>>>0))-1>>>0;while(true){if(!(c<a.nd)){break;}m=(((l=a.d,((c<0||c>=l.length)?($throwRuntimeError("index out of range"),undefined):l[c]))>>>0));o=(n=b,n<32?(e>>>n):0)>>>0;e=(e&(k))>>>0;(p=a.d,((d<0||d>=p.length)?($throwRuntimeError("index out of range"),undefined):p[d]=(((o+48>>>0)<<24>>>24))));d=d+(1)>>0;e=((e*10>>>0)+m>>>0)-48>>>0;c=c+(1)>>0;}while(true){if(!(e>0)){break;}r=(q=b,q<32?(e>>>q):0)>>>0;e=(e&(k))>>>0;if(d<800){(s=a.d,((d<0||d>=s.length)?($throwRuntimeError("index out of range"),undefined):s[d]=(((r+48>>>0)<<24>>>24))));d=d+(1)>>0;}else if(r>0){a.trunc=true;}e=e*10>>>0;}a.nd=d;AA(a);};AE=function(a,b){var $ptr,a,b,c;c=0;while(true){if(!(c<b.length)){break;}if(c>=a.$length){return true;}if(!((((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c])===b.charCodeAt(c)))){return((c<0||c>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+c])<b.charCodeAt(c);}c=c+(1)>>0;}return false;};AF=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;c=((b<0||b>=AD.$length)?($throwRuntimeError("index out of range"),undefined):AD.$array[AD.$offset+b]).delta;if(AE($subslice(new DA(a.d),0,a.nd),((b<0||b>=AD.$length)?($throwRuntimeError("index out of range"),undefined):AD.$array[AD.$offset+b]).cutoff)){c=c-(1)>>0;}d=a.nd;e=a.nd+c>>0;f=0;d=d-(1)>>0;while(true){if(!(d>=0)){break;}f=f+(((g=b,g<32?((((((h=a.d,((d<0||d>=h.length)?($throwRuntimeError("index out of range"),undefined):h[d]))>>>0))-48>>>0))<<g):0)>>>0))>>>0;j=(i=f/10,(i===i&&i!==1/0&&i!==-1/0)?i>>>0:$throwRuntimeError("integer divide by zero"));k=f-(10*j>>>0)>>>0;e=e-(1)>>0;if(e<800){(l=a.d,((e<0||e>=l.length)?($throwRuntimeError("index out of range"),undefined):l[e]=(((k+48>>>0)<<24>>>24))));}else if(!((k===0))){a.trunc=true;}f=j;d=d-(1)>>0;}while(true){if(!(f>0)){break;}n=(m=f/10,(m===m&&m!==1/0&&m!==-1/0)?m>>>0:$throwRuntimeError("integer divide by zero"));o=f-(10*n>>>0)>>>0;e=e-(1)>>0;if(e<800){(p=a.d,((e<0||e>=p.length)?($throwRuntimeError("index out of range"),undefined):p[e]=(((o+48>>>0)<<24>>>24))));}else if(!((o===0))){a.trunc=true;}f=n;}a.nd=a.nd+(c)>>0;if(a.nd>=800){a.nd=800;}a.dp=a.dp+(c)>>0;AA(a);};Y.ptr.prototype.Shift=function(a){var $ptr,a,b;b=this;if((b.nd===0)){}else if(a>0){while(true){if(!(a>28)){break;}AF(b,28);a=a-(28)>>0;}AF(b,((a>>>0)));}else if(a<0){while(true){if(!(a<-28)){break;}AB(b,28);a=a+(28)>>0;}AB(b,((-a>>>0)));}};Y.prototype.Shift=function(a){return this.$val.Shift(a);};AG=function(a,b){var $ptr,a,b,c,d,e,f,g;if(b<0||b>=a.nd){return false;}if(((c=a.d,((b<0||b>=c.length)?($throwRuntimeError("index out of range"),undefined):c[b]))===53)&&((b+1>>0)===a.nd)){if(a.trunc){return true;}return b>0&&!(((d=(((e=a.d,f=b-1>>0,((f<0||f>=e.length)?($throwRuntimeError("index out of range"),undefined):e[f]))-48<<24>>>24))%2,d===d?d:$throwRuntimeError("integer divide by zero"))===0));}return(g=a.d,((b<0||b>=g.length)?($throwRuntimeError("index out of range"),undefined):g[b]))>=53;};Y.ptr.prototype.Round=function(a){var $ptr,a,b;b=this;if(a<0||a>=b.nd){return;}if(AG(b,a)){b.RoundUp(a);}else{b.RoundDown(a);}};Y.prototype.Round=function(a){return this.$val.Round(a);};Y.ptr.prototype.RoundDown=function(a){var $ptr,a,b;b=this;if(a<0||a>=b.nd){return;}b.nd=a;AA(b);};Y.prototype.RoundDown=function(a){return this.$val.RoundDown(a);};Y.ptr.prototype.RoundUp=function(a){var $ptr,a,b,c,d,e,f,g;b=this;if(a<0||a>=b.nd){return;}c=a-1>>0;while(true){if(!(c>=0)){break;}e=(d=b.d,((c<0||c>=d.length)?($throwRuntimeError("index out of range"),undefined):d[c]));if(e<57){(g=b.d,((c<0||c>=g.length)?($throwRuntimeError("index out of range"),undefined):g[c]=((f=b.d,((c<0||c>=f.length)?($throwRuntimeError("index out of range"),undefined):f[c]))+(1)<<24>>>24)));b.nd=c+1>>0;return;}c=c-(1)>>0;}b.d[0]=49;b.nd=1;b.dp=b.dp+(1)>>0;};Y.prototype.RoundUp=function(a){return this.$val.RoundUp(a);};Y.ptr.prototype.RoundedInteger=function(){var $ptr,a,b,c,d,e,f,g;a=this;if(a.dp>20){return new $Uint64(4294967295,4294967295);}b=0;c=new $Uint64(0,0);b=0;while(true){if(!(b<a.dp&&b<a.nd)){break;}c=(d=$mul64(c,new $Uint64(0,10)),e=(new $Uint64(0,((f=a.d,((b<0||b>=f.length)?($throwRuntimeError("index out of range"),undefined):f[b]))-48<<24>>>24))),new $Uint64(d.$high+e.$high,d.$low+e.$low));b=b+(1)>>0;}while(true){if(!(b<a.dp)){break;}c=$mul64(c,(new $Uint64(0,10)));b=b+(1)>>0;}if(AG(a,a.dp)){c=(g=new $Uint64(0,1),new $Uint64(c.$high+g.$high,c.$low+g.$low));}return c;};Y.prototype.RoundedInteger=function(){return this.$val.RoundedInteger();};AH.ptr.prototype.AssignComputeBounds=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o;e=new AH.ptr(new $Uint64(0,0),0,false);f=new AH.ptr(new $Uint64(0,0),0,false);g=this;g.mant=a;g.exp=b-((d.mantbits>>0))>>0;g.neg=c;if(g.exp<=0&&(h=$shiftLeft64(($shiftRightUint64(a,((-g.exp>>>0)))),((-g.exp>>>0))),(a.$high===h.$high&&a.$low===h.$low))){g.mant=$shiftRightUint64(g.mant,(((-g.exp>>>0))));g.exp=0;i=$clone(g,AH);j=$clone(g,AH);AH.copy(e,i);AH.copy(f,j);return[e,f];}k=b-d.bias>>0;AH.copy(f,new AH.ptr((l=$mul64(new $Uint64(0,2),g.mant),new $Uint64(l.$high+0,l.$low+1)),g.exp-1>>0,g.neg));if(!((m=$shiftLeft64(new $Uint64(0,1),d.mantbits),(a.$high===m.$high&&a.$low===m.$low)))||(k===1)){AH.copy(e,new AH.ptr((n=$mul64(new $Uint64(0,2),g.mant),new $Uint64(n.$high-0,n.$low-1)),g.exp-1>>0,g.neg));}else{AH.copy(e,new AH.ptr((o=$mul64(new $Uint64(0,4),g.mant),new $Uint64(o.$high-0,o.$low-1)),g.exp-2>>0,g.neg));}return[e,f];};AH.prototype.AssignComputeBounds=function(a,b,c,d){return this.$val.AssignComputeBounds(a,b,c,d);};AH.ptr.prototype.Normalize=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n;a=0;b=this;c=b.mant;d=b.exp;e=c;f=d;if((e.$high===0&&e.$low===0)){a=0;return a;}if((g=$shiftRightUint64(e,32),(g.$high===0&&g.$low===0))){e=$shiftLeft64(e,(32));f=f-(32)>>0;}if((h=$shiftRightUint64(e,48),(h.$high===0&&h.$low===0))){e=$shiftLeft64(e,(16));f=f-(16)>>0;}if((i=$shiftRightUint64(e,56),(i.$high===0&&i.$low===0))){e=$shiftLeft64(e,(8));f=f-(8)>>0;}if((j=$shiftRightUint64(e,60),(j.$high===0&&j.$low===0))){e=$shiftLeft64(e,(4));f=f-(4)>>0;}if((k=$shiftRightUint64(e,62),(k.$high===0&&k.$low===0))){e=$shiftLeft64(e,(2));f=f-(2)>>0;}if((l=$shiftRightUint64(e,63),(l.$high===0&&l.$low===0))){e=$shiftLeft64(e,(1));f=f-(1)>>0;}a=(((b.exp-f>>0)>>>0));m=e;n=f;b.mant=m;b.exp=n;return a;};AH.prototype.Normalize=function(){return this.$val.Normalize();};AH.ptr.prototype.Multiply=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;b=this;c=$shiftRightUint64(b.mant,32);d=(new $Uint64(0,((b.mant.$low>>>0))));e=c;f=d;g=$shiftRightUint64(a.mant,32);h=(new $Uint64(0,((a.mant.$low>>>0))));i=g;j=h;k=$mul64(e,j);l=$mul64(f,i);b.mant=(m=(n=$mul64(e,i),o=$shiftRightUint64(k,32),new $Uint64(n.$high+o.$high,n.$low+o.$low)),p=$shiftRightUint64(l,32),new $Uint64(m.$high+p.$high,m.$low+p.$low));u=(q=(r=(new $Uint64(0,((k.$low>>>0)))),s=(new $Uint64(0,((l.$low>>>0)))),new $Uint64(r.$high+s.$high,r.$low+s.$low)),t=$shiftRightUint64(($mul64(f,j)),32),new $Uint64(q.$high+t.$high,q.$low+t.$low));u=(v=new $Uint64(0,2147483648),new $Uint64(u.$high+v.$high,u.$low+v.$low));b.mant=(w=b.mant,x=($shiftRightUint64(u,32)),new $Uint64(w.$high+x.$high,w.$low+x.$low));b.exp=(b.exp+a.exp>>0)+64>>0;};AH.prototype.Multiply=function(a){return this.$val.Multiply(a);};AH.ptr.prototype.AssignDecimal=function(a,b,c,d,e){var $ptr,a,aa,ab,ac,ad,ae,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=false;g=this;h=0;if(d){h=h+(4)>>0;}g.mant=a;g.exp=0;g.neg=c;j=(i=((b- -348>>0))/8,(i===i&&i!==1/0&&i!==-1/0)?i>>0:$throwRuntimeError("integer divide by zero"));if(b<-348||j>=87){f=false;return f;}l=(k=((b- -348>>0))%8,k===k?k:$throwRuntimeError("integer divide by zero"));if(l<19&&(m=(n=19-l>>0,((n<0||n>=AK.length)?($throwRuntimeError("index out of range"),undefined):AK[n])),(a.$high<m.$high||(a.$high===m.$high&&a.$low<m.$low)))){g.mant=$mul64(g.mant,(((l<0||l>=AK.length)?($throwRuntimeError("index out of range"),undefined):AK[l])));g.Normalize();}else{g.Normalize();g.Multiply($clone(((l<0||l>=AI.length)?($throwRuntimeError("index out of range"),undefined):AI[l]),AH));h=h+(4)>>0;}g.Multiply($clone(((j<0||j>=AJ.length)?($throwRuntimeError("index out of range"),undefined):AJ[j]),AH));if(h>0){h=h+(1)>>0;}h=h+(4)>>0;o=g.Normalize();h=(p=(o),p<32?(h<<p):0)>>0;q=e.bias-63>>0;r=0;if(g.exp<=q){r=((63-e.mantbits>>>0)+1>>>0)+(((q-g.exp>>0)>>>0))>>>0;}else{r=63-e.mantbits>>>0;}s=$shiftLeft64(new $Uint64(0,1),((r-1>>>0)));w=(t=g.mant,u=(v=$shiftLeft64(new $Uint64(0,1),r),new $Uint64(v.$high-0,v.$low-1)),new $Uint64(t.$high&u.$high,(t.$low&u.$low)>>>0));if((x=(y=(new $Int64(s.$high,s.$low)),z=(new $Int64(0,h)),new $Int64(y.$high-z.$high,y.$low-z.$low)),aa=(new $Int64(w.$high,w.$low)),(x.$high<aa.$high||(x.$high===aa.$high&&x.$low<aa.$low)))&&(ab=(new $Int64(w.$high,w.$low)),ac=(ad=(new $Int64(s.$high,s.$low)),ae=(new $Int64(0,h)),new $Int64(ad.$high+ae.$high,ad.$low+ae.$low)),(ab.$high<ac.$high||(ab.$high===ac.$high&&ab.$low<ac.$low)))){f=false;return f;}f=true;return f;};AH.prototype.AssignDecimal=function(a,b,c,d,e){return this.$val.AssignDecimal(a,b,c,d,e);};AH.ptr.prototype.frexp10=function(){var $ptr,a,b,c,d,e,f,g,h,i,j;a=0;b=0;c=this;e=(d=($imul(((-46-c.exp>>0)),28))/93,(d===d&&d!==1/0&&d!==-1/0)?d>>0:$throwRuntimeError("integer divide by zero"));g=(f=((e- -348>>0))/8,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero"));Loop:while(true){h=(c.exp+((g<0||g>=AJ.length)?($throwRuntimeError("index out of range"),undefined):AJ[g]).exp>>0)+64>>0;if(h<-60){g=g+(1)>>0;}else if(h>-32){g=g-(1)>>0;}else{break Loop;}}c.Multiply($clone(((g<0||g>=AJ.length)?($throwRuntimeError("index out of range"),undefined):AJ[g]),AH));i=-((-348+($imul(g,8))>>0));j=g;a=i;b=j;return[a,b];};AH.prototype.frexp10=function(){return this.$val.frexp10();};AL=function(a,b,c){var $ptr,a,b,c,d,e,f;d=0;e=c.frexp10();d=e[0];f=e[1];a.Multiply($clone(((f<0||f>=AJ.length)?($throwRuntimeError("index out of range"),undefined):AJ[f]),AH));b.Multiply($clone(((f<0||f>=AJ.length)?($throwRuntimeError("index out of range"),undefined):AJ[f]),AH));return d;};AH.ptr.prototype.FixedDecimal=function(a,b){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=this;if((d=c.mant,(d.$high===0&&d.$low===0))){a.nd=0;a.dp=0;a.neg=c.neg;return true;}if(b===0){$panic(new $String("strconv: internal error: extFloat.FixedDecimal called with n == 0"));}c.Normalize();e=c.frexp10();f=e[0];g=((-c.exp>>>0));h=(($shiftRightUint64(c.mant,g).$low>>>0));k=(i=c.mant,j=$shiftLeft64((new $Uint64(0,h)),g),new $Uint64(i.$high-j.$high,i.$low-j.$low));l=new $Uint64(0,1);m=b;n=0;o=new $Uint64(0,1);p=0;q=new $Uint64(0,1);r=p;s=q;while(true){if(!(r<20)){break;}if((t=(new $Uint64(0,h)),(s.$high>t.$high||(s.$high===t.$high&&s.$low>t.$low)))){n=r;break;}s=$mul64(s,(new $Uint64(0,10)));r=r+(1)>>0;}u=h;if(n>m){o=(v=n-m>>0,((v<0||v>=AK.length)?($throwRuntimeError("index out of range"),undefined):AK[v]));h=(w=h/(((o.$low>>>0))),(w===w&&w!==1/0&&w!==-1/0)?w>>>0:$throwRuntimeError("integer divide by zero"));u=u-(($imul(h,((o.$low>>>0)))>>>0))>>>0;}else{u=0;}x=DC.zero();y=32;z=h;while(true){if(!(z>0)){break;}ab=(aa=z/10,(aa===aa&&aa!==1/0&&aa!==-1/0)?aa>>>0:$throwRuntimeError("integer divide by zero"));z=z-(($imul(10,ab)>>>0))>>>0;y=y-(1)>>0;((y<0||y>=x.length)?($throwRuntimeError("index out of range"),undefined):x[y]=(((z+48>>>0)<<24>>>24)));z=ab;}ac=y;while(true){if(!(ac<32)){break;}(ad=a.d,ae=ac-y>>0,((ae<0||ae>=ad.$length)?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+ae]=((ac<0||ac>=x.length)?($throwRuntimeError("index out of range"),undefined):x[ac])));ac=ac+(1)>>0;}af=32-y>>0;a.nd=af;a.dp=n+f>>0;m=m-(af)>>0;if(m>0){if(!((u===0))||!((o.$high===0&&o.$low===1))){$panic(new $String("strconv: internal error, rest != 0 but needed > 0"));}while(true){if(!(m>0)){break;}k=$mul64(k,(new $Uint64(0,10)));l=$mul64(l,(new $Uint64(0,10)));if((ag=$mul64(new $Uint64(0,2),l),ah=$shiftLeft64(new $Uint64(0,1),g),(ag.$high>ah.$high||(ag.$high===ah.$high&&ag.$low>ah.$low)))){return false;}ai=$shiftRightUint64(k,g);(aj=a.d,((af<0||af>=aj.$length)?($throwRuntimeError("index out of range"),undefined):aj.$array[aj.$offset+af]=((new $Uint64(ai.$high+0,ai.$low+48).$low<<24>>>24))));k=(ak=$shiftLeft64(ai,g),new $Uint64(k.$high-ak.$high,k.$low-ak.$low));af=af+(1)>>0;m=m-(1)>>0;}a.nd=af;}am=AM(a,(al=$shiftLeft64((new $Uint64(0,u)),g),new $Uint64(al.$high|k.$high,(al.$low|k.$low)>>>0)),o,g,l);if(!am){return false;}an=a.nd-1>>0;while(true){if(!(an>=0)){break;}if(!(((ao=a.d,((an<0||an>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+an]))===48))){a.nd=an+1>>0;break;}an=an-(1)>>0;}return true;};AH.prototype.FixedDecimal=function(a,b){return this.$val.FixedDecimal(a,b);};AM=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q;if((f=$shiftLeft64(c,d),(b.$high>f.$high||(b.$high===f.$high&&b.$low>f.$low)))){$panic(new $String("strconv: num > den<<shift in adjustLastDigitFixed"));}if((g=$mul64(new $Uint64(0,2),e),h=$shiftLeft64(c,d),(g.$high>h.$high||(g.$high===h.$high&&g.$low>h.$low)))){$panic(new $String("strconv: \xCE\xB5 > (den<<shift)/2"));}if((i=$mul64(new $Uint64(0,2),(new $Uint64(b.$high+e.$high,b.$low+e.$low))),j=$shiftLeft64(c,d),(i.$high<j.$high||(i.$high===j.$high&&i.$low<j.$low)))){return true;}if((k=$mul64(new $Uint64(0,2),(new $Uint64(b.$high-e.$high,b.$low-e.$low))),l=$shiftLeft64(c,d),(k.$high>l.$high||(k.$high===l.$high&&k.$low>l.$low)))){m=a.nd-1>>0;while(true){if(!(m>=0)){break;}if((n=a.d,((m<0||m>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+m]))===57){a.nd=a.nd-(1)>>0;}else{break;}m=m-(1)>>0;}if(m<0){(o=a.d,(0>=o.$length?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+0]=49));a.nd=1;a.dp=a.dp+(1)>>0;}else{(q=a.d,((m<0||m>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+m]=((p=a.d,((m<0||m>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+m]))+(1)<<24>>>24)));}return true;}return false;};AH.ptr.prototype.ShortestDecimal=function(a,b,c){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;d=this;if((e=d.mant,(e.$high===0&&e.$low===0))){a.nd=0;a.dp=0;a.neg=d.neg;return true;}if((d.exp===0)&&$equal(b,d,AH)&&$equal(b,c,AH)){f=DB.zero();g=23;h=d.mant;while(true){if(!((h.$high>0||(h.$high===0&&h.$low>0)))){break;}i=$div64(h,new $Uint64(0,10),false);h=(j=$mul64(new $Uint64(0,10),i),new $Uint64(h.$high-j.$high,h.$low-j.$low));((g<0||g>=f.length)?($throwRuntimeError("index out of range"),undefined):f[g]=((new $Uint64(h.$high+0,h.$low+48).$low<<24>>>24)));g=g-(1)>>0;h=i;}k=(24-g>>0)-1>>0;l=0;while(true){if(!(l<k)){break;}(n=a.d,((l<0||l>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+l]=(m=(g+1>>0)+l>>0,((m<0||m>=f.length)?($throwRuntimeError("index out of range"),undefined):f[m]))));l=l+(1)>>0;}o=k;p=k;a.nd=o;a.dp=p;while(true){if(!(a.nd>0&&((q=a.d,r=a.nd-1>>0,((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]))===48))){break;}a.nd=a.nd-(1)>>0;}if(a.nd===0){a.dp=0;}a.neg=d.neg;return true;}c.Normalize();if(d.exp>c.exp){d.mant=$shiftLeft64(d.mant,((((d.exp-c.exp>>0)>>>0))));d.exp=c.exp;}if(b.exp>c.exp){b.mant=$shiftLeft64(b.mant,((((b.exp-c.exp>>0)>>>0))));b.exp=c.exp;}s=AL(b,d,c);c.mant=(t=c.mant,u=new $Uint64(0,1),new $Uint64(t.$high+u.$high,t.$low+u.$low));b.mant=(v=b.mant,w=new $Uint64(0,1),new $Uint64(v.$high-w.$high,v.$low-w.$low));x=((-c.exp>>>0));y=(($shiftRightUint64(c.mant,x).$low>>>0));ab=(z=c.mant,aa=$shiftLeft64((new $Uint64(0,y)),x),new $Uint64(z.$high-aa.$high,z.$low-aa.$low));ae=(ac=c.mant,ad=b.mant,new $Uint64(ac.$high-ad.$high,ac.$low-ad.$low));ah=(af=c.mant,ag=d.mant,new $Uint64(af.$high-ag.$high,af.$low-ag.$low));ai=0;aj=0;ak=new $Uint64(0,1);al=aj;am=ak;while(true){if(!(al<20)){break;}if((an=(new $Uint64(0,y)),(am.$high>an.$high||(am.$high===an.$high&&am.$low>an.$low)))){ai=al;break;}am=$mul64(am,(new $Uint64(0,10)));al=al+(1)>>0;}ao=0;while(true){if(!(ao<ai)){break;}aq=(ap=(ai-ao>>0)-1>>0,((ap<0||ap>=AK.length)?($throwRuntimeError("index out of range"),undefined):AK[ap]));as=(ar=y/((aq.$low>>>0)),(ar===ar&&ar!==1/0&&ar!==-1/0)?ar>>>0:$throwRuntimeError("integer divide by zero"));(at=a.d,((ao<0||ao>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+ao]=(((as+48>>>0)<<24>>>24))));y=y-(($imul(as,((aq.$low>>>0)))>>>0))>>>0;av=(au=$shiftLeft64((new $Uint64(0,y)),x),new $Uint64(au.$high+ab.$high,au.$low+ab.$low));if((av.$high<ae.$high||(av.$high===ae.$high&&av.$low<ae.$low))){a.nd=ao+1>>0;a.dp=ai+s>>0;a.neg=d.neg;return AN(a,av,ah,ae,$shiftLeft64(aq,x),new $Uint64(0,2));}ao=ao+(1)>>0;}a.nd=ai;a.dp=a.nd+s>>0;a.neg=d.neg;aw=0;ax=new $Uint64(0,1);while(true){ab=$mul64(ab,(new $Uint64(0,10)));ax=$mul64(ax,(new $Uint64(0,10)));aw=(($shiftRightUint64(ab,x).$low>>0));(ay=a.d,az=a.nd,((az<0||az>=ay.$length)?($throwRuntimeError("index out of range"),undefined):ay.$array[ay.$offset+az]=(((aw+48>>0)<<24>>>24))));a.nd=a.nd+(1)>>0;ab=(ba=$shiftLeft64((new $Uint64(0,aw)),x),new $Uint64(ab.$high-ba.$high,ab.$low-ba.$low));if((bb=$mul64(ae,ax),(ab.$high<bb.$high||(ab.$high===bb.$high&&ab.$low<bb.$low)))){return AN(a,ab,$mul64(ah,ax),$mul64(ae,ax),$shiftLeft64(new $Uint64(0,1),x),$mul64(ax,new $Uint64(0,2)));}}};AH.prototype.ShortestDecimal=function(a,b,c){return this.$val.ShortestDecimal(a,b,c);};AN=function(a,b,c,d,e,f){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;if((g=$mul64(new $Uint64(0,2),f),(e.$high<g.$high||(e.$high===g.$high&&e.$low<g.$low)))){return false;}while(true){if(!((h=(i=(j=$div64(e,new $Uint64(0,2),false),new $Uint64(b.$high+j.$high,b.$low+j.$low)),new $Uint64(i.$high+f.$high,i.$low+f.$low)),(h.$high<c.$high||(h.$high===c.$high&&h.$low<c.$low))))){break;}k=a.nd-1>>0;(m=a.d,((k<0||k>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+k]=((l=a.d,((k<0||k>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+k]))-(1)<<24>>>24)));b=(n=e,new $Uint64(b.$high+n.$high,b.$low+n.$low));}if((o=new $Uint64(b.$high+e.$high,b.$low+e.$low),p=(q=(r=$div64(e,new $Uint64(0,2),false),new $Uint64(c.$high+r.$high,c.$low+r.$low)),new $Uint64(q.$high+f.$high,q.$low+f.$low)),(o.$high<p.$high||(o.$high===p.$high&&o.$low<=p.$low)))){return false;}if((b.$high<f.$high||(b.$high===f.$high&&b.$low<f.$low))||(s=new $Uint64(d.$high-f.$high,d.$low-f.$low),(b.$high>s.$high||(b.$high===s.$high&&b.$low>s.$low)))){return false;}if((a.nd===1)&&((t=a.d,(0>=t.$length?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+0]))===48)){a.nd=0;a.dp=0;}return true;};AS=function(a,b,c,d,e){var $ptr,a,b,c,d,e;return AT(a,b,c,d,e);};$pkg.AppendFloat=AS;AT=function(a,b,c,d,e){var $ptr,a,aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;f=new $Uint64(0,0);g=DD.nil;h=e;if(h===(32)){f=(new $Uint64(0,A.Float32bits(($fround(b)))));g=AP;}else if(h===(64)){f=A.Float64bits(b);g=AQ;}else{$panic(new $String("strconv: illegal AppendFloat/FormatFloat bitSize"));}j=!((i=$shiftRightUint64(f,((g.expbits+g.mantbits>>>0))),(i.$high===0&&i.$low===0)));l=(($shiftRightUint64(f,g.mantbits).$low>>0))&((((k=g.expbits,k<32?(1<<k):0)>>0)-1>>0));o=(m=(n=$shiftLeft64(new $Uint64(0,1),g.mantbits),new $Uint64(n.$high-0,n.$low-1)),new $Uint64(f.$high&m.$high,(f.$low&m.$low)>>>0));p=l;if(p===((((q=g.expbits,q<32?(1<<q):0)>>0)-1>>0))){r="";if(!((o.$high===0&&o.$low===0))){r="NaN";}else if(j){r="-Inf";}else{r="+Inf";}return $appendSlice(a,r);}else if(p===(0)){l=l+(1)>>0;}else{o=(s=$shiftLeft64(new $Uint64(0,1),g.mantbits),new $Uint64(o.$high|s.$high,(o.$low|s.$low)>>>0));}l=l+(g.bias)>>0;if(c===98){return BA(a,j,o,l,g);}if(!G){return AU(a,d,c,j,o,l,g);}t=new AX.ptr(DA.nil,0,0,false);u=false;v=d<0;if(v){w=new AH.ptr(new $Uint64(0,0),0,false);x=w.AssignComputeBounds(o,l,j,g);y=$clone(x[0],AH);z=$clone(x[1],AH);aa=DC.zero();t.d=new DA(aa);u=w.ShortestDecimal(t,y,z);if(!u){return AU(a,d,c,j,o,l,g);}ab=c;if((ab===(101))||(ab===(69))){d=BC(t.nd-1>>0,0);}else if(ab===(102)){d=BC(t.nd-t.dp>>0,0);}else if((ab===(103))||(ab===(71))){d=t.nd;}}else if(!((c===102))){ac=d;ad=c;if((ad===(101))||(ad===(69))){ac=ac+(1)>>0;}else if((ad===(103))||(ad===(71))){if(d===0){d=1;}ac=d;}if(ac<=15){ae=DB.zero();t.d=new DA(ae);af=new AH.ptr(o,l-((g.mantbits>>0))>>0,j);u=af.FixedDecimal(t,ac);}}if(!u){return AU(a,d,c,j,o,l,g);}return AV(a,v,j,$clone(t,AX),d,c);};AU=function(a,b,c,d,e,f,g){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l;h=new Y.ptr(CY.zero(),0,0,false,false);h.Assign(e);h.Shift(f-((g.mantbits>>0))>>0);i=new AX.ptr(DA.nil,0,0,false);j=b<0;if(j){AW(h,e,f,g);AX.copy(i,new AX.ptr(new DA(h.d),h.nd,h.dp,false));k=c;if((k===(101))||(k===(69))){b=i.nd-1>>0;}else if(k===(102)){b=BC(i.nd-i.dp>>0,0);}else if((k===(103))||(k===(71))){b=i.nd;}}else{l=c;if((l===(101))||(l===(69))){h.Round(b+1>>0);}else if(l===(102)){h.Round(h.dp+b>>0);}else if((l===(103))||(l===(71))){if(b===0){b=1;}h.Round(b);}AX.copy(i,new AX.ptr(new DA(h.d),h.nd,h.dp,false));}return AV(a,j,d,$clone(i,AX),b,c);};AV=function(a,b,c,d,e,f){var $ptr,a,b,c,d,e,f,g,h,i;g=f;if((g===(101))||(g===(69))){return AY(a,c,$clone(d,AX),e,f);}else if(g===(102)){return AZ(a,c,$clone(d,AX),e);}else if((g===(103))||(g===(71))){h=e;if(h>d.nd&&d.nd>=d.dp){h=d.nd;}if(b){h=6;}i=d.dp-1>>0;if(i<-4||i>=h){if(e>d.nd){e=d.nd;}return AY(a,c,$clone(d,AX),e-1>>0,(f+101<<24>>>24)-103<<24>>>24);}if(e>d.dp){e=d.nd;}return AZ(a,c,$clone(d,AX),BC(e-d.dp>>0,0));}return $append(a,37,f);};AW=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;if((b.$high===0&&b.$low===0)){a.nd=0;return;}e=d.bias+1>>0;if(c>e&&($imul(332,((a.dp-a.nd>>0))))>=($imul(100,((c-((d.mantbits>>0))>>0))))){return;}f=new Y.ptr(CY.zero(),0,0,false,false);f.Assign((g=$mul64(b,new $Uint64(0,2)),new $Uint64(g.$high+0,g.$low+1)));f.Shift((c-((d.mantbits>>0))>>0)-1>>0);h=new $Uint64(0,0);i=0;if((j=$shiftLeft64(new $Uint64(0,1),d.mantbits),(b.$high>j.$high||(b.$high===j.$high&&b.$low>j.$low)))||(c===e)){h=new $Uint64(b.$high-0,b.$low-1);i=c;}else{h=(k=$mul64(b,new $Uint64(0,2)),new $Uint64(k.$high-0,k.$low-1));i=c-1>>0;}l=new Y.ptr(CY.zero(),0,0,false,false);l.Assign((m=$mul64(h,new $Uint64(0,2)),new $Uint64(m.$high+0,m.$low+1)));l.Shift((i-((d.mantbits>>0))>>0)-1>>0);o=(n=$div64(b,new $Uint64(0,2),true),(n.$high===0&&n.$low===0));p=0;while(true){if(!(p<a.nd)){break;}q=48;if(p<l.nd){q=(r=l.d,((p<0||p>=r.length)?($throwRuntimeError("index out of range"),undefined):r[p]));}t=(s=a.d,((p<0||p>=s.length)?($throwRuntimeError("index out of range"),undefined):s[p]));u=48;if(p<f.nd){u=(v=f.d,((p<0||p>=v.length)?($throwRuntimeError("index out of range"),undefined):v[p]));}w=!((q===t))||o&&((p+1>>0)===l.nd);x=!((t===u))&&(o||(t+1<<24>>>24)<u||(p+1>>0)<f.nd);if(w&&x){a.Round(p+1>>0);return;}else if(w){a.RoundDown(p+1>>0);return;}else if(x){a.RoundUp(p+1>>0);return;}p=p+(1)>>0;}};AY=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;if(b){a=$append(a,45);}f=48;if(!((c.nd===0))){f=(g=c.d,(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]));}a=$append(a,f);if(d>0){a=$append(a,46);h=1;i=BB(c.nd,d+1>>0);if(h<i){a=$appendSlice(a,$subslice(c.d,h,i));h=i;}while(true){if(!(h<=d)){break;}a=$append(a,48);h=h+(1)>>0;}}a=$append(a,e);j=c.dp-1>>0;if(c.nd===0){j=0;}if(j<0){f=45;j=-j;}else{f=43;}a=$append(a,f);if(j<10){a=$append(a,48,((j<<24>>>24))+48<<24>>>24);}else if(j<100){a=$append(a,(((k=j/10,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24,(((l=j%10,l===l?l:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24);}else{a=$append(a,(((m=j/100,(m===m&&m!==1/0&&m!==-1/0)?m>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24,(n=(((o=j/10,(o===o&&o!==1/0&&o!==-1/0)?o>>0:$throwRuntimeError("integer divide by zero"))<<24>>>24))%10,n===n?n:$throwRuntimeError("integer divide by zero"))+48<<24>>>24,(((p=j%10,p===p?p:$throwRuntimeError("integer divide by zero"))<<24>>>24))+48<<24>>>24);}return a;};AZ=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i;if(b){a=$append(a,45);}if(c.dp>0){e=BB(c.nd,c.dp);a=$appendSlice(a,$subslice(c.d,0,e));while(true){if(!(e<c.dp)){break;}a=$append(a,48);e=e+(1)>>0;}}else{a=$append(a,48);}if(d>0){a=$append(a,46);f=0;while(true){if(!(f<d)){break;}g=48;h=c.dp+f>>0;if(0<=h&&h<c.nd){g=(i=c.d,((h<0||h>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+h]));}a=$append(a,g);f=f+(1)>>0;}}return a;};BA=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g;if(b){a=$append(a,45);}f=BO(a,c,10,false,true);a=f[0];a=$append(a,112);d=d-(((e.mantbits>>0)))>>0;if(d>=0){a=$append(a,43);}g=BO(a,(new $Uint64(0,d)),10,d<0,true);a=g[0];return a;};BB=function(a,b){var $ptr,a,b;if(a<b){return a;}return b;};BC=function(a,b){var $ptr,a,b;if(a>b){return a;}return b;};BJ=function(a,b){var $ptr,a,b,c,d;c=BO(DA.nil,(new $Uint64(a.$high,a.$low)),b,(a.$high<0||(a.$high===0&&a.$low<0)),false);d=c[1];return d;};$pkg.FormatInt=BJ;BK=function(a){var $ptr,a;return BJ((new $Int64(0,a)),10);};$pkg.Itoa=BK;BO=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x;f=DA.nil;g="";if(c<2||c>36){$panic(new $String("strconv: illegal AppendInt/FormatInt base"));}h=DE.zero();i=65;if(d){b=new $Uint64(-b.$high,-b.$low);}if(c===10){if(true){while(true){if(!((b.$high>0||(b.$high===0&&b.$low>4294967295)))){break;}j=$div64(b,new $Uint64(0,1000000000),false);l=(((k=$mul64(j,new $Uint64(0,1000000000)),new $Uint64(b.$high-k.$high,b.$low-k.$low)).$low>>>0));m=9;while(true){if(!(m>0)){break;}i=i-(1)>>0;o=(n=l/10,(n===n&&n!==1/0&&n!==-1/0)?n>>>0:$throwRuntimeError("integer divide by zero"));((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]=((((l-($imul(o,10)>>>0)>>>0)+48>>>0)<<24>>>24)));l=o;m=m-(1)>>0;}b=j;}}p=((b.$low>>>0));while(true){if(!(p>=10)){break;}i=i-(1)>>0;r=(q=p/10,(q===q&&q!==1/0&&q!==-1/0)?q>>>0:$throwRuntimeError("integer divide by zero"));((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]=((((p-($imul(r,10)>>>0)>>>0)+48>>>0)<<24>>>24)));p=r;}i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]=(((p+48>>>0)<<24>>>24)));}else{s=((c<0||c>=BN.length)?($throwRuntimeError("index out of range"),undefined):BN[c]);if(s>0){t=(new $Uint64(0,c));u=((t.$low>>>0))-1>>>0;while(true){if(!((b.$high>t.$high||(b.$high===t.$high&&b.$low>=t.$low)))){break;}i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((((b.$low>>>0))&u)>>>0)));b=$shiftRightUint64(b,(s));}i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((b.$low>>>0))));}else{v=(new $Uint64(0,c));while(true){if(!((b.$high>v.$high||(b.$high===v.$high&&b.$low>=v.$low)))){break;}i=i-(1)>>0;w=$div64(b,v,false);((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt((((x=$mul64(w,v),new $Uint64(b.$high-x.$high,b.$low-x.$low)).$low>>>0))));b=w;}i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]="0123456789abcdefghijklmnopqrstuvwxyz".charCodeAt(((b.$low>>>0))));}}if(d){i=i-(1)>>0;((i<0||i>=h.length)?($throwRuntimeError("index out of range"),undefined):h[i]=45);}if(e){f=$appendSlice(a,$subslice(new DA(h),i));return[f,g];}g=($bytesToString($subslice(new DA(h),i)));return[f,g];};BP=function(a,b,c,d){var $ptr,a,b,c,d,e;return($bytesToString(BR($makeSlice(DA,0,(e=($imul(3,a.length))/2,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero"))),a,b,c,d)));};BR=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g,h;a=$append(a,c);f=0;while(true){if(!(b.length>0)){break;}g=((b.charCodeAt(0)>>0));f=1;if(g>=128){h=C.DecodeRuneInString(b);g=h[0];f=h[1];}if((f===1)&&(g===65533)){a=$appendSlice(a,"\\x");a=$append(a,"0123456789abcdef".charCodeAt((b.charCodeAt(0)>>>4<<24>>>24)));a=$append(a,"0123456789abcdef".charCodeAt(((b.charCodeAt(0)&15)>>>0)));b=$substring(b,f);continue;}a=BT(a,g,f,c,d,e);b=$substring(b,f);}a=$append(a,c);return a;};BS=function(a,b,c,d,e){var $ptr,a,b,c,d,e;a=$append(a,c);if(!C.ValidRune(b)){b=65533;}a=BT(a,b,C.RuneLen(b),c,d,e);a=$append(a,c);return a;};BT=function(a,b,c,d,e,f){var $ptr,a,b,c,d,e,f,g,h,i,j,k;g=DF.zero();if((b===((d>>0)))||(b===92)){a=$append(a,92);a=$append(a,((b<<24>>>24)));return a;}if(e){if(b<128&&CN(b)){a=$append(a,((b<<24>>>24)));return a;}}else if(CN(b)||f&&CP(b)){h=C.EncodeRune(new DA(g),b);a=$appendSlice(a,$subslice(new DA(g),0,h));return a;}i=b;if(i===(7)){a=$appendSlice(a,"\\a");}else if(i===(8)){a=$appendSlice(a,"\\b");}else if(i===(12)){a=$appendSlice(a,"\\f");}else if(i===(10)){a=$appendSlice(a,"\\n");}else if(i===(13)){a=$appendSlice(a,"\\r");}else if(i===(9)){a=$appendSlice(a,"\\t");}else if(i===(11)){a=$appendSlice(a,"\\v");}else{if(b<32){a=$appendSlice(a,"\\x");a=$append(a,"0123456789abcdef".charCodeAt((((b<<24>>>24))>>>4<<24>>>24)));a=$append(a,"0123456789abcdef".charCodeAt(((((b<<24>>>24))&15)>>>0)));}else if(b>1114111){b=65533;a=$appendSlice(a,"\\u");j=12;while(true){if(!(j>=0)){break;}a=$append(a,"0123456789abcdef".charCodeAt((((b>>$min(((j>>>0)),31))>>0)&15)));j=j-(4)>>0;}}else if(b<65536){a=$appendSlice(a,"\\u");j=12;while(true){if(!(j>=0)){break;}a=$append(a,"0123456789abcdef".charCodeAt((((b>>$min(((j>>>0)),31))>>0)&15)));j=j-(4)>>0;}}else{a=$appendSlice(a,"\\U");k=28;while(true){if(!(k>=0)){break;}a=$append(a,"0123456789abcdef".charCodeAt((((b>>$min(((k>>>0)),31))>>0)&15)));k=k-(4)>>0;}}}return a;};BU=function(a){var $ptr,a;return BP(a,34,false,false);};$pkg.Quote=BU;BV=function(a,b){var $ptr,a,b;return BR(a,b,34,false,false);};$pkg.AppendQuote=BV;BX=function(a,b){var $ptr,a,b;return BR(a,b,34,true,false);};$pkg.AppendQuoteToASCII=BX;CB=function(a,b){var $ptr,a,b;return BS(a,b,39,false,false);};$pkg.AppendQuoteRune=CB;CD=function(a,b){var $ptr,a,b;return BS(a,b,39,true,false);};$pkg.AppendQuoteRuneToASCII=CD;CG=function(a){var $ptr,a,b,c,d;while(true){if(!(a.length>0)){break;}b=C.DecodeRuneInString(a);c=b[0];d=b[1];a=$substring(a,d);if(d>1){if(c===65279){return false;}continue;}if(c===65533){return false;}if((c<32&&!((c===9)))||(c===96)||(c===127)){return false;}}return true;};$pkg.CanBackquote=CG;CH=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j;b=0;c=false;d=((a>>0));if(48<=d&&d<=57){e=d-48>>0;f=true;b=e;c=f;return[b,c];}else if(97<=d&&d<=102){g=(d-97>>0)+10>>0;h=true;b=g;c=h;return[b,c];}else if(65<=d&&d<=70){i=(d-65>>0)+10>>0;j=true;b=i;c=j;return[b,c];}return[b,c];};CI=function(a,b){var $ptr,a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;c=0;d=false;e="";f=$ifaceNil;g=a.charCodeAt(0);if((g===b)&&((b===39)||(b===34))){f=$pkg.ErrSyntax;return[c,d,e,f];}else if(g>=128){h=C.DecodeRuneInString(a);i=h[0];j=h[1];k=i;l=true;m=$substring(a,j);n=$ifaceNil;c=k;d=l;e=m;f=n;return[c,d,e,f];}else if(!((g===92))){o=((a.charCodeAt(0)>>0));p=false;q=$substring(a,1);r=$ifaceNil;c=o;d=p;e=q;f=r;return[c,d,e,f];}if(a.length<=1){f=$pkg.ErrSyntax;return[c,d,e,f];}s=a.charCodeAt(1);a=$substring(a,2);switch(0){default:t=s;if(t===(97)){c=7;}else if(t===(98)){c=8;}else if(t===(102)){c=12;}else if(t===(110)){c=10;}else if(t===(114)){c=13;}else if(t===(116)){c=9;}else if(t===(118)){c=11;}else if((t===(120))||(t===(117))||(t===(85))){u=0;v=s;if(v===(120)){u=2;}else if(v===(117)){u=4;}else if(v===(85)){u=8;}w=0;if(a.length<u){f=$pkg.ErrSyntax;return[c,d,e,f];}x=0;while(true){if(!(x<u)){break;}y=CH(a.charCodeAt(x));z=y[0];aa=y[1];if(!aa){f=$pkg.ErrSyntax;return[c,d,e,f];}w=(w<<4>>0)|z;x=x+(1)>>0;}a=$substring(a,u);if(s===120){c=w;break;}if(w>1114111){f=$pkg.ErrSyntax;return[c,d,e,f];}c=w;d=true;}else if((t===(48))||(t===(49))||(t===(50))||(t===(51))||(t===(52))||(t===(53))||(t===(54))||(t===(55))){ab=((s>>0))-48>>0;if(a.length<2){f=$pkg.ErrSyntax;return[c,d,e,f];}ac=0;while(true){if(!(ac<2)){break;}ad=((a.charCodeAt(ac)>>0))-48>>0;if(ad<0||ad>7){f=$pkg.ErrSyntax;return[c,d,e,f];}ab=((ab<<3>>0))|ad;ac=ac+(1)>>0;}a=$substring(a,2);if(ab>255){f=$pkg.ErrSyntax;return[c,d,e,f];}c=ab;}else if(t===(92)){c=92;}else if((t===(39))||(t===(34))){if(!((s===b))){f=$pkg.ErrSyntax;return[c,d,e,f];}c=((s>>0));}else{f=$pkg.ErrSyntax;return[c,d,e,f];}}e=a;return[c,d,e,f];};$pkg.UnquoteChar=CI;CJ=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;b=a.length;if(b<2){return["",$pkg.ErrSyntax];}c=a.charCodeAt(0);if(!((c===a.charCodeAt((b-1>>0))))){return["",$pkg.ErrSyntax];}a=$substring(a,1,(b-1>>0));if(c===96){if(CK(a,96)){return["",$pkg.ErrSyntax];}if(CK(a,13)){d=$makeSlice(DA,0,(a.length-1>>0));e=0;while(true){if(!(e<a.length)){break;}if(!((a.charCodeAt(e)===13))){d=$append(d,a.charCodeAt(e));}e=e+(1)>>0;}return[($bytesToString(d)),$ifaceNil];}return[a,$ifaceNil];}if(!((c===34))&&!((c===39))){return["",$pkg.ErrSyntax];}if(CK(a,10)){return["",$pkg.ErrSyntax];}if(!CK(a,92)&&!CK(a,c)){f=c;if(f===(34)){return[a,$ifaceNil];}else if(f===(39)){g=C.DecodeRuneInString(a);h=g[0];i=g[1];if((i===a.length)&&(!((h===65533))||!((i===1)))){return[a,$ifaceNil];}}}j=DF.zero();l=$makeSlice(DA,0,(k=($imul(3,a.length))/2,(k===k&&k!==1/0&&k!==-1/0)?k>>0:$throwRuntimeError("integer divide by zero")));while(true){if(!(a.length>0)){break;}m=CI(a,c);n=m[0];o=m[1];p=m[2];q=m[3];if(!($interfaceIsEqual(q,$ifaceNil))){return["",q];}a=p;if(n<128||!o){l=$append(l,((n<<24>>>24)));}else{r=C.EncodeRune(new DA(j),n);l=$appendSlice(l,$subslice(new DA(j),0,r));}if((c===39)&&!((a.length===0))){return["",$pkg.ErrSyntax];}}return[($bytesToString(l)),$ifaceNil];};$pkg.Unquote=CJ;CK=function(a,b){var $ptr,a,b,c;c=0;while(true){if(!(c<a.length)){break;}if(a.charCodeAt(c)===b){return true;}c=c+(1)>>0;}return false;};CL=function(a,b){var $ptr,a,b,c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(true){if(!(e<f)){break;}h=e+(g=((f-e>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))>>0;if(((h<0||h>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+h])<b){e=h+1>>0;}else{f=h;}}return e;};CM=function(a,b){var $ptr,a,b,c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(true){if(!(e<f)){break;}h=e+(g=((f-e>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))>>0;if(((h<0||h>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+h])<b){e=h+1>>0;}else{f=h;}}return e;};CN=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;if(a<=255){if(32<=a&&a<=126){return true;}if(161<=a&&a<=255){return!((a===173));}return false;}if(0<=a&&a<65536){b=((a<<16>>>16));c=BD;d=BE;e=b;f=c;g=d;h=CL(f,e);if(h>=f.$length||e<(i=(h&~1)>>0,((i<0||i>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+i]))||(j=h|1,((j<0||j>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+j]))<e){return false;}k=CL(g,e);return k>=g.$length||!((((k<0||k>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+k])===e));}l=((a>>>0));m=BF;n=BG;o=l;p=m;q=n;r=CM(p,o);if(r>=p.$length||o<(s=(r&~1)>>0,((s<0||s>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+s]))||(t=r|1,((t<0||t>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+t]))<o){return false;}if(a>=131072){return true;}a=a-(65536)>>0;u=CL(q,((a<<16>>>16)));return u>=q.$length||!((((u<0||u>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+u])===((a<<16>>>16))));};$pkg.IsPrint=CN;CP=function(a){var $ptr,a,b,c;if(a>65535){return false;}b=((a<<16>>>16));c=CL(BH,b);return c<BH.$length&&(b===((c<0||c>=BH.$length)?($throwRuntimeError("index out of range"),undefined):BH.$array[BH.$offset+c]));};CZ.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];DG.methods=[{prop:"set",name:"set",pkg:"strconv",typ:$funcType([$String],[$Bool],false)},{prop:"floatBits",name:"floatBits",pkg:"strconv",typ:$funcType([DD],[$Uint64,$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Assign",name:"Assign",pkg:"",typ:$funcType([$Uint64],[],false)},{prop:"Shift",name:"Shift",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Round",name:"Round",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundDown",name:"RoundDown",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundUp",name:"RoundUp",pkg:"",typ:$funcType([$Int],[],false)},{prop:"RoundedInteger",name:"RoundedInteger",pkg:"",typ:$funcType([],[$Uint64],false)}];DI.methods=[{prop:"floatBits",name:"floatBits",pkg:"strconv",typ:$funcType([DD],[$Uint64,$Bool],false)},{prop:"AssignComputeBounds",name:"AssignComputeBounds",pkg:"",typ:$funcType([$Uint64,$Int,$Bool,DD],[AH,AH],false)},{prop:"Normalize",name:"Normalize",pkg:"",typ:$funcType([],[$Uint],false)},{prop:"Multiply",name:"Multiply",pkg:"",typ:$funcType([AH],[],false)},{prop:"AssignDecimal",name:"AssignDecimal",pkg:"",typ:$funcType([$Uint64,$Int,$Bool,$Bool,DD],[$Bool],false)},{prop:"frexp10",name:"frexp10",pkg:"strconv",typ:$funcType([],[$Int,$Int],false)},{prop:"FixedDecimal",name:"FixedDecimal",pkg:"",typ:$funcType([DH,$Int],[$Bool],false)},{prop:"ShortestDecimal",name:"ShortestDecimal",pkg:"",typ:$funcType([DH,DI,DI],[$Bool],false)}];S.init("",[{prop:"Func",name:"Func",exported:true,typ:$String,tag:""},{prop:"Num",name:"Num",exported:true,typ:$String,tag:""},{prop:"Err",name:"Err",exported:true,typ:$error,tag:""}]);Y.init("strconv",[{prop:"d",name:"d",exported:false,typ:CY,tag:""},{prop:"nd",name:"nd",exported:false,typ:$Int,tag:""},{prop:"dp",name:"dp",exported:false,typ:$Int,tag:""},{prop:"neg",name:"neg",exported:false,typ:$Bool,tag:""},{prop:"trunc",name:"trunc",exported:false,typ:$Bool,tag:""}]);AC.init("strconv",[{prop:"delta",name:"delta",exported:false,typ:$Int,tag:""},{prop:"cutoff",name:"cutoff",exported:false,typ:$String,tag:""}]);AH.init("strconv",[{prop:"mant",name:"mant",exported:false,typ:$Uint64,tag:""},{prop:"exp",name:"exp",exported:false,typ:$Int,tag:""},{prop:"neg",name:"neg",exported:false,typ:$Bool,tag:""}]);AO.init("strconv",[{prop:"mantbits",name:"mantbits",exported:false,typ:$Uint,tag:""},{prop:"expbits",name:"expbits",exported:false,typ:$Uint,tag:""},{prop:"bias",name:"bias",exported:false,typ:$Int,tag:""}]);AX.init("strconv",[{prop:"d",name:"d",exported:false,typ:DA,tag:""},{prop:"nd",name:"nd",exported:false,typ:$Int,tag:""},{prop:"dp",name:"dp",exported:false,typ:$Int,tag:""},{prop:"neg",name:"neg",exported:false,typ:$Bool,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=true;$pkg.ErrRange=B.New("value out of range");$pkg.ErrSyntax=B.New("invalid syntax");AD=new CV([new AC.ptr(0,""),new AC.ptr(1,"5"),new AC.ptr(1,"25"),new AC.ptr(1,"125"),new AC.ptr(2,"625"),new AC.ptr(2,"3125"),new AC.ptr(2,"15625"),new AC.ptr(3,"78125"),new AC.ptr(3,"390625"),new AC.ptr(3,"1953125"),new AC.ptr(4,"9765625"),new AC.ptr(4,"48828125"),new AC.ptr(4,"244140625"),new AC.ptr(4,"1220703125"),new AC.ptr(5,"6103515625"),new AC.ptr(5,"30517578125"),new AC.ptr(5,"152587890625"),new AC.ptr(6,"762939453125"),new AC.ptr(6,"3814697265625"),new AC.ptr(6,"19073486328125"),new AC.ptr(7,"95367431640625"),new AC.ptr(7,"476837158203125"),new AC.ptr(7,"2384185791015625"),new AC.ptr(7,"11920928955078125"),new AC.ptr(8,"59604644775390625"),new AC.ptr(8,"298023223876953125"),new AC.ptr(8,"1490116119384765625"),new AC.ptr(9,"7450580596923828125"),new AC.ptr(9,"37252902984619140625"),new AC.ptr(9,"186264514923095703125"),new AC.ptr(10,"931322574615478515625"),new AC.ptr(10,"4656612873077392578125"),new AC.ptr(10,"23283064365386962890625"),new AC.ptr(10,"116415321826934814453125"),new AC.ptr(11,"582076609134674072265625"),new AC.ptr(11,"2910383045673370361328125"),new AC.ptr(11,"14551915228366851806640625"),new AC.ptr(12,"72759576141834259033203125"),new AC.ptr(12,"363797880709171295166015625"),new AC.ptr(12,"1818989403545856475830078125"),new AC.ptr(13,"9094947017729282379150390625"),new AC.ptr(13,"45474735088646411895751953125"),new AC.ptr(13,"227373675443232059478759765625"),new AC.ptr(13,"1136868377216160297393798828125"),new AC.ptr(14,"5684341886080801486968994140625"),new AC.ptr(14,"28421709430404007434844970703125"),new AC.ptr(14,"142108547152020037174224853515625"),new AC.ptr(15,"710542735760100185871124267578125"),new AC.ptr(15,"3552713678800500929355621337890625"),new AC.ptr(15,"17763568394002504646778106689453125"),new AC.ptr(16,"88817841970012523233890533447265625"),new AC.ptr(16,"444089209850062616169452667236328125"),new AC.ptr(16,"2220446049250313080847263336181640625"),new AC.ptr(16,"11102230246251565404236316680908203125"),new AC.ptr(17,"55511151231257827021181583404541015625"),new AC.ptr(17,"277555756156289135105907917022705078125"),new AC.ptr(17,"1387778780781445675529539585113525390625"),new AC.ptr(18,"6938893903907228377647697925567626953125"),new AC.ptr(18,"34694469519536141888238489627838134765625"),new AC.ptr(18,"173472347597680709441192448139190673828125"),new AC.ptr(19,"867361737988403547205962240695953369140625")]);AI=$toNativeArray($kindStruct,[new AH.ptr(new $Uint64(2147483648,0),-63,false),new AH.ptr(new $Uint64(2684354560,0),-60,false),new AH.ptr(new $Uint64(3355443200,0),-57,false),new AH.ptr(new $Uint64(4194304000,0),-54,false),new AH.ptr(new $Uint64(2621440000,0),-50,false),new AH.ptr(new $Uint64(3276800000,0),-47,false),new AH.ptr(new $Uint64(4096000000,0),-44,false),new AH.ptr(new $Uint64(2560000000,0),-40,false)]);AJ=$toNativeArray($kindStruct,[new AH.ptr(new $Uint64(4203730336,136053384),-1220,false),new AH.ptr(new $Uint64(3132023167,2722021238),-1193,false),new AH.ptr(new $Uint64(2333539104,810921078),-1166,false),new AH.ptr(new $Uint64(3477244234,1573795306),-1140,false),new AH.ptr(new $Uint64(2590748842,1432697645),-1113,false),new AH.ptr(new $Uint64(3860516611,1025131999),-1087,false),new AH.ptr(new $Uint64(2876309015,3348809418),-1060,false),new AH.ptr(new $Uint64(4286034428,3200048207),-1034,false),new AH.ptr(new $Uint64(3193344495,1097586188),-1007,false),new AH.ptr(new $Uint64(2379227053,2424306748),-980,false),new AH.ptr(new $Uint64(3545324584,827693699),-954,false),new AH.ptr(new $Uint64(2641472655,2913388981),-927,false),new AH.ptr(new $Uint64(3936100983,602835915),-901,false),new AH.ptr(new $Uint64(2932623761,1081627501),-874,false),new AH.ptr(new $Uint64(2184974969,1572261463),-847,false),new AH.ptr(new $Uint64(3255866422,1308317239),-821,false),new AH.ptr(new $Uint64(2425809519,944281679),-794,false),new AH.ptr(new $Uint64(3614737867,629291719),-768,false),new AH.ptr(new $Uint64(2693189581,2545915892),-741,false),new AH.ptr(new $Uint64(4013165208,388672741),-715,false),new AH.ptr(new $Uint64(2990041083,708162190),-688,false),new AH.ptr(new $Uint64(2227754207,3536207675),-661,false),new AH.ptr(new $Uint64(3319612455,450088378),-635,false),new AH.ptr(new $Uint64(2473304014,3139815830),-608,false),new AH.ptr(new $Uint64(3685510180,2103616900),-582,false),new AH.ptr(new $Uint64(2745919064,224385782),-555,false),new AH.ptr(new $Uint64(4091738259,3737383206),-529,false),new AH.ptr(new $Uint64(3048582568,2868871352),-502,false),new AH.ptr(new $Uint64(2271371013,1820084875),-475,false),new AH.ptr(new $Uint64(3384606560,885076051),-449,false),new AH.ptr(new $Uint64(2521728396,2444895829),-422,false),new AH.ptr(new $Uint64(3757668132,1881767613),-396,false),new AH.ptr(new $Uint64(2799680927,3102062735),-369,false),new AH.ptr(new $Uint64(4171849679,2289335700),-343,false),new AH.ptr(new $Uint64(3108270227,2410191823),-316,false),new AH.ptr(new $Uint64(2315841784,3205436779),-289,false),new AH.ptr(new $Uint64(3450873173,1697722806),-263,false),new AH.ptr(new $Uint64(2571100870,3497754540),-236,false),new AH.ptr(new $Uint64(3831238852,707476230),-210,false),new AH.ptr(new $Uint64(2854495385,1769181907),-183,false),new AH.ptr(new $Uint64(4253529586,2197867022),-157,false),new AH.ptr(new $Uint64(3169126500,2450594539),-130,false),new AH.ptr(new $Uint64(2361183241,1867548876),-103,false),new AH.ptr(new $Uint64(3518437208,3793315116),-77,false),new AH.ptr(new $Uint64(2621440000,0),-50,false),new AH.ptr(new $Uint64(3906250000,0),-24,false),new AH.ptr(new $Uint64(2910383045,2892103680),3,false),new AH.ptr(new $Uint64(2168404344,4170451332),30,false),new AH.ptr(new $Uint64(3231174267,3372684723),56,false),new AH.ptr(new $Uint64(2407412430,2078956656),83,false),new AH.ptr(new $Uint64(3587324068,2884206696),109,false),new AH.ptr(new $Uint64(2672764710,395977285),136,false),new AH.ptr(new $Uint64(3982729777,3569679143),162,false),new AH.ptr(new $Uint64(2967364920,2361961896),189,false),new AH.ptr(new $Uint64(2210859150,447440347),216,false),new AH.ptr(new $Uint64(3294436857,1114709402),242,false),new AH.ptr(new $Uint64(2454546732,2786846552),269,false),new AH.ptr(new $Uint64(3657559652,443583978),295,false),new AH.ptr(new $Uint64(2725094297,2599384906),322,false),new AH.ptr(new $Uint64(4060706939,3028118405),348,false),new AH.ptr(new $Uint64(3025462433,2044532855),375,false),new AH.ptr(new $Uint64(2254145170,1536935362),402,false),new AH.ptr(new $Uint64(3358938053,3365297469),428,false),new AH.ptr(new $Uint64(2502603868,4204241075),455,false),new AH.ptr(new $Uint64(3729170365,2577424355),481,false),new AH.ptr(new $Uint64(2778448436,3677981733),508,false),new AH.ptr(new $Uint64(4140210802,2744688476),534,false),new AH.ptr(new $Uint64(3084697427,1424604878),561,false),new AH.ptr(new $Uint64(2298278679,4062331362),588,false),new AH.ptr(new $Uint64(3424702107,3546052773),614,false),new AH.ptr(new $Uint64(2551601907,2065781727),641,false),new AH.ptr(new $Uint64(3802183132,2535403578),667,false),new AH.ptr(new $Uint64(2832847187,1558426518),694,false),new AH.ptr(new $Uint64(4221271257,2762425404),720,false),new AH.ptr(new $Uint64(3145092172,2812560400),747,false),new AH.ptr(new $Uint64(2343276271,3057687578),774,false),new AH.ptr(new $Uint64(3491753744,2790753324),800,false),new AH.ptr(new $Uint64(2601559269,3918606633),827,false),new AH.ptr(new $Uint64(3876625403,2711358621),853,false),new AH.ptr(new $Uint64(2888311001,1648096297),880,false),new AH.ptr(new $Uint64(2151959390,2057817989),907,false),new AH.ptr(new $Uint64(3206669376,61660461),933,false),new AH.ptr(new $Uint64(2389154863,1581580175),960,false),new AH.ptr(new $Uint64(3560118173,2626467905),986,false),new AH.ptr(new $Uint64(2652494738,3034782633),1013,false),new AH.ptr(new $Uint64(3952525166,3135207385),1039,false),new AH.ptr(new $Uint64(2944860731,2616258155),1066,false)]);AK=$toNativeArray($kindUint64,[new $Uint64(0,1),new $Uint64(0,10),new $Uint64(0,100),new $Uint64(0,1000),new $Uint64(0,10000),new $Uint64(0,100000),new $Uint64(0,1000000),new $Uint64(0,10000000),new $Uint64(0,100000000),new $Uint64(0,1000000000),new $Uint64(2,1410065408),new $Uint64(23,1215752192),new $Uint64(232,3567587328),new $Uint64(2328,1316134912),new $Uint64(23283,276447232),new $Uint64(232830,2764472320),new $Uint64(2328306,1874919424),new $Uint64(23283064,1569325056),new $Uint64(232830643,2808348672),new $Uint64(2328306436,2313682944)]);AP=new AO.ptr(23,8,-127);AQ=new AO.ptr(52,11,-1023);BD=new CW([32,126,161,887,890,895,900,1366,1369,1418,1421,1479,1488,1514,1520,1524,1542,1563,1566,1805,1808,1866,1869,1969,1984,2042,2048,2093,2096,2139,2142,2142,2208,2237,2260,2444,2447,2448,2451,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2531,2534,2555,2561,2570,2575,2576,2579,2617,2620,2626,2631,2632,2635,2637,2641,2641,2649,2654,2662,2677,2689,2745,2748,2765,2768,2768,2784,2787,2790,2801,2809,2809,2817,2828,2831,2832,2835,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2915,2918,2935,2946,2954,2958,2965,2969,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3021,3024,3024,3031,3031,3046,3066,3072,3129,3133,3149,3157,3162,3168,3171,3174,3183,3192,3257,3260,3277,3285,3286,3294,3299,3302,3314,3329,3386,3389,3407,3412,3427,3430,3455,3458,3478,3482,3517,3520,3526,3530,3530,3535,3551,3558,3567,3570,3572,3585,3642,3647,3675,3713,3716,3719,3722,3725,3725,3732,3751,3754,3773,3776,3789,3792,3801,3804,3807,3840,3948,3953,4058,4096,4295,4301,4301,4304,4685,4688,4701,4704,4749,4752,4789,4792,4805,4808,4885,4888,4954,4957,4988,4992,5017,5024,5109,5112,5117,5120,5788,5792,5880,5888,5908,5920,5942,5952,5971,5984,6003,6016,6109,6112,6121,6128,6137,6144,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6443,6448,6459,6464,6464,6468,6509,6512,6516,6528,6571,6576,6601,6608,6618,6622,6683,6686,6780,6783,6793,6800,6809,6816,6829,6832,6846,6912,6987,6992,7036,7040,7155,7164,7223,7227,7241,7245,7304,7360,7367,7376,7417,7424,7669,7675,7957,7960,7965,7968,8005,8008,8013,8016,8061,8064,8147,8150,8175,8178,8190,8208,8231,8240,8286,8304,8305,8308,8348,8352,8382,8400,8432,8448,8587,8592,9254,9280,9290,9312,11123,11126,11157,11160,11193,11197,11217,11244,11247,11264,11507,11513,11559,11565,11565,11568,11623,11631,11632,11647,11670,11680,11844,11904,12019,12032,12245,12272,12283,12289,12438,12441,12543,12549,12589,12593,12730,12736,12771,12784,19893,19904,40917,40960,42124,42128,42182,42192,42539,42560,42743,42752,42935,42999,43051,43056,43065,43072,43127,43136,43205,43214,43225,43232,43261,43264,43347,43359,43388,43392,43481,43486,43574,43584,43597,43600,43609,43612,43714,43739,43766,43777,43782,43785,43790,43793,43798,43808,43877,43888,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64449,64467,64831,64848,64911,64914,64967,65008,65021,65024,65049,65056,65131,65136,65276,65281,65470,65474,65479,65482,65487,65490,65495,65498,65500,65504,65518,65532,65533]);BE=new CW([173,907,909,930,1328,1376,1416,1424,1757,2111,2229,2274,2436,2473,2481,2526,2564,2601,2609,2612,2615,2621,2653,2692,2702,2706,2729,2737,2740,2758,2762,2820,2857,2865,2868,2910,2948,2961,2971,2973,3017,3076,3085,3089,3113,3141,3145,3159,3204,3213,3217,3241,3252,3269,3273,3295,3312,3332,3341,3345,3397,3401,3460,3506,3516,3541,3543,3715,3721,3736,3744,3748,3750,3756,3770,3781,3783,3912,3992,4029,4045,4294,4681,4695,4697,4745,4785,4799,4801,4823,4881,5760,5901,5997,6001,6431,6751,7415,8024,8026,8028,8030,8117,8133,8156,8181,8335,9215,11209,11311,11359,11558,11687,11695,11703,11711,11719,11727,11735,11743,11930,12352,12687,12831,13055,42927,43470,43519,43815,43823,64311,64317,64319,64322,64325,65107,65127,65141,65511]);BF=new CX([65536,65613,65616,65629,65664,65786,65792,65794,65799,65843,65847,65947,65952,65952,66000,66045,66176,66204,66208,66256,66272,66299,66304,66339,66352,66378,66384,66426,66432,66499,66504,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,66927,66927,67072,67382,67392,67413,67424,67431,67584,67589,67592,67640,67644,67644,67647,67742,67751,67759,67808,67829,67835,67867,67871,67897,67903,67903,67968,68023,68028,68047,68050,68102,68108,68147,68152,68154,68159,68167,68176,68184,68192,68255,68288,68326,68331,68342,68352,68405,68409,68437,68440,68466,68472,68497,68505,68508,68521,68527,68608,68680,68736,68786,68800,68850,68858,68863,69216,69246,69632,69709,69714,69743,69759,69825,69840,69864,69872,69881,69888,69955,69968,70006,70016,70093,70096,70132,70144,70206,70272,70313,70320,70378,70384,70393,70400,70412,70415,70416,70419,70457,70460,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70749,70784,70855,70864,70873,71040,71093,71096,71133,71168,71236,71248,71257,71264,71276,71296,71351,71360,71369,71424,71449,71453,71467,71472,71487,71840,71922,71935,71935,72384,72440,72704,72773,72784,72812,72816,72847,72850,72886,73728,74649,74752,74868,74880,75075,77824,78894,82944,83526,92160,92728,92736,92777,92782,92783,92880,92909,92912,92917,92928,92997,93008,93047,93053,93071,93952,94020,94032,94078,94095,94111,94176,94176,94208,100332,100352,101106,110592,110593,113664,113770,113776,113788,113792,113800,113808,113817,113820,113823,118784,119029,119040,119078,119081,119154,119163,119272,119296,119365,119552,119638,119648,119665,119808,119967,119970,119970,119973,119974,119977,120074,120077,120134,120138,120485,120488,120779,120782,121483,121499,121519,122880,122904,122907,122922,124928,125124,125127,125142,125184,125258,125264,125273,125278,125279,126464,126500,126503,126523,126530,126530,126535,126548,126551,126564,126567,126619,126625,126651,126704,126705,126976,127019,127024,127123,127136,127150,127153,127221,127232,127244,127248,127339,127344,127404,127462,127490,127504,127547,127552,127560,127568,127569,127744,128722,128736,128748,128752,128758,128768,128883,128896,128980,129024,129035,129040,129095,129104,129113,129120,129159,129168,129197,129296,129319,129328,129328,129331,129355,129360,129374,129408,129425,129472,129472,131072,173782,173824,177972,177984,178205,178208,183969,194560,195101,917760,917999]);BG=new CW([12,39,59,62,399,926,2057,2102,2134,2291,2564,2580,2584,4285,4405,4576,4626,4743,4745,4750,4766,4868,4905,4913,4916,5210,5212,7177,7223,7336,9327,27231,27482,27490,54357,54429,54445,54458,54460,54468,54534,54549,54557,54586,54591,54597,54609,55968,57351,57378,57381,60932,60960,60963,60968,60979,60984,60986,61000,61002,61004,61008,61011,61016,61018,61020,61022,61024,61027,61035,61043,61048,61053,61055,61066,61092,61098,61632,61648,61743,63775,63807]);BH=new CW([160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288]);BN=$toNativeArray($kindUint,[0,0,1,0,2,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["reflect"]=(function(){var $pkg={},$init,A,C,F,D,B,E,L,N,O,P,AU,BY,BZ,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CP,CY,CZ,DA,DE,DF,DG,EZ,FA,FD,HM,HN,HO,HP,HQ,HR,IG,IH,II,IJ,IK,IL,IM,IN,IO,IP,IQ,IR,IS,IT,IU,IX,IY,IZ,JA,JB,JC,JN,JP,JQ,JS,JT,JU,KB,KC,G,M,Q,S,U,BG,BH,BL,CQ,DB,FM,H,I,J,K,R,T,V,W,X,Y,Z,AA,AB,AC,AF,AH,AI,AJ,AK,AM,AQ,AR,AS,AT,AV,AW,AX,AY,AZ,BB,BC,BD,BE,BF,BI,BJ,BK,BM,BN,DI,DK,DL,DM,DN,ER,EW,FN,GF,GH,GI,GJ,GK,GL,GM,GN,GO,GP,GQ,GR,GS,GT,GU,GV,GW,GX,GY,GZ,HA,HB,HC;A=$packages["errors"];C=$packages["github.com/gopherjs/gopherjs/js"];F=$packages["math"];D=$packages["runtime"];B=$packages["strconv"];E=$packages["sync"];L=$pkg.uncommonType=$newType(0,$kindStruct,"reflect.uncommonType",true,"reflect",false,function(pkgPath_,mcount_,_$2_,moff_,_$4_,_methods_){this.$val=this;if(arguments.length===0){this.pkgPath=0;this.mcount=0;this._$2=0;this.moff=0;this._$4=0;this._methods=HP.nil;return;}this.pkgPath=pkgPath_;this.mcount=mcount_;this._$2=_$2_;this.moff=moff_;this._$4=_$4_;this._methods=_methods_;});N=$pkg.funcType=$newType(0,$kindStruct,"reflect.funcType",true,"reflect",false,function(rtype_,inCount_,outCount_,_in_,_out_){this.$val=this;if(arguments.length===0){this.rtype=new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0);this.inCount=0;this.outCount=0;this._in=HO.nil;this._out=HO.nil;return;}this.rtype=rtype_;this.inCount=inCount_;this.outCount=outCount_;this._in=_in_;this._out=_out_;});O=$pkg.name=$newType(0,$kindStruct,"reflect.name",true,"reflect",false,function(bytes_){this.$val=this;if(arguments.length===0){this.bytes=IL.nil;return;}this.bytes=bytes_;});P=$pkg.nameData=$newType(0,$kindStruct,"reflect.nameData",true,"reflect",false,function(name_,tag_,pkgPath_,exported_){this.$val=this;if(arguments.length===0){this.name="";this.tag="";this.pkgPath="";this.exported=false;return;}this.name=name_;this.tag=tag_;this.pkgPath=pkgPath_;this.exported=exported_;});AU=$pkg.mapIter=$newType(0,$kindStruct,"reflect.mapIter",true,"reflect",false,function(t_,m_,keys_,i_){this.$val=this;if(arguments.length===0){this.t=$ifaceNil;this.m=null;this.keys=null;this.i=0;return;}this.t=t_;this.m=m_;this.keys=keys_;this.i=i_;});BY=$pkg.Type=$newType(8,$kindInterface,"reflect.Type",true,"reflect",true,null);BZ=$pkg.Kind=$newType(4,$kindUint,"reflect.Kind",true,"reflect",true,null);CA=$pkg.tflag=$newType(1,$kindUint8,"reflect.tflag",true,"reflect",false,null);CB=$pkg.rtype=$newType(0,$kindStruct,"reflect.rtype",true,"reflect",false,function(size_,ptrdata_,hash_,tflag_,align_,fieldAlign_,kind_,alg_,gcdata_,str_,ptrToThis_){this.$val=this;if(arguments.length===0){this.size=0;this.ptrdata=0;this.hash=0;this.tflag=0;this.align=0;this.fieldAlign=0;this.kind=0;this.alg=IK.nil;this.gcdata=IL.nil;this.str=0;this.ptrToThis=0;return;}this.size=size_;this.ptrdata=ptrdata_;this.hash=hash_;this.tflag=tflag_;this.align=align_;this.fieldAlign=fieldAlign_;this.kind=kind_;this.alg=alg_;this.gcdata=gcdata_;this.str=str_;this.ptrToThis=ptrToThis_;});CC=$pkg.typeAlg=$newType(0,$kindStruct,"reflect.typeAlg",true,"reflect",false,function(hash_,equal_){this.$val=this;if(arguments.length===0){this.hash=$throwNilPointerError;this.equal=$throwNilPointerError;return;}this.hash=hash_;this.equal=equal_;});CD=$pkg.method=$newType(0,$kindStruct,"reflect.method",true,"reflect",false,function(name_,mtyp_,ifn_,tfn_){this.$val=this;if(arguments.length===0){this.name=0;this.mtyp=0;this.ifn=0;this.tfn=0;return;}this.name=name_;this.mtyp=mtyp_;this.ifn=ifn_;this.tfn=tfn_;});CE=$pkg.ChanDir=$newType(4,$kindInt,"reflect.ChanDir",true,"reflect",true,null);CF=$pkg.arrayType=$newType(0,$kindStruct,"reflect.arrayType",true,"reflect",false,function(rtype_,elem_,slice_,len_){this.$val=this;if(arguments.length===0){this.rtype=new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0);this.elem=HN.nil;this.slice=HN.nil;this.len=0;return;}this.rtype=rtype_;this.elem=elem_;this.slice=slice_;this.len=len_;});CG=$pkg.chanType=$newType(0,$kindStruct,"reflect.chanType",true,"reflect",false,function(rtype_,elem_,dir_){this.$val=this;if(arguments.length===0){this.rtype=new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0);this.elem=HN.nil;this.dir=0;return;}this.rtype=rtype_;this.elem=elem_;this.dir=dir_;});CH=$pkg.imethod=$newType(0,$kindStruct,"reflect.imethod",true,"reflect",false,function(name_,typ_){this.$val=this;if(arguments.length===0){this.name=0;this.typ=0;return;}this.name=name_;this.typ=typ_;});CI=$pkg.interfaceType=$newType(0,$kindStruct,"reflect.interfaceType",true,"reflect",false,function(rtype_,pkgPath_,methods_){this.$val=this;if(arguments.length===0){this.rtype=new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0);this.pkgPath=new O.ptr(IL.nil);this.methods=IM.nil;return;}this.rtype=rtype_;this.pkgPath=pkgPath_;this.methods=methods_;});CJ=$pkg.mapType=$newType(0,$kindStruct,"reflect.mapType",true,"reflect",false,function(rtype_,key_,elem_,bucket_,hmap_,keysize_,indirectkey_,valuesize_,indirectvalue_,bucketsize_,reflexivekey_,needkeyupdate_){this.$val=this;if(arguments.length===0){this.rtype=new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0);this.key=HN.nil;this.elem=HN.nil;this.bucket=HN.nil;this.hmap=HN.nil;this.keysize=0;this.indirectkey=0;this.valuesize=0;this.indirectvalue=0;this.bucketsize=0;this.reflexivekey=false;this.needkeyupdate=false;return;}this.rtype=rtype_;this.key=key_;this.elem=elem_;this.bucket=bucket_;this.hmap=hmap_;this.keysize=keysize_;this.indirectkey=indirectkey_;this.valuesize=valuesize_;this.indirectvalue=indirectvalue_;this.bucketsize=bucketsize_;this.reflexivekey=reflexivekey_;this.needkeyupdate=needkeyupdate_;});CK=$pkg.ptrType=$newType(0,$kindStruct,"reflect.ptrType",true,"reflect",false,function(rtype_,elem_){this.$val=this;if(arguments.length===0){this.rtype=new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0);this.elem=HN.nil;return;}this.rtype=rtype_;this.elem=elem_;});CL=$pkg.sliceType=$newType(0,$kindStruct,"reflect.sliceType",true,"reflect",false,function(rtype_,elem_){this.$val=this;if(arguments.length===0){this.rtype=new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0);this.elem=HN.nil;return;}this.rtype=rtype_;this.elem=elem_;});CM=$pkg.structField=$newType(0,$kindStruct,"reflect.structField",true,"reflect",false,function(name_,typ_,offset_){this.$val=this;if(arguments.length===0){this.name=new O.ptr(IL.nil);this.typ=HN.nil;this.offset=0;return;}this.name=name_;this.typ=typ_;this.offset=offset_;});CN=$pkg.structType=$newType(0,$kindStruct,"reflect.structType",true,"reflect",false,function(rtype_,pkgPath_,fields_){this.$val=this;if(arguments.length===0){this.rtype=new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0);this.pkgPath=new O.ptr(IL.nil);this.fields=IN.nil;return;}this.rtype=rtype_;this.pkgPath=pkgPath_;this.fields=fields_;});CP=$pkg.Method=$newType(0,$kindStruct,"reflect.Method",true,"reflect",true,function(Name_,PkgPath_,Type_,Func_,Index_){this.$val=this;if(arguments.length===0){this.Name="";this.PkgPath="";this.Type=$ifaceNil;this.Func=new EZ.ptr(HN.nil,0,0);this.Index=0;return;}this.Name=Name_;this.PkgPath=PkgPath_;this.Type=Type_;this.Func=Func_;this.Index=Index_;});CY=$pkg.nameOff=$newType(4,$kindInt32,"reflect.nameOff",true,"reflect",false,null);CZ=$pkg.typeOff=$newType(4,$kindInt32,"reflect.typeOff",true,"reflect",false,null);DA=$pkg.textOff=$newType(4,$kindInt32,"reflect.textOff",true,"reflect",false,null);DE=$pkg.StructField=$newType(0,$kindStruct,"reflect.StructField",true,"reflect",true,function(Name_,PkgPath_,Type_,Tag_,Offset_,Index_,Anonymous_){this.$val=this;if(arguments.length===0){this.Name="";this.PkgPath="";this.Type=$ifaceNil;this.Tag="";this.Offset=0;this.Index=IZ.nil;this.Anonymous=false;return;}this.Name=Name_;this.PkgPath=PkgPath_;this.Type=Type_;this.Tag=Tag_;this.Offset=Offset_;this.Index=Index_;this.Anonymous=Anonymous_;});DF=$pkg.StructTag=$newType(8,$kindString,"reflect.StructTag",true,"reflect",true,null);DG=$pkg.fieldScan=$newType(0,$kindStruct,"reflect.fieldScan",true,"reflect",false,function(typ_,index_){this.$val=this;if(arguments.length===0){this.typ=JB.nil;this.index=IZ.nil;return;}this.typ=typ_;this.index=index_;});EZ=$pkg.Value=$newType(0,$kindStruct,"reflect.Value",true,"reflect",true,function(typ_,ptr_,flag_){this.$val=this;if(arguments.length===0){this.typ=HN.nil;this.ptr=0;this.flag=0;return;}this.typ=typ_;this.ptr=ptr_;this.flag=flag_;});FA=$pkg.flag=$newType(4,$kindUintptr,"reflect.flag",true,"reflect",false,null);FD=$pkg.ValueError=$newType(0,$kindStruct,"reflect.ValueError",true,"reflect",true,function(Method_,Kind_){this.$val=this;if(arguments.length===0){this.Method="";this.Kind=0;return;}this.Method=Method_;this.Kind=Kind_;});HM=$sliceType(O);HN=$ptrType(CB);HO=$sliceType(HN);HP=$sliceType(CD);HQ=$mapType(HN,HP);HR=$structType("reflect",[{prop:"RWMutex",name:"",exported:true,typ:E.RWMutex,tag:""},{prop:"m",name:"m",exported:false,typ:HQ,tag:""}]);IG=$sliceType($emptyInterface);IH=$ptrType(C.Object);II=$funcType([IG],[IH],true);IJ=$sliceType($String);IK=$ptrType(CC);IL=$ptrType($Uint8);IM=$sliceType(CH);IN=$sliceType(CM);IO=$ptrType(L);IP=$ptrType(P);IQ=$structType("reflect",[{prop:"str",name:"str",exported:false,typ:$String,tag:""}]);IR=$sliceType(IH);IS=$sliceType(EZ);IT=$sliceType(BY);IU=$sliceType(IR);IX=$ptrType(CI);IY=$ptrType(CH);IZ=$sliceType($Int);JA=$sliceType(DG);JB=$ptrType(CN);JC=$sliceType($Uint8);JN=$ptrType($UnsafePointer);JP=$sliceType($Int32);JQ=$ptrType(N);JS=$funcType([$String],[$Bool],false);JT=$funcType([$UnsafePointer,$Uintptr],[$Uintptr],false);JU=$funcType([$UnsafePointer,$UnsafePointer],[$Bool],false);KB=$arrayType($Uintptr,2);KC=$ptrType(FD);H=function(){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=(function(am){var $ptr,am;});$r=am((an=new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),new an.constructor.elem(an)));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((ao=new L.ptr(0,0,0,0,0,HP.nil),new ao.constructor.elem(ao)));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((ap=new CD.ptr(0,0,0,0),new ap.constructor.elem(ap)));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((aq=new CF.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),HN.nil,HN.nil,0),new aq.constructor.elem(aq)));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((ar=new CG.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),HN.nil,0),new ar.constructor.elem(ar)));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((as=new N.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),0,0,HO.nil,HO.nil),new as.constructor.elem(as)));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((at=new CI.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),new O.ptr(IL.nil),IM.nil),new at.constructor.elem(at)));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((au=new CJ.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),HN.nil,HN.nil,HN.nil,HN.nil,0,0,0,0,0,false,false),new au.constructor.elem(au)));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((av=new CK.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),HN.nil),new av.constructor.elem(av)));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((aw=new CL.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),HN.nil),new aw.constructor.elem(aw)));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((ax=new CN.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),new O.ptr(IL.nil),IN.nil),new ax.constructor.elem(ax)));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((ay=new CH.ptr(0,0),new ay.constructor.elem(ay)));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=am((az=new CM.ptr(new O.ptr(IL.nil),HN.nil,0),new az.constructor.elem(az)));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=true;FM=$assertType(AB(new $Uint8(0)),HN);$s=-1;return;}return;}if($f===undefined){$f={$blk:H};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.$s=$s;$f.$r=$r;return $f;};I=function(am){var $ptr,am;return am.jsType;};J=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu;if(am.reflectType===undefined){an=new CB.ptr(((($parseInt(am.size)>>0)>>>0)),0,0,0,0,0,((($parseInt(am.kind)>>0)<<24>>>24)),IK.nil,IL.nil,T($clone(R(W(am.string),"","",!!(am.exported)),O)),0);an.jsType=am;am.reflectType=an;ao=$methodSet(am);if(!(($parseInt(ao.length)===0))||!!(am.named)){an.tflag=(an.tflag|(1))>>>0;if(!!(am.named)){an.tflag=(an.tflag|(4))>>>0;}ap=$makeSlice(HP,$parseInt(ao.length));aq=ap;ar=0;while(true){if(!(ar<aq.$length)){break;}as=ar;at=ao[as];CD.copy(((as<0||as>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+as]),new CD.ptr(T($clone(R(W(at.name),"","",W(at.pkg)===""),O)),V(J(at.typ)),0,0));ar++;}au=new L.ptr(T($clone(R(W(am.pkg),"","",false),O)),(($parseInt(ao.length)<<16>>>16)),0,0,0,ap);av=an;(M||$throwRuntimeError("assignment to entry in nil map"))[HN.keyFor(av)]={k:av,v:au};au.jsType=am;}aw=an.Kind();if(aw===(17)){K(an,new CF.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),J(am.elem),HN.nil,((($parseInt(am.len)>>0)>>>0))));}else if(aw===(18)){ax=3;if(!!(am.sendOnly)){ax=2;}if(!!(am.recvOnly)){ax=1;}K(an,new CG.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),J(am.elem),((ax>>>0))));}else if(aw===(19)){ay=am.params;az=$makeSlice(HO,$parseInt(ay.length));ba=az;bb=0;while(true){if(!(bb<ba.$length)){break;}bc=bb;((bc<0||bc>=az.$length)?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+bc]=J(ay[bc]));bb++;}bd=am.results;be=$makeSlice(HO,$parseInt(bd.length));bf=be;bg=0;while(true){if(!(bg<bf.$length)){break;}bh=bg;((bh<0||bh>=be.$length)?($throwRuntimeError("index out of range"),undefined):be.$array[be.$offset+bh]=J(bd[bh]));bg++;}bi=(($parseInt(bd.length)<<16>>>16));if(!!(am.variadic)){bi=(bi|(32768))>>>0;}K(an,new N.ptr($clone(an,CB),(($parseInt(ay.length)<<16>>>16)),bi,az,be));}else if(aw===(20)){bj=am.methods;bk=$makeSlice(IM,$parseInt(bj.length));bl=bk;bm=0;while(true){if(!(bm<bl.$length)){break;}bn=bm;bo=bj[bn];CH.copy(((bn<0||bn>=bk.$length)?($throwRuntimeError("index out of range"),undefined):bk.$array[bk.$offset+bn]),new CH.ptr(T($clone(R(W(bo.name),"","",W(bo.pkg)===""),O)),V(J(bo.typ))));bm++;}K(an,new CI.ptr($clone(an,CB),new O.ptr(IL.nil),bk));}else if(aw===(21)){K(an,new CJ.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),J(am.key),J(am.elem),HN.nil,HN.nil,0,0,0,0,0,false,false));}else if(aw===(22)){K(an,new CK.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),J(am.elem)));}else if(aw===(23)){K(an,new CL.ptr(new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0),J(am.elem)));}else if(aw===(25)){bp=am.fields;bq=$makeSlice(IN,$parseInt(bp.length));br=bq;bs=0;while(true){if(!(bs<br.$length)){break;}bt=bs;bu=bp[bt];CM.copy(((bt<0||bt>=bq.$length)?($throwRuntimeError("index out of range"),undefined):bq.$array[bq.$offset+bt]),new CM.ptr($clone(R(W(bu.name),W(bu.tag),"",!!(bu.exported)),O),J(bu.typ),((bt>>>0))));bs++;}K(an,new CN.ptr($clone(an,CB),$clone(R(W(am.pkgPath),"","",false),O),bq));}}return((am.reflectType));};K=function(am,an){var $ptr,am,an;am.kindType=an;an.rtype=am;};L.ptr.prototype.methods=function(){var $ptr,am;am=this;return am._methods;};L.prototype.methods=function(){return this.$val.methods();};CB.ptr.prototype.uncommon=function(){var $ptr,am,an;am=this;return(an=M[HN.keyFor(am)],an!==undefined?an.v:IO.nil);};CB.prototype.uncommon=function(){return this.$val.uncommon();};N.ptr.prototype.in$=function(){var $ptr,am;am=this;return am._in;};N.prototype.in$=function(){return this.$val.in$();};N.ptr.prototype.out=function(){var $ptr,am;am=this;return am._out;};N.prototype.out=function(){return this.$val.out();};O.ptr.prototype.name=function(){var $ptr,am,an,ao;am="";an=this;am=(ao=Q[IL.keyFor(an.bytes)],ao!==undefined?ao.v:IP.nil).name;return am;};O.prototype.name=function(){return this.$val.name();};O.ptr.prototype.tag=function(){var $ptr,am,an,ao;am="";an=this;am=(ao=Q[IL.keyFor(an.bytes)],ao!==undefined?ao.v:IP.nil).tag;return am;};O.prototype.tag=function(){return this.$val.tag();};O.ptr.prototype.pkgPath=function(){var $ptr,am,an;am=this;return(an=Q[IL.keyFor(am.bytes)],an!==undefined?an.v:IP.nil).pkgPath;};O.prototype.pkgPath=function(){return this.$val.pkgPath();};O.ptr.prototype.isExported=function(){var $ptr,am,an;am=this;return(an=Q[IL.keyFor(am.bytes)],an!==undefined?an.v:IP.nil).exported;};O.prototype.isExported=function(){return this.$val.isExported();};R=function(am,an,ao,ap){var $ptr,am,an,ao,ap,aq,ar;aq=$newDataPointer(0,IL);ar=aq;(Q||$throwRuntimeError("assignment to entry in nil map"))[IL.keyFor(ar)]={k:ar,v:new P.ptr(am,an,ao,ap)};return new O.ptr(aq);};CB.ptr.prototype.nameOff=function(am){var $ptr,am,an,ao;an=this;return(ao=((am>>0)),((ao<0||ao>=S.$length)?($throwRuntimeError("index out of range"),undefined):S.$array[S.$offset+ao]));};CB.prototype.nameOff=function(am){return this.$val.nameOff(am);};T=function(am){var $ptr,am,an;an=S.$length;S=$append(S,am);return((an>>0));};CB.ptr.prototype.typeOff=function(am){var $ptr,am,an,ao;an=this;return(ao=((am>>0)),((ao<0||ao>=U.$length)?($throwRuntimeError("index out of range"),undefined):U.$array[U.$offset+ao]));};CB.prototype.typeOff=function(am){return this.$val.typeOff(am);};V=function(am){var $ptr,am,an;an=U.$length;U=$append(U,am);return((an>>0));};W=function(am){var $ptr,am,an;an=new IQ.ptr("");an.str=am;return an.str;};X=function(am){var $ptr,am;return!!(I(am).wrapped);};Y=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar;ap=I(ao).fields;aq=0;while(true){if(!(aq<$parseInt(ap.length))){break;}ar=$internalize(ap[aq].prop,$String);am[$externalize(ar,$String)]=an[$externalize(ar,$String)];aq=aq+(1)>>0;}};Z=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=am.common();$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;at=am.Kind();$s=6;case 6:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}if(at===17){as=true;$s=5;continue s;}au=am.Kind();$s=7;case 7:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}as=au===25;case 5:if(as){ar=true;$s=4;continue s;}av=am.Kind();$s=8;case 8:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}ar=av===22;case 4:if(ar){$s=2;continue;}$s=3;continue;case 2:aw=am.Kind();$s=9;case 9:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}$s=-1;return new EZ.ptr(aq,(an),(ao|((aw>>>0)))>>>0);case 3:ax=am.Kind();$s=10;case 10:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}$s=-1;return new EZ.ptr(aq,($newDataPointer(an,I(aq.ptrTo()))),(((ao|((ax>>>0)))>>>0)|128)>>>0);}return;}if($f===undefined){$f={$blk:Z};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};AA=function(am,an,ao){var $ptr,am,an,ao,ap,aq,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=[am];ap=am[0].Kind();$s=3;case 3:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}if(!((ap===23))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.MakeSlice of non-slice type"));case 2:if(an<0){$panic(new $String("reflect.MakeSlice: negative len"));}if(ao<0){$panic(new $String("reflect.MakeSlice: negative cap"));}if(an>ao){$panic(new $String("reflect.MakeSlice: len > cap"));}aq=Z(am[0],$makeSlice(I(am[0]),an,ao,(function(am){return function $b(){var $ptr,aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=am[0].Elem();$s=1;case 1:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=I(aq);$s=2;case 2:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}$s=-1;return ar.zero();}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};})(am)),0);$s=4;case 4:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}$s=-1;return aq;}return;}if($f===undefined){$f={$blk:AA};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.$s=$s;$f.$r=$r;return $f;};$pkg.MakeSlice=AA;AB=function(am){var $ptr,am;if(!G){return new CB.ptr(0,0,0,0,0,0,0,IK.nil,IL.nil,0,0);}if($interfaceIsEqual(am,$ifaceNil)){return $ifaceNil;}return J(am.constructor);};$pkg.TypeOf=AB;AC=function(am){var $ptr,am,an,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($interfaceIsEqual(am,$ifaceNil)){$s=-1;return new EZ.ptr(HN.nil,0,0);}an=Z(J(am.constructor),am.$val,0);$s=1;case 1:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}$s=-1;return an;}return;}if($f===undefined){$f={$blk:AC};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.$s=$s;$f.$r=$r;return $f;};$pkg.ValueOf=AC;AF=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(!(ao)){ap=false;$s=3;continue s;}if(am.$length===0){aq=true;$s=4;continue s;}as=(ar=am.$length-1>>0,((ar<0||ar>=am.$length)?($throwRuntimeError("index out of range"),undefined):am.$array[am.$offset+ar])).Kind();$s=5;case 5:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}aq=!((as===23));case 4:ap=aq;case 3:if(ap){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.FuncOf: last arg of variadic func must be slice"));case 2:at=$makeSlice(IR,am.$length);au=am;av=0;while(true){if(!(av<au.$length)){break;}aw=av;ax=((av<0||av>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+av]);((aw<0||aw>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+aw]=I(ax));av++;}ay=$makeSlice(IR,an.$length);az=an;ba=0;while(true){if(!(ba<az.$length)){break;}bb=ba;bc=((ba<0||ba>=az.$length)?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+ba]);((bb<0||bb>=ay.$length)?($throwRuntimeError("index out of range"),undefined):ay.$array[ay.$offset+bb]=I(bc));ba++;}$s=-1;return J($funcType($externalize(at,IR),$externalize(ay,IR),$externalize(ao,$Bool)));}return;}if($f===undefined){$f={$blk:AF};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.$s=$s;$f.$r=$r;return $f;};$pkg.FuncOf=AF;CB.ptr.prototype.ptrTo=function(){var $ptr,am;am=this;return J($ptrType(I(am)));};CB.prototype.ptrTo=function(){return this.$val.ptrTo();};AH=function(am){var $ptr,am;return J($sliceType(I(am)));};$pkg.SliceOf=AH;AI=function(am){var $ptr,am,an,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=Z(am,I(am).zero(),0);$s=1;case 1:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}$s=-1;return an;}return;}if($f===undefined){$f={$blk:AI};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Zero=AI;AJ=function(am){var $ptr,am,an;an=am.Kind();if(an===(25)){return(new(I(am).ptr)());}else if(an===(17)){return(I(am).zero());}else{return($newDataPointer(I(am).zero(),I(am.ptrTo())));}};AK=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=ao.common();$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;ar=AJ(aq);as=aq.Kind();if(as===(3)){(ar).$set(((an.$low<<24>>24)));}else if(as===(4)){(ar).$set(((an.$low<<16>>16)));}else if((as===(2))||(as===(5))){(ar).$set(((an.$low>>0)));}else if(as===(6)){(ar).$set((new $Int64(an.$high,an.$low)));}else if(as===(8)){(ar).$set(((an.$low<<24>>>24)));}else if(as===(9)){(ar).$set(((an.$low<<16>>>16)));}else if((as===(7))||(as===(10))||(as===(12))){(ar).$set(((an.$low>>>0)));}else if(as===(11)){(ar).$set((an));}$s=-1;return new EZ.ptr(aq,ar,(((am|128)>>>0)|((aq.Kind()>>>0)))>>>0);}return;}if($f===undefined){$f={$blk:AK};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};AM=function(am,an,ao){var $ptr,am,an,ao;an.$set(ao.$get());};AQ=function(am,an){var $ptr,am,an,ao,ap;ao=an;if(!(ao.$get===undefined)){ao=ao.$get();}ap=$internalize(I(am.Key()).keyFor(ao),$String);return[ao,ap];};AR=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar;ap=AQ(am,ao);aq=ap[1];ar=an[$externalize(aq,$String)];if(ar===undefined){return 0;}return($newDataPointer(ar.v,I(DI(am.Elem()))));};AS=function(am,an,ao,ap){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=AQ(am,ao);ar=aq[0];as=aq[1];at=ap.$get();au=am.Elem();av=au.Kind();$s=3;case 3:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}if(av===25){$s=1;continue;}$s=2;continue;case 1:aw=I(au).zero();Y(aw,at,au);at=aw;case 2:ax=new($global.Object)();ax.k=ar;ax.v=at;an[$externalize(as,$String)]=ax;$s=-1;return;}return;}if($f===undefined){$f={$blk:AS};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};AT=function(am,an,ao){var $ptr,am,an,ao,ap,aq;ap=AQ(am,ao);aq=ap[1];delete an[$externalize(aq,$String)];};AV=function(am,an){var $ptr,am,an;return((new AU.ptr(am,an,$keys(an),0)));};AW=function(am){var $ptr,am,an,ao,ap,aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=((am));ao=an.keys[an.i];ap=an.t.Key();$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=DI(ap);$s=2;case 2:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=I(aq);$s=3;case 3:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}$s=-1;return($newDataPointer(an.m[$externalize($internalize(ao,$String),$String)].k,ar));}return;}if($f===undefined){$f={$blk:AW};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};AX=function(am){var $ptr,am,an;an=((am));an.i=an.i+(1)>>0;};AY=function(am){var $ptr,am;return $parseInt($keys(am).length);};AZ=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=$clone(am,EZ).object();if(ao===I(am.typ).nil){$s=1;continue;}$s=2;continue;case 1:ap=Z(an,I(an).nil,am.flag);$s=3;case 3:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$s=-1;return ap;case 2:aq=null;ar=an.Kind();$s=5;case 5:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;at=as;if(at===(23)){$s=6;continue;}if(at===(22)){$s=7;continue;}if(at===(25)){$s=8;continue;}if((at===(17))||(at===(1))||(at===(18))||(at===(19))||(at===(20))||(at===(21))||(at===(24))){$s=9;continue;}$s=10;continue;case 6:au=new(I(an))(ao.$array);au.$offset=ao.$offset;au.$length=ao.$length;au.$capacity=ao.$capacity;aq=$newDataPointer(au,I(DI(an)));$s=11;continue;case 7:av=an.Elem();$s=14;case 14:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av.Kind();$s=15;case 15:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}if(aw===25){$s=12;continue;}$s=13;continue;case 12:ax=an.Elem();$s=18;case 18:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}if($interfaceIsEqual(ax,am.typ.Elem())){$s=16;continue;}$s=17;continue;case 16:aq=ao;$s=4;continue;case 17:aq=new(I(an))();ay=aq;az=ao;ba=an.Elem();$s=19;case 19:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}bb=ba;$r=Y(ay,az,bb);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=4;continue;case 13:aq=new(I(an))(ao.$get,ao.$set);$s=11;continue;case 8:aq=new(I(an).ptr)();Y(aq,ao,an);$s=11;continue;case 9:aq=am.ptr;$s=11;continue;case 10:$panic(new FD.ptr("reflect.Convert",as));case 11:case 4:bc=an.common();$s=21;case 21:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}bd=an.Kind();$s=22;case 22:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}$s=-1;return new EZ.ptr(bc,(aq),(((am.flag&224)>>>0)|((bd>>>0)))>>>0);}return;}if($f===undefined){$f={$blk:AZ};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.$s=$s;$f.$r=$r;return $f;};BB=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az;ap=HN.nil;aq=HN.nil;ar=0;as="";if(an.typ.Kind()===20){at=(an.typ.kindType);if(ao<0||ao>=at.methods.$length){$panic(new $String("reflect: internal error: invalid method index"));}av=(au=at.methods,((ao<0||ao>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+ao]));if(!$clone(at.rtype.nameOff(av.name),O).isExported()){$panic(new $String("reflect: "+am+" of unexported method"));}aq=at.rtype.typeOff(av.typ);as=$clone(at.rtype.nameOff(av.name),O).name();}else{aw=an.typ.uncommon();if(aw===IO.nil||((ao>>>0))>=((aw.mcount>>>0))){$panic(new $String("reflect: internal error: invalid method index"));}ay=$clone((ax=aw.methods(),((ao<0||ao>=ax.$length)?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+ao])),CD);if(!$clone(an.typ.nameOff(ay.name),O).isExported()){$panic(new $String("reflect: "+am+" of unexported method"));}aq=an.typ.typeOff(ay.mtyp);as=$internalize($methodSet(I(an.typ))[ao].prop,$String);}az=$clone(an,EZ).object();if(X(an.typ)){az=new(I(an.typ))(az);}ar=(az[$externalize(as,$String)]);return[ap,aq,ar];};BC=function(am,an){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(am.flag===0){$panic(new FD.ptr("reflect.Value.Interface",0));}if(an&&!((((am.flag&96)>>>0)===0))){$panic(new $String("reflect.Value.Interface: cannot return value obtained from unexported field or method"));}if(!((((am.flag&512)>>>0)===0))){$s=1;continue;}$s=2;continue;case 1:ao=BF("Interface",$clone(am,EZ));$s=3;case 3:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}am=ao;case 2:if(X(am.typ)){$s=-1;return((new(I(am.typ))($clone(am,EZ).object())));}$s=-1;return(($clone(am,EZ).object()));}return;}if($f===undefined){$f={$blk:BC};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};BD=function(am,an,ao){var $ptr,am,an,ao;ao.$set(an);};BE=function(){var $ptr;return"?FIXME?";};BF=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=[ao];ap=[ap];if(((an.flag&512)>>>0)===0){$panic(new $String("reflect: internal error: invalid use of makePartialFunc"));}aq=BB(am,$clone(an,EZ),((an.flag>>0))>>10>>0);ao[0]=aq[2];ap[0]=$clone(an,EZ).object();if(X(an.typ)){ap[0]=new(I(an.typ))(ap[0]);}ar=C.MakeFunc((function(ao,ap){return function(ar,as){var $ptr,ar,as;return new $jsObjectPtr(ao[0].apply(ap[0],$externalize(as,IR)));};})(ao,ap));as=$clone(an,EZ).Type().common();$s=1;case 1:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$s=-1;return new EZ.ptr(as,(ar),(((an.flag&96)>>>0)|19)>>>0);}return;}if($f===undefined){$f={$blk:BF};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};CB.ptr.prototype.pointers=function(){var $ptr,am,an;am=this;an=am.Kind();if((an===(22))||(an===(21))||(an===(18))||(an===(19))||(an===(25))||(an===(17))){return true;}else{return false;}};CB.prototype.pointers=function(){return this.$val.pointers();};CB.ptr.prototype.Comparable=function(){var $ptr,am,an,ao,ap,aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=this;an=am.Kind();if((an===(19))||(an===(23))||(an===(21))){$s=2;continue;}if(an===(17)){$s=3;continue;}if(an===(25)){$s=4;continue;}$s=5;continue;case 2:$s=-1;return false;case 3:ao=am.Elem().Comparable();$s=6;case 6:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;case 4:ap=0;case 7:if(!(ap<am.NumField())){$s=8;continue;}aq=am.Field(ap);$s=11;case 11:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq.Type.Comparable();$s=12;case 12:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}if(!ar){$s=9;continue;}$s=10;continue;case 9:$s=-1;return false;case 10:ap=ap+(1)>>0;$s=7;continue;case 8:case 5:case 1:$s=-1;return true;}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.Comparable};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.Comparable=function(){return this.$val.Comparable();};CB.ptr.prototype.Method=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=[an];ao=new CP.ptr("","",$ifaceNil,new EZ.ptr(HN.nil,0,0),0);ap=this;if(ap.Kind()===20){aq=(ap.kindType);CP.copy(ao,aq.Method(am));$s=-1;return ao;}ar=ap.exportedMethods();$s=1;case 1:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;if(am<0||am>=as.$length){$panic(new $String("reflect: Method index out of range"));}at=$clone(((am<0||am>=as.$length)?($throwRuntimeError("index out of range"),undefined):as.$array[as.$offset+am]),CD);au=$clone(ap.nameOff(at.name),O);ao.Name=$clone(au,O).name();av=19;aw=ap.typeOff(at.mtyp);ax=(aw.kindType);ay=$makeSlice(IT,0,(1+ax.in$().$length>>0));ay=$append(ay,ap);az=ax.in$();ba=0;while(true){if(!(ba<az.$length)){break;}bb=((ba<0||ba>=az.$length)?($throwRuntimeError("index out of range"),undefined):az.$array[az.$offset+ba]);ay=$append(ay,bb);ba++;}bc=$makeSlice(IT,0,ax.out().$length);bd=ax.out();be=0;while(true){if(!(be<bd.$length)){break;}bf=((be<0||be>=bd.$length)?($throwRuntimeError("index out of range"),undefined):bd.$array[bd.$offset+be]);bc=$append(bc,bf);be++;}bg=AF(ay,bc,ax.rtype.IsVariadic());$s=2;case 2:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}bh=bg;ao.Type=bh;an[0]=$internalize($methodSet(ap.jsType)[am].prop,$String);bi=C.MakeFunc((function(an){return function(bi,bj){var $ptr,bi,bj,bk;bk=(0>=bj.$length?($throwRuntimeError("index out of range"),undefined):bj.$array[bj.$offset+0]);return new $jsObjectPtr(bk[$externalize(an[0],$String)].apply(bk,$externalize($subslice(bj,1),IR)));};})(an));ao.Func=new EZ.ptr($assertType(bh,HN),(bi),av);ao.Index=am;CP.copy(ao,ao);$s=-1;return ao;}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.Method};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.Method=function(am){return this.$val.Method(am);};EZ.ptr.prototype.object=function(){var $ptr,am,an,ao,ap;am=this;if((am.typ.Kind()===17)||(am.typ.Kind()===25)){return am.ptr;}if(!((((am.flag&128)>>>0)===0))){an=am.ptr.$get();if(!(an===$ifaceNil)&&!(an.constructor===I(am.typ))){switch(0){default:ao=am.typ.Kind();if((ao===(11))||(ao===(6))){an=new(I(am.typ))(an.$high,an.$low);}else if((ao===(15))||(ao===(16))){an=new(I(am.typ))(an.$real,an.$imag);}else if(ao===(23)){if(an===an.constructor.nil){an=I(am.typ).nil;break;}ap=new(I(am.typ))(an.$array);ap.$offset=an.$offset;ap.$length=an.$length;ap.$capacity=an.$capacity;an=ap;}}}return an;}return am.ptr;};EZ.prototype.object=function(){return this.$val.object();};EZ.ptr.prototype.call=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,by,bz,ca,cb,cc,cd,ce,cf,cg,ch,ci,cj,ck,cl,cm,cn,co,cp,cq,cr,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;by=$f.by;bz=$f.bz;ca=$f.ca;cb=$f.cb;cc=$f.cc;cd=$f.cd;ce=$f.ce;cf=$f.cf;cg=$f.cg;ch=$f.ch;ci=$f.ci;cj=$f.cj;ck=$f.ck;cl=$f.cl;cm=$f.cm;cn=$f.cn;co=$f.co;cp=$f.cp;cq=$f.cq;cr=$f.cr;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=this;ap=HN.nil;aq=0;ar=null;if(!((((ao.flag&512)>>>0)===0))){as=BB(am,$clone(ao,EZ),((ao.flag>>0))>>10>>0);ap=as[1];aq=as[2];ar=$clone(ao,EZ).object();if(X(ao.typ)){ar=new(I(ao.typ))(ar);}}else{ap=ao.typ;aq=($clone(ao,EZ).object());ar=undefined;}if(aq===0){$panic(new $String("reflect.Value.Call: call of nil function"));}at=am==="CallSlice";au=ap.NumIn();if(at){if(!ap.IsVariadic()){$panic(new $String("reflect: CallSlice of non-variadic function"));}if(an.$length<au){$panic(new $String("reflect: CallSlice with too few input arguments"));}if(an.$length>au){$panic(new $String("reflect: CallSlice with too many input arguments"));}}else{if(ap.IsVariadic()){au=au-(1)>>0;}if(an.$length<au){$panic(new $String("reflect: Call with too few input arguments"));}if(!ap.IsVariadic()&&an.$length>au){$panic(new $String("reflect: Call with too many input arguments"));}}av=an;aw=0;while(true){if(!(aw<av.$length)){break;}ax=((aw<0||aw>=av.$length)?($throwRuntimeError("index out of range"),undefined):av.$array[av.$offset+aw]);if($clone(ax,EZ).Kind()===0){$panic(new $String("reflect: "+am+" using zero Value argument"));}aw++;}ay=0;case 1:if(!(ay<au)){$s=2;continue;}az=$clone(((ay<0||ay>=an.$length)?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+ay]),EZ).Type();ba=ap.In(ay);bb=az;bc=ba;bd=bb.AssignableTo(bc);$s=5;case 5:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}if(!bd){$s=3;continue;}$s=4;continue;case 3:be=bb.String();$s=6;case 6:if($c){$c=false;be=be.$blk();}if(be&&be.$blk!==undefined){break s;}bf=bc.String();$s=7;case 7:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}$panic(new $String("reflect: "+am+" using "+be+" as type "+bf));case 4:ay=ay+(1)>>0;$s=1;continue;case 2:if(!at&&ap.IsVariadic()){$s=8;continue;}$s=9;continue;case 8:bg=an.$length-au>>0;bh=AA(ap.In(au),bg,bg);$s=10;case 10:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}bi=bh;bj=ap.In(au).Elem();$s=11;case 11:if($c){$c=false;bj=bj.$blk();}if(bj&&bj.$blk!==undefined){break s;}bk=bj;bl=0;case 12:if(!(bl<bg)){$s=13;continue;}bn=(bm=au+bl>>0,((bm<0||bm>=an.$length)?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+bm]));bo=$clone(bn,EZ).Type();bp=bo.AssignableTo(bk);$s=16;case 16:if($c){$c=false;bp=bp.$blk();}if(bp&&bp.$blk!==undefined){break s;}if(!bp){$s=14;continue;}$s=15;continue;case 14:bq=bo.String();$s=17;case 17:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}br=bk.String();$s=18;case 18:if($c){$c=false;br=br.$blk();}if(br&&br.$blk!==undefined){break s;}$panic(new $String("reflect: cannot use "+bq+" as type "+br+" in "+am));case 15:bs=$clone(bi,EZ).Index(bl);$s=19;case 19:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}$r=$clone(bs,EZ).Set($clone(bn,EZ));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bl=bl+(1)>>0;$s=12;continue;case 13:bt=an;an=$makeSlice(IS,(au+1>>0));$copySlice($subslice(an,0,au),bt);((au<0||au>=an.$length)?($throwRuntimeError("index out of range"),undefined):an.$array[an.$offset+au]=bi);case 9:bu=an.$length;if(!((bu===ap.NumIn()))){$panic(new $String("reflect.Value.Call: wrong argument count"));}bv=ap.NumOut();bw=new($global.Array)(ap.NumIn());bx=an;by=0;case 21:if(!(by<bx.$length)){$s=22;continue;}bz=by;ca=((by<0||by>=bx.$length)?($throwRuntimeError("index out of range"),undefined):bx.$array[bx.$offset+by]);cb=ap.In(bz);cc=ap.In(bz).common();$s=23;case 23:if($c){$c=false;cc=cc.$blk();}if(cc&&cc.$blk!==undefined){break s;}cd=cc;ce=0;cf=$clone(ca,EZ).assignTo("reflect.Value.Call",cd,ce);$s=24;case 24:if($c){$c=false;cf=cf.$blk();}if(cf&&cf.$blk!==undefined){break s;}cg=$clone(cf,EZ).object();$s=25;case 25:if($c){$c=false;cg=cg.$blk();}if(cg&&cg.$blk!==undefined){break s;}ch=cg;ci=BJ(cb,ch);$s=26;case 26:if($c){$c=false;ci=ci.$blk();}if(ci&&ci.$blk!==undefined){break s;}bw[bz]=ci;by++;$s=21;continue;case 22:cj=BG(new IG([new $jsObjectPtr(aq),new $jsObjectPtr(ar),new $jsObjectPtr(bw)]));$s=27;case 27:if($c){$c=false;cj=cj.$blk();}if(cj&&cj.$blk!==undefined){break s;}ck=cj;cl=bv;if(cl===(0)){$s=29;continue;}if(cl===(1)){$s=30;continue;}$s=31;continue;case 29:$s=-1;return IS.nil;case 30:cm=Z(ap.Out(0),BI(ap.Out(0),ck),0);$s=33;case 33:if($c){$c=false;cm=cm.$blk();}if(cm&&cm.$blk!==undefined){break s;}$s=-1;return new IS([$clone(cm,EZ)]);case 31:cn=$makeSlice(IS,bv);co=cn;cp=0;case 34:if(!(cp<co.$length)){$s=35;continue;}cq=cp;cr=Z(ap.Out(cq),BI(ap.Out(cq),ck[cq]),0);$s=36;case 36:if($c){$c=false;cr=cr.$blk();}if(cr&&cr.$blk!==undefined){break s;}((cq<0||cq>=cn.$length)?($throwRuntimeError("index out of range"),undefined):cn.$array[cn.$offset+cq]=cr);cp++;$s=34;continue;case 35:$s=-1;return cn;case 32:case 28:$s=-1;return IS.nil;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.call};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.by=by;$f.bz=bz;$f.ca=ca;$f.cb=cb;$f.cc=cc;$f.cd=cd;$f.ce=ce;$f.cf=cf;$f.cg=cg;$f.ch=ch;$f.ci=ci;$f.cj=cj;$f.ck=ck;$f.cl=cl;$f.cm=cm;$f.cn=cn;$f.co=co;$f.cp=cp;$f.cq=cq;$f.cr=cr;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.call=function(am,an){return this.$val.call(am,an);};EZ.ptr.prototype.Cap=function(){var $ptr,am,an,ao;am=this;an=new FA(am.flag).kind();ao=an;if(ao===(17)){return am.typ.Len();}else if((ao===(18))||(ao===(23))){return $parseInt($clone(am,EZ).object().$capacity)>>0;}$panic(new FD.ptr("reflect.Value.Cap",an));};EZ.prototype.Cap=function(){return this.$val.Cap();};BI=function(am,an){var $ptr,am,an;if($interfaceIsEqual(am,BH)){return new(I(BH))(an);}return an;};BJ=function(am,an){var $ptr,am,an;if($interfaceIsEqual(am,BH)){return an.object;}return an;};EZ.ptr.prototype.Elem=function(){var $ptr,am,an,ao,ap,aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=this;an=new FA(am.flag).kind();ao=an;if(ao===(20)){$s=2;continue;}if(ao===(22)){$s=3;continue;}$s=4;continue;case 2:ap=$clone(am,EZ).object();if(ap===$ifaceNil){$s=-1;return new EZ.ptr(HN.nil,0,0);}aq=J(ap.constructor);ar=Z(aq,ap.$val,(am.flag&96)>>>0);$s=6;case 6:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}$s=-1;return ar;case 3:if($clone(am,EZ).IsNil()){$s=-1;return new EZ.ptr(HN.nil,0,0);}as=$clone(am,EZ).object();at=(am.typ.kindType);au=(((((am.flag&96)>>>0)|128)>>>0)|256)>>>0;au=(au|(((at.elem.Kind()>>>0))))>>>0;$s=-1;return new EZ.ptr(at.elem,(BI(at.elem,as)),au);case 4:$panic(new FD.ptr("reflect.Value.Elem",an));case 5:case 1:$s=-1;return new EZ.ptr(HN.nil,0,0);}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Elem};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Elem=function(){return this.$val.Elem();};EZ.ptr.prototype.Field=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=[an];ao=[ao];ap=[ap];aq=[aq];ar=this;if(!((new FA(ar.flag).kind()===25))){$panic(new FD.ptr("reflect.Value.Field",new FA(ar.flag).kind()));}as=(ar.typ.kindType);if(((am>>>0))>=((as.fields.$length>>>0))){$panic(new $String("reflect: Field index out of range"));}ao[0]=$internalize(I(ar.typ).fields[am].prop,$String);au=(at=as.fields,((am<0||am>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+am]));aq[0]=au.typ;av=(((ar.flag&416)>>>0)|((aq[0].Kind()>>>0)))>>>0;if(!$clone(au.name,O).isExported()){if($clone(au.name,O).name()===""){av=(av|(64))>>>0;}else{av=(av|(32))>>>0;}}ax=$clone((aw=as.fields,((am<0||am>=aw.$length)?($throwRuntimeError("index out of range"),undefined):aw.$array[aw.$offset+am])).name,O).tag();if(!(ax==="")&&!((am===0))){$s=1;continue;}$s=2;continue;case 1:an[0]=BK(ax);if(!(an[0]==="")){$s=3;continue;}$s=4;continue;case 3:case 5:ay=[ay];az=$clone(ar,EZ).Field(0);$s=7;case 7:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ar=az;if(ar.typ===BH){$s=8;continue;}$s=9;continue;case 8:ay[0]=$clone(ar,EZ).object().object;$s=-1;return new EZ.ptr(aq[0],(new(I(DI(aq[0])))((function(an,ao,ap,aq,ay){return function(){var $ptr;return $internalize(ay[0][$externalize(an[0],$String)],I(aq[0]));};})(an,ao,ap,aq,ay),(function(an,ao,ap,aq,ay){return function(ba){var $ptr,ba;ay[0][$externalize(an[0],$String)]=$externalize(ba,I(aq[0]));};})(an,ao,ap,aq,ay))),av);case 9:if(ar.typ.Kind()===22){$s=10;continue;}$s=11;continue;case 10:ba=$clone(ar,EZ).Elem();$s=12;case 12:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}ar=ba;case 11:$s=5;continue;case 6:case 4:case 2:ap[0]=ar.ptr;if(!((((av&128)>>>0)===0))&&!((aq[0].Kind()===17))&&!((aq[0].Kind()===25))){$s=13;continue;}$s=14;continue;case 13:$s=-1;return new EZ.ptr(aq[0],(new(I(DI(aq[0])))((function(an,ao,ap,aq){return function(){var $ptr;return BI(aq[0],ap[0][$externalize(ao[0],$String)]);};})(an,ao,ap,aq),(function(an,ao,ap,aq){return function(bb){var $ptr,bb;ap[0][$externalize(ao[0],$String)]=BJ(aq[0],bb);};})(an,ao,ap,aq))),av);case 14:bb=Z(aq[0],BI(aq[0],ap[0][$externalize(ao[0],$String)]),av);$s=15;case 15:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}$s=-1;return bb;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Field};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Field=function(am){return this.$val.Field(am);};BK=function(am){var $ptr,am,an,ao,ap,aq,ar;while(true){if(!(!(am===""))){break;}an=0;while(true){if(!(an<am.length&&(am.charCodeAt(an)===32))){break;}an=an+(1)>>0;}am=$substring(am,an);if(am===""){break;}an=0;while(true){if(!(an<am.length&&!((am.charCodeAt(an)===32))&&!((am.charCodeAt(an)===58))&&!((am.charCodeAt(an)===34)))){break;}an=an+(1)>>0;}if((an+1>>0)>=am.length||!((am.charCodeAt(an)===58))||!((am.charCodeAt((an+1>>0))===34))){break;}ao=($substring(am,0,an));am=$substring(am,(an+1>>0));an=1;while(true){if(!(an<am.length&&!((am.charCodeAt(an)===34)))){break;}if(am.charCodeAt(an)===92){an=an+(1)>>0;}an=an+(1)>>0;}if(an>=am.length){break;}ap=($substring(am,0,(an+1>>0)));am=$substring(am,(an+1>>0));if(ao==="js"){aq=B.Unquote(ap);ar=aq[0];return ar;}}return"";};EZ.ptr.prototype.Index=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=[am];an=[an];ao=[ao];ap=[ap];aq=[aq];ar=[ar];as=this;at=new FA(as.flag).kind();au=at;if(au===(17)){$s=2;continue;}if(au===(23)){$s=3;continue;}if(au===(24)){$s=4;continue;}$s=5;continue;case 2:av=(as.typ.kindType);if(am[0]<0||am[0]>((av.len>>0))){$panic(new $String("reflect: array index out of range"));}aq[0]=av.elem;aw=(as.flag&480)>>>0;aw=(aw|(((aq[0].Kind()>>>0))))>>>0;an[0]=as.ptr;if(!((((aw&128)>>>0)===0))&&!((aq[0].Kind()===17))&&!((aq[0].Kind()===25))){$s=7;continue;}$s=8;continue;case 7:$s=-1;return new EZ.ptr(aq[0],(new(I(DI(aq[0])))((function(am,an,ao,ap,aq,ar){return function(){var $ptr;return BI(aq[0],an[0][am[0]]);};})(am,an,ao,ap,aq,ar),(function(am,an,ao,ap,aq,ar){return function(ax){var $ptr,ax;an[0][am[0]]=BJ(aq[0],ax);};})(am,an,ao,ap,aq,ar))),aw);case 8:ax=Z(aq[0],BI(aq[0],an[0][am[0]]),aw);$s=9;case 9:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}$s=-1;return ax;case 3:ay=$clone(as,EZ).object();if(am[0]<0||am[0]>=($parseInt(ay.$length)>>0)){$panic(new $String("reflect: slice index out of range"));}az=(as.typ.kindType);ar[0]=az.elem;ba=(384|((as.flag&96)>>>0))>>>0;ba=(ba|(((ar[0].Kind()>>>0))))>>>0;am[0]=am[0]+(($parseInt(ay.$offset)>>0))>>0;ao[0]=ay.$array;if(!((((ba&128)>>>0)===0))&&!((ar[0].Kind()===17))&&!((ar[0].Kind()===25))){$s=10;continue;}$s=11;continue;case 10:$s=-1;return new EZ.ptr(ar[0],(new(I(DI(ar[0])))((function(am,an,ao,ap,aq,ar){return function(){var $ptr;return BI(ar[0],ao[0][am[0]]);};})(am,an,ao,ap,aq,ar),(function(am,an,ao,ap,aq,ar){return function(bb){var $ptr,bb;ao[0][am[0]]=BJ(ar[0],bb);};})(am,an,ao,ap,aq,ar))),ba);case 11:bb=Z(ar[0],BI(ar[0],ao[0][am[0]]),ba);$s=12;case 12:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}$s=-1;return bb;case 4:bc=(as.ptr).$get();if(am[0]<0||am[0]>=bc.length){$panic(new $String("reflect: string index out of range"));}bd=(((as.flag&96)>>>0)|8)>>>0;ap[0]=bc.charCodeAt(am[0]);$s=-1;return new EZ.ptr(FM,((ap.$ptr||(ap.$ptr=new IL(function(){return this.$target[0];},function($v){this.$target[0]=$v;},ap)))),(bd|128)>>>0);case 5:$panic(new FD.ptr("reflect.Value.Index",at));case 6:case 1:$s=-1;return new EZ.ptr(HN.nil,0,0);}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Index};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Index=function(am){return this.$val.Index(am);};EZ.ptr.prototype.InterfaceData=function(){var $ptr,am;am=this;$panic(A.New("InterfaceData is not supported by GopherJS"));};EZ.prototype.InterfaceData=function(){return this.$val.InterfaceData();};EZ.ptr.prototype.IsNil=function(){var $ptr,am,an,ao;am=this;an=new FA(am.flag).kind();ao=an;if((ao===(22))||(ao===(23))){return $clone(am,EZ).object()===I(am.typ).nil;}else if(ao===(18)){return $clone(am,EZ).object()===$chanNil;}else if(ao===(19)){return $clone(am,EZ).object()===$throwNilPointerError;}else if(ao===(21)){return $clone(am,EZ).object()===false;}else if(ao===(20)){return $clone(am,EZ).object()===$ifaceNil;}else{$panic(new FD.ptr("reflect.Value.IsNil",an));}};EZ.prototype.IsNil=function(){return this.$val.IsNil();};EZ.ptr.prototype.Len=function(){var $ptr,am,an,ao;am=this;an=new FA(am.flag).kind();ao=an;if((ao===(17))||(ao===(24))){return $parseInt($clone(am,EZ).object().length);}else if(ao===(23)){return $parseInt($clone(am,EZ).object().$length)>>0;}else if(ao===(18)){return $parseInt($clone(am,EZ).object().$buffer.length)>>0;}else if(ao===(21)){return $parseInt($keys($clone(am,EZ).object()).length);}else{$panic(new FD.ptr("reflect.Value.Len",an));}};EZ.prototype.Len=function(){return this.$val.Len();};EZ.ptr.prototype.Pointer=function(){var $ptr,am,an,ao;am=this;an=new FA(am.flag).kind();ao=an;if((ao===(18))||(ao===(21))||(ao===(22))||(ao===(26))){if($clone(am,EZ).IsNil()){return 0;}return $clone(am,EZ).object();}else if(ao===(19)){if($clone(am,EZ).IsNil()){return 0;}return 1;}else if(ao===(23)){if($clone(am,EZ).IsNil()){return 0;}return $clone(am,EZ).object().$array;}else{$panic(new FD.ptr("reflect.Value.Pointer",an));}};EZ.prototype.Pointer=function(){return this.$val.Pointer();};EZ.ptr.prototype.Set=function(am){var $ptr,am,an,ao,ap,aq,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;new FA(an.flag).mustBeAssignable();new FA(am.flag).mustBeExported();ao=$clone(am,EZ).assignTo("reflect.Set",an.typ,0);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}am=ao;if(!((((an.flag&128)>>>0)===0))){$s=2;continue;}$s=3;continue;case 2:ap=an.typ.Kind();if(ap===(17)){$s=5;continue;}if(ap===(20)){$s=6;continue;}if(ap===(25)){$s=7;continue;}$s=8;continue;case 5:I(an.typ).copy(an.ptr,am.ptr);$s=9;continue;case 6:aq=BC($clone(am,EZ),false);$s=10;case 10:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}an.ptr.$set(aq);$s=9;continue;case 7:Y(an.ptr,am.ptr,an.typ);$s=9;continue;case 8:an.ptr.$set($clone(am,EZ).object());case 9:case 4:$s=-1;return;case 3:an.ptr=am.ptr;$s=-1;return;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Set};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Set=function(am){return this.$val.Set(am);};EZ.ptr.prototype.SetBytes=function(am){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;new FA(an.flag).mustBeAssignable();new FA(an.flag).mustBe(23);ao=an.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}if(!((ao===8))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.SetBytes of non-byte slice"));case 2:ap=am;if(!(an.typ.Name()==="")){aq=true;$s=6;continue s;}ar=an.typ.Elem().Name();$s=7;case 7:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}aq=!(ar==="");case 6:if(aq){$s=4;continue;}$s=5;continue;case 4:as=new(I(an.typ))(ap.$array);as.$offset=ap.$offset;as.$length=ap.$length;as.$capacity=ap.$capacity;ap=as;case 5:an.ptr.$set(ap);$s=-1;return;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.SetBytes};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.SetBytes=function(am){return this.$val.SetBytes(am);};EZ.ptr.prototype.SetCap=function(am){var $ptr,am,an,ao,ap;an=this;new FA(an.flag).mustBeAssignable();new FA(an.flag).mustBe(23);ao=an.ptr.$get();if(am<($parseInt(ao.$length)>>0)||am>($parseInt(ao.$capacity)>>0)){$panic(new $String("reflect: slice capacity out of range in SetCap"));}ap=new(I(an.typ))(ao.$array);ap.$offset=ao.$offset;ap.$length=ao.$length;ap.$capacity=am;an.ptr.$set(ap);};EZ.prototype.SetCap=function(am){return this.$val.SetCap(am);};EZ.ptr.prototype.SetLen=function(am){var $ptr,am,an,ao,ap;an=this;new FA(an.flag).mustBeAssignable();new FA(an.flag).mustBe(23);ao=an.ptr.$get();if(am<0||am>($parseInt(ao.$capacity)>>0)){$panic(new $String("reflect: slice length out of range in SetLen"));}ap=new(I(an.typ))(ao.$array);ap.$offset=ao.$offset;ap.$length=am;ap.$capacity=ao.$capacity;an.ptr.$set(ap);};EZ.prototype.SetLen=function(am){return this.$val.SetLen(am);};EZ.ptr.prototype.Slice=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=this;ap=0;aq=$ifaceNil;ar=null;as=new FA(ao.flag).kind();at=as;if(at===(17)){$s=2;continue;}if(at===(23)){$s=3;continue;}if(at===(24)){$s=4;continue;}$s=5;continue;case 2:if(((ao.flag&256)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}au=(ao.typ.kindType);ap=((au.len>>0));aq=AH(au.elem);ar=new(I(aq))($clone(ao,EZ).object());$s=6;continue;case 3:aq=ao.typ;ar=$clone(ao,EZ).object();ap=$parseInt(ar.$capacity)>>0;$s=6;continue;case 4:av=(ao.ptr).$get();if(am<0||an<am||an>av.length){$panic(new $String("reflect.Value.Slice: string slice index out of bounds"));}aw=AC(new $String($substring(av,am,an)));$s=7;case 7:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}$s=-1;return aw;case 5:$panic(new FD.ptr("reflect.Value.Slice",as));case 6:case 1:if(am<0||an<am||an>ap){$panic(new $String("reflect.Value.Slice: slice index out of bounds"));}ax=Z(aq,$subslice(ar,am,an),(ao.flag&96)>>>0);$s=8;case 8:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}$s=-1;return ax;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Slice};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Slice=function(am,an){return this.$val.Slice(am,an);};EZ.ptr.prototype.Slice3=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=this;aq=0;ar=$ifaceNil;as=null;at=new FA(ap.flag).kind();au=at;if(au===(17)){if(((ap.flag&256)>>>0)===0){$panic(new $String("reflect.Value.Slice: slice of unaddressable array"));}av=(ap.typ.kindType);aq=((av.len>>0));ar=AH(av.elem);as=new(I(ar))($clone(ap,EZ).object());}else if(au===(23)){ar=ap.typ;as=$clone(ap,EZ).object();aq=$parseInt(as.$capacity)>>0;}else{$panic(new FD.ptr("reflect.Value.Slice3",at));}if(am<0||an<am||ao<an||ao>aq){$panic(new $String("reflect.Value.Slice3: slice index out of bounds"));}aw=Z(ar,$subslice(as,am,an,ao),(ap.flag&96)>>>0);$s=1;case 1:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}$s=-1;return aw;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Slice3};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Slice3=function(am,an,ao){return this.$val.Slice3(am,an,ao);};EZ.ptr.prototype.Close=function(){var $ptr,am;am=this;new FA(am.flag).mustBe(18);new FA(am.flag).mustBeExported();$close($clone(am,EZ).object());};EZ.prototype.Close=function(){return this.$val.Close();};BM=function(am,an,ao,ap){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=false;ar=false;as=new IU([new IR([an])]);if(ao){as=$append(as,new IR([]));}at=BL(new IG([as]));$s=1;case 1:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;if(ao&&(($parseInt(au[0])>>0)===1)){av=false;aw=false;aq=av;ar=aw;$s=-1;return[aq,ar];}ax=au[1];ap.$set(ax[0]);ay=true;az=!!(ax[1]);aq=ay;ar=az;$s=-1;return[aq,ar];}return;}if($f===undefined){$f={$blk:BM};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.$s=$s;$f.$r=$r;return $f;};BN=function(am,an,ao,ap){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:aq=new IU([new IR([an,ao.$get()])]);if(ap){aq=$append(aq,new IR([]));}ar=BL(new IG([aq]));$s=1;case 1:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;if(ap&&(($parseInt(as[0])>>0)===1)){$s=-1;return false;}$s=-1;return true;}return;}if($f===undefined){$f={$blk:BN};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};BZ.prototype.String=function(){var $ptr,am;am=this.$val;if(((am>>0))<CQ.$length){return((am<0||am>=CQ.$length)?($throwRuntimeError("index out of range"),undefined):CQ.$array[CQ.$offset+am]);}return"kind"+B.Itoa(((am>>0)));};$ptrType(BZ).prototype.String=function(){return new BZ(this.$get()).String();};CB.ptr.prototype.String=function(){var $ptr,am,an;am=this;an=$clone(am.nameOff(am.str),O).name();if(!((((am.tflag&2)>>>0)===0))){return $substring(an,1);}return an;};CB.prototype.String=function(){return this.$val.String();};CB.ptr.prototype.Size=function(){var $ptr,am;am=this;return am.size;};CB.prototype.Size=function(){return this.$val.Size();};CB.ptr.prototype.Bits=function(){var $ptr,am,an;am=this;if(am===HN.nil){$panic(new $String("reflect: Bits of nil Type"));}an=am.Kind();if(an<2||an>16){$panic(new $String("reflect: Bits of non-arithmetic Type "+am.String()));}return $imul(((am.size>>0)),8);};CB.prototype.Bits=function(){return this.$val.Bits();};CB.ptr.prototype.Align=function(){var $ptr,am;am=this;return((am.align>>0));};CB.prototype.Align=function(){return this.$val.Align();};CB.ptr.prototype.FieldAlign=function(){var $ptr,am;am=this;return((am.fieldAlign>>0));};CB.prototype.FieldAlign=function(){return this.$val.FieldAlign();};CB.ptr.prototype.Kind=function(){var $ptr,am;am=this;return((((am.kind&31)>>>0)>>>0));};CB.prototype.Kind=function(){return this.$val.Kind();};CB.ptr.prototype.common=function(){var $ptr,am;am=this;return am;};CB.prototype.common=function(){return this.$val.common();};CB.ptr.prototype.exportedMethods=function(){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=this;$r=DB.RWMutex.RLock();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}an=(ao=DB.m[HN.keyFor(am)],ao!==undefined?[ao.v,true]:[HP.nil,false]);ap=an[0];aq=an[1];$r=DB.RWMutex.RUnlock();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(aq){$s=-1;return ap;}ar=am.uncommon();if(ar===IO.nil){$s=-1;return HP.nil;}as=ar.methods();at=true;au=as;av=0;while(true){if(!(av<au.$length)){break;}aw=$clone(((av<0||av>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+av]),CD);ax=$clone(am.nameOff(aw.name),O);if(!$clone(ax,O).isExported()){at=false;break;}av++;}if(at){ap=as;}else{ap=$makeSlice(HP,0,as.$length);ay=as;az=0;while(true){if(!(az<ay.$length)){break;}ba=$clone(((az<0||az>=ay.$length)?($throwRuntimeError("index out of range"),undefined):ay.$array[ay.$offset+az]),CD);bb=$clone(am.nameOff(ba.name),O);if($clone(bb,O).isExported()){ap=$append(ap,ba);}az++;}ap=$subslice(ap,0,ap.$length,ap.$length);}$r=DB.RWMutex.Lock();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(DB.m===false){DB.m={};}bc=am;(DB.m||$throwRuntimeError("assignment to entry in nil map"))[HN.keyFor(bc)]={k:bc,v:ap};$r=DB.RWMutex.Unlock();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return ap;}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.exportedMethods};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.exportedMethods=function(){return this.$val.exportedMethods();};CB.ptr.prototype.NumMethod=function(){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=this;if(am.Kind()===20){an=(am.kindType);$s=-1;return an.NumMethod();}if(((am.tflag&1)>>>0)===0){$s=-1;return 0;}ao=am.exportedMethods();$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao.$length;}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.NumMethod};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.NumMethod=function(){return this.$val.NumMethod();};CB.ptr.prototype.MethodByName=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=new CP.ptr("","",$ifaceNil,new EZ.ptr(HN.nil,0,0),0);ao=false;ap=this;if(ap.Kind()===20){aq=(ap.kindType);ar=aq.MethodByName(am);CP.copy(an,ar[0]);ao=ar[1];$s=-1;return[an,ao];}as=ap.uncommon();if(as===IO.nil){at=new CP.ptr("","",$ifaceNil,new EZ.ptr(HN.nil,0,0),0);au=false;CP.copy(an,at);ao=au;$s=-1;return[an,ao];}av=as.methods();aw=0;case 1:if(!(aw<((as.mcount>>0)))){$s=2;continue;}ax=$clone(((aw<0||aw>=av.$length)?($throwRuntimeError("index out of range"),undefined):av.$array[av.$offset+aw]),CD);ay=$clone(ap.nameOff(ax.name),O);if($clone(ay,O).isExported()&&$clone(ay,O).name()===am){$s=3;continue;}$s=4;continue;case 3:ba=ap.Method(aw);$s=5;case 5:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}az=$clone(ba,CP);bb=true;CP.copy(an,az);ao=bb;$s=-1;return[an,ao];case 4:aw=aw+(1)>>0;$s=1;continue;case 2:bc=new CP.ptr("","",$ifaceNil,new EZ.ptr(HN.nil,0,0),0);bd=false;CP.copy(an,bc);ao=bd;$s=-1;return[an,ao];}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.MethodByName};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.MethodByName=function(am){return this.$val.MethodByName(am);};CB.ptr.prototype.PkgPath=function(){var $ptr,am,an;am=this;if(((am.tflag&4)>>>0)===0){return"";}an=am.uncommon();if(an===IO.nil){return"";}return $clone(am.nameOff(an.pkgPath),O).name();};CB.prototype.PkgPath=function(){return this.$val.PkgPath();};CB.ptr.prototype.Name=function(){var $ptr,am,an,ao;am=this;if(((am.tflag&4)>>>0)===0){return"";}an=am.String();ao=an.length-1>>0;while(true){if(!(ao>=0)){break;}if(an.charCodeAt(ao)===46){break;}ao=ao-(1)>>0;}return $substring(an,(ao+1>>0));};CB.prototype.Name=function(){return this.$val.Name();};CB.ptr.prototype.ChanDir=function(){var $ptr,am,an;am=this;if(!((am.Kind()===18))){$panic(new $String("reflect: ChanDir of non-chan type"));}an=(am.kindType);return((an.dir>>0));};CB.prototype.ChanDir=function(){return this.$val.ChanDir();};CB.ptr.prototype.IsVariadic=function(){var $ptr,am,an;am=this;if(!((am.Kind()===19))){$panic(new $String("reflect: IsVariadic of non-func type"));}an=(am.kindType);return!((((an.outCount&32768)>>>0)===0));};CB.prototype.IsVariadic=function(){return this.$val.IsVariadic();};CB.ptr.prototype.Elem=function(){var $ptr,am,an,ao,ap,aq,ar,as;am=this;an=am.Kind();if(an===(17)){ao=(am.kindType);return ER(ao.elem);}else if(an===(18)){ap=(am.kindType);return ER(ap.elem);}else if(an===(21)){aq=(am.kindType);return ER(aq.elem);}else if(an===(22)){ar=(am.kindType);return ER(ar.elem);}else if(an===(23)){as=(am.kindType);return ER(as.elem);}$panic(new $String("reflect: Elem of invalid type"));};CB.prototype.Elem=function(){return this.$val.Elem();};CB.ptr.prototype.Field=function(am){var $ptr,am,an,ao,ap,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;if(!((an.Kind()===25))){$panic(new $String("reflect: Field of non-struct type"));}ao=(an.kindType);ap=ao.Field(am);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$s=-1;return ap;}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.Field};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.Field=function(am){return this.$val.Field(am);};CB.ptr.prototype.FieldByIndex=function(am){var $ptr,am,an,ao,ap,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;if(!((an.Kind()===25))){$panic(new $String("reflect: FieldByIndex of non-struct type"));}ao=(an.kindType);ap=ao.FieldByIndex(am);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$s=-1;return ap;}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.FieldByIndex};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.FieldByIndex=function(am){return this.$val.FieldByIndex(am);};CB.ptr.prototype.FieldByName=function(am){var $ptr,am,an,ao,ap,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;if(!((an.Kind()===25))){$panic(new $String("reflect: FieldByName of non-struct type"));}ao=(an.kindType);ap=ao.FieldByName(am);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$s=-1;return ap;}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.FieldByName};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.FieldByName=function(am){return this.$val.FieldByName(am);};CB.ptr.prototype.FieldByNameFunc=function(am){var $ptr,am,an,ao,ap,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;if(!((an.Kind()===25))){$panic(new $String("reflect: FieldByNameFunc of non-struct type"));}ao=(an.kindType);ap=ao.FieldByNameFunc(am);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$s=-1;return ap;}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.FieldByNameFunc};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.FieldByNameFunc=function(am){return this.$val.FieldByNameFunc(am);};CB.ptr.prototype.In=function(am){var $ptr,am,an,ao,ap;an=this;if(!((an.Kind()===19))){$panic(new $String("reflect: In of non-func type"));}ao=(an.kindType);return ER((ap=ao.in$(),((am<0||am>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+am])));};CB.prototype.In=function(am){return this.$val.In(am);};CB.ptr.prototype.Key=function(){var $ptr,am,an;am=this;if(!((am.Kind()===21))){$panic(new $String("reflect: Key of non-map type"));}an=(am.kindType);return ER(an.key);};CB.prototype.Key=function(){return this.$val.Key();};CB.ptr.prototype.Len=function(){var $ptr,am,an;am=this;if(!((am.Kind()===17))){$panic(new $String("reflect: Len of non-array type"));}an=(am.kindType);return((an.len>>0));};CB.prototype.Len=function(){return this.$val.Len();};CB.ptr.prototype.NumField=function(){var $ptr,am,an;am=this;if(!((am.Kind()===25))){$panic(new $String("reflect: NumField of non-struct type"));}an=(am.kindType);return an.fields.$length;};CB.prototype.NumField=function(){return this.$val.NumField();};CB.ptr.prototype.NumIn=function(){var $ptr,am,an;am=this;if(!((am.Kind()===19))){$panic(new $String("reflect: NumIn of non-func type"));}an=(am.kindType);return((an.inCount>>0));};CB.prototype.NumIn=function(){return this.$val.NumIn();};CB.ptr.prototype.NumOut=function(){var $ptr,am,an;am=this;if(!((am.Kind()===19))){$panic(new $String("reflect: NumOut of non-func type"));}an=(am.kindType);return an.out().$length;};CB.prototype.NumOut=function(){return this.$val.NumOut();};CB.ptr.prototype.Out=function(am){var $ptr,am,an,ao,ap;an=this;if(!((an.Kind()===19))){$panic(new $String("reflect: Out of non-func type"));}ao=(an.kindType);return ER((ap=ao.out(),((am<0||am>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+am])));};CB.prototype.Out=function(am){return this.$val.Out(am);};CE.prototype.String=function(){var $ptr,am,an;am=this.$val;an=am;if(an===(2)){return"chan<-";}else if(an===(1)){return"<-chan";}else if(an===(3)){return"chan";}return"ChanDir"+B.Itoa(((am>>0)));};$ptrType(CE).prototype.String=function(){return new CE(this.$get()).String();};CI.ptr.prototype.Method=function(am){var $ptr,am,an,ao,ap,aq,ar;an=new CP.ptr("","",$ifaceNil,new EZ.ptr(HN.nil,0,0),0);ao=this;if(am<0||am>=ao.methods.$length){return an;}aq=(ap=ao.methods,((am<0||am>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+am]));ar=$clone(ao.rtype.nameOff(aq.name),O);an.Name=$clone(ar,O).name();if(!$clone(ar,O).isExported()){an.PkgPath=$clone(ar,O).pkgPath();if(an.PkgPath===""){an.PkgPath=$clone(ao.pkgPath,O).name();}}an.Type=ER(ao.rtype.typeOff(aq.typ));an.Index=am;return an;};CI.prototype.Method=function(am){return this.$val.Method(am);};CI.ptr.prototype.NumMethod=function(){var $ptr,am;am=this;return am.methods.$length;};CI.prototype.NumMethod=function(){return this.$val.NumMethod();};CI.ptr.prototype.MethodByName=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw;an=new CP.ptr("","",$ifaceNil,new EZ.ptr(HN.nil,0,0),0);ao=false;ap=this;if(ap===IX.nil){return[an,ao];}aq=IY.nil;ar=ap.methods;as=0;while(true){if(!(as<ar.$length)){break;}at=as;aq=(au=ap.methods,((at<0||at>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+at]));if($clone(ap.rtype.nameOff(aq.name),O).name()===am){av=$clone(ap.Method(at),CP);aw=true;CP.copy(an,av);ao=aw;return[an,ao];}as++;}return[an,ao];};CI.prototype.MethodByName=function(am){return this.$val.MethodByName(am);};DF.prototype.Get=function(am){var $ptr,am,an,ao,ap;an=this.$val;ao=new DF(an).Lookup(am);ap=ao[0];return ap;};$ptrType(DF).prototype.Get=function(am){return new DF(this.$get()).Get(am);};DF.prototype.Lookup=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az;an="";ao=false;ap=this.$val;while(true){if(!(!(ap===""))){break;}aq=0;while(true){if(!(aq<ap.length&&(ap.charCodeAt(aq)===32))){break;}aq=aq+(1)>>0;}ap=$substring(ap,aq);if(ap===""){break;}aq=0;while(true){if(!(aq<ap.length&&ap.charCodeAt(aq)>32&&!((ap.charCodeAt(aq)===58))&&!((ap.charCodeAt(aq)===34))&&!((ap.charCodeAt(aq)===127)))){break;}aq=aq+(1)>>0;}if((aq===0)||(aq+1>>0)>=ap.length||!((ap.charCodeAt(aq)===58))||!((ap.charCodeAt((aq+1>>0))===34))){break;}ar=($substring(ap,0,aq));ap=$substring(ap,(aq+1>>0));aq=1;while(true){if(!(aq<ap.length&&!((ap.charCodeAt(aq)===34)))){break;}if(ap.charCodeAt(aq)===92){aq=aq+(1)>>0;}aq=aq+(1)>>0;}if(aq>=ap.length){break;}as=($substring(ap,0,(aq+1>>0)));ap=$substring(ap,(aq+1>>0));if(am===ar){at=B.Unquote(as);au=at[0];av=at[1];if(!($interfaceIsEqual(av,$ifaceNil))){break;}aw=au;ax=true;an=aw;ao=ax;return[an,ao];}}ay="";az=false;an=ay;ao=az;return[an,ao];};$ptrType(DF).prototype.Lookup=function(am){return new DF(this.$get()).Lookup(am);};CN.ptr.prototype.Field=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=new DE.ptr("","",$ifaceNil,"",0,IZ.nil,false);ao=this;if(am<0||am>=ao.fields.$length){$panic(new $String("reflect: Field index out of bounds"));}aq=(ap=ao.fields,((am<0||am>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+am]));an.Type=ER(aq.typ);ar=$clone(aq.name,O).name();if(!(ar==="")){$s=1;continue;}$s=2;continue;case 1:an.Name=ar;$s=3;continue;case 2:as=an.Type;at=as.Kind();$s=6;case 6:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}if(at===22){$s=4;continue;}$s=5;continue;case 4:au=as.Elem();$s=7;case 7:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}as=au;case 5:av=as.Name();$s=8;case 8:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}an.Name=av;an.Anonymous=true;case 3:if(!$clone(aq.name,O).isExported()){an.PkgPath=$clone(aq.name,O).pkgPath();if(an.PkgPath===""){an.PkgPath=$clone(ao.pkgPath,O).name();}}aw=$clone(aq.name,O).tag();if(!(aw==="")){an.Tag=(aw);}an.Offset=aq.offset;an.Index=new IZ([am]);$s=-1;return an;}return;}if($f===undefined){$f={$blk:CN.ptr.prototype.Field};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.$s=$s;$f.$r=$r;return $f;};CN.prototype.Field=function(am){return this.$val.Field(am);};CN.ptr.prototype.FieldByIndex=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=new DE.ptr("","",$ifaceNil,"",0,IZ.nil,false);ao=this;an.Type=ER(ao.rtype);ap=am;aq=0;case 1:if(!(aq<ap.$length)){$s=2;continue;}ar=aq;as=((aq<0||aq>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+aq]);if(ar>0){$s=3;continue;}$s=4;continue;case 3:at=an.Type;av=at.Kind();$s=8;case 8:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}if(!(av===22)){au=false;$s=7;continue s;}aw=at.Elem();$s=9;case 9:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw.Kind();$s=10;case 10:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}au=ax===25;case 7:if(au){$s=5;continue;}$s=6;continue;case 5:ay=at.Elem();$s=11;case 11:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}at=ay;case 6:an.Type=at;case 4:az=an.Type.Field(as);$s=12;case 12:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}DE.copy(an,az);aq++;$s=1;continue;case 2:$s=-1;return an;}return;}if($f===undefined){$f={$blk:CN.ptr.prototype.FieldByIndex};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.$s=$s;$f.$r=$r;return $f;};CN.prototype.FieldByIndex=function(am){return this.$val.FieldByIndex(am);};CN.ptr.prototype.FieldByNameFunc=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,bw,bx,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;bw=$f.bw;bx=$f.bx;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=new DE.ptr("","",$ifaceNil,"",0,IZ.nil,false);ao=false;ap=this;aq=new JA([]);ar=new JA([new DG.ptr(ap,IZ.nil)]);as=false;at=$makeMap(JB.keyFor,[]);case 1:if(!(ar.$length>0)){$s=2;continue;}au=ar;av=$subslice(aq,0,0);aq=au;ar=av;aw=as;as=false;ax=aq;ay=0;case 3:if(!(ay<ax.$length)){$s=4;continue;}az=$clone(((ay<0||ay>=ax.$length)?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+ay]),DG);ba=az.typ;if((bb=at[JB.keyFor(ba)],bb!==undefined?bb.v:false)){$s=5;continue;}$s=6;continue;case 5:ay++;$s=3;continue;case 6:bc=ba;(at||$throwRuntimeError("assignment to entry in nil map"))[JB.keyFor(bc)]={k:bc,v:true};bd=ba.fields;be=0;case 7:if(!(be<bd.$length)){$s=8;continue;}bf=be;bh=(bg=ba.fields,((bf<0||bf>=bg.$length)?($throwRuntimeError("index out of range"),undefined):bg.$array[bg.$offset+bf]));bi="";bj=HN.nil;bk=$clone(bh.name,O).name();if(!(bk==="")){$s=9;continue;}$s=10;continue;case 9:bi=bk;$s=11;continue;case 10:bj=bh.typ;if(bj.Kind()===22){$s=12;continue;}$s=13;continue;case 12:bl=bj.Elem().common();$s=14;case 14:if($c){$c=false;bl=bl.$blk();}if(bl&&bl.$blk!==undefined){break s;}bj=bl;case 13:bi=bj.Name();case 11:bm=am(bi);$s=17;case 17:if($c){$c=false;bm=bm.$blk();}if(bm&&bm.$blk!==undefined){break s;}if(bm){$s=15;continue;}$s=16;continue;case 15:if((bn=aw[JB.keyFor(ba)],bn!==undefined?bn.v:0)>1||ao){bo=new DE.ptr("","",$ifaceNil,"",0,IZ.nil,false);bp=false;DE.copy(an,bo);ao=bp;$s=-1;return[an,ao];}bq=ba.Field(bf);$s=18;case 18:if($c){$c=false;bq=bq.$blk();}if(bq&&bq.$blk!==undefined){break s;}DE.copy(an,bq);an.Index=IZ.nil;an.Index=$appendSlice(an.Index,az.index);an.Index=$append(an.Index,bf);ao=true;be++;$s=7;continue;case 16:if(ao||bj===HN.nil||!((bj.Kind()===25))){be++;$s=7;continue;}br=(bj.kindType);if((bs=as[JB.keyFor(br)],bs!==undefined?bs.v:0)>0){bt=br;(as||$throwRuntimeError("assignment to entry in nil map"))[JB.keyFor(bt)]={k:bt,v:2};be++;$s=7;continue;}if(as===false){as=$makeMap(JB.keyFor,[]);}bu=br;(as||$throwRuntimeError("assignment to entry in nil map"))[JB.keyFor(bu)]={k:bu,v:1};if((bv=aw[JB.keyFor(ba)],bv!==undefined?bv.v:0)>1){bw=br;(as||$throwRuntimeError("assignment to entry in nil map"))[JB.keyFor(bw)]={k:bw,v:2};}bx=IZ.nil;bx=$appendSlice(bx,az.index);bx=$append(bx,bf);ar=$append(ar,new DG.ptr(br,bx));be++;$s=7;continue;case 8:ay++;$s=3;continue;case 4:if(ao){$s=2;continue;}$s=1;continue;case 2:$s=-1;return[an,ao];}return;}if($f===undefined){$f={$blk:CN.ptr.prototype.FieldByNameFunc};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.bw=bw;$f.bx=bx;$f.$s=$s;$f.$r=$r;return $f;};CN.prototype.FieldByNameFunc=function(am){return this.$val.FieldByNameFunc(am);};CN.ptr.prototype.FieldByName=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=[am];an=new DE.ptr("","",$ifaceNil,"",0,IZ.nil,false);ao=false;ap=this;aq=false;if(!(am[0]==="")){$s=1;continue;}$s=2;continue;case 1:ar=ap.fields;as=0;case 3:if(!(as<ar.$length)){$s=4;continue;}at=as;av=(au=ap.fields,((at<0||at>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+at]));aw=$clone(av.name,O).name();if(aw===""){$s=5;continue;}$s=6;continue;case 5:aq=true;as++;$s=3;continue;case 6:if(aw===am[0]){$s=7;continue;}$s=8;continue;case 7:ay=ap.Field(at);$s=9;case 9:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ax=$clone(ay,DE);az=true;DE.copy(an,ax);ao=az;$s=-1;return[an,ao];case 8:as++;$s=3;continue;case 4:case 2:if(!aq){$s=-1;return[an,ao];}bb=ap.FieldByNameFunc((function(am){return function(bb){var $ptr,bb;return bb===am[0];};})(am));$s=10;case 10:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}ba=bb;DE.copy(an,ba[0]);ao=ba[1];$s=-1;return[an,ao];}return;}if($f===undefined){$f={$blk:CN.ptr.prototype.FieldByName};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.$s=$s;$f.$r=$r;return $f;};CN.prototype.FieldByName=function(am){return this.$val.FieldByName(am);};DI=function(am){var $ptr,am;return $assertType(am,HN).ptrTo();};$pkg.PtrTo=DI;CB.ptr.prototype.Implements=function(am){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;if($interfaceIsEqual(am,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.Implements"));}ao=am.Kind();$s=3;case 3:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}if(!((ao===20))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect: non-interface type passed to Type.Implements"));case 2:$s=-1;return DK($assertType(am,HN),an);}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.Implements};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.Implements=function(am){return this.$val.Implements(am);};CB.ptr.prototype.AssignableTo=function(am){var $ptr,am,an,ao,ap,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;if($interfaceIsEqual(am,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.AssignableTo"));}ao=$assertType(am,HN);ap=DL(ao,an);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$s=-1;return ap||DK(ao,an);}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.AssignableTo};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.AssignableTo=function(am){return this.$val.AssignableTo(am);};CB.ptr.prototype.ConvertibleTo=function(am){var $ptr,am,an,ao,ap,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;if($interfaceIsEqual(am,$ifaceNil)){$panic(new $String("reflect: nil type passed to Type.ConvertibleTo"));}ao=$assertType(am,HN);ap=GH(ao,an);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$s=-1;return!(ap===$throwNilPointerError);}return;}if($f===undefined){$f={$blk:CB.ptr.prototype.ConvertibleTo};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.$s=$s;$f.$r=$r;return $f;};CB.prototype.ConvertibleTo=function(am){return this.$val.ConvertibleTo(am);};DK=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc;if(!((am.Kind()===20))){return false;}ao=(am.kindType);if(ao.methods.$length===0){return true;}if(an.Kind()===20){ap=(an.kindType);aq=0;ar=0;while(true){if(!(ar<ap.methods.$length)){break;}at=(as=ao.methods,((aq<0||aq>=as.$length)?($throwRuntimeError("index out of range"),undefined):as.$array[as.$offset+aq]));av=(au=ap.methods,((ar<0||ar>=au.$length)?($throwRuntimeError("index out of range"),undefined):au.$array[au.$offset+ar]));if($clone(an.nameOff(av.name),O).name()===$clone(ao.rtype.nameOff(at.name),O).name()&&an.typeOff(av.typ)===ao.rtype.typeOff(at.typ)){aq=aq+(1)>>0;if(aq>=ao.methods.$length){return true;}}ar=ar+(1)>>0;}return false;}aw=an.uncommon();if(aw===IO.nil){return false;}ax=0;ay=aw.methods();az=0;while(true){if(!(az<((aw.mcount>>0)))){break;}bb=(ba=ao.methods,((ax<0||ax>=ba.$length)?($throwRuntimeError("index out of range"),undefined):ba.$array[ba.$offset+ax]));bc=$clone(((az<0||az>=ay.$length)?($throwRuntimeError("index out of range"),undefined):ay.$array[ay.$offset+az]),CD);if($clone(an.nameOff(bc.name),O).name()===$clone(ao.rtype.nameOff(bb.name),O).name()&&an.typeOff(bc.mtyp)===ao.rtype.typeOff(bb.typ)){ax=ax+(1)>>0;if(ax>=ao.methods.$length){return true;}}az=az+(1)>>0;}return false;};DL=function(am,an){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(am===an){$s=-1;return true;}if(!(am.Name()==="")&&!(an.Name()==="")||!((am.Kind()===an.Kind()))){$s=-1;return false;}ao=DN(am,an,true);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:DL};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};DM=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(ao){$s=-1;return $interfaceIsEqual(am,an);}aq=am.Name();$s=4;case 4:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=an.Name();$s=5;case 5:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}if(!(aq===ar)){ap=true;$s=3;continue s;}as=am.Kind();$s=6;case 6:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=an.Kind();$s=7;case 7:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}ap=!((as===at));case 3:if(ap){$s=1;continue;}$s=2;continue;case 1:$s=-1;return false;case 2:au=am.common();$s=8;case 8:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=au;aw=an.common();$s=9;case 9:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}ax=aw;ay=DN(av,ax,false);$s=10;case 10:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}$s=-1;return ay;}return;}if($f===undefined){$f={$blk:DM};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.$s=$s;$f.$r=$r;return $f;};DN=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(am===an){$s=-1;return true;}ap=am.Kind();if(!((ap===an.Kind()))){$s=-1;return false;}if(1<=ap&&ap<=16||(ap===24)||(ap===26)){$s=-1;return true;}aq=ap;if(aq===(17)){$s=2;continue;}if(aq===(18)){$s=3;continue;}if(aq===(19)){$s=4;continue;}if(aq===(20)){$s=5;continue;}if(aq===(21)){$s=6;continue;}if((aq===(22))||(aq===(23))){$s=7;continue;}if(aq===(25)){$s=8;continue;}$s=9;continue;case 2:if(!(am.Len()===an.Len())){ar=false;$s=10;continue s;}as=DM(am.Elem(),an.Elem(),ao);$s=11;case 11:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ar=as;case 10:$s=-1;return ar;case 3:if(!(an.ChanDir()===3)){at=false;$s=14;continue s;}au=DM(am.Elem(),an.Elem(),ao);$s=15;case 15:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;case 14:if(at){$s=12;continue;}$s=13;continue;case 12:$s=-1;return true;case 13:if(!(an.ChanDir()===am.ChanDir())){av=false;$s=16;continue s;}aw=DM(am.Elem(),an.Elem(),ao);$s=17;case 17:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}av=aw;case 16:$s=-1;return av;case 4:ax=(am.kindType);ay=(an.kindType);if(!((ax.outCount===ay.outCount))||!((ax.inCount===ay.inCount))){$s=-1;return false;}az=0;case 18:if(!(az<ax.rtype.NumIn())){$s=19;continue;}ba=DM(ax.rtype.In(az),ay.rtype.In(az),ao);$s=22;case 22:if($c){$c=false;ba=ba.$blk();}if(ba&&ba.$blk!==undefined){break s;}if(!ba){$s=20;continue;}$s=21;continue;case 20:$s=-1;return false;case 21:az=az+(1)>>0;$s=18;continue;case 19:bb=0;case 23:if(!(bb<ax.rtype.NumOut())){$s=24;continue;}bc=DM(ax.rtype.Out(bb),ay.rtype.Out(bb),ao);$s=27;case 27:if($c){$c=false;bc=bc.$blk();}if(bc&&bc.$blk!==undefined){break s;}if(!bc){$s=25;continue;}$s=26;continue;case 25:$s=-1;return false;case 26:bb=bb+(1)>>0;$s=23;continue;case 24:$s=-1;return true;case 5:bd=(am.kindType);be=(an.kindType);if((bd.methods.$length===0)&&(be.methods.$length===0)){$s=-1;return true;}$s=-1;return false;case 6:bg=DM(am.Key(),an.Key(),ao);$s=29;case 29:if($c){$c=false;bg=bg.$blk();}if(bg&&bg.$blk!==undefined){break s;}if(!(bg)){bf=false;$s=28;continue s;}bh=DM(am.Elem(),an.Elem(),ao);$s=30;case 30:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}bf=bh;case 28:$s=-1;return bf;case 7:bi=DM(am.Elem(),an.Elem(),ao);$s=31;case 31:if($c){$c=false;bi=bi.$blk();}if(bi&&bi.$blk!==undefined){break s;}$s=-1;return bi;case 8:bj=(am.kindType);bk=(an.kindType);if(!((bj.fields.$length===bk.fields.$length))){$s=-1;return false;}bl=bj.fields;bm=0;case 32:if(!(bm<bl.$length)){$s=33;continue;}bn=bm;bp=(bo=bj.fields,((bn<0||bn>=bo.$length)?($throwRuntimeError("index out of range"),undefined):bo.$array[bo.$offset+bn]));br=(bq=bk.fields,((bn<0||bn>=bq.$length)?($throwRuntimeError("index out of range"),undefined):bq.$array[bq.$offset+bn]));if(!($clone(bp.name,O).name()===$clone(br.name,O).name())){$s=-1;return false;}bs=DM(bp.typ,br.typ,ao);$s=36;case 36:if($c){$c=false;bs=bs.$blk();}if(bs&&bs.$blk!==undefined){break s;}if(!bs){$s=34;continue;}$s=35;continue;case 34:$s=-1;return false;case 35:if(ao&&!($clone(bp.name,O).tag()===$clone(br.name,O).tag())){$s=-1;return false;}if(!((bp.offset===br.offset))){$s=-1;return false;}if(!$clone(bp.name,O).isExported()){bt=$clone(bp.name,O).pkgPath();if(bt===""){bt=$clone(bj.pkgPath,O).name();}bu=$clone(br.name,O).pkgPath();if(bu===""){bu=$clone(bk.pkgPath,O).name();}if(!(bt===bu)){$s=-1;return false;}}bm++;$s=32;continue;case 33:$s=-1;return true;case 9:case 1:$s=-1;return false;}return;}if($f===undefined){$f={$blk:DN};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.$s=$s;$f.$r=$r;return $f;};ER=function(am){var $ptr,am;if(am===HN.nil){return $ifaceNil;}return am;};EW=function(am){var $ptr,am;return((am.kind&32)>>>0)===0;};FA.prototype.kind=function(){var $ptr,am;am=this.$val;return((((am&31)>>>0)>>>0));};$ptrType(FA).prototype.kind=function(){return new FA(this.$get()).kind();};EZ.ptr.prototype.pointer=function(){var $ptr,am;am=this;if(!((am.typ.size===4))||!am.typ.pointers()){$panic(new $String("can't call pointer on a non-pointer Value"));}if(!((((am.flag&128)>>>0)===0))){return(am.ptr).$get();}return am.ptr;};EZ.prototype.pointer=function(){return this.$val.pointer();};FD.ptr.prototype.Error=function(){var $ptr,am;am=this;if(am.Kind===0){return"reflect: call of "+am.Method+" on zero Value";}return"reflect: call of "+am.Method+" on "+new BZ(am.Kind).String()+" Value";};FD.prototype.Error=function(){return this.$val.Error();};FA.prototype.mustBe=function(am){var $ptr,am,an;an=this.$val;if(!((new FA(an).kind()===am))){$panic(new FD.ptr(BE(),new FA(an).kind()));}};$ptrType(FA).prototype.mustBe=function(am){return new FA(this.$get()).mustBe(am);};FA.prototype.mustBeExported=function(){var $ptr,am;am=this.$val;if(am===0){$panic(new FD.ptr(BE(),0));}if(!((((am&96)>>>0)===0))){$panic(new $String("reflect: "+BE()+" using value obtained using unexported field"));}};$ptrType(FA).prototype.mustBeExported=function(){return new FA(this.$get()).mustBeExported();};FA.prototype.mustBeAssignable=function(){var $ptr,am;am=this.$val;if(am===0){$panic(new FD.ptr(BE(),0));}if(!((((am&96)>>>0)===0))){$panic(new $String("reflect: "+BE()+" using value obtained using unexported field"));}if(((am&256)>>>0)===0){$panic(new $String("reflect: "+BE()+" using unaddressable value"));}};$ptrType(FA).prototype.mustBeAssignable=function(){return new FA(this.$get()).mustBeAssignable();};EZ.ptr.prototype.Addr=function(){var $ptr,am;am=this;if(((am.flag&256)>>>0)===0){$panic(new $String("reflect.Value.Addr of unaddressable value"));}return new EZ.ptr(am.typ.ptrTo(),am.ptr,((((am.flag&96)>>>0))|22)>>>0);};EZ.prototype.Addr=function(){return this.$val.Addr();};EZ.ptr.prototype.Bool=function(){var $ptr,am;am=this;new FA(am.flag).mustBe(1);return(am.ptr).$get();};EZ.prototype.Bool=function(){return this.$val.Bool();};EZ.ptr.prototype.Bytes=function(){var $ptr,am,an,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=this;new FA(am.flag).mustBe(23);an=am.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}if(!((an===8))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.Bytes of non-byte slice"));case 2:$s=-1;return(am.ptr).$get();}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Bytes};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Bytes=function(){return this.$val.Bytes();};EZ.ptr.prototype.runes=function(){var $ptr,am,an,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=this;new FA(am.flag).mustBe(23);an=am.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}if(!((an===5))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.Bytes of non-rune slice"));case 2:$s=-1;return(am.ptr).$get();}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.runes};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.runes=function(){return this.$val.runes();};EZ.ptr.prototype.CanAddr=function(){var $ptr,am;am=this;return!((((am.flag&256)>>>0)===0));};EZ.prototype.CanAddr=function(){return this.$val.CanAddr();};EZ.ptr.prototype.CanSet=function(){var $ptr,am;am=this;return((am.flag&352)>>>0)===256;};EZ.prototype.CanSet=function(){return this.$val.CanSet();};EZ.ptr.prototype.Call=function(am){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;new FA(an.flag).mustBe(19);new FA(an.flag).mustBeExported();ao=$clone(an,EZ).call("Call",am);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Call};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Call=function(am){return this.$val.Call(am);};EZ.ptr.prototype.CallSlice=function(am){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;new FA(an.flag).mustBe(19);new FA(an.flag).mustBeExported();ao=$clone(an,EZ).call("CallSlice",am);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.CallSlice};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.CallSlice=function(am){return this.$val.CallSlice(am);};EZ.ptr.prototype.Complex=function(){var $ptr,am,an,ao,ap;am=this;an=new FA(am.flag).kind();ao=an;if(ao===(15)){return((ap=(am.ptr).$get(),new $Complex128(ap.$real,ap.$imag)));}else if(ao===(16)){return(am.ptr).$get();}$panic(new FD.ptr("reflect.Value.Complex",new FA(am.flag).kind()));};EZ.prototype.Complex=function(){return this.$val.Complex();};EZ.ptr.prototype.FieldByIndex=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;if(am.$length===1){$s=1;continue;}$s=2;continue;case 1:ao=$clone(an,EZ).Field((0>=am.$length?($throwRuntimeError("index out of range"),undefined):am.$array[am.$offset+0]));$s=3;case 3:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;case 2:new FA(an.flag).mustBe(25);ap=am;aq=0;case 4:if(!(aq<ap.$length)){$s=5;continue;}ar=aq;as=((aq<0||aq>=ap.$length)?($throwRuntimeError("index out of range"),undefined):ap.$array[ap.$offset+aq]);if(ar>0){$s=6;continue;}$s=7;continue;case 6:if(!($clone(an,EZ).Kind()===22)){at=false;$s=10;continue s;}au=an.typ.Elem().Kind();$s=11;case 11:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au===25;case 10:if(at){$s=8;continue;}$s=9;continue;case 8:if($clone(an,EZ).IsNil()){$panic(new $String("reflect: indirection through nil pointer to embedded struct"));}av=$clone(an,EZ).Elem();$s=12;case 12:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}an=av;case 9:case 7:aw=$clone(an,EZ).Field(as);$s=13;case 13:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}an=aw;aq++;$s=4;continue;case 5:$s=-1;return an;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.FieldByIndex};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.FieldByIndex=function(am){return this.$val.FieldByIndex(am);};EZ.ptr.prototype.FieldByName=function(am){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;new FA(an.flag).mustBe(25);ap=an.typ.FieldByName(am);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aq=$clone(ao[0],DE);ar=ao[1];if(ar){$s=2;continue;}$s=3;continue;case 2:as=$clone(an,EZ).FieldByIndex(aq.Index);$s=4;case 4:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$s=-1;return as;case 3:$s=-1;return new EZ.ptr(HN.nil,0,0);}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.FieldByName};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.FieldByName=function(am){return this.$val.FieldByName(am);};EZ.ptr.prototype.FieldByNameFunc=function(am){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;ap=an.typ.FieldByNameFunc(am);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aq=$clone(ao[0],DE);ar=ao[1];if(ar){$s=2;continue;}$s=3;continue;case 2:as=$clone(an,EZ).FieldByIndex(aq.Index);$s=4;case 4:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$s=-1;return as;case 3:$s=-1;return new EZ.ptr(HN.nil,0,0);}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.FieldByNameFunc};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.FieldByNameFunc=function(am){return this.$val.FieldByNameFunc(am);};EZ.ptr.prototype.Float=function(){var $ptr,am,an,ao;am=this;an=new FA(am.flag).kind();ao=an;if(ao===(13)){return((am.ptr).$get());}else if(ao===(14)){return(am.ptr).$get();}$panic(new FD.ptr("reflect.Value.Float",new FA(am.flag).kind()));};EZ.prototype.Float=function(){return this.$val.Float();};EZ.ptr.prototype.Int=function(){var $ptr,am,an,ao,ap;am=this;an=new FA(am.flag).kind();ao=am.ptr;ap=an;if(ap===(2)){return(new $Int64(0,(ao).$get()));}else if(ap===(3)){return(new $Int64(0,(ao).$get()));}else if(ap===(4)){return(new $Int64(0,(ao).$get()));}else if(ap===(5)){return(new $Int64(0,(ao).$get()));}else if(ap===(6)){return(ao).$get();}$panic(new FD.ptr("reflect.Value.Int",new FA(am.flag).kind()));};EZ.prototype.Int=function(){return this.$val.Int();};EZ.ptr.prototype.CanInterface=function(){var $ptr,am;am=this;if(am.flag===0){$panic(new FD.ptr("reflect.Value.CanInterface",0));}return((am.flag&96)>>>0)===0;};EZ.prototype.CanInterface=function(){return this.$val.CanInterface();};EZ.ptr.prototype.Interface=function(){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=$ifaceNil;an=this;ao=BC($clone(an,EZ),true);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}am=ao;$s=-1;return am;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Interface};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Interface=function(){return this.$val.Interface();};EZ.ptr.prototype.IsValid=function(){var $ptr,am;am=this;return!((am.flag===0));};EZ.prototype.IsValid=function(){return this.$val.IsValid();};EZ.ptr.prototype.Kind=function(){var $ptr,am;am=this;return new FA(am.flag).kind();};EZ.prototype.Kind=function(){return this.$val.Kind();};EZ.ptr.prototype.MapIndex=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;new FA(an.flag).mustBe(21);ao=(an.typ.kindType);ap=$clone(am,EZ).assignTo("reflect.Value.MapIndex",ao.key,0);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}am=ap;aq=0;if(!((((am.flag&128)>>>0)===0))){aq=am.ptr;}else{aq=((am.$ptr_ptr||(am.$ptr_ptr=new JN(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},am))));}ar=AR(an.typ,$clone(an,EZ).pointer(),aq);if(ar===0){$s=-1;return new EZ.ptr(HN.nil,0,0);}as=ao.elem;at=((((an.flag|am.flag)>>>0))&96)>>>0;at=(at|(((as.Kind()>>>0))))>>>0;if(EW(as)){au=AJ(as);AM(as,au,ar);$s=-1;return new EZ.ptr(as,au,(at|128)>>>0);}else{$s=-1;return new EZ.ptr(as,(ar).$get(),at);}$s=-1;return new EZ.ptr(HN.nil,0,0);}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.MapIndex};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.MapIndex=function(am){return this.$val.MapIndex(am);};EZ.ptr.prototype.MapKeys=function(){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=this;new FA(am.flag).mustBe(21);an=(am.typ.kindType);ao=an.key;ap=(((am.flag&96)>>>0)|((ao.Kind()>>>0)))>>>0;aq=$clone(am,EZ).pointer();ar=0;if(!(aq===0)){ar=AY(aq);}as=AV(am.typ,aq);at=$makeSlice(IS,ar);au=0;au=0;case 1:if(!(au<at.$length)){$s=2;continue;}av=AW(as);$s=3;case 3:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;if(aw===0){$s=2;continue;}if(EW(ao)){ax=AJ(ao);AM(ao,ax,aw);((au<0||au>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+au]=new EZ.ptr(ao,ax,(ap|128)>>>0));}else{((au<0||au>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+au]=new EZ.ptr(ao,(aw).$get(),ap));}AX(as);au=au+(1)>>0;$s=1;continue;case 2:$s=-1;return $subslice(at,0,au);}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.MapKeys};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.MapKeys=function(){return this.$val.MapKeys();};EZ.ptr.prototype.Method=function(am){var $ptr,am,an,ao,ap,aq,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;if(an.typ===HN.nil){$panic(new FD.ptr("reflect.Value.Method",0));}if(!((((an.flag&512)>>>0)===0))){ao=true;$s=3;continue s;}ap=an.typ.NumMethod();$s=4;case 4:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=((am>>>0))>=((ap>>>0));case 3:if(ao){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect: Method index out of range"));case 2:if((an.typ.Kind()===20)&&$clone(an,EZ).IsNil()){$panic(new $String("reflect: Method on nil interface value"));}aq=(an.flag&160)>>>0;aq=(aq|(19))>>>0;aq=(aq|((((((am>>>0))<<10>>>0)|512)>>>0)))>>>0;$s=-1;return new EZ.ptr(an.typ,an.ptr,aq);}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Method};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Method=function(am){return this.$val.Method(am);};EZ.ptr.prototype.NumMethod=function(){var $ptr,am,an,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=this;if(am.typ===HN.nil){$panic(new FD.ptr("reflect.Value.NumMethod",0));}if(!((((am.flag&512)>>>0)===0))){$s=-1;return 0;}an=am.typ.NumMethod();$s=1;case 1:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}$s=-1;return an;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.NumMethod};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.NumMethod=function(){return this.$val.NumMethod();};EZ.ptr.prototype.MethodByName=function(am){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;if(an.typ===HN.nil){$panic(new FD.ptr("reflect.Value.MethodByName",0));}if(!((((an.flag&512)>>>0)===0))){$s=-1;return new EZ.ptr(HN.nil,0,0);}ap=an.typ.MethodByName(am);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ao=ap;aq=$clone(ao[0],CP);ar=ao[1];if(!ar){$s=-1;return new EZ.ptr(HN.nil,0,0);}as=$clone(an,EZ).Method(aq.Index);$s=2;case 2:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$s=-1;return as;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.MethodByName};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.MethodByName=function(am){return this.$val.MethodByName(am);};EZ.ptr.prototype.NumField=function(){var $ptr,am,an;am=this;new FA(am.flag).mustBe(25);an=(am.typ.kindType);return an.fields.$length;};EZ.prototype.NumField=function(){return this.$val.NumField();};EZ.ptr.prototype.OverflowComplex=function(am){var $ptr,am,an,ao,ap;an=this;ao=new FA(an.flag).kind();ap=ao;if(ap===(15)){return FN(am.$real)||FN(am.$imag);}else if(ap===(16)){return false;}$panic(new FD.ptr("reflect.Value.OverflowComplex",new FA(an.flag).kind()));};EZ.prototype.OverflowComplex=function(am){return this.$val.OverflowComplex(am);};EZ.ptr.prototype.OverflowFloat=function(am){var $ptr,am,an,ao,ap;an=this;ao=new FA(an.flag).kind();ap=ao;if(ap===(13)){return FN(am);}else if(ap===(14)){return false;}$panic(new FD.ptr("reflect.Value.OverflowFloat",new FA(an.flag).kind()));};EZ.prototype.OverflowFloat=function(am){return this.$val.OverflowFloat(am);};FN=function(am){var $ptr,am;if(am<0){am=-am;}return 3.4028234663852886e+38<am&&am<=1.7976931348623157e+308;};EZ.ptr.prototype.OverflowInt=function(am){var $ptr,am,an,ao,ap,aq,ar;an=this;ao=new FA(an.flag).kind();ap=ao;if((ap===(2))||(ap===(3))||(ap===(4))||(ap===(5))||(ap===(6))){aq=$imul(an.typ.size,8)>>>0;ar=$shiftRightInt64(($shiftLeft64(am,((64-aq>>>0)))),((64-aq>>>0)));return!((am.$high===ar.$high&&am.$low===ar.$low));}$panic(new FD.ptr("reflect.Value.OverflowInt",new FA(an.flag).kind()));};EZ.prototype.OverflowInt=function(am){return this.$val.OverflowInt(am);};EZ.ptr.prototype.OverflowUint=function(am){var $ptr,am,an,ao,ap,aq,ar;an=this;ao=new FA(an.flag).kind();ap=ao;if((ap===(7))||(ap===(12))||(ap===(8))||(ap===(9))||(ap===(10))||(ap===(11))){aq=$imul(an.typ.size,8)>>>0;ar=$shiftRightUint64(($shiftLeft64(am,((64-aq>>>0)))),((64-aq>>>0)));return!((am.$high===ar.$high&&am.$low===ar.$low));}$panic(new FD.ptr("reflect.Value.OverflowUint",new FA(an.flag).kind()));};EZ.prototype.OverflowUint=function(am){return this.$val.OverflowUint(am);};EZ.ptr.prototype.Recv=function(){var $ptr,am,an,ao,ap,aq,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=new EZ.ptr(HN.nil,0,0);an=false;ao=this;new FA(ao.flag).mustBe(18);new FA(ao.flag).mustBeExported();aq=$clone(ao,EZ).recv(false);$s=1;case 1:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;am=ap[0];an=ap[1];$s=-1;return[am,an];}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Recv};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Recv=function(){return this.$val.Recv();};EZ.ptr.prototype.recv=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=new EZ.ptr(HN.nil,0,0);ao=false;ap=this;aq=(ap.typ.kindType);if((((aq.dir>>0))&1)===0){$panic(new $String("reflect: recv on send-only channel"));}ar=aq.elem;an=new EZ.ptr(ar,0,((ar.Kind()>>>0)));as=0;if(EW(ar)){as=AJ(ar);an.ptr=as;an.flag=(an.flag|(128))>>>0;}else{as=((an.$ptr_ptr||(an.$ptr_ptr=new JN(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},an))));}au=BM(ap.typ,$clone(ap,EZ).pointer(),am,as);$s=1;case 1:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au;av=at[0];ao=at[1];if(!av){an=new EZ.ptr(HN.nil,0,0);}$s=-1;return[an,ao];}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.recv};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.recv=function(am){return this.$val.recv(am);};EZ.ptr.prototype.Send=function(am){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;new FA(an.flag).mustBe(18);new FA(an.flag).mustBeExported();ao=$clone(an,EZ).send($clone(am,EZ),false);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ao;$s=-1;return;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Send};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Send=function(am){return this.$val.Send(am);};EZ.ptr.prototype.send=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=false;ap=this;aq=(ap.typ.kindType);if((((aq.dir>>0))&2)===0){$panic(new $String("reflect: send on recv-only channel"));}new FA(am.flag).mustBeExported();ar=$clone(am,EZ).assignTo("reflect.Value.Send",aq.elem,0);$s=1;case 1:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}am=ar;as=0;if(!((((am.flag&128)>>>0)===0))){as=am.ptr;}else{as=((am.$ptr_ptr||(am.$ptr_ptr=new JN(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},am))));}at=BN(ap.typ,$clone(ap,EZ).pointer(),as,an);$s=2;case 2:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}ao=at;$s=-1;return ao;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.send};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.send=function(am,an){return this.$val.send(am,an);};EZ.ptr.prototype.SetBool=function(am){var $ptr,am,an;an=this;new FA(an.flag).mustBeAssignable();new FA(an.flag).mustBe(1);(an.ptr).$set(am);};EZ.prototype.SetBool=function(am){return this.$val.SetBool(am);};EZ.ptr.prototype.setRunes=function(am){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;new FA(an.flag).mustBeAssignable();new FA(an.flag).mustBe(23);ao=an.typ.Elem().Kind();$s=3;case 3:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}if(!((ao===5))){$s=1;continue;}$s=2;continue;case 1:$panic(new $String("reflect.Value.setRunes of non-rune slice"));case 2:(an.ptr).$set(am);$s=-1;return;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.setRunes};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.setRunes=function(am){return this.$val.setRunes(am);};EZ.ptr.prototype.SetComplex=function(am){var $ptr,am,an,ao,ap;an=this;new FA(an.flag).mustBeAssignable();ao=new FA(an.flag).kind();ap=ao;if(ap===(15)){(an.ptr).$set((new $Complex64(am.$real,am.$imag)));}else if(ap===(16)){(an.ptr).$set(am);}else{$panic(new FD.ptr("reflect.Value.SetComplex",new FA(an.flag).kind()));}};EZ.prototype.SetComplex=function(am){return this.$val.SetComplex(am);};EZ.ptr.prototype.SetFloat=function(am){var $ptr,am,an,ao,ap;an=this;new FA(an.flag).mustBeAssignable();ao=new FA(an.flag).kind();ap=ao;if(ap===(13)){(an.ptr).$set(($fround(am)));}else if(ap===(14)){(an.ptr).$set(am);}else{$panic(new FD.ptr("reflect.Value.SetFloat",new FA(an.flag).kind()));}};EZ.prototype.SetFloat=function(am){return this.$val.SetFloat(am);};EZ.ptr.prototype.SetInt=function(am){var $ptr,am,an,ao,ap;an=this;new FA(an.flag).mustBeAssignable();ao=new FA(an.flag).kind();ap=ao;if(ap===(2)){(an.ptr).$set((((am.$low+((am.$high>>31)*4294967296))>>0)));}else if(ap===(3)){(an.ptr).$set((((am.$low+((am.$high>>31)*4294967296))<<24>>24)));}else if(ap===(4)){(an.ptr).$set((((am.$low+((am.$high>>31)*4294967296))<<16>>16)));}else if(ap===(5)){(an.ptr).$set((((am.$low+((am.$high>>31)*4294967296))>>0)));}else if(ap===(6)){(an.ptr).$set(am);}else{$panic(new FD.ptr("reflect.Value.SetInt",new FA(an.flag).kind()));}};EZ.prototype.SetInt=function(am){return this.$val.SetInt(am);};EZ.ptr.prototype.SetMapIndex=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=this;new FA(ao.flag).mustBe(21);new FA(ao.flag).mustBeExported();new FA(am.flag).mustBeExported();ap=(ao.typ.kindType);aq=$clone(am,EZ).assignTo("reflect.Value.SetMapIndex",ap.key,0);$s=1;case 1:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}am=aq;ar=0;if(!((((am.flag&128)>>>0)===0))){ar=am.ptr;}else{ar=((am.$ptr_ptr||(am.$ptr_ptr=new JN(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},am))));}if(an.typ===HN.nil){AT(ao.typ,$clone(ao,EZ).pointer(),ar);$s=-1;return;}new FA(an.flag).mustBeExported();as=$clone(an,EZ).assignTo("reflect.Value.SetMapIndex",ap.elem,0);$s=2;case 2:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}an=as;at=0;if(!((((an.flag&128)>>>0)===0))){at=an.ptr;}else{at=((an.$ptr_ptr||(an.$ptr_ptr=new JN(function(){return this.$target.ptr;},function($v){this.$target.ptr=$v;},an))));}$r=AS(ao.typ,$clone(ao,EZ).pointer(),ar,at);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.SetMapIndex};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.SetMapIndex=function(am,an){return this.$val.SetMapIndex(am,an);};EZ.ptr.prototype.SetUint=function(am){var $ptr,am,an,ao,ap;an=this;new FA(an.flag).mustBeAssignable();ao=new FA(an.flag).kind();ap=ao;if(ap===(7)){(an.ptr).$set(((am.$low>>>0)));}else if(ap===(8)){(an.ptr).$set(((am.$low<<24>>>24)));}else if(ap===(9)){(an.ptr).$set(((am.$low<<16>>>16)));}else if(ap===(10)){(an.ptr).$set(((am.$low>>>0)));}else if(ap===(11)){(an.ptr).$set(am);}else if(ap===(12)){(an.ptr).$set(((am.$low>>>0)));}else{$panic(new FD.ptr("reflect.Value.SetUint",new FA(an.flag).kind()));}};EZ.prototype.SetUint=function(am){return this.$val.SetUint(am);};EZ.ptr.prototype.SetPointer=function(am){var $ptr,am,an;an=this;new FA(an.flag).mustBeAssignable();new FA(an.flag).mustBe(26);(an.ptr).$set(am);};EZ.prototype.SetPointer=function(am){return this.$val.SetPointer(am);};EZ.ptr.prototype.SetString=function(am){var $ptr,am,an;an=this;new FA(an.flag).mustBeAssignable();new FA(an.flag).mustBe(24);(an.ptr).$set(am);};EZ.prototype.SetString=function(am){return this.$val.SetString(am);};EZ.ptr.prototype.String=function(){var $ptr,am,an,ao,ap,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=this;an=new FA(am.flag).kind();ao=an;if(ao===(0)){$s=-1;return"<invalid Value>";}else if(ao===(24)){$s=-1;return(am.ptr).$get();}ap=$clone(am,EZ).Type().String();$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$s=-1;return"<"+ap+" Value>";}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.String};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.String=function(){return this.$val.String();};EZ.ptr.prototype.TryRecv=function(){var $ptr,am,an,ao,ap,aq,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:am=new EZ.ptr(HN.nil,0,0);an=false;ao=this;new FA(ao.flag).mustBe(18);new FA(ao.flag).mustBeExported();aq=$clone(ao,EZ).recv(true);$s=1;case 1:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;am=ap[0];an=ap[1];$s=-1;return[am,an];}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.TryRecv};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.TryRecv=function(){return this.$val.TryRecv();};EZ.ptr.prototype.TrySend=function(am){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;new FA(an.flag).mustBe(18);new FA(an.flag).mustBeExported();ao=$clone(an,EZ).send($clone(am,EZ),true);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.TrySend};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.TrySend=function(am){return this.$val.TrySend(am);};EZ.ptr.prototype.Type=function(){var $ptr,am,an,ao,ap,aq,ar,as,at,au;am=this;an=am.flag;if(an===0){$panic(new FD.ptr("reflect.Value.Type",0));}if(((an&512)>>>0)===0){return am.typ;}ao=((am.flag>>0))>>10>>0;if(am.typ.Kind()===20){ap=(am.typ.kindType);if(((ao>>>0))>=((ap.methods.$length>>>0))){$panic(new $String("reflect: internal error: invalid method index"));}ar=(aq=ap.methods,((ao<0||ao>=aq.$length)?($throwRuntimeError("index out of range"),undefined):aq.$array[aq.$offset+ao]));return am.typ.typeOff(ar.typ);}as=am.typ.uncommon();if(as===IO.nil||((ao>>>0))>=((as.mcount>>>0))){$panic(new $String("reflect: internal error: invalid method index"));}au=$clone((at=as.methods(),((ao<0||ao>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+ao])),CD);return am.typ.typeOff(au.mtyp);};EZ.prototype.Type=function(){return this.$val.Type();};EZ.ptr.prototype.Uint=function(){var $ptr,am,an,ao,ap,aq;am=this;an=new FA(am.flag).kind();ao=am.ptr;ap=an;if(ap===(7)){return(new $Uint64(0,(ao).$get()));}else if(ap===(8)){return(new $Uint64(0,(ao).$get()));}else if(ap===(9)){return(new $Uint64(0,(ao).$get()));}else if(ap===(10)){return(new $Uint64(0,(ao).$get()));}else if(ap===(11)){return(ao).$get();}else if(ap===(12)){return((aq=(ao).$get(),new $Uint64(0,aq.constructor===Number?aq:1)));}$panic(new FD.ptr("reflect.Value.Uint",new FA(am.flag).kind()));};EZ.prototype.Uint=function(){return this.$val.Uint();};EZ.ptr.prototype.UnsafeAddr=function(){var $ptr,am;am=this;if(am.typ===HN.nil){$panic(new FD.ptr("reflect.Value.UnsafeAddr",0));}if(((am.flag&256)>>>0)===0){$panic(new $String("reflect.Value.UnsafeAddr of unaddressable value"));}return(am.ptr);};EZ.prototype.UnsafeAddr=function(){return this.$val.UnsafeAddr();};GF=function(am){var $ptr,am,an,ao,ap,aq,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($interfaceIsEqual(am,$ifaceNil)){$panic(new $String("reflect: New(nil)"));}an=AJ($assertType(am,HN));ao=22;ap=am.common();$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap.ptrTo();$s=2;case 2:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}$s=-1;return new EZ.ptr(aq,an,ao);}return;}if($f===undefined){$f={$blk:GF};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.$s=$s;$f.$r=$r;return $f;};$pkg.New=GF;EZ.ptr.prototype.assignTo=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=this;if(!((((ap.flag&512)>>>0)===0))){$s=1;continue;}$s=2;continue;case 1:aq=BF(am,$clone(ap,EZ));$s=3;case 3:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ap=aq;case 2:ar=DL(an,ap.typ);$s=8;case 8:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}if(ar){$s=5;continue;}if(DK(an,ap.typ)){$s=6;continue;}$s=7;continue;case 5:ap.typ=an;as=(ap.flag&480)>>>0;as=(as|(((an.Kind()>>>0))))>>>0;$s=-1;return new EZ.ptr(an,ap.ptr,as);case 6:if(ao===0){ao=AJ(an);}at=BC($clone(ap,EZ),false);$s=9;case 9:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}au=at;av=an.NumMethod();$s=13;case 13:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}if(av===0){$s=10;continue;}$s=11;continue;case 10:(ao).$set(au);$s=12;continue;case 11:BD(an,au,ao);case 12:$s=-1;return new EZ.ptr(an,ao,148);case 7:case 4:$panic(new $String(am+": value of type "+ap.typ.String()+" is not assignable to type "+an.String()));$s=-1;return new EZ.ptr(HN.nil,0,0);}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.assignTo};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.assignTo=function(am,an,ao){return this.$val.assignTo(am,an,ao);};EZ.ptr.prototype.Convert=function(am){var $ptr,am,an,ao,ap,aq,ar,as,at,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:an=this;if(!((((an.flag&512)>>>0)===0))){$s=1;continue;}$s=2;continue;case 1:ao=BF("Convert",$clone(an,EZ));$s=3;case 3:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}an=ao;case 2:ap=am.common();$s=4;case 4:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=GH(ap,an.typ);$s=5;case 5:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq;if(ar===$throwNilPointerError){$s=6;continue;}$s=7;continue;case 6:as=am.String();$s=8;case 8:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$panic(new $String("reflect.Value.Convert: value of type "+an.typ.String()+" cannot be converted to type "+as));case 7:at=ar($clone(an,EZ),am);$s=9;case 9:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}$s=-1;return at;}return;}if($f===undefined){$f={$blk:EZ.ptr.prototype.Convert};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.$s=$s;$f.$r=$r;return $f;};EZ.prototype.Convert=function(am){return this.$val.Convert(am);};GH=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,ba,bb,bc,bd,be,bf,bg,bh,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=an.Kind();if((ao===(2))||(ao===(3))||(ao===(4))||(ao===(5))||(ao===(6))){$s=2;continue;}if((ao===(7))||(ao===(8))||(ao===(9))||(ao===(10))||(ao===(11))||(ao===(12))){$s=3;continue;}if((ao===(13))||(ao===(14))){$s=4;continue;}if((ao===(15))||(ao===(16))){$s=5;continue;}if(ao===(24)){$s=6;continue;}if(ao===(23)){$s=7;continue;}$s=8;continue;case 2:ap=am.Kind();if((ap===(2))||(ap===(3))||(ap===(4))||(ap===(5))||(ap===(6))||(ap===(7))||(ap===(8))||(ap===(9))||(ap===(10))||(ap===(11))||(ap===(12))){$s=-1;return GN;}else if((ap===(13))||(ap===(14))){$s=-1;return GR;}else if(ap===(24)){$s=-1;return GV;}$s=8;continue;case 3:aq=am.Kind();if((aq===(2))||(aq===(3))||(aq===(4))||(aq===(5))||(aq===(6))||(aq===(7))||(aq===(8))||(aq===(9))||(aq===(10))||(aq===(11))||(aq===(12))){$s=-1;return GO;}else if((aq===(13))||(aq===(14))){$s=-1;return GS;}else if(aq===(24)){$s=-1;return GW;}$s=8;continue;case 4:ar=am.Kind();if((ar===(2))||(ar===(3))||(ar===(4))||(ar===(5))||(ar===(6))){$s=-1;return GP;}else if((ar===(7))||(ar===(8))||(ar===(9))||(ar===(10))||(ar===(11))||(ar===(12))){$s=-1;return GQ;}else if((ar===(13))||(ar===(14))){$s=-1;return GT;}$s=8;continue;case 5:as=am.Kind();if((as===(15))||(as===(16))){$s=-1;return GU;}$s=8;continue;case 6:if(!(am.Kind()===23)){at=false;$s=11;continue s;}au=am.Elem().PkgPath();$s=12;case 12:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}at=au==="";case 11:if(at){$s=9;continue;}$s=10;continue;case 9:av=am.Elem().Kind();$s=14;case 14:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=av;if(aw===(8)){$s=-1;return GY;}else if(aw===(5)){$s=-1;return HA;}case 13:case 10:$s=8;continue;case 7:if(!(am.Kind()===24)){ax=false;$s=17;continue s;}ay=an.Elem().PkgPath();$s=18;case 18:if($c){$c=false;ay=ay.$blk();}if(ay&&ay.$blk!==undefined){break s;}ax=ay==="";case 17:if(ax){$s=15;continue;}$s=16;continue;case 15:az=an.Elem().Kind();$s=20;case 20:if($c){$c=false;az=az.$blk();}if(az&&az.$blk!==undefined){break s;}ba=az;if(ba===(8)){$s=-1;return GX;}else if(ba===(5)){$s=-1;return GZ;}case 19:case 16:case 8:case 1:bb=DN(am,an,false);$s=23;case 23:if($c){$c=false;bb=bb.$blk();}if(bb&&bb.$blk!==undefined){break s;}if(bb){$s=21;continue;}$s=22;continue;case 21:$s=-1;return AZ;case 22:if(!((am.Kind()===22)&&am.Name()===""&&(an.Kind()===22)&&an.Name()==="")){bc=false;$s=26;continue s;}bd=am.Elem().common();$s=27;case 27:if($c){$c=false;bd=bd.$blk();}if(bd&&bd.$blk!==undefined){break s;}be=bd;bf=an.Elem().common();$s=28;case 28:if($c){$c=false;bf=bf.$blk();}if(bf&&bf.$blk!==undefined){break s;}bg=bf;bh=DN(be,bg,false);$s=29;case 29:if($c){$c=false;bh=bh.$blk();}if(bh&&bh.$blk!==undefined){break s;}bc=bh;case 26:if(bc){$s=24;continue;}$s=25;continue;case 24:$s=-1;return AZ;case 25:if(DK(am,an)){if(an.Kind()===20){$s=-1;return HC;}$s=-1;return HB;}$s=-1;return $throwNilPointerError;}return;}if($f===undefined){$f={$blk:GH};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.$s=$s;$f.$r=$r;return $f;};GI=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=ao.common();$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;ar=AJ(aq);as=aq.size;if(as===(4)){(ar).$set(($fround(an)));}else if(as===(8)){(ar).$set(an);}$s=-1;return new EZ.ptr(aq,ar,(((am|128)>>>0)|((aq.Kind()>>>0)))>>>0);}return;}if($f===undefined){$f={$blk:GI};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};GJ=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=ao.common();$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;ar=AJ(aq);as=aq.size;if(as===(8)){(ar).$set((new $Complex64(an.$real,an.$imag)));}else if(as===(16)){(ar).$set(an);}$s=-1;return new EZ.ptr(aq,ar,(((am|128)>>>0)|((aq.Kind()>>>0)))>>>0);}return;}if($f===undefined){$f={$blk:GJ};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};GK=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=GF(ao);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=$clone(ap,EZ).Elem();$s=2;case 2:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq;$clone(ar,EZ).SetString(an);ar.flag=(((ar.flag&~256)>>>0)|am)>>>0;$s=-1;return ar;}return;}if($f===undefined){$f={$blk:GK};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};GL=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=GF(ao);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=$clone(ap,EZ).Elem();$s=2;case 2:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq;$r=$clone(ar,EZ).SetBytes(an);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ar.flag=(((ar.flag&~256)>>>0)|am)>>>0;$s=-1;return ar;}return;}if($f===undefined){$f={$blk:GL};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};GM=function(am,an,ao){var $ptr,am,an,ao,ap,aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=GF(ao);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=$clone(ap,EZ).Elem();$s=2;case 2:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq;$r=$clone(ar,EZ).setRunes(an);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ar.flag=(((ar.flag&~256)>>>0)|am)>>>0;$s=-1;return ar;}return;}if($f===undefined){$f={$blk:GM};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};GN=function(am,an){var $ptr,am,an,ao,ap,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=AK((am.flag&96)>>>0,((ao=$clone(am,EZ).Int(),new $Uint64(ao.$high,ao.$low))),an);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$s=-1;return ap;}return;}if($f===undefined){$f={$blk:GN};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.$s=$s;$f.$r=$r;return $f;};GO=function(am,an){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=AK((am.flag&96)>>>0,$clone(am,EZ).Uint(),an);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:GO};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};GP=function(am,an){var $ptr,am,an,ao,ap,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ap=AK((am.flag&96)>>>0,((ao=(new $Int64(0,$clone(am,EZ).Float())),new $Uint64(ao.$high,ao.$low))),an);$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$s=-1;return ap;}return;}if($f===undefined){$f={$blk:GP};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.$s=$s;$f.$r=$r;return $f;};GQ=function(am,an){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=AK((am.flag&96)>>>0,(new $Uint64(0,$clone(am,EZ).Float())),an);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:GQ};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};GR=function(am,an){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=GI((am.flag&96)>>>0,($flatten64($clone(am,EZ).Int())),an);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:GR};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};GS=function(am,an){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=GI((am.flag&96)>>>0,($flatten64($clone(am,EZ).Uint())),an);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:GS};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};GT=function(am,an){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=GI((am.flag&96)>>>0,$clone(am,EZ).Float(),an);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:GT};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};GU=function(am,an){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=GJ((am.flag&96)>>>0,$clone(am,EZ).Complex(),an);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:GU};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};GV=function(am,an){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=GK((am.flag&96)>>>0,($encodeRune($clone(am,EZ).Int().$low)),an);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:GV};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};GW=function(am,an){var $ptr,am,an,ao,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=GK((am.flag&96)>>>0,($encodeRune($clone(am,EZ).Uint().$low)),an);$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}$s=-1;return ao;}return;}if($f===undefined){$f={$blk:GW};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.$s=$s;$f.$r=$r;return $f;};GX=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=(am.flag&96)>>>0;ap=$clone(am,EZ).Bytes();$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=($bytesToString(ap));ar=an;as=GK(ao,aq,ar);$s=2;case 2:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$s=-1;return as;}return;}if($f===undefined){$f={$blk:GX};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};GY=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=(am.flag&96)>>>0;ap=$clone(am,EZ).String();$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=(new JC($stringToBytes(ap)));ar=an;as=GL(ao,aq,ar);$s=2;case 2:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$s=-1;return as;}return;}if($f===undefined){$f={$blk:GY};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};GZ=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=(am.flag&96)>>>0;ap=$clone(am,EZ).runes();$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=($runesToString(ap));ar=an;as=GK(ao,aq,ar);$s=2;case 2:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$s=-1;return as;}return;}if($f===undefined){$f={$blk:GZ};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};HA=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=(am.flag&96)>>>0;ap=$clone(am,EZ).String();$s=1;case 1:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=(new JP($stringToRunes(ap)));ar=an;as=GM(ao,aq,ar);$s=2;case 2:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$s=-1;return as;}return;}if($f===undefined){$f={$blk:HA};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.$s=$s;$f.$r=$r;return $f;};HB=function(am,an){var $ptr,am,an,ao,ap,aq,ar,as,at,au,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:ao=an.common();$s=1;case 1:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=AJ(ao);$s=2;case 2:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}aq=ap;ar=BC($clone(am,EZ),false);$s=3;case 3:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}as=ar;at=an.NumMethod();$s=7;case 7:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}if(at===0){$s=4;continue;}$s=5;continue;case 4:(aq).$set(as);$s=6;continue;case 5:BD($assertType(an,HN),as,aq);case 6:au=an.common();$s=8;case 8:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}$s=-1;return new EZ.ptr(au,aq,(((((am.flag&96)>>>0)|128)>>>0)|20)>>>0);}return;}if($f===undefined){$f={$blk:HB};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.$s=$s;$f.$r=$r;return $f;};HC=function(am,an){var $ptr,am,an,ao,ap,aq,ar,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if($clone(am,EZ).IsNil()){$s=1;continue;}$s=2;continue;case 1:ao=AI(an);$s=3;case 3:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=ao;ap.flag=(ap.flag|(((am.flag&96)>>>0)))>>>0;$s=-1;return ap;case 2:aq=$clone(am,EZ).Elem();$s=4;case 4:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=HB($clone(aq,EZ),an);$s=5;case 5:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}$s=-1;return ar;}return;}if($f===undefined){$f={$blk:HC};}$f.$ptr=$ptr;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.$s=$s;$f.$r=$r;return $f;};IO.methods=[{prop:"methods",name:"methods",pkg:"reflect",typ:$funcType([],[HP],false)}];JQ.methods=[{prop:"in$",name:"in",pkg:"reflect",typ:$funcType([],[HO],false)},{prop:"out",name:"out",pkg:"reflect",typ:$funcType([],[HO],false)}];O.methods=[{prop:"name",name:"name",pkg:"reflect",typ:$funcType([],[$String],false)},{prop:"tag",name:"tag",pkg:"reflect",typ:$funcType([],[$String],false)},{prop:"pkgPath",name:"pkgPath",pkg:"reflect",typ:$funcType([],[$String],false)},{prop:"isExported",name:"isExported",pkg:"reflect",typ:$funcType([],[$Bool],false)},{prop:"data",name:"data",pkg:"reflect",typ:$funcType([$Int],[IL],false)},{prop:"nameLen",name:"nameLen",pkg:"reflect",typ:$funcType([],[$Int],false)},{prop:"tagLen",name:"tagLen",pkg:"reflect",typ:$funcType([],[$Int],false)}];BZ.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];HN.methods=[{prop:"uncommon",name:"uncommon",pkg:"reflect",typ:$funcType([],[IO],false)},{prop:"nameOff",name:"nameOff",pkg:"reflect",typ:$funcType([CY],[O],false)},{prop:"typeOff",name:"typeOff",pkg:"reflect",typ:$funcType([CZ],[HN],false)},{prop:"ptrTo",name:"ptrTo",pkg:"reflect",typ:$funcType([],[HN],false)},{prop:"pointers",name:"pointers",pkg:"reflect",typ:$funcType([],[$Bool],false)},{prop:"Comparable",name:"Comparable",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[CP],false)},{prop:"textOff",name:"textOff",pkg:"reflect",typ:$funcType([DA],[$UnsafePointer],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"Bits",name:"Bits",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Align",name:"Align",pkg:"",typ:$funcType([],[$Int],false)},{prop:"FieldAlign",name:"FieldAlign",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[BZ],false)},{prop:"common",name:"common",pkg:"reflect",typ:$funcType([],[HN],false)},{prop:"exportedMethods",name:"exportedMethods",pkg:"reflect",typ:$funcType([],[HP],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[CP,$Bool],false)},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$funcType([],[$String],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"ChanDir",name:"ChanDir",pkg:"",typ:$funcType([],[CE],false)},{prop:"IsVariadic",name:"IsVariadic",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[BY],false)},{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[DE],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([IZ],[DE],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[DE,$Bool],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([JS],[DE,$Bool],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([$Int],[BY],false)},{prop:"Key",name:"Key",pkg:"",typ:$funcType([],[BY],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumField",name:"NumField",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumIn",name:"NumIn",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumOut",name:"NumOut",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Out",name:"Out",pkg:"",typ:$funcType([$Int],[BY],false)},{prop:"Implements",name:"Implements",pkg:"",typ:$funcType([BY],[$Bool],false)},{prop:"AssignableTo",name:"AssignableTo",pkg:"",typ:$funcType([BY],[$Bool],false)},{prop:"ConvertibleTo",name:"ConvertibleTo",pkg:"",typ:$funcType([BY],[$Bool],false)}];CE.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];IX.methods=[{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[CP],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[CP,$Bool],false)}];JB.methods=[{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[DE],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([IZ],[DE],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([JS],[DE,$Bool],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[DE,$Bool],false)}];DF.methods=[{prop:"Get",name:"Get",pkg:"",typ:$funcType([$String],[$String],false)},{prop:"Lookup",name:"Lookup",pkg:"",typ:$funcType([$String],[$String,$Bool],false)}];EZ.methods=[{prop:"object",name:"object",pkg:"reflect",typ:$funcType([],[IH],false)},{prop:"call",name:"call",pkg:"reflect",typ:$funcType([$String,IS],[IS],false)},{prop:"Cap",name:"Cap",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[EZ],false)},{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[EZ],false)},{prop:"Index",name:"Index",pkg:"",typ:$funcType([$Int],[EZ],false)},{prop:"InterfaceData",name:"InterfaceData",pkg:"",typ:$funcType([],[KB],false)},{prop:"IsNil",name:"IsNil",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Pointer",name:"Pointer",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"Set",name:"Set",pkg:"",typ:$funcType([EZ],[],false)},{prop:"SetBytes",name:"SetBytes",pkg:"",typ:$funcType([JC],[],false)},{prop:"SetCap",name:"SetCap",pkg:"",typ:$funcType([$Int],[],false)},{prop:"SetLen",name:"SetLen",pkg:"",typ:$funcType([$Int],[],false)},{prop:"Slice",name:"Slice",pkg:"",typ:$funcType([$Int,$Int],[EZ],false)},{prop:"Slice3",name:"Slice3",pkg:"",typ:$funcType([$Int,$Int,$Int],[EZ],false)},{prop:"Close",name:"Close",pkg:"",typ:$funcType([],[],false)},{prop:"pointer",name:"pointer",pkg:"reflect",typ:$funcType([],[$UnsafePointer],false)},{prop:"Addr",name:"Addr",pkg:"",typ:$funcType([],[EZ],false)},{prop:"Bool",name:"Bool",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Bytes",name:"Bytes",pkg:"",typ:$funcType([],[JC],false)},{prop:"runes",name:"runes",pkg:"reflect",typ:$funcType([],[JP],false)},{prop:"CanAddr",name:"CanAddr",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"CanSet",name:"CanSet",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Call",name:"Call",pkg:"",typ:$funcType([IS],[IS],false)},{prop:"CallSlice",name:"CallSlice",pkg:"",typ:$funcType([IS],[IS],false)},{prop:"Complex",name:"Complex",pkg:"",typ:$funcType([],[$Complex128],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([IZ],[EZ],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[EZ],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([JS],[EZ],false)},{prop:"Float",name:"Float",pkg:"",typ:$funcType([],[$Float64],false)},{prop:"Int",name:"Int",pkg:"",typ:$funcType([],[$Int64],false)},{prop:"CanInterface",name:"CanInterface",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Interface",name:"Interface",pkg:"",typ:$funcType([],[$emptyInterface],false)},{prop:"IsValid",name:"IsValid",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[BZ],false)},{prop:"MapIndex",name:"MapIndex",pkg:"",typ:$funcType([EZ],[EZ],false)},{prop:"MapKeys",name:"MapKeys",pkg:"",typ:$funcType([],[IS],false)},{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[EZ],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[EZ],false)},{prop:"NumField",name:"NumField",pkg:"",typ:$funcType([],[$Int],false)},{prop:"OverflowComplex",name:"OverflowComplex",pkg:"",typ:$funcType([$Complex128],[$Bool],false)},{prop:"OverflowFloat",name:"OverflowFloat",pkg:"",typ:$funcType([$Float64],[$Bool],false)},{prop:"OverflowInt",name:"OverflowInt",pkg:"",typ:$funcType([$Int64],[$Bool],false)},{prop:"OverflowUint",name:"OverflowUint",pkg:"",typ:$funcType([$Uint64],[$Bool],false)},{prop:"Recv",name:"Recv",pkg:"",typ:$funcType([],[EZ,$Bool],false)},{prop:"recv",name:"recv",pkg:"reflect",typ:$funcType([$Bool],[EZ,$Bool],false)},{prop:"Send",name:"Send",pkg:"",typ:$funcType([EZ],[],false)},{prop:"send",name:"send",pkg:"reflect",typ:$funcType([EZ,$Bool],[$Bool],false)},{prop:"SetBool",name:"SetBool",pkg:"",typ:$funcType([$Bool],[],false)},{prop:"setRunes",name:"setRunes",pkg:"reflect",typ:$funcType([JP],[],false)},{prop:"SetComplex",name:"SetComplex",pkg:"",typ:$funcType([$Complex128],[],false)},{prop:"SetFloat",name:"SetFloat",pkg:"",typ:$funcType([$Float64],[],false)},{prop:"SetInt",name:"SetInt",pkg:"",typ:$funcType([$Int64],[],false)},{prop:"SetMapIndex",name:"SetMapIndex",pkg:"",typ:$funcType([EZ,EZ],[],false)},{prop:"SetUint",name:"SetUint",pkg:"",typ:$funcType([$Uint64],[],false)},{prop:"SetPointer",name:"SetPointer",pkg:"",typ:$funcType([$UnsafePointer],[],false)},{prop:"SetString",name:"SetString",pkg:"",typ:$funcType([$String],[],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"TryRecv",name:"TryRecv",pkg:"",typ:$funcType([],[EZ,$Bool],false)},{prop:"TrySend",name:"TrySend",pkg:"",typ:$funcType([EZ],[$Bool],false)},{prop:"Type",name:"Type",pkg:"",typ:$funcType([],[BY],false)},{prop:"Uint",name:"Uint",pkg:"",typ:$funcType([],[$Uint64],false)},{prop:"UnsafeAddr",name:"UnsafeAddr",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"assignTo",name:"assignTo",pkg:"reflect",typ:$funcType([$String,HN,$UnsafePointer],[EZ],false)},{prop:"Convert",name:"Convert",pkg:"",typ:$funcType([BY],[EZ],false)}];FA.methods=[{prop:"kind",name:"kind",pkg:"reflect",typ:$funcType([],[BZ],false)},{prop:"mustBe",name:"mustBe",pkg:"reflect",typ:$funcType([BZ],[],false)},{prop:"mustBeExported",name:"mustBeExported",pkg:"reflect",typ:$funcType([],[],false)},{prop:"mustBeAssignable",name:"mustBeAssignable",pkg:"reflect",typ:$funcType([],[],false)}];KC.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];L.init("reflect",[{prop:"pkgPath",name:"pkgPath",exported:false,typ:CY,tag:""},{prop:"mcount",name:"mcount",exported:false,typ:$Uint16,tag:""},{prop:"_$2",name:"_",exported:false,typ:$Uint16,tag:""},{prop:"moff",name:"moff",exported:false,typ:$Uint32,tag:""},{prop:"_$4",name:"_",exported:false,typ:$Uint32,tag:""},{prop:"_methods",name:"_methods",exported:false,typ:HP,tag:""}]);N.init("reflect",[{prop:"rtype",name:"",exported:false,typ:CB,tag:"reflect:\"func\""},{prop:"inCount",name:"inCount",exported:false,typ:$Uint16,tag:""},{prop:"outCount",name:"outCount",exported:false,typ:$Uint16,tag:""},{prop:"_in",name:"_in",exported:false,typ:HO,tag:""},{prop:"_out",name:"_out",exported:false,typ:HO,tag:""}]);O.init("reflect",[{prop:"bytes",name:"bytes",exported:false,typ:IL,tag:""}]);P.init("reflect",[{prop:"name",name:"name",exported:false,typ:$String,tag:""},{prop:"tag",name:"tag",exported:false,typ:$String,tag:""},{prop:"pkgPath",name:"pkgPath",exported:false,typ:$String,tag:""},{prop:"exported",name:"exported",exported:false,typ:$Bool,tag:""}]);AU.init("reflect",[{prop:"t",name:"t",exported:false,typ:BY,tag:""},{prop:"m",name:"m",exported:false,typ:IH,tag:""},{prop:"keys",name:"keys",exported:false,typ:IH,tag:""},{prop:"i",name:"i",exported:false,typ:$Int,tag:""}]);BY.init([{prop:"Align",name:"Align",pkg:"",typ:$funcType([],[$Int],false)},{prop:"AssignableTo",name:"AssignableTo",pkg:"",typ:$funcType([BY],[$Bool],false)},{prop:"Bits",name:"Bits",pkg:"",typ:$funcType([],[$Int],false)},{prop:"ChanDir",name:"ChanDir",pkg:"",typ:$funcType([],[CE],false)},{prop:"Comparable",name:"Comparable",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"ConvertibleTo",name:"ConvertibleTo",pkg:"",typ:$funcType([BY],[$Bool],false)},{prop:"Elem",name:"Elem",pkg:"",typ:$funcType([],[BY],false)},{prop:"Field",name:"Field",pkg:"",typ:$funcType([$Int],[DE],false)},{prop:"FieldAlign",name:"FieldAlign",pkg:"",typ:$funcType([],[$Int],false)},{prop:"FieldByIndex",name:"FieldByIndex",pkg:"",typ:$funcType([IZ],[DE],false)},{prop:"FieldByName",name:"FieldByName",pkg:"",typ:$funcType([$String],[DE,$Bool],false)},{prop:"FieldByNameFunc",name:"FieldByNameFunc",pkg:"",typ:$funcType([JS],[DE,$Bool],false)},{prop:"Implements",name:"Implements",pkg:"",typ:$funcType([BY],[$Bool],false)},{prop:"In",name:"In",pkg:"",typ:$funcType([$Int],[BY],false)},{prop:"IsVariadic",name:"IsVariadic",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"Key",name:"Key",pkg:"",typ:$funcType([],[BY],false)},{prop:"Kind",name:"Kind",pkg:"",typ:$funcType([],[BZ],false)},{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Method",name:"Method",pkg:"",typ:$funcType([$Int],[CP],false)},{prop:"MethodByName",name:"MethodByName",pkg:"",typ:$funcType([$String],[CP,$Bool],false)},{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"NumField",name:"NumField",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumIn",name:"NumIn",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumMethod",name:"NumMethod",pkg:"",typ:$funcType([],[$Int],false)},{prop:"NumOut",name:"NumOut",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Out",name:"Out",pkg:"",typ:$funcType([$Int],[BY],false)},{prop:"PkgPath",name:"PkgPath",pkg:"",typ:$funcType([],[$String],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Uintptr],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"common",name:"common",pkg:"reflect",typ:$funcType([],[HN],false)},{prop:"uncommon",name:"uncommon",pkg:"reflect",typ:$funcType([],[IO],false)}]);CB.init("reflect",[{prop:"size",name:"size",exported:false,typ:$Uintptr,tag:""},{prop:"ptrdata",name:"ptrdata",exported:false,typ:$Uintptr,tag:""},{prop:"hash",name:"hash",exported:false,typ:$Uint32,tag:""},{prop:"tflag",name:"tflag",exported:false,typ:CA,tag:""},{prop:"align",name:"align",exported:false,typ:$Uint8,tag:""},{prop:"fieldAlign",name:"fieldAlign",exported:false,typ:$Uint8,tag:""},{prop:"kind",name:"kind",exported:false,typ:$Uint8,tag:""},{prop:"alg",name:"alg",exported:false,typ:IK,tag:""},{prop:"gcdata",name:"gcdata",exported:false,typ:IL,tag:""},{prop:"str",name:"str",exported:false,typ:CY,tag:""},{prop:"ptrToThis",name:"ptrToThis",exported:false,typ:CZ,tag:""}]);CC.init("reflect",[{prop:"hash",name:"hash",exported:false,typ:JT,tag:""},{prop:"equal",name:"equal",exported:false,typ:JU,tag:""}]);CD.init("reflect",[{prop:"name",name:"name",exported:false,typ:CY,tag:""},{prop:"mtyp",name:"mtyp",exported:false,typ:CZ,tag:""},{prop:"ifn",name:"ifn",exported:false,typ:DA,tag:""},{prop:"tfn",name:"tfn",exported:false,typ:DA,tag:""}]);CF.init("reflect",[{prop:"rtype",name:"",exported:false,typ:CB,tag:"reflect:\"array\""},{prop:"elem",name:"elem",exported:false,typ:HN,tag:""},{prop:"slice",name:"slice",exported:false,typ:HN,tag:""},{prop:"len",name:"len",exported:false,typ:$Uintptr,tag:""}]);CG.init("reflect",[{prop:"rtype",name:"",exported:false,typ:CB,tag:"reflect:\"chan\""},{prop:"elem",name:"elem",exported:false,typ:HN,tag:""},{prop:"dir",name:"dir",exported:false,typ:$Uintptr,tag:""}]);CH.init("reflect",[{prop:"name",name:"name",exported:false,typ:CY,tag:""},{prop:"typ",name:"typ",exported:false,typ:CZ,tag:""}]);CI.init("reflect",[{prop:"rtype",name:"",exported:false,typ:CB,tag:"reflect:\"interface\""},{prop:"pkgPath",name:"pkgPath",exported:false,typ:O,tag:""},{prop:"methods",name:"methods",exported:false,typ:IM,tag:""}]);CJ.init("reflect",[{prop:"rtype",name:"",exported:false,typ:CB,tag:"reflect:\"map\""},{prop:"key",name:"key",exported:false,typ:HN,tag:""},{prop:"elem",name:"elem",exported:false,typ:HN,tag:""},{prop:"bucket",name:"bucket",exported:false,typ:HN,tag:""},{prop:"hmap",name:"hmap",exported:false,typ:HN,tag:""},{prop:"keysize",name:"keysize",exported:false,typ:$Uint8,tag:""},{prop:"indirectkey",name:"indirectkey",exported:false,typ:$Uint8,tag:""},{prop:"valuesize",name:"valuesize",exported:false,typ:$Uint8,tag:""},{prop:"indirectvalue",name:"indirectvalue",exported:false,typ:$Uint8,tag:""},{prop:"bucketsize",name:"bucketsize",exported:false,typ:$Uint16,tag:""},{prop:"reflexivekey",name:"reflexivekey",exported:false,typ:$Bool,tag:""},{prop:"needkeyupdate",name:"needkeyupdate",exported:false,typ:$Bool,tag:""}]);CK.init("reflect",[{prop:"rtype",name:"",exported:false,typ:CB,tag:"reflect:\"ptr\""},{prop:"elem",name:"elem",exported:false,typ:HN,tag:""}]);CL.init("reflect",[{prop:"rtype",name:"",exported:false,typ:CB,tag:"reflect:\"slice\""},{prop:"elem",name:"elem",exported:false,typ:HN,tag:""}]);CM.init("reflect",[{prop:"name",name:"name",exported:false,typ:O,tag:""},{prop:"typ",name:"typ",exported:false,typ:HN,tag:""},{prop:"offset",name:"offset",exported:false,typ:$Uintptr,tag:""}]);CN.init("reflect",[{prop:"rtype",name:"",exported:false,typ:CB,tag:"reflect:\"struct\""},{prop:"pkgPath",name:"pkgPath",exported:false,typ:O,tag:""},{prop:"fields",name:"fields",exported:false,typ:IN,tag:""}]);CP.init("",[{prop:"Name",name:"Name",exported:true,typ:$String,tag:""},{prop:"PkgPath",name:"PkgPath",exported:true,typ:$String,tag:""},{prop:"Type",name:"Type",exported:true,typ:BY,tag:""},{prop:"Func",name:"Func",exported:true,typ:EZ,tag:""},{prop:"Index",name:"Index",exported:true,typ:$Int,tag:""}]);DE.init("",[{prop:"Name",name:"Name",exported:true,typ:$String,tag:""},{prop:"PkgPath",name:"PkgPath",exported:true,typ:$String,tag:""},{prop:"Type",name:"Type",exported:true,typ:BY,tag:""},{prop:"Tag",name:"Tag",exported:true,typ:DF,tag:""},{prop:"Offset",name:"Offset",exported:true,typ:$Uintptr,tag:""},{prop:"Index",name:"Index",exported:true,typ:IZ,tag:""},{prop:"Anonymous",name:"Anonymous",exported:true,typ:$Bool,tag:""}]);DG.init("reflect",[{prop:"typ",name:"typ",exported:false,typ:JB,tag:""},{prop:"index",name:"index",exported:false,typ:IZ,tag:""}]);EZ.init("reflect",[{prop:"typ",name:"typ",exported:false,typ:HN,tag:""},{prop:"ptr",name:"ptr",exported:false,typ:$UnsafePointer,tag:""},{prop:"flag",name:"",exported:false,typ:FA,tag:""}]);FD.init("",[{prop:"Method",name:"Method",exported:true,typ:$String,tag:""},{prop:"Kind",name:"Kind",exported:true,typ:BZ,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}S=HM.nil;U=HO.nil;DB=new HR.ptr(new E.RWMutex.ptr(new E.Mutex.ptr(0,0),0,0,0,0),false);G=false;M={};Q={};BG=$assertType($internalize($call,$emptyInterface),II);BL=$assertType($internalize($select,$emptyInterface),II);BH=J($jsObjectPtr);CQ=new IJ(["invalid","bool","int","int8","int16","int32","int64","uint","uint8","uint16","uint32","uint64","uintptr","float32","float64","complex64","complex128","array","chan","func","interface","map","ptr","slice","string","struct","unsafe.Pointer"]);FM=$assertType(AB(new $Uint8(0)),HN);$r=H();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["fmt"]=(function(){var $pkg={},$init,C,D,H,E,F,A,G,B,I,J,K,L,M,N,O,P,AU,AV,AW,BI,BJ,BK,BL,BM,BN,BO,BP,BS,CN,CO,Q,AF,AX,BB,BD,BE,R,S,T,U,V,W,X,Z,AA,AC,AD,AE,AG,AH,AY,AZ,BF;C=$packages["errors"];D=$packages["io"];H=$packages["math"];E=$packages["os"];F=$packages["reflect"];A=$packages["strconv"];G=$packages["sync"];B=$packages["unicode/utf8"];I=$pkg.fmtFlags=$newType(0,$kindStruct,"fmt.fmtFlags",true,"fmt",false,function(widPresent_,precPresent_,minus_,plus_,sharp_,space_,zero_,plusV_,sharpV_){this.$val=this;if(arguments.length===0){this.widPresent=false;this.precPresent=false;this.minus=false;this.plus=false;this.sharp=false;this.space=false;this.zero=false;this.plusV=false;this.sharpV=false;return;}this.widPresent=widPresent_;this.precPresent=precPresent_;this.minus=minus_;this.plus=plus_;this.sharp=sharp_;this.space=space_;this.zero=zero_;this.plusV=plusV_;this.sharpV=sharpV_;});J=$pkg.fmt=$newType(0,$kindStruct,"fmt.fmt",true,"fmt",false,function(buf_,fmtFlags_,wid_,prec_,intbuf_){this.$val=this;if(arguments.length===0){this.buf=BK.nil;this.fmtFlags=new I.ptr(false,false,false,false,false,false,false,false,false);this.wid=0;this.prec=0;this.intbuf=BL.zero();return;}this.buf=buf_;this.fmtFlags=fmtFlags_;this.wid=wid_;this.prec=prec_;this.intbuf=intbuf_;});K=$pkg.State=$newType(8,$kindInterface,"fmt.State",true,"fmt",true,null);L=$pkg.Formatter=$newType(8,$kindInterface,"fmt.Formatter",true,"fmt",true,null);M=$pkg.Stringer=$newType(8,$kindInterface,"fmt.Stringer",true,"fmt",true,null);N=$pkg.GoStringer=$newType(8,$kindInterface,"fmt.GoStringer",true,"fmt",true,null);O=$pkg.buffer=$newType(12,$kindSlice,"fmt.buffer",true,"fmt",false,null);P=$pkg.pp=$newType(0,$kindStruct,"fmt.pp",true,"fmt",false,function(buf_,arg_,value_,fmt_,reordered_,goodArgNum_,panicking_,erroring_){this.$val=this;if(arguments.length===0){this.buf=O.nil;this.arg=$ifaceNil;this.value=new F.Value.ptr(BJ.nil,0,0);this.fmt=new J.ptr(BK.nil,new I.ptr(false,false,false,false,false,false,false,false,false),0,0,BL.zero());this.reordered=false;this.goodArgNum=false;this.panicking=false;this.erroring=false;return;}this.buf=buf_;this.arg=arg_;this.value=value_;this.fmt=fmt_;this.reordered=reordered_;this.goodArgNum=goodArgNum_;this.panicking=panicking_;this.erroring=erroring_;});AU=$pkg.scanError=$newType(0,$kindStruct,"fmt.scanError",true,"fmt",false,function(err_){this.$val=this;if(arguments.length===0){this.err=$ifaceNil;return;}this.err=err_;});AV=$pkg.ss=$newType(0,$kindStruct,"fmt.ss",true,"fmt",false,function(rs_,buf_,count_,atEOF_,ssave_){this.$val=this;if(arguments.length===0){this.rs=$ifaceNil;this.buf=O.nil;this.count=0;this.atEOF=false;this.ssave=new AW.ptr(false,false,false,0,0,0);return;}this.rs=rs_;this.buf=buf_;this.count=count_;this.atEOF=atEOF_;this.ssave=ssave_;});AW=$pkg.ssave=$newType(0,$kindStruct,"fmt.ssave",true,"fmt",false,function(validSave_,nlIsEnd_,nlIsSpace_,argLimit_,limit_,maxWid_){this.$val=this;if(arguments.length===0){this.validSave=false;this.nlIsEnd=false;this.nlIsSpace=false;this.argLimit=0;this.limit=0;this.maxWid=0;return;}this.validSave=validSave_;this.nlIsEnd=nlIsEnd_;this.nlIsSpace=nlIsSpace_;this.argLimit=argLimit_;this.limit=limit_;this.maxWid=maxWid_;});BI=$sliceType($emptyInterface);BJ=$ptrType(F.rtype);BK=$ptrType(O);BL=$arrayType($Uint8,68);BM=$arrayType($Uint16,2);BN=$sliceType(BM);BO=$sliceType($Uint8);BP=$ptrType(P);BS=$ptrType(AV);CN=$ptrType(J);CO=$funcType([$Int32],[$Bool],false);J.ptr.prototype.clearflags=function(){var $ptr,a;a=this;I.copy(a.fmtFlags,new I.ptr(false,false,false,false,false,false,false,false,false));};J.prototype.clearflags=function(){return this.$val.clearflags();};J.ptr.prototype.init=function(a){var $ptr,a,b;b=this;b.buf=a;b.clearflags();};J.prototype.init=function(a){return this.$val.init(a);};J.ptr.prototype.writePadding=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j;b=this;if(a<=0){return;}c=b.buf.$get();d=c.$length;e=d+a>>0;if(e>c.$capacity){c=$makeSlice(O,(($imul(c.$capacity,2))+a>>0));$copySlice(c,b.buf.$get());}f=32;if(b.fmtFlags.zero){f=48;}g=$subslice(c,d,e);h=g;i=0;while(true){if(!(i<h.$length)){break;}j=i;((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]=f);i++;}b.buf.$set($subslice(c,0,e));};J.prototype.writePadding=function(a){return this.$val.writePadding(a);};J.ptr.prototype.pad=function(a){var $ptr,a,b,c;b=this;if(!b.fmtFlags.widPresent||(b.wid===0)){b.buf.Write(a);return;}c=b.wid-B.RuneCount(a)>>0;if(!b.fmtFlags.minus){b.writePadding(c);b.buf.Write(a);}else{b.buf.Write(a);b.writePadding(c);}};J.prototype.pad=function(a){return this.$val.pad(a);};J.ptr.prototype.padString=function(a){var $ptr,a,b,c;b=this;if(!b.fmtFlags.widPresent||(b.wid===0)){b.buf.WriteString(a);return;}c=b.wid-B.RuneCountInString(a)>>0;if(!b.fmtFlags.minus){b.writePadding(c);b.buf.WriteString(a);}else{b.buf.WriteString(a);b.writePadding(c);}};J.prototype.padString=function(a){return this.$val.padString(a);};J.ptr.prototype.fmt_boolean=function(a){var $ptr,a,b;b=this;if(a){b.padString("true");}else{b.padString("false");}};J.prototype.fmt_boolean=function(a){return this.$val.fmt_boolean(a);};J.ptr.prototype.fmt_unicode=function(a){var $ptr,a,b,c,d,e,f,g;b=this;c=$subslice(new BO(b.intbuf),0);d=4;if(b.fmtFlags.precPresent&&b.prec>4){d=b.prec;e=(((2+d>>0)+2>>0)+4>>0)+1>>0;if(e>c.$length){c=$makeSlice(BO,e);}}f=c.$length;if(b.fmtFlags.sharp&&(a.$high<0||(a.$high===0&&a.$low<=1114111))&&A.IsPrint(((a.$low>>0)))){f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=39);f=f-(B.RuneLen(((a.$low>>0))))>>0;B.EncodeRune($subslice(c,f),((a.$low>>0)));f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=39);f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=32);}while(true){if(!((a.$high>0||(a.$high===0&&a.$low>=16)))){break;}f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]="0123456789ABCDEFX".charCodeAt($flatten64(new $Uint64(a.$high&0,(a.$low&15)>>>0))));d=d-(1)>>0;a=$shiftRightUint64(a,(4));}f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]="0123456789ABCDEFX".charCodeAt($flatten64(a)));d=d-(1)>>0;while(true){if(!(d>0)){break;}f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=48);d=d-(1)>>0;}f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=43);f=f-(1)>>0;((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=85);g=b.fmtFlags.zero;b.fmtFlags.zero=false;b.pad($subslice(c,f));b.fmtFlags.zero=g;};J.prototype.fmt_unicode=function(a){return this.$val.fmt_unicode(a);};J.ptr.prototype.fmt_integer=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;e=this;g=c&&(f=(new $Int64(a.$high,a.$low)),(f.$high<0||(f.$high===0&&f.$low<0)));if(g){a=new $Uint64(-a.$high,-a.$low);}h=$subslice(new BO(e.intbuf),0);if(e.fmtFlags.widPresent||e.fmtFlags.precPresent){i=(3+e.wid>>0)+e.prec>>0;if(i>h.$length){h=$makeSlice(BO,i);}}j=0;if(e.fmtFlags.precPresent){j=e.prec;if((j===0)&&(a.$high===0&&a.$low===0)){k=e.fmtFlags.zero;e.fmtFlags.zero=false;e.writePadding(e.wid);e.fmtFlags.zero=k;return;}}else if(e.fmtFlags.zero&&e.fmtFlags.widPresent){j=e.wid;if(g||e.fmtFlags.plus||e.fmtFlags.space){j=j-(1)>>0;}}l=h.$length;m=b;if(m===(10)){while(true){if(!((a.$high>0||(a.$high===0&&a.$low>=10)))){break;}l=l-(1)>>0;n=$div64(a,new $Uint64(0,10),false);((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=(((o=new $Uint64(0+a.$high,48+a.$low),p=$mul64(n,new $Uint64(0,10)),new $Uint64(o.$high-p.$high,o.$low-p.$low)).$low<<24>>>24)));a=n;}}else if(m===(16)){while(true){if(!((a.$high>0||(a.$high===0&&a.$low>=16)))){break;}l=l-(1)>>0;((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=d.charCodeAt($flatten64(new $Uint64(a.$high&0,(a.$low&15)>>>0))));a=$shiftRightUint64(a,(4));}}else if(m===(8)){while(true){if(!((a.$high>0||(a.$high===0&&a.$low>=8)))){break;}l=l-(1)>>0;((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=(((q=new $Uint64(a.$high&0,(a.$low&7)>>>0),new $Uint64(0+q.$high,48+q.$low)).$low<<24>>>24)));a=$shiftRightUint64(a,(3));}}else if(m===(2)){while(true){if(!((a.$high>0||(a.$high===0&&a.$low>=2)))){break;}l=l-(1)>>0;((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=(((r=new $Uint64(a.$high&0,(a.$low&1)>>>0),new $Uint64(0+r.$high,48+r.$low)).$low<<24>>>24)));a=$shiftRightUint64(a,(1));}}else{$panic(new $String("fmt: unknown base; can't happen"));}l=l-(1)>>0;((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=d.charCodeAt($flatten64(a)));while(true){if(!(l>0&&j>(h.$length-l>>0))){break;}l=l-(1)>>0;((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=48);}if(e.fmtFlags.sharp){s=b;if(s===(8)){if(!((((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l])===48))){l=l-(1)>>0;((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=48);}}else if(s===(16)){l=l-(1)>>0;((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=d.charCodeAt(16));l=l-(1)>>0;((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=48);}}if(g){l=l-(1)>>0;((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=45);}else if(e.fmtFlags.plus){l=l-(1)>>0;((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=43);}else if(e.fmtFlags.space){l=l-(1)>>0;((l<0||l>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+l]=32);}t=e.fmtFlags.zero;e.fmtFlags.zero=false;e.pad($subslice(h,l));e.fmtFlags.zero=t;};J.prototype.fmt_integer=function(a,b,c,d){return this.$val.fmt_integer(a,b,c,d);};J.ptr.prototype.truncate=function(a){var $ptr,a,b,c,d,e,f,g;b=this;if(b.fmtFlags.precPresent){c=b.prec;d=a;e=0;while(true){if(!(e<d.length)){break;}f=$decodeRune(d,e);g=e;c=c-(1)>>0;if(c<0){return $substring(a,0,g);}e+=f[1];}}return a;};J.prototype.truncate=function(a){return this.$val.truncate(a);};J.ptr.prototype.fmt_s=function(a){var $ptr,a,b;b=this;a=b.truncate(a);b.padString(a);};J.prototype.fmt_s=function(a){return this.$val.fmt_s(a);};J.ptr.prototype.fmt_sbx=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i;d=this;e=b.$length;if(b===BO.nil){e=a.length;}if(d.fmtFlags.precPresent&&d.prec<e){e=d.prec;}f=$imul(2,e);if(f>0){if(d.fmtFlags.space){if(d.fmtFlags.sharp){f=$imul(f,(2));}f=f+((e-1>>0))>>0;}else if(d.fmtFlags.sharp){f=f+(2)>>0;}}else{if(d.fmtFlags.widPresent){d.writePadding(d.wid);}return;}if(d.fmtFlags.widPresent&&d.wid>f&&!d.fmtFlags.minus){d.writePadding(d.wid-f>>0);}g=d.buf.$get();if(d.fmtFlags.sharp){g=$append(g,48,c.charCodeAt(16));}h=0;i=0;while(true){if(!(i<e)){break;}if(d.fmtFlags.space&&i>0){g=$append(g,32);if(d.fmtFlags.sharp){g=$append(g,48,c.charCodeAt(16));}}if(!(b===BO.nil)){h=((i<0||i>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+i]);}else{h=a.charCodeAt(i);}g=$append(g,c.charCodeAt((h>>>4<<24>>>24)),c.charCodeAt(((h&15)>>>0)));i=i+(1)>>0;}d.buf.$set(g);if(d.fmtFlags.widPresent&&d.wid>f&&d.fmtFlags.minus){d.writePadding(d.wid-f>>0);}};J.prototype.fmt_sbx=function(a,b,c){return this.$val.fmt_sbx(a,b,c);};J.ptr.prototype.fmt_sx=function(a,b){var $ptr,a,b,c;c=this;c.fmt_sbx(a,BO.nil,b);};J.prototype.fmt_sx=function(a,b){return this.$val.fmt_sx(a,b);};J.ptr.prototype.fmt_bx=function(a,b){var $ptr,a,b,c;c=this;c.fmt_sbx("",a,b);};J.prototype.fmt_bx=function(a,b){return this.$val.fmt_bx(a,b);};J.ptr.prototype.fmt_q=function(a){var $ptr,a,b,c;b=this;a=b.truncate(a);if(b.fmtFlags.sharp&&A.CanBackquote(a)){b.padString("`"+a+"`");return;}c=$subslice(new BO(b.intbuf),0,0);if(b.fmtFlags.plus){b.pad(A.AppendQuoteToASCII(c,a));}else{b.pad(A.AppendQuote(c,a));}};J.prototype.fmt_q=function(a){return this.$val.fmt_q(a);};J.ptr.prototype.fmt_c=function(a){var $ptr,a,b,c,d,e;b=this;c=((a.$low>>0));if((a.$high>0||(a.$high===0&&a.$low>1114111))){c=65533;}d=$subslice(new BO(b.intbuf),0,0);e=B.EncodeRune($subslice(d,0,4),c);b.pad($subslice(d,0,e));};J.prototype.fmt_c=function(a){return this.$val.fmt_c(a);};J.ptr.prototype.fmt_qc=function(a){var $ptr,a,b,c,d;b=this;c=((a.$low>>0));if((a.$high>0||(a.$high===0&&a.$low>1114111))){c=65533;}d=$subslice(new BO(b.intbuf),0,0);if(b.fmtFlags.plus){b.pad(A.AppendQuoteRuneToASCII(d,c));}else{b.pad(A.AppendQuoteRune(d,c));}};J.prototype.fmt_qc=function(a){return this.$val.fmt_qc(a);};J.ptr.prototype.fmt_float=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g;e=this;if(e.fmtFlags.precPresent){d=e.prec;}f=A.AppendFloat($subslice(new BO(e.intbuf),0,1),a,((c<<24>>>24)),d,b);if(((1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])===45)||((1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])===43)){f=$subslice(f,1);}else{(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]=43);}if(e.fmtFlags.space&&((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0])===43)&&!e.fmtFlags.plus){(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]=32);}if(((1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])===73)||((1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])===78)){g=e.fmtFlags.zero;e.fmtFlags.zero=false;if(((1>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+1])===78)&&!e.fmtFlags.space&&!e.fmtFlags.plus){f=$subslice(f,1);}e.pad(f);e.fmtFlags.zero=g;return;}if(e.fmtFlags.plus||!(((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0])===43))){if(e.fmtFlags.zero&&e.fmtFlags.widPresent&&e.wid>f.$length){e.buf.WriteByte((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]));e.writePadding(e.wid-f.$length>>0);e.buf.Write($subslice(f,1));return;}e.pad(f);return;}e.pad($subslice(f,1));};J.prototype.fmt_float=function(a,b,c,d){return this.$val.fmt_float(a,b,c,d);};$ptrType(O).prototype.Write=function(a){var $ptr,a,b;b=this;b.$set($appendSlice(b.$get(),a));};$ptrType(O).prototype.WriteString=function(a){var $ptr,a,b;b=this;b.$set($appendSlice(b.$get(),a));};$ptrType(O).prototype.WriteByte=function(a){var $ptr,a,b;b=this;b.$set($append(b.$get(),a));};$ptrType(O).prototype.WriteRune=function(a){var $ptr,a,b,c,d,e,f;b=this;if(a<128){b.$set($append(b.$get(),((a<<24>>>24))));return;}c=b.$get();d=c.$length;while(true){if(!((d+4>>0)>c.$capacity)){break;}c=$append(c,0);}f=B.EncodeRune((e=$subslice(c,d,(d+4>>0)),$subslice(new BO(e.$array),e.$offset,e.$offset+e.$length)),a);b.$set($subslice(c,0,(d+f>>0)));};R=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=Q.Get();$s=1;case 1:if($c){$c=false;a=a.$blk();}if(a&&a.$blk!==undefined){break s;}b=$assertType(a,BP);b.panicking=false;b.erroring=false;b.fmt.init((b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))));$s=-1;return b;}return;}if($f===undefined){$f={$blk:R};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};P.ptr.prototype.free=function(){var $ptr,a;a=this;a.buf=$subslice(a.buf,0,0);a.arg=$ifaceNil;a.value=new F.Value.ptr(BJ.nil,0,0);Q.Put(a);};P.prototype.free=function(){return this.$val.free();};P.ptr.prototype.Width=function(){var $ptr,a,b,c,d,e;a=0;b=false;c=this;d=c.fmt.wid;e=c.fmt.fmtFlags.widPresent;a=d;b=e;return[a,b];};P.prototype.Width=function(){return this.$val.Width();};P.ptr.prototype.Precision=function(){var $ptr,a,b,c,d,e;a=0;b=false;c=this;d=c.fmt.prec;e=c.fmt.fmtFlags.precPresent;a=d;b=e;return[a,b];};P.prototype.Precision=function(){return this.$val.Precision();};P.ptr.prototype.Flag=function(a){var $ptr,a,b,c;b=this;c=a;if(c===(45)){return b.fmt.fmtFlags.minus;}else if(c===(43)){return b.fmt.fmtFlags.plus||b.fmt.fmtFlags.plusV;}else if(c===(35)){return b.fmt.fmtFlags.sharp||b.fmt.fmtFlags.sharpV;}else if(c===(32)){return b.fmt.fmtFlags.space;}else if(c===(48)){return b.fmt.fmtFlags.zero;}return false;};P.prototype.Flag=function(a){return this.$val.Flag(a);};P.ptr.prototype.Write=function(a){var $ptr,a,b,c,d,e,f;b=0;c=$ifaceNil;d=this;(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).Write(a);e=a.$length;f=$ifaceNil;b=e;c=f;return[b,c];};P.prototype.Write=function(a){return this.$val.Write(a);};S=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=$ifaceNil;f=R();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$r=g.doPrintf(b,c);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j=a.Write((i=g.buf,$subslice(new BO(i.$array),i.$offset,i.$offset+i.$length)));$s=3;case 3:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}h=j;d=h[0];e=h[1];g.free();$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:S};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fprintf=S;T=function(a,b){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=$ifaceNil;f=S(E.Stdout,a,b);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;c=e[0];d=e[1];$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:T};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Printf=T;U=function(a,b){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=R();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;$r=d.doPrintf(a,b);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=($bytesToString(d.buf));d.free();$s=-1;return e;}return;}if($f===undefined){$f={$blk:U};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sprintf=U;V=function(a,b){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=U(a,b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=C.New(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:V};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Errorf=V;W=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=$ifaceNil;e=R();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$r=f.doPrint(b);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=a.Write((h=f.buf,$subslice(new BO(h.$array),h.$offset,h.$offset+h.$length)));$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=i;c=g[0];d=g[1];f.free();$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:W};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fprint=W;X=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;e=W(E.Stdout,a);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;b=d[0];c=d[1];$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:X};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Print=X;Z=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=$ifaceNil;e=R();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$r=f.doPrintln(b);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=a.Write((h=f.buf,$subslice(new BO(h.$array),h.$offset,h.$offset+h.$length)));$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}g=i;c=g[0];d=g[1];f.free();$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:Z};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Fprintln=Z;AA=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;e=Z(E.Stdout,a);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;b=d[0];c=d[1];$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AA};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Println=AA;AC=function(a,b){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=$clone(a,F.Value).Field(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(($clone(d,F.Value).Kind()===20)&&!$clone(d,F.Value).IsNil()){$s=2;continue;}$s=3;continue;case 2:e=$clone(d,F.Value).Elem();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d=e;case 3:$s=-1;return d;}return;}if($f===undefined){$f={$blk:AC};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AD=function(a){var $ptr,a;return a>1000000||a<-1000000;};AE=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l;d=0;e=false;f=0;if(b>=c){g=0;h=false;i=c;d=g;e=h;f=i;return[d,e,f];}f=b;while(true){if(!(f<c&&48<=a.charCodeAt(f)&&a.charCodeAt(f)<=57)){break;}if(AD(d)){j=0;k=false;l=c;d=j;e=k;f=l;return[d,e,f];}d=($imul(d,10))+(((a.charCodeAt(f)-48<<24>>>24)>>0))>>0;e=true;f=f+(1)>>0;}return[d,e,f];};P.ptr.prototype.unknownType=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!$clone(a,F.Value).IsValid()){(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteString("<nil>");$s=-1;return;}(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteByte(63);c=$clone(a,F.Value).Type().String();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$r=(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteString(c);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteByte(63);$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.unknownType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.unknownType=function(a){return this.$val.unknownType(a);};P.ptr.prototype.badVerb=function(a){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;b.erroring=true;(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteString("%!");(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteRune(a);(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteByte(40);if(!($interfaceIsEqual(b.arg,$ifaceNil))){$s=2;continue;}if($clone(b.value,F.Value).IsValid()){$s=3;continue;}$s=4;continue;case 2:c=F.TypeOf(b.arg).String();$s=6;case 6:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$r=(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteString(c);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteByte(61);$r=b.printArg(b.arg,118);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 3:d=$clone(b.value,F.Value).Type().String();$s=9;case 9:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$r=(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteString(d);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteByte(61);$r=b.printValue($clone(b.value,F.Value),118,0);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 4:(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteString("<nil>");case 5:case 1:(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteByte(41);b.erroring=false;$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.badVerb};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.badVerb=function(a){return this.$val.badVerb(a);};P.ptr.prototype.fmtBool=function(a,b){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=b;if((d===(116))||(d===(118))){$s=2;continue;}$s=3;continue;case 2:c.fmt.fmt_boolean(a);$s=4;continue;case 3:$r=c.badVerb(b);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.fmtBool};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.fmtBool=function(a,b){return this.$val.fmtBool(a,b);};P.ptr.prototype.fmt0x64=function(a,b){var $ptr,a,b,c,d;c=this;d=c.fmt.fmtFlags.sharp;c.fmt.fmtFlags.sharp=b;c.fmt.fmt_integer(a,16,false,"0123456789abcdefx");c.fmt.fmtFlags.sharp=d;};P.prototype.fmt0x64=function(a,b){return this.$val.fmt0x64(a,b);};P.ptr.prototype.fmtInteger=function(a,b,c){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=c;if(e===(118)){$s=2;continue;}if(e===(100)){$s=3;continue;}if(e===(98)){$s=4;continue;}if(e===(111)){$s=5;continue;}if(e===(120)){$s=6;continue;}if(e===(88)){$s=7;continue;}if(e===(99)){$s=8;continue;}if(e===(113)){$s=9;continue;}if(e===(85)){$s=10;continue;}$s=11;continue;case 2:if(d.fmt.fmtFlags.sharpV&&!b){d.fmt0x64(a,true);}else{d.fmt.fmt_integer(a,10,b,"0123456789abcdefx");}$s=12;continue;case 3:d.fmt.fmt_integer(a,10,b,"0123456789abcdefx");$s=12;continue;case 4:d.fmt.fmt_integer(a,2,b,"0123456789abcdefx");$s=12;continue;case 5:d.fmt.fmt_integer(a,8,b,"0123456789abcdefx");$s=12;continue;case 6:d.fmt.fmt_integer(a,16,b,"0123456789abcdefx");$s=12;continue;case 7:d.fmt.fmt_integer(a,16,b,"0123456789ABCDEFX");$s=12;continue;case 8:d.fmt.fmt_c(a);$s=12;continue;case 9:if((a.$high<0||(a.$high===0&&a.$low<=1114111))){$s=13;continue;}$s=14;continue;case 13:d.fmt.fmt_qc(a);$s=15;continue;case 14:$r=d.badVerb(c);$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 15:$s=12;continue;case 10:d.fmt.fmt_unicode(a);$s=12;continue;case 11:$r=d.badVerb(c);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 12:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.fmtInteger};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.fmtInteger=function(a,b,c){return this.$val.fmtInteger(a,b,c);};P.ptr.prototype.fmtFloat=function(a,b,c){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=c;if(e===(118)){$s=2;continue;}if((e===(98))||(e===(103))||(e===(71))){$s=3;continue;}if((e===(102))||(e===(101))||(e===(69))){$s=4;continue;}if(e===(70)){$s=5;continue;}$s=6;continue;case 2:d.fmt.fmt_float(a,b,103,-1);$s=7;continue;case 3:d.fmt.fmt_float(a,b,c,-1);$s=7;continue;case 4:d.fmt.fmt_float(a,b,c,6);$s=7;continue;case 5:d.fmt.fmt_float(a,b,102,6);$s=7;continue;case 6:$r=d.badVerb(c);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.fmtFloat};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.fmtFloat=function(a,b,c){return this.$val.fmtFloat(a,b,c);};P.ptr.prototype.fmtComplex=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=c;if((e===(118))||(e===(98))||(e===(103))||(e===(71))||(e===(102))||(e===(70))||(e===(101))||(e===(69))){$s=2;continue;}$s=3;continue;case 2:f=d.fmt.fmtFlags.plus;(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(40);$r=d.fmtFloat(a.$real,(g=b/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")),c);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.fmt.fmtFlags.plus=true;$r=d.fmtFloat(a.$imag,(h=b/2,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero")),c);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString("i)");d.fmt.fmtFlags.plus=f;$s=4;continue;case 3:$r=d.badVerb(c);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.fmtComplex};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.fmtComplex=function(a,b,c){return this.$val.fmtComplex(a,b,c);};P.ptr.prototype.fmtString=function(a,b){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=b;if(d===(118)){$s=2;continue;}if(d===(115)){$s=3;continue;}if(d===(120)){$s=4;continue;}if(d===(88)){$s=5;continue;}if(d===(113)){$s=6;continue;}$s=7;continue;case 2:if(c.fmt.fmtFlags.sharpV){c.fmt.fmt_q(a);}else{c.fmt.fmt_s(a);}$s=8;continue;case 3:c.fmt.fmt_s(a);$s=8;continue;case 4:c.fmt.fmt_sx(a,"0123456789abcdefx");$s=8;continue;case 5:c.fmt.fmt_sx(a,"0123456789ABCDEFX");$s=8;continue;case 6:c.fmt.fmt_q(a);$s=8;continue;case 7:$r=c.badVerb(b);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.fmtString};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.fmtString=function(a,b){return this.$val.fmtString(a,b);};P.ptr.prototype.fmtBytes=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=b;if((e===(118))||(e===(100))){$s=2;continue;}if(e===(115)){$s=3;continue;}if(e===(120)){$s=4;continue;}if(e===(88)){$s=5;continue;}if(e===(113)){$s=6;continue;}$s=7;continue;case 2:if(d.fmt.fmtFlags.sharpV){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(c);if(a===BO.nil){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString("(nil)");$s=-1;return;}(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(123);f=a;g=0;while(true){if(!(g<f.$length)){break;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(h>0){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(", ");}d.fmt0x64((new $Uint64(0,i)),true);g++;}(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(125);}else{(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(91);j=a;k=0;while(true){if(!(k<j.$length)){break;}l=k;m=((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]);if(l>0){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(32);}d.fmt.fmt_integer((new $Uint64(0,m)),10,false,"0123456789abcdefx");k++;}(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(93);}$s=8;continue;case 3:d.fmt.fmt_s(($bytesToString(a)));$s=8;continue;case 4:d.fmt.fmt_bx(a,"0123456789abcdefx");$s=8;continue;case 5:d.fmt.fmt_bx(a,"0123456789ABCDEFX");$s=8;continue;case 6:d.fmt.fmt_q(($bytesToString(a)));$s=8;continue;case 7:n=F.ValueOf(a);$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$r=d.printValue($clone(n,F.Value),b,0);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:case 1:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.fmtBytes};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.fmtBytes=function(a,b,c){return this.$val.fmtBytes(a,b,c);};P.ptr.prototype.fmtPointer=function(a,b){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=0;e=$clone(a,F.Value).Kind();if((e===(18))||(e===(19))||(e===(21))||(e===(22))||(e===(23))||(e===(26))){$s=2;continue;}$s=3;continue;case 2:d=$clone(a,F.Value).Pointer();$s=4;continue;case 3:$r=c.badVerb(b);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 4:case 1:f=b;if(f===(118)){$s=7;continue;}if(f===(112)){$s=8;continue;}if((f===(98))||(f===(111))||(f===(100))||(f===(120))||(f===(88))){$s=9;continue;}$s=10;continue;case 7:if(c.fmt.fmtFlags.sharpV){$s=12;continue;}$s=13;continue;case 12:(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteByte(40);g=$clone(a,F.Value).Type().String();$s=15;case 15:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$r=(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString(g);$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString(")(");if(d===0){(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString("nil");}else{c.fmt0x64((new $Uint64(0,d.constructor===Number?d:1)),true);}(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteByte(41);$s=14;continue;case 13:if(d===0){c.fmt.padString("<nil>");}else{c.fmt0x64((new $Uint64(0,d.constructor===Number?d:1)),!c.fmt.fmtFlags.sharp);}case 14:$s=11;continue;case 8:c.fmt0x64((new $Uint64(0,d.constructor===Number?d:1)),!c.fmt.fmtFlags.sharp);$s=11;continue;case 9:$r=c.fmtInteger((new $Uint64(0,d.constructor===Number?d:1)),false,b);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=11;continue;case 10:$r=c.badVerb(b);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 11:case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.fmtPointer};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.fmtPointer=function(a,b){return this.$val.fmtPointer(a,b);};P.ptr.prototype.catchPanic=function(a,b){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$recover();if(!($interfaceIsEqual(d,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:e=F.ValueOf(a);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(($clone(f,F.Value).Kind()===22)&&$clone(f,F.Value).IsNil()){(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString("<nil>");$s=-1;return;}if(c.panicking){$panic(d);}g=$clone(c.fmt.fmtFlags,I);c.fmt.clearflags();(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString("%!");(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteRune(b);(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString("(PANIC=");c.panicking=true;$r=c.printArg(d,118);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c.panicking=false;(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteByte(41);I.copy(c.fmt.fmtFlags,g);case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.catchPanic};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.catchPanic=function(a,b){return this.$val.catchPanic(a,b);};P.ptr.prototype.handleMethods=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=false;c=this;if(c.erroring){$s=-1;return b;}d=$assertType(c.arg,L,true);e=d[0];f=d[1];if(f){$s=1;continue;}$s=2;continue;case 1:b=true;$deferred.push([$methodVal(c,"catchPanic"),[c.arg,a]]);$r=e.Format(c,a);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return b;case 2:if(c.fmt.fmtFlags.sharpV){$s=4;continue;}$s=5;continue;case 4:g=$assertType(c.arg,N,true);h=g[0];i=g[1];if(i){$s=7;continue;}$s=8;continue;case 7:b=true;$deferred.push([$methodVal(c,"catchPanic"),[c.arg,a]]);j=h.GoString();$s=9;case 9:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$r=c.fmt.fmt_s(j);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return b;case 8:$s=6;continue;case 5:k=a;if((k===(118))||(k===(115))||(k===(120))||(k===(88))||(k===(113))){$s=12;continue;}$s=13;continue;case 12:l=c.arg;if($assertType(l,$error,true)[1]){$s=14;continue;}if($assertType(l,M,true)[1]){$s=15;continue;}$s=16;continue;case 14:m=l;b=true;$deferred.push([$methodVal(c,"catchPanic"),[c.arg,a]]);o=m.Error();$s=17;case 17:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}$r=c.fmtString(o,a);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return b;case 15:n=l;b=true;$deferred.push([$methodVal(c,"catchPanic"),[c.arg,a]]);p=n.String();$s=19;case 19:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}$r=c.fmtString(p,a);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return b;case 16:case 13:case 11:case 6:b=false;$s=-1;return b;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return b;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:P.ptr.prototype.handleMethods};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};P.prototype.handleMethods=function(a){return this.$val.handleMethods(a);};P.ptr.prototype.printArg=function(a,b){var $ptr,a,aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;c.arg=a;c.value=new F.Value.ptr(BJ.nil,0,0);if($interfaceIsEqual(a,$ifaceNil)){$s=1;continue;}$s=2;continue;case 1:d=b;if((d===(84))||(d===(118))){$s=4;continue;}$s=5;continue;case 4:c.fmt.padString("<nil>");$s=6;continue;case 5:$r=c.badVerb(b);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:case 3:$s=-1;return;case 2:e=b;if(e===(84)){$s=9;continue;}if(e===(112)){$s=10;continue;}$s=11;continue;case 9:f=F.TypeOf(a).String();$s=12;case 12:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$r=c.fmt.fmt_s(f);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 10:g=F.ValueOf(a);$s=14;case 14:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$r=c.fmtPointer($clone(g,F.Value),112);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 11:case 8:h=a;if($assertType(h,$Bool,true)[1]){$s=16;continue;}if($assertType(h,$Float32,true)[1]){$s=17;continue;}if($assertType(h,$Float64,true)[1]){$s=18;continue;}if($assertType(h,$Complex64,true)[1]){$s=19;continue;}if($assertType(h,$Complex128,true)[1]){$s=20;continue;}if($assertType(h,$Int,true)[1]){$s=21;continue;}if($assertType(h,$Int8,true)[1]){$s=22;continue;}if($assertType(h,$Int16,true)[1]){$s=23;continue;}if($assertType(h,$Int32,true)[1]){$s=24;continue;}if($assertType(h,$Int64,true)[1]){$s=25;continue;}if($assertType(h,$Uint,true)[1]){$s=26;continue;}if($assertType(h,$Uint8,true)[1]){$s=27;continue;}if($assertType(h,$Uint16,true)[1]){$s=28;continue;}if($assertType(h,$Uint32,true)[1]){$s=29;continue;}if($assertType(h,$Uint64,true)[1]){$s=30;continue;}if($assertType(h,$Uintptr,true)[1]){$s=31;continue;}if($assertType(h,$String,true)[1]){$s=32;continue;}if($assertType(h,BO,true)[1]){$s=33;continue;}if($assertType(h,F.Value,true)[1]){$s=34;continue;}$s=35;continue;case 16:i=h.$val;$r=c.fmtBool(i,b);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 17:j=h.$val;$r=c.fmtFloat((j),32,b);$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 18:k=h.$val;$r=c.fmtFloat(k,64,b);$s=39;case 39:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 19:l=h.$val;$r=c.fmtComplex((new $Complex128(l.$real,l.$imag)),64,b);$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 20:m=h.$val;$r=c.fmtComplex(m,128,b);$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 21:n=h.$val;$r=c.fmtInteger((new $Uint64(0,n)),true,b);$s=42;case 42:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 22:o=h.$val;$r=c.fmtInteger((new $Uint64(0,o)),true,b);$s=43;case 43:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 23:p=h.$val;$r=c.fmtInteger((new $Uint64(0,p)),true,b);$s=44;case 44:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 24:q=h.$val;$r=c.fmtInteger((new $Uint64(0,q)),true,b);$s=45;case 45:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 25:r=h.$val;$r=c.fmtInteger((new $Uint64(r.$high,r.$low)),true,b);$s=46;case 46:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 26:s=h.$val;$r=c.fmtInteger((new $Uint64(0,s)),false,b);$s=47;case 47:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 27:t=h.$val;$r=c.fmtInteger((new $Uint64(0,t)),false,b);$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 28:u=h.$val;$r=c.fmtInteger((new $Uint64(0,u)),false,b);$s=49;case 49:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 29:v=h.$val;$r=c.fmtInteger((new $Uint64(0,v)),false,b);$s=50;case 50:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 30:w=h.$val;$r=c.fmtInteger(w,false,b);$s=51;case 51:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 31:x=h.$val;$r=c.fmtInteger((new $Uint64(0,x.constructor===Number?x:1)),false,b);$s=52;case 52:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 32:y=h.$val;$r=c.fmtString(y,b);$s=53;case 53:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 33:z=h.$val;$r=c.fmtBytes(z,b,"[]byte");$s=54;case 54:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 34:aa=h.$val;if($clone(aa,F.Value).IsValid()&&$clone(aa,F.Value).CanInterface()){$s=55;continue;}$s=56;continue;case 55:ac=$clone(aa,F.Value).Interface();$s=57;case 57:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}c.arg=ac;ad=c.handleMethods(b);$s=60;case 60:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}if(ad){$s=58;continue;}$s=59;continue;case 58:$s=-1;return;case 59:case 56:$r=c.printValue($clone(aa,F.Value),b,0);$s=61;case 61:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=36;continue;case 35:ab=h;ae=c.handleMethods(b);$s=64;case 64:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}if(!ae){$s=62;continue;}$s=63;continue;case 62:af=F.ValueOf(ab);$s=65;case 65:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}$r=c.printValue($clone(af,F.Value),b,0);$s=66;case 66:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 63:case 36:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.printArg};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.printArg=function(a,b){return this.$val.printArg(a,b);};P.ptr.prototype.printValue=function(a,b,c){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(c>0&&$clone(a,F.Value).IsValid()&&$clone(a,F.Value).CanInterface()){$s=1;continue;}$s=2;continue;case 1:e=$clone(a,F.Value).Interface();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}d.arg=e;f=d.handleMethods(b);$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(f){$s=4;continue;}$s=5;continue;case 4:$s=-1;return;case 5:case 2:d.arg=$ifaceNil;d.value=a;g=a;h=$clone(a,F.Value).Kind();if(h===(0)){$s=8;continue;}if(h===(1)){$s=9;continue;}if((h===(2))||(h===(3))||(h===(4))||(h===(5))||(h===(6))){$s=10;continue;}if((h===(7))||(h===(8))||(h===(9))||(h===(10))||(h===(11))||(h===(12))){$s=11;continue;}if(h===(13)){$s=12;continue;}if(h===(14)){$s=13;continue;}if(h===(15)){$s=14;continue;}if(h===(16)){$s=15;continue;}if(h===(24)){$s=16;continue;}if(h===(21)){$s=17;continue;}if(h===(25)){$s=18;continue;}if(h===(20)){$s=19;continue;}if((h===(17))||(h===(23))){$s=20;continue;}if(h===(22)){$s=21;continue;}if((h===(18))||(h===(19))||(h===(26))){$s=22;continue;}$s=23;continue;case 8:if(c===0){$s=25;continue;}$s=26;continue;case 25:(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString("<invalid reflect.Value>");$s=27;continue;case 26:i=b;if(i===(118)){$s=29;continue;}$s=30;continue;case 29:(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString("<nil>");$s=31;continue;case 30:$r=d.badVerb(b);$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 31:case 28:case 27:$s=24;continue;case 9:$r=d.fmtBool($clone(g,F.Value).Bool(),b);$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 10:$r=d.fmtInteger(((j=$clone(g,F.Value).Int(),new $Uint64(j.$high,j.$low))),true,b);$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 11:$r=d.fmtInteger($clone(g,F.Value).Uint(),false,b);$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 12:$r=d.fmtFloat($clone(g,F.Value).Float(),32,b);$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 13:$r=d.fmtFloat($clone(g,F.Value).Float(),64,b);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 14:$r=d.fmtComplex($clone(g,F.Value).Complex(),64,b);$s=38;case 38:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 15:$r=d.fmtComplex($clone(g,F.Value).Complex(),128,b);$s=39;case 39:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 16:k=$clone(g,F.Value).String();$s=40;case 40:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$r=d.fmtString(k,b);$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 17:if(d.fmt.fmtFlags.sharpV){$s=42;continue;}$s=43;continue;case 42:l=$clone(g,F.Value).Type().String();$s=45;case 45:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$r=(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(l);$s=46;case 46:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if($clone(g,F.Value).IsNil()){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString("(nil)");$s=-1;return;}(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(123);$s=44;continue;case 43:(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString("map[");case 44:m=$clone(g,F.Value).MapKeys();$s=47;case 47:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=n;p=0;case 48:if(!(p<o.$length)){$s=49;continue;}q=p;r=((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]);if(q>0){if(d.fmt.fmtFlags.sharpV){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(", ");}else{(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(32);}}$r=d.printValue($clone(r,F.Value),b,c+1>>0);$s=50;case 50:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(58);s=$clone(g,F.Value).MapIndex($clone(r,F.Value));$s=51;case 51:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$r=d.printValue($clone(s,F.Value),b,c+1>>0);$s=52;case 52:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p++;$s=48;continue;case 49:if(d.fmt.fmtFlags.sharpV){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(125);}else{(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(93);}$s=24;continue;case 18:if(d.fmt.fmtFlags.sharpV){$s=53;continue;}$s=54;continue;case 53:t=$clone(g,F.Value).Type().String();$s=55;case 55:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}$r=(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(t);$s=56;case 56:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 54:(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(123);u=0;case 57:if(!(u<$clone(g,F.Value).NumField())){$s=58;continue;}if(u>0){if(d.fmt.fmtFlags.sharpV){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(", ");}else{(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(32);}}if(d.fmt.fmtFlags.plusV||d.fmt.fmtFlags.sharpV){$s=59;continue;}$s=60;continue;case 59:v=$clone(g,F.Value).Type().Field(u);$s=61;case 61:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v.Name;if(!(w==="")){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(w);(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(58);}case 60:x=AC($clone(g,F.Value),u);$s=62;case 62:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$r=d.printValue($clone(x,F.Value),b,c+1>>0);$s=63;case 63:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}u=u+(1)>>0;$s=57;continue;case 58:(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(125);$s=24;continue;case 19:y=$clone(g,F.Value).Elem();$s=64;case 64:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;if(!$clone(z,F.Value).IsValid()){$s=65;continue;}$s=66;continue;case 65:if(d.fmt.fmtFlags.sharpV){$s=68;continue;}$s=69;continue;case 68:aa=$clone(g,F.Value).Type().String();$s=71;case 71:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}$r=(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(aa);$s=72;case 72:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString("(nil)");$s=70;continue;case 69:(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString("<nil>");case 70:$s=67;continue;case 66:$r=d.printValue($clone(z,F.Value),b,c+1>>0);$s=73;case 73:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 67:$s=24;continue;case 20:ab=b;if((ab===(115))||(ab===(113))||(ab===(120))||(ab===(88))){$s=75;continue;}$s=76;continue;case 75:ac=$clone(g,F.Value).Type();ad=ac.Elem();$s=79;case 79:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=ad.Kind();$s=80;case 80:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}if(ae===8){$s=77;continue;}$s=78;continue;case 77:af=BO.nil;if($clone(g,F.Value).Kind()===23){$s=81;continue;}if($clone(g,F.Value).CanAddr()){$s=82;continue;}$s=83;continue;case 81:ag=$clone(g,F.Value).Bytes();$s=85;case 85:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}af=ag;$s=84;continue;case 82:ah=$clone(g,F.Value).Slice(0,$clone(g,F.Value).Len());$s=86;case 86:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=$clone(ah,F.Value).Bytes();$s=87;case 87:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}af=ai;$s=84;continue;case 83:af=$makeSlice(BO,$clone(g,F.Value).Len());aj=af;ak=0;case 88:if(!(ak<aj.$length)){$s=89;continue;}al=ak;am=$clone(g,F.Value).Index(al);$s=90;case 90:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=$clone(am,F.Value).Uint();$s=91;case 91:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}((al<0||al>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+al]=((an.$low<<24>>>24)));ak++;$s=88;continue;case 89:case 84:ao=af;ap=b;aq=ac.String();$s=92;case 92:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}ar=aq;$r=d.fmtBytes(ao,ap,ar);$s=93;case 93:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 78:case 76:case 74:if(d.fmt.fmtFlags.sharpV){$s=94;continue;}$s=95;continue;case 94:as=$clone(g,F.Value).Type().String();$s=97;case 97:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}$r=(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(as);$s=98;case 98:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(($clone(g,F.Value).Kind()===23)&&$clone(g,F.Value).IsNil()){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString("(nil)");$s=-1;return;}(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(123);at=0;case 99:if(!(at<$clone(g,F.Value).Len())){$s=100;continue;}if(at>0){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteString(", ");}au=$clone(g,F.Value).Index(at);$s=101;case 101:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}$r=d.printValue($clone(au,F.Value),b,c+1>>0);$s=102;case 102:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}at=at+(1)>>0;$s=99;continue;case 100:(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(125);$s=96;continue;case 95:(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(91);av=0;case 103:if(!(av<$clone(g,F.Value).Len())){$s=104;continue;}if(av>0){(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(32);}aw=$clone(g,F.Value).Index(av);$s=105;case 105:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}$r=d.printValue($clone(aw,F.Value),b,c+1>>0);$s=106;case 106:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}av=av+(1)>>0;$s=103;continue;case 104:(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(93);case 96:$s=24;continue;case 21:if((c===0)&&!(($clone(g,F.Value).Pointer()===0))){$s=107;continue;}$s=108;continue;case 107:ax=$clone(g,F.Value).Elem();$s=110;case 110:if($c){$c=false;ax=ax.$blk();}if(ax&&ax.$blk!==undefined){break s;}ay=ax;az=$clone(ay,F.Value).Kind();if((az===(17))||(az===(23))||(az===(25))||(az===(21))){$s=111;continue;}$s=112;continue;case 111:(d.$ptr_buf||(d.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},d))).WriteByte(38);$r=d.printValue($clone(ay,F.Value),b,c+1>>0);$s=113;case 113:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 112:case 109:case 108:$r=d.fmtPointer($clone(g,F.Value),b);$s=114;case 114:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 22:$r=d.fmtPointer($clone(g,F.Value),b);$s=115;case 115:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=24;continue;case 23:$r=d.unknownType($clone(g,F.Value));$s=116;case 116:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 24:case 7:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.printValue};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.printValue=function(a,b,c){return this.$val.printValue(a,b,c);};AG=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=false;e=0;e=b;if(b<a.$length){$s=1;continue;}$s=2;continue;case 1:f=$assertType(((b<0||b>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+b]),$Int,true);c=f[0];d=f[1];if(!d){$s=3;continue;}$s=4;continue;case 3:g=F.ValueOf(((b<0||b>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+b]));$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=$clone(h,F.Value).Kind();if((i===(2))||(i===(3))||(i===(4))||(i===(5))||(i===(6))){j=$clone(h,F.Value).Int();if((k=(new $Int64(0,(((j.$low+((j.$high>>31)*4294967296))>>0)))),(k.$high===j.$high&&k.$low===j.$low))){c=(((j.$low+((j.$high>>31)*4294967296))>>0));d=true;}}else if((i===(7))||(i===(8))||(i===(9))||(i===(10))||(i===(11))||(i===(12))){l=$clone(h,F.Value).Uint();if((m=(new $Int64(l.$high,l.$low)),(m.$high>0||(m.$high===0&&m.$low>=0)))&&(n=(new $Uint64(0,((l.$low>>0)))),(n.$high===l.$high&&n.$low===l.$low))){c=((l.$low>>0));d=true;}}case 5:case 4:e=b+1>>0;if(AD(c)){c=0;d=false;}case 2:$s=-1;return[c,d,e];}return;}if($f===undefined){$f={$blk:AG};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AH=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;b=0;c=0;d=false;if(a.length<3){e=0;f=1;g=false;b=e;c=f;d=g;return[b,c,d];}h=1;while(true){if(!(h<a.length)){break;}if(a.charCodeAt(h)===93){i=AE(a,1,h);j=i[0];k=i[1];l=i[2];if(!k||!((l===h))){m=0;n=h+1>>0;o=false;b=m;c=n;d=o;return[b,c,d];}p=j-1>>0;q=h+1>>0;r=true;b=p;c=q;d=r;return[b,c,d];}h=h+(1)>>0;}s=0;t=1;u=false;b=s;c=t;d=u;return[b,c,d];};P.ptr.prototype.argNumber=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;e=0;f=0;g=false;h=this;if(b.length<=c||!((b.charCodeAt(c)===91))){i=a;j=c;k=false;e=i;f=j;g=k;return[e,f,g];}h.reordered=true;l=AH($substring(b,c));m=l[0];n=l[1];o=l[2];if(o&&0<=m&&m<d){p=m;q=c+n>>0;r=true;e=p;f=q;g=r;return[e,f,g];}h.goodArgNum=false;s=a;t=c+n>>0;u=o;e=s;f=t;g=u;return[e,f,g];};P.prototype.argNumber=function(a,b,c,d){return this.$val.argNumber(a,b,c,d);};P.ptr.prototype.badArgNum=function(a){var $ptr,a,b;b=this;(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteString("%!");(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteRune(a);(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteString("(BADINDEX)");};P.prototype.badArgNum=function(a){return this.$val.badArgNum(a);};P.ptr.prototype.missingArg=function(a){var $ptr,a,b;b=this;(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteString("%!");(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteRune(a);(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteString("(MISSING)");};P.prototype.missingArg=function(a){return this.$val.missingArg(a);};P.ptr.prototype.doPrintf=function(a,b){var $ptr,a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=a.length;e=0;f=false;c.reordered=false;g=0;case 1:if(!(g<d)){$s=2;continue;}c.goodArgNum=true;h=g;while(true){if(!(g<d&&!((a.charCodeAt(g)===37)))){break;}g=g+(1)>>0;}if(g>h){(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString($substring(a,h,g));}if(g>=d){$s=2;continue;}g=g+(1)>>0;c.fmt.clearflags();case 3:if(!(g<d)){$s=4;continue;}i=a.charCodeAt(g);j=i;if(j===(35)){$s=6;continue;}if(j===(48)){$s=7;continue;}if(j===(43)){$s=8;continue;}if(j===(45)){$s=9;continue;}if(j===(32)){$s=10;continue;}$s=11;continue;case 6:c.fmt.fmtFlags.sharp=true;$s=12;continue;case 7:c.fmt.fmtFlags.zero=!c.fmt.fmtFlags.minus;$s=12;continue;case 8:c.fmt.fmtFlags.plus=true;$s=12;continue;case 9:c.fmt.fmtFlags.minus=true;c.fmt.fmtFlags.zero=false;$s=12;continue;case 10:c.fmt.fmtFlags.space=true;$s=12;continue;case 11:if(97<=i&&i<=122&&e<b.$length){$s=13;continue;}$s=14;continue;case 13:if(i===118){c.fmt.fmtFlags.sharpV=c.fmt.fmtFlags.sharp;c.fmt.fmtFlags.sharp=false;c.fmt.fmtFlags.plusV=c.fmt.fmtFlags.plus;c.fmt.fmtFlags.plus=false;}$r=c.printArg(((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e]),((i>>0)));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e+(1)>>0;g=g+(1)>>0;$s=1;continue s;case 14:$s=4;continue s;case 12:case 5:g=g+(1)>>0;$s=3;continue;case 4:k=c.argNumber(e,a,g,b.$length);e=k[0];g=k[1];f=k[2];if(g<d&&(a.charCodeAt(g)===42)){$s=16;continue;}$s=17;continue;case 16:g=g+(1)>>0;m=AG(b,e);$s=19;case 19:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;c.fmt.wid=l[0];c.fmt.fmtFlags.widPresent=l[1];e=l[2];if(!c.fmt.fmtFlags.widPresent){(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString("%!(BADWIDTH)");}if(c.fmt.wid<0){c.fmt.wid=-c.fmt.wid;c.fmt.fmtFlags.minus=true;c.fmt.fmtFlags.zero=false;}f=false;$s=18;continue;case 17:n=AE(a,g,d);c.fmt.wid=n[0];c.fmt.fmtFlags.widPresent=n[1];g=n[2];if(f&&c.fmt.fmtFlags.widPresent){c.goodArgNum=false;}case 18:if((g+1>>0)<d&&(a.charCodeAt(g)===46)){$s=20;continue;}$s=21;continue;case 20:g=g+(1)>>0;if(f){c.goodArgNum=false;}o=c.argNumber(e,a,g,b.$length);e=o[0];g=o[1];f=o[2];if(g<d&&(a.charCodeAt(g)===42)){$s=22;continue;}$s=23;continue;case 22:g=g+(1)>>0;q=AG(b,e);$s=25;case 25:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;c.fmt.prec=p[0];c.fmt.fmtFlags.precPresent=p[1];e=p[2];if(c.fmt.prec<0){c.fmt.prec=0;c.fmt.fmtFlags.precPresent=false;}if(!c.fmt.fmtFlags.precPresent){(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString("%!(BADPREC)");}f=false;$s=24;continue;case 23:r=AE(a,g,d);c.fmt.prec=r[0];c.fmt.fmtFlags.precPresent=r[1];g=r[2];if(!c.fmt.fmtFlags.precPresent){c.fmt.prec=0;c.fmt.fmtFlags.precPresent=true;}case 24:case 21:if(!f){s=c.argNumber(e,a,g,b.$length);e=s[0];g=s[1];f=s[2];}if(g>=d){(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString("%!(NOVERB)");$s=2;continue;}t=B.DecodeRuneInString($substring(a,g));u=t[0];v=t[1];g=g+(v)>>0;if((u===37)){$s=27;continue;}if(!c.goodArgNum){$s=28;continue;}if(e>=b.$length){$s=29;continue;}if((u===118)){$s=30;continue;}$s=31;continue;case 27:(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteByte(37);$s=32;continue;case 28:c.badArgNum(u);$s=32;continue;case 29:c.missingArg(u);$s=32;continue;case 30:c.fmt.fmtFlags.sharpV=c.fmt.fmtFlags.sharp;c.fmt.fmtFlags.sharp=false;c.fmt.fmtFlags.plusV=c.fmt.fmtFlags.plus;c.fmt.fmtFlags.plus=false;$r=c.printArg(((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e]),u);$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e+(1)>>0;$s=32;continue;case 31:$r=c.printArg(((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e]),u);$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e+(1)>>0;case 32:case 26:$s=1;continue;case 2:if(!c.reordered&&e<b.$length){$s=35;continue;}$s=36;continue;case 35:c.fmt.clearflags();(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString("%!(EXTRA ");w=$subslice(b,e);x=0;case 37:if(!(x<w.$length)){$s=38;continue;}y=x;z=((x<0||x>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+x]);if(y>0){(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString(", ");}if($interfaceIsEqual(z,$ifaceNil)){$s=39;continue;}$s=40;continue;case 39:(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString("<nil>");$s=41;continue;case 40:aa=F.TypeOf(z).String();$s=42;case 42:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}$r=(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteString(aa);$s=43;case 43:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteByte(61);$r=c.printArg(z,118);$s=44;case 44:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 41:x++;$s=37;continue;case 38:(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteByte(41);case 36:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.doPrintf};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.doPrintf=function(a,b){return this.$val.doPrintf(a,b);};P.ptr.prototype.doPrint=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=false;d=a;e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(!(!($interfaceIsEqual(g,$ifaceNil)))){h=false;$s=3;continue s;}i=F.TypeOf(g).Kind();$s=4;case 4:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i===24;case 3:j=h;if(f>0&&!j&&!c){(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteByte(32);}$r=b.printArg(g,118);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=j;e++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.doPrint};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.doPrint=function(a){return this.$val.doPrint(a);};P.ptr.prototype.doPrintln=function(a){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=a;d=0;case 1:if(!(d<c.$length)){$s=2;continue;}e=d;f=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);if(e>0){(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteByte(32);}$r=b.printArg(f,118);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d++;$s=1;continue;case 2:(b.$ptr_buf||(b.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},b))).WriteByte(10);$s=-1;return;}return;}if($f===undefined){$f={$blk:P.ptr.prototype.doPrintln};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};P.prototype.doPrintln=function(a){return this.$val.doPrintln(a);};AV.ptr.prototype.Read=function(a){var $ptr,a,b,c,d,e,f;b=0;c=$ifaceNil;d=this;e=0;f=C.New("ScanState's Read should not be called. Use ReadRune");b=e;c=f;return[b,c];};AV.prototype.Read=function(a){return this.$val.Read(a);};AV.ptr.prototype.ReadRune=function(){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=0;b=0;c=$ifaceNil;d=this;if(d.atEOF||d.count>=d.ssave.argLimit){c=D.EOF;$s=-1;return[a,b,c];}f=d.rs.ReadRune();$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;a=e[0];b=e[1];c=e[2];if($interfaceIsEqual(c,$ifaceNil)){d.count=d.count+(1)>>0;if(d.ssave.nlIsEnd&&(a===10)){d.atEOF=true;}}else if($interfaceIsEqual(c,D.EOF)){d.atEOF=true;}$s=-1;return[a,b,c];}return;}if($f===undefined){$f={$blk:AV.ptr.prototype.ReadRune};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AV.prototype.ReadRune=function(){return this.$val.ReadRune();};AV.ptr.prototype.Width=function(){var $ptr,a,b,c,d,e,f,g;a=0;b=false;c=this;if(c.ssave.maxWid===1073741824){d=0;e=false;a=d;b=e;return[a,b];}f=c.ssave.maxWid;g=true;a=f;b=g;return[a,b];};AV.prototype.Width=function(){return this.$val.Width();};AV.ptr.prototype.getRune=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=0;b=this;d=b.ReadRune();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;a=c[0];e=c[2];if(!($interfaceIsEqual(e,$ifaceNil))){if($interfaceIsEqual(e,D.EOF)){a=-1;$s=-1;return a;}b.error(e);}$s=-1;return a;}return;}if($f===undefined){$f={$blk:AV.ptr.prototype.getRune};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AV.prototype.getRune=function(){return this.$val.getRune();};AV.ptr.prototype.UnreadRune=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.rs.UnreadRune();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}b;a.atEOF=false;a.count=a.count-(1)>>0;$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AV.ptr.prototype.UnreadRune};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AV.prototype.UnreadRune=function(){return this.$val.UnreadRune();};AV.ptr.prototype.error=function(a){var $ptr,a,b,c;b=this;$panic((c=new AU.ptr(a),new c.constructor.elem(c)));};AV.prototype.error=function(a){return this.$val.error(a);};AV.ptr.prototype.errorString=function(a){var $ptr,a,b,c;b=this;$panic((c=new AU.ptr(C.New(a)),new c.constructor.elem(c)));};AV.prototype.errorString=function(a){return this.$val.errorString(a);};AV.ptr.prototype.Token=function(a,b){var $ptr,a,b,c,d,e,f,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=[c];d=BO.nil;c[0]=$ifaceNil;e=this;$deferred.push([(function(c){return function(){var $ptr,f,g,h,i;f=$recover();if(!($interfaceIsEqual(f,$ifaceNil))){g=$assertType(f,AU,true);h=$clone(g[0],AU);i=g[1];if(i){c[0]=h.err;}else{$panic(f);}}};})(c),[]]);if(b===$throwNilPointerError){b=AZ;}e.buf=$subslice(e.buf,0,0);f=e.token(a,b);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}d=f;$s=-1;return[d,c[0]];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[d,c[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:AV.ptr.prototype.Token};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AV.prototype.Token=function(a,b){return this.$val.Token(a,b);};AY=function(a){var $ptr,a,b,c,d,e;if(a>=65536){return false;}b=((a<<16>>>16));c=AX;d=0;while(true){if(!(d<c.$length)){break;}e=$clone(((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]),BM);if(b<e[0]){return false;}if(b<=e[1]){return true;}d++;}return false;};AZ=function(a){var $ptr,a;return!AY(a);};AV.ptr.prototype.SkipSpace=function(){var $ptr,a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;$r=a.skipSpace(false);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AV.ptr.prototype.SkipSpace};}$f.$ptr=$ptr;$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};AV.prototype.SkipSpace=function(){return this.$val.SkipSpace();};AV.ptr.prototype.free=function(a){var $ptr,a,b;b=this;if(a.validSave){AW.copy(b.ssave,a);return;}if(b.buf.$capacity>1024){return;}b.buf=$subslice(b.buf,0,0);b.rs=$ifaceNil;BB.Put(b);};AV.prototype.free=function(a){return this.$val.free(a);};AV.ptr.prototype.skipSpace=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;case 1:c=b.getRune();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(d===-1){$s=-1;return;}if(!(d===13)){e=false;$s=6;continue s;}f=b.peek("\n");$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;case 6:if(e){$s=4;continue;}$s=5;continue;case 4:$s=1;continue;case 5:if(d===10){$s=8;continue;}$s=9;continue;case 8:if(a){$s=2;continue;}if(b.ssave.nlIsSpace){$s=1;continue;}b.errorString("unexpected newline");$s=-1;return;case 9:if(!AY(d)){$s=10;continue;}$s=11;continue;case 10:g=b.UnreadRune();$s=12;case 12:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=2;continue;case 11:$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AV.ptr.prototype.skipSpace};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AV.prototype.skipSpace=function(a){return this.$val.skipSpace(a);};AV.ptr.prototype.token=function(a,b){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(a){$s=1;continue;}$s=2;continue;case 1:$r=c.skipSpace(false);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:case 4:d=c.getRune();$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e===-1){$s=5;continue;}f=b(e);$s=9;case 9:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!f){$s=7;continue;}$s=8;continue;case 7:g=c.UnreadRune();$s=10;case 10:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;$s=5;continue;case 8:(c.$ptr_buf||(c.$ptr_buf=new BK(function(){return this.$target.buf;},function($v){this.$target.buf=$v;},c))).WriteRune(e);$s=4;continue;case 5:$s=-1;return(h=c.buf,$subslice(new BO(h.$array),h.$offset,h.$offset+h.$length));}return;}if($f===undefined){$f={$blk:AV.ptr.prototype.token};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AV.prototype.token=function(a,b){return this.$val.token(a,b);};BF=function(a,b){var $ptr,a,b,c,d,e,f,g;c=a;d=0;while(true){if(!(d<c.length)){break;}e=$decodeRune(c,d);f=d;g=e[0];if(g===b){return f;}d+=e[1];}return-1;};AV.ptr.prototype.peek=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.getRune();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(!((d===-1))){$s=2;continue;}$s=3;continue;case 2:e=b.UnreadRune();$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;case 3:$s=-1;return BF(a,d)>=0;}return;}if($f===undefined){$f={$blk:AV.ptr.prototype.peek};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AV.prototype.peek=function(a){return this.$val.peek(a);};CN.methods=[{prop:"clearflags",name:"clearflags",pkg:"fmt",typ:$funcType([],[],false)},{prop:"init",name:"init",pkg:"fmt",typ:$funcType([BK],[],false)},{prop:"writePadding",name:"writePadding",pkg:"fmt",typ:$funcType([$Int],[],false)},{prop:"pad",name:"pad",pkg:"fmt",typ:$funcType([BO],[],false)},{prop:"padString",name:"padString",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"fmt_boolean",name:"fmt_boolean",pkg:"fmt",typ:$funcType([$Bool],[],false)},{prop:"fmt_unicode",name:"fmt_unicode",pkg:"fmt",typ:$funcType([$Uint64],[],false)},{prop:"fmt_integer",name:"fmt_integer",pkg:"fmt",typ:$funcType([$Uint64,$Int,$Bool,$String],[],false)},{prop:"truncate",name:"truncate",pkg:"fmt",typ:$funcType([$String],[$String],false)},{prop:"fmt_s",name:"fmt_s",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"fmt_sbx",name:"fmt_sbx",pkg:"fmt",typ:$funcType([$String,BO,$String],[],false)},{prop:"fmt_sx",name:"fmt_sx",pkg:"fmt",typ:$funcType([$String,$String],[],false)},{prop:"fmt_bx",name:"fmt_bx",pkg:"fmt",typ:$funcType([BO,$String],[],false)},{prop:"fmt_q",name:"fmt_q",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"fmt_c",name:"fmt_c",pkg:"fmt",typ:$funcType([$Uint64],[],false)},{prop:"fmt_qc",name:"fmt_qc",pkg:"fmt",typ:$funcType([$Uint64],[],false)},{prop:"fmt_float",name:"fmt_float",pkg:"fmt",typ:$funcType([$Float64,$Int,$Int32,$Int],[],false)}];BK.methods=[{prop:"Write",name:"Write",pkg:"",typ:$funcType([BO],[],false)},{prop:"WriteString",name:"WriteString",pkg:"",typ:$funcType([$String],[],false)},{prop:"WriteByte",name:"WriteByte",pkg:"",typ:$funcType([$Uint8],[],false)},{prop:"WriteRune",name:"WriteRune",pkg:"",typ:$funcType([$Int32],[],false)}];BP.methods=[{prop:"free",name:"free",pkg:"fmt",typ:$funcType([],[],false)},{prop:"Width",name:"Width",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Precision",name:"Precision",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Flag",name:"Flag",pkg:"",typ:$funcType([$Int],[$Bool],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([BO],[$Int,$error],false)},{prop:"unknownType",name:"unknownType",pkg:"fmt",typ:$funcType([F.Value],[],false)},{prop:"badVerb",name:"badVerb",pkg:"fmt",typ:$funcType([$Int32],[],false)},{prop:"fmtBool",name:"fmtBool",pkg:"fmt",typ:$funcType([$Bool,$Int32],[],false)},{prop:"fmt0x64",name:"fmt0x64",pkg:"fmt",typ:$funcType([$Uint64,$Bool],[],false)},{prop:"fmtInteger",name:"fmtInteger",pkg:"fmt",typ:$funcType([$Uint64,$Bool,$Int32],[],false)},{prop:"fmtFloat",name:"fmtFloat",pkg:"fmt",typ:$funcType([$Float64,$Int,$Int32],[],false)},{prop:"fmtComplex",name:"fmtComplex",pkg:"fmt",typ:$funcType([$Complex128,$Int,$Int32],[],false)},{prop:"fmtString",name:"fmtString",pkg:"fmt",typ:$funcType([$String,$Int32],[],false)},{prop:"fmtBytes",name:"fmtBytes",pkg:"fmt",typ:$funcType([BO,$Int32,$String],[],false)},{prop:"fmtPointer",name:"fmtPointer",pkg:"fmt",typ:$funcType([F.Value,$Int32],[],false)},{prop:"catchPanic",name:"catchPanic",pkg:"fmt",typ:$funcType([$emptyInterface,$Int32],[],false)},{prop:"handleMethods",name:"handleMethods",pkg:"fmt",typ:$funcType([$Int32],[$Bool],false)},{prop:"printArg",name:"printArg",pkg:"fmt",typ:$funcType([$emptyInterface,$Int32],[],false)},{prop:"printValue",name:"printValue",pkg:"fmt",typ:$funcType([F.Value,$Int32,$Int],[],false)},{prop:"argNumber",name:"argNumber",pkg:"fmt",typ:$funcType([$Int,$String,$Int,$Int],[$Int,$Int,$Bool],false)},{prop:"badArgNum",name:"badArgNum",pkg:"fmt",typ:$funcType([$Int32],[],false)},{prop:"missingArg",name:"missingArg",pkg:"fmt",typ:$funcType([$Int32],[],false)},{prop:"doPrintf",name:"doPrintf",pkg:"fmt",typ:$funcType([$String,BI],[],false)},{prop:"doPrint",name:"doPrint",pkg:"fmt",typ:$funcType([BI],[],false)},{prop:"doPrintln",name:"doPrintln",pkg:"fmt",typ:$funcType([BI],[],false)}];BS.methods=[{prop:"Read",name:"Read",pkg:"",typ:$funcType([BO],[$Int,$error],false)},{prop:"ReadRune",name:"ReadRune",pkg:"",typ:$funcType([],[$Int32,$Int,$error],false)},{prop:"Width",name:"Width",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"getRune",name:"getRune",pkg:"fmt",typ:$funcType([],[$Int32],false)},{prop:"mustReadRune",name:"mustReadRune",pkg:"fmt",typ:$funcType([],[$Int32],false)},{prop:"UnreadRune",name:"UnreadRune",pkg:"",typ:$funcType([],[$error],false)},{prop:"error",name:"error",pkg:"fmt",typ:$funcType([$error],[],false)},{prop:"errorString",name:"errorString",pkg:"fmt",typ:$funcType([$String],[],false)},{prop:"Token",name:"Token",pkg:"",typ:$funcType([$Bool,CO],[BO,$error],false)},{prop:"SkipSpace",name:"SkipSpace",pkg:"",typ:$funcType([],[],false)},{prop:"free",name:"free",pkg:"fmt",typ:$funcType([AW],[],false)},{prop:"skipSpace",name:"skipSpace",pkg:"fmt",typ:$funcType([$Bool],[],false)},{prop:"token",name:"token",pkg:"fmt",typ:$funcType([$Bool,CO],[BO],false)},{prop:"consume",name:"consume",pkg:"fmt",typ:$funcType([$String,$Bool],[$Bool],false)},{prop:"peek",name:"peek",pkg:"fmt",typ:$funcType([$String],[$Bool],false)},{prop:"notEOF",name:"notEOF",pkg:"fmt",typ:$funcType([],[],false)},{prop:"accept",name:"accept",pkg:"fmt",typ:$funcType([$String],[$Bool],false)},{prop:"okVerb",name:"okVerb",pkg:"fmt",typ:$funcType([$Int32,$String,$String],[$Bool],false)},{prop:"scanBool",name:"scanBool",pkg:"fmt",typ:$funcType([$Int32],[$Bool],false)},{prop:"getBase",name:"getBase",pkg:"fmt",typ:$funcType([$Int32],[$Int,$String],false)},{prop:"scanNumber",name:"scanNumber",pkg:"fmt",typ:$funcType([$String,$Bool],[$String],false)},{prop:"scanRune",name:"scanRune",pkg:"fmt",typ:$funcType([$Int],[$Int64],false)},{prop:"scanBasePrefix",name:"scanBasePrefix",pkg:"fmt",typ:$funcType([],[$Int,$String,$Bool],false)},{prop:"scanInt",name:"scanInt",pkg:"fmt",typ:$funcType([$Int32,$Int],[$Int64],false)},{prop:"scanUint",name:"scanUint",pkg:"fmt",typ:$funcType([$Int32,$Int],[$Uint64],false)},{prop:"floatToken",name:"floatToken",pkg:"fmt",typ:$funcType([],[$String],false)},{prop:"complexTokens",name:"complexTokens",pkg:"fmt",typ:$funcType([],[$String,$String],false)},{prop:"convertFloat",name:"convertFloat",pkg:"fmt",typ:$funcType([$String,$Int],[$Float64],false)},{prop:"scanComplex",name:"scanComplex",pkg:"fmt",typ:$funcType([$Int32,$Int],[$Complex128],false)},{prop:"convertString",name:"convertString",pkg:"fmt",typ:$funcType([$Int32],[$String],false)},{prop:"quotedString",name:"quotedString",pkg:"fmt",typ:$funcType([],[$String],false)},{prop:"hexByte",name:"hexByte",pkg:"fmt",typ:$funcType([],[$Uint8,$Bool],false)},{prop:"hexString",name:"hexString",pkg:"fmt",typ:$funcType([],[$String],false)},{prop:"scanOne",name:"scanOne",pkg:"fmt",typ:$funcType([$Int32,$emptyInterface],[],false)},{prop:"doScan",name:"doScan",pkg:"fmt",typ:$funcType([BI],[$Int,$error],false)},{prop:"advance",name:"advance",pkg:"fmt",typ:$funcType([$String],[$Int],false)},{prop:"doScanf",name:"doScanf",pkg:"fmt",typ:$funcType([$String,BI],[$Int,$error],false)}];I.init("fmt",[{prop:"widPresent",name:"widPresent",exported:false,typ:$Bool,tag:""},{prop:"precPresent",name:"precPresent",exported:false,typ:$Bool,tag:""},{prop:"minus",name:"minus",exported:false,typ:$Bool,tag:""},{prop:"plus",name:"plus",exported:false,typ:$Bool,tag:""},{prop:"sharp",name:"sharp",exported:false,typ:$Bool,tag:""},{prop:"space",name:"space",exported:false,typ:$Bool,tag:""},{prop:"zero",name:"zero",exported:false,typ:$Bool,tag:""},{prop:"plusV",name:"plusV",exported:false,typ:$Bool,tag:""},{prop:"sharpV",name:"sharpV",exported:false,typ:$Bool,tag:""}]);J.init("fmt",[{prop:"buf",name:"buf",exported:false,typ:BK,tag:""},{prop:"fmtFlags",name:"",exported:false,typ:I,tag:""},{prop:"wid",name:"wid",exported:false,typ:$Int,tag:""},{prop:"prec",name:"prec",exported:false,typ:$Int,tag:""},{prop:"intbuf",name:"intbuf",exported:false,typ:BL,tag:""}]);K.init([{prop:"Flag",name:"Flag",pkg:"",typ:$funcType([$Int],[$Bool],false)},{prop:"Precision",name:"Precision",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Width",name:"Width",pkg:"",typ:$funcType([],[$Int,$Bool],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([BO],[$Int,$error],false)}]);L.init([{prop:"Format",name:"Format",pkg:"",typ:$funcType([K,$Int32],[],false)}]);M.init([{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}]);N.init([{prop:"GoString",name:"GoString",pkg:"",typ:$funcType([],[$String],false)}]);O.init($Uint8);P.init("fmt",[{prop:"buf",name:"buf",exported:false,typ:O,tag:""},{prop:"arg",name:"arg",exported:false,typ:$emptyInterface,tag:""},{prop:"value",name:"value",exported:false,typ:F.Value,tag:""},{prop:"fmt",name:"fmt",exported:false,typ:J,tag:""},{prop:"reordered",name:"reordered",exported:false,typ:$Bool,tag:""},{prop:"goodArgNum",name:"goodArgNum",exported:false,typ:$Bool,tag:""},{prop:"panicking",name:"panicking",exported:false,typ:$Bool,tag:""},{prop:"erroring",name:"erroring",exported:false,typ:$Bool,tag:""}]);AU.init("fmt",[{prop:"err",name:"err",exported:false,typ:$error,tag:""}]);AV.init("fmt",[{prop:"rs",name:"rs",exported:false,typ:D.RuneScanner,tag:""},{prop:"buf",name:"buf",exported:false,typ:O,tag:""},{prop:"count",name:"count",exported:false,typ:$Int,tag:""},{prop:"atEOF",name:"atEOF",exported:false,typ:$Bool,tag:""},{prop:"ssave",name:"",exported:false,typ:AW,tag:""}]);AW.init("fmt",[{prop:"validSave",name:"validSave",exported:false,typ:$Bool,tag:""},{prop:"nlIsEnd",name:"nlIsEnd",exported:false,typ:$Bool,tag:""},{prop:"nlIsSpace",name:"nlIsSpace",exported:false,typ:$Bool,tag:""},{prop:"argLimit",name:"argLimit",exported:false,typ:$Int,tag:""},{prop:"limit",name:"limit",exported:false,typ:$Int,tag:""},{prop:"maxWid",name:"maxWid",exported:false,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}Q=new G.Pool.ptr(0,0,BI.nil,(function(){var $ptr;return new P.ptr(O.nil,$ifaceNil,new F.Value.ptr(BJ.nil,0,0),new J.ptr(BK.nil,new I.ptr(false,false,false,false,false,false,false,false,false),0,0,BL.zero()),false,false,false,false);}));AF=F.TypeOf(new $Uint8(0));AX=new BN([$toNativeArray($kindUint16,[9,13]),$toNativeArray($kindUint16,[32,32]),$toNativeArray($kindUint16,[133,133]),$toNativeArray($kindUint16,[160,160]),$toNativeArray($kindUint16,[5760,5760]),$toNativeArray($kindUint16,[8192,8202]),$toNativeArray($kindUint16,[8232,8233]),$toNativeArray($kindUint16,[8239,8239]),$toNativeArray($kindUint16,[8287,8287]),$toNativeArray($kindUint16,[12288,12288])]);BB=new G.Pool.ptr(0,0,BI.nil,(function(){var $ptr;return new AV.ptr($ifaceNil,O.nil,0,false,new AW.ptr(false,false,false,0,0,0));}));BD=C.New("syntax error scanning complex number");BE=C.New("syntax error scanning boolean");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["sort"]=(function(){var $pkg={},$init,A,B,G,H,I,J,L,M,N,O;A=$packages["reflect"];B=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=0;d=a;e=c;f=d;case 1:if(!(e<f)){$s=2;continue;}h=e+(g=((f-e>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))>>0;i=b(h);$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!i){$s=3;continue;}$s=4;continue;case 3:e=h+1>>0;$s=5;continue;case 4:f=h;case 5:$s=1;continue;case 2:$s=-1;return e;}return;}if($f===undefined){$f={$blk:B};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Search=B;G=function(a,b,c){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=b+1>>0;case 1:if(!(d<c)){$s=2;continue;}e=d;case 3:if(!(e>b)){f=false;$s=5;continue s;}g=a.Less(e,e-1>>0);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;case 5:if(!(f)){$s=4;continue;}$r=a.Swap(e,e-1>>0);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=e-(1)>>0;$s=3;continue;case 4:d=d+(1)>>0;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:G};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};H=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=b;case 1:f=($imul(2,e))+1>>0;if(f>=c){$s=2;continue;}if(!((f+1>>0)<c)){g=false;$s=5;continue s;}h=a.Less(d+f>>0,(d+f>>0)+1>>0);$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;case 5:if(g){$s=3;continue;}$s=4;continue;case 3:f=f+(1)>>0;case 4:i=a.Less(d+e>>0,d+f>>0);$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!i){$s=7;continue;}$s=8;continue;case 7:$s=-1;return;case 8:$r=a.Swap(d+e>>0,d+f>>0);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=f;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:H};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};I=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=b;e=0;f=c-b>>0;h=(g=((f-1>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"));case 1:if(!(h>=0)){$s=2;continue;}$r=H(a,h,f,d);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=h-(1)>>0;$s=1;continue;case 2:i=f-1>>0;case 4:if(!(i>=0)){$s=5;continue;}$r=a.Swap(d,d+i>>0);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H(a,e,i,d);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=i-(1)>>0;$s=4;continue;case 5:$s=-1;return;}return;}if($f===undefined){$f={$blk:I};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};J=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=a.Less(b,c);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(e){$s=1;continue;}$s=2;continue;case 1:$r=a.Swap(b,c);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:f=a.Less(d,b);$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(f){$s=5;continue;}$s=6;continue;case 5:$r=a.Swap(d,b);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=a.Less(b,c);$s=11;case 11:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}if(g){$s=9;continue;}$s=10;continue;case 9:$r=a.Swap(b,c);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:J};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};L=function(a,b,c){var $ptr,a,aa,ab,ac,ad,ae,af,ag,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=0;g=b+(f=((c-b>>0))/2,(f===f&&f!==1/0&&f!==-1/0)?f>>0:$throwRuntimeError("integer divide by zero"))>>0;if((c-b>>0)>40){$s=1;continue;}$s=2;continue;case 1:i=(h=((c-b>>0))/8,(h===h&&h!==1/0&&h!==-1/0)?h>>0:$throwRuntimeError("integer divide by zero"));$r=J(a,b,b+i>>0,b+($imul(2,i))>>0);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J(a,g,g-i>>0,g+i>>0);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J(a,c-1>>0,(c-1>>0)-i>>0,(c-1>>0)-($imul(2,i))>>0);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$r=J(a,b,g,c-1>>0);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j=b;k=b+1>>0;l=c-1>>0;m=k;n=l;case 7:if(!(m<n)){o=false;$s=9;continue s;}p=a.Less(m,j);$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;case 9:if(!(o)){$s=8;continue;}m=m+(1)>>0;$s=7;continue;case 8:q=m;case 11:case 13:if(!(q<n)){r=false;$s=15;continue s;}s=a.Less(j,q);$s=16;case 16:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=!s;case 15:if(!(r)){$s=14;continue;}q=q+(1)>>0;$s=13;continue;case 14:case 17:if(!(q<n)){t=false;$s=19;continue s;}u=a.Less(j,n-1>>0);$s=20;case 20:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;case 19:if(!(t)){$s=18;continue;}n=n-(1)>>0;$s=17;continue;case 18:if(q>=n){$s=12;continue;}$r=a.Swap(q,n-1>>0);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}q=q+(1)>>0;n=n-(1)>>0;$s=11;continue;case 12:v=(c-n>>0)<5;if(!v&&(c-n>>0)<(w=((c-b>>0))/4,(w===w&&w!==1/0&&w!==-1/0)?w>>0:$throwRuntimeError("integer divide by zero"))){$s=22;continue;}$s=23;continue;case 22:x=0;y=a.Less(j,c-1>>0);$s=26;case 26:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}if(!y){$s=24;continue;}$s=25;continue;case 24:$r=a.Swap(n,c-1>>0);$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}n=n+(1)>>0;x=x+(1)>>0;case 25:z=a.Less(q-1>>0,j);$s=30;case 30:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}if(!z){$s=28;continue;}$s=29;continue;case 28:q=q-(1)>>0;x=x+(1)>>0;case 29:aa=a.Less(g,j);$s=33;case 33:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}if(!aa){$s=31;continue;}$s=32;continue;case 31:$r=a.Swap(g,q-1>>0);$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}q=q-(1)>>0;x=x+(1)>>0;case 32:v=x>1;case 23:if(v){$s=35;continue;}$s=36;continue;case 35:case 37:case 39:if(!(m<q)){ab=false;$s=41;continue s;}ac=a.Less(q-1>>0,j);$s=42;case 42:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}ab=!ac;case 41:if(!(ab)){$s=40;continue;}q=q-(1)>>0;$s=39;continue;case 40:case 43:if(!(m<q)){ad=false;$s=45;continue s;}ae=a.Less(m,j);$s=46;case 46:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}ad=ae;case 45:if(!(ad)){$s=44;continue;}m=m+(1)>>0;$s=43;continue;case 44:if(m>=q){$s=38;continue;}$r=a.Swap(m,q-1>>0);$s=47;case 47:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=m+(1)>>0;q=q-(1)>>0;$s=37;continue;case 38:case 36:$r=a.Swap(j,q-1>>0);$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}af=q-1>>0;ag=n;d=af;e=ag;$s=-1;return[d,e];}return;}if($f===undefined){$f={$blk:L};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};M=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:if(!((c-b>>0)>12)){$s=2;continue;}if(d===0){$s=3;continue;}$s=4;continue;case 3:$r=I(a,b,c);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 4:d=d-(1)>>0;f=L(a,b,c);$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=e[0];h=e[1];if((g-b>>0)<(c-h>>0)){$s=7;continue;}$s=8;continue;case 7:$r=M(a,b,g,d);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=h;$s=9;continue;case 8:$r=M(a,h,c,d);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=g;case 9:$s=1;continue;case 2:if((c-b>>0)>1){$s=12;continue;}$s=13;continue;case 12:i=b+6>>0;case 14:if(!(i<c)){$s=15;continue;}j=a.Less(i,i-6>>0);$s=18;case 18:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}if(j){$s=16;continue;}$s=17;continue;case 16:$r=a.Swap(i,i-6>>0);$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:i=i+(1)>>0;$s=14;continue;case 15:$r=G(a,b,c);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:$s=-1;return;}return;}if($f===undefined){$f={$blk:M};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};N=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=a.Len();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;$r=M(a,0,c,O(c));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:N};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Sort=N;O=function(a){var $ptr,a,b,c;b=0;c=a;while(true){if(!(c>0)){break;}b=b+(1)>>0;c=(c>>$min((1),31))>>0;}return $imul(b,2);};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["go/token"]=(function(){var $pkg={},$init,A,C,B,D,E,F,G,H,J,N,O,P,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,Q,R,I,K,L,M,S,T;A=$packages["fmt"];C=$packages["github.com/gopherjs/gopherjs/nosync"];B=$packages["sort"];D=$packages["strconv"];E=$pkg.Position=$newType(0,$kindStruct,"token.Position",true,"go/token",true,function(Filename_,Offset_,Line_,Column_){this.$val=this;if(arguments.length===0){this.Filename="";this.Offset=0;this.Line=0;this.Column=0;return;}this.Filename=Filename_;this.Offset=Offset_;this.Line=Line_;this.Column=Column_;});F=$pkg.Pos=$newType(4,$kindInt,"token.Pos",true,"go/token",true,null);G=$pkg.File=$newType(0,$kindStruct,"token.File",true,"go/token",true,function(set_,name_,base_,size_,lines_,infos_){this.$val=this;if(arguments.length===0){this.set=AB.nil;this.name="";this.base=0;this.size=0;this.lines=V.nil;this.infos=Y.nil;return;}this.set=set_;this.name=name_;this.base=base_;this.size=size_;this.lines=lines_;this.infos=infos_;});H=$pkg.lineInfo=$newType(0,$kindStruct,"token.lineInfo",true,"go/token",false,function(Offset_,Filename_,Line_){this.$val=this;if(arguments.length===0){this.Offset=0;this.Filename="";this.Line=0;return;}this.Offset=Offset_;this.Filename=Filename_;this.Line=Line_;});J=$pkg.FileSet=$newType(0,$kindStruct,"token.FileSet",true,"go/token",true,function(mutex_,base_,files_,last_){this.$val=this;if(arguments.length===0){this.mutex=new C.RWMutex.ptr(false,0);this.base=0;this.files=X.nil;this.last=W.nil;return;}this.mutex=mutex_;this.base=base_;this.files=files_;this.last=last_;});N=$pkg.serializedFile=$newType(0,$kindStruct,"token.serializedFile",true,"go/token",false,function(Name_,Base_,Size_,Lines_,Infos_){this.$val=this;if(arguments.length===0){this.Name="";this.Base=0;this.Size=0;this.Lines=V.nil;this.Infos=Y.nil;return;}this.Name=Name_;this.Base=Base_;this.Size=Size_;this.Lines=Lines_;this.Infos=Infos_;});O=$pkg.serializedFileSet=$newType(0,$kindStruct,"token.serializedFileSet",true,"go/token",false,function(Base_,Files_){this.$val=this;if(arguments.length===0){this.Base=0;this.Files=Z.nil;return;}this.Base=Base_;this.Files=Files_;});P=$pkg.Token=$newType(4,$kindInt,"token.Token",true,"go/token",true,null);U=$sliceType($emptyInterface);V=$sliceType($Int);W=$ptrType(G);X=$sliceType(W);Y=$sliceType(H);Z=$sliceType(N);AA=$ptrType(E);AB=$ptrType(J);AC=$sliceType($Uint8);AD=$funcType([W],[$Bool],false);AE=$funcType([$emptyInterface],[$error],false);E.ptr.prototype.IsValid=function(){var $ptr,a;a=this;return a.Line>0;};E.prototype.IsValid=function(){return this.$val.IsValid();};E.ptr.prototype.String=function(){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Filename;if(a.IsValid()){$s=1;continue;}$s=2;continue;case 1:if(!(b==="")){b=b+(":");}c=A.Sprintf("%d:%d",new U([new $Int(a.Line),new $Int(a.Column)]));$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=b+(c);case 2:if(b===""){b="-";}$s=-1;return b;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.String};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.String=function(){return this.$val.String();};F.prototype.IsValid=function(){var $ptr,a;a=this.$val;return!((a===0));};$ptrType(F).prototype.IsValid=function(){return new F(this.$get()).IsValid();};G.ptr.prototype.Name=function(){var $ptr,a;a=this;return a.name;};G.prototype.Name=function(){return this.$val.Name();};G.ptr.prototype.Base=function(){var $ptr,a;a=this;return a.base;};G.prototype.Base=function(){return this.$val.Base();};G.ptr.prototype.Size=function(){var $ptr,a;a=this;return a.size;};G.prototype.Size=function(){return this.$val.Size();};G.ptr.prototype.LineCount=function(){var $ptr,a,b;a=this;a.set.mutex.RLock();b=a.lines.$length;a.set.mutex.RUnlock();return b;};G.prototype.LineCount=function(){return this.$val.LineCount();};G.ptr.prototype.AddLine=function(a){var $ptr,a,b,c,d,e;b=this;b.set.mutex.Lock();c=b.lines.$length;if(((c===0)||(d=b.lines,e=c-1>>0,((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]))<a)&&a<b.size){b.lines=$append(b.lines,a);}b.set.mutex.Unlock();};G.prototype.AddLine=function(a){return this.$val.AddLine(a);};G.ptr.prototype.MergeLine=function(a){var $ptr,a,b,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(a<=0){$panic(new $String("illegal line number (line numbering starts at 1)"));}b.set.mutex.Lock();$deferred.push([$methodVal(b.set.mutex,"Unlock"),[]]);if(a>=b.lines.$length){$panic(new $String("illegal line number"));}$copySlice($subslice(b.lines,a),$subslice(b.lines,(a+1>>0)));b.lines=$subslice(b.lines,0,(b.lines.$length-1>>0));}catch(err){$err=err;}finally{$callDeferred($deferred,$err);}};G.prototype.MergeLine=function(a){return this.$val.MergeLine(a);};G.ptr.prototype.SetLines=function(a){var $ptr,a,b,c,d,e,f,g,h;b=this;c=b.size;d=a;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(f>0&&g<=(h=f-1>>0,((h<0||h>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+h]))||c<=g){return false;}e++;}b.set.mutex.Lock();b.lines=a;b.set.mutex.Unlock();return true;};G.prototype.SetLines=function(a){return this.$val.SetLines(a);};G.ptr.prototype.SetLinesForContent=function(a){var $ptr,a,b,c,d,e,f,g,h;b=this;c=V.nil;d=0;e=a;f=0;while(true){if(!(f<e.$length)){break;}g=f;h=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(d>=0){c=$append(c,d);}d=-1;if(h===10){d=g+1>>0;}f++;}b.set.mutex.Lock();b.lines=c;b.set.mutex.Unlock();};G.prototype.SetLinesForContent=function(a){return this.$val.SetLinesForContent(a);};G.ptr.prototype.AddLineInfo=function(a,b,c){var $ptr,a,b,c,d,e,f,g;d=this;d.set.mutex.Lock();e=d.infos.$length;if((e===0)||(f=d.infos,g=e-1>>0,((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g])).Offset<a&&a<d.size){d.infos=$append(d.infos,new H.ptr(a,b,c));}d.set.mutex.Unlock();};G.prototype.AddLineInfo=function(a,b,c){return this.$val.AddLineInfo(a,b,c);};G.ptr.prototype.Pos=function(a){var $ptr,a,b;b=this;if(a>b.size){$panic(new $String("illegal file offset"));}return(((b.base+a>>0)>>0));};G.prototype.Pos=function(a){return this.$val.Pos(a);};G.ptr.prototype.Offset=function(a){var $ptr,a,b;b=this;if(((a>>0))<b.base||((a>>0))>(b.base+b.size>>0)){$panic(new $String("illegal Pos value"));}return((a>>0))-b.base>>0;};G.prototype.Offset=function(a){return this.$val.Offset(a);};G.ptr.prototype.Line=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.Position(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c.Line;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Line};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Line=function(a){return this.$val.Line(a);};I=function(a,b){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=B.Search(a[0].$length,(function(a,b){return function(c){var $ptr,c;return((c<0||c>=a[0].$length)?($throwRuntimeError("index out of range"),undefined):a[0].$array[a[0].$offset+c]).Offset>b[0];};})(a,b));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c-1>>0;}return;}if($f===undefined){$f={$blk:I};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};G.ptr.prototype.unpack=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c="";d=0;e=0;f=this;c=f.name;g=M(f.lines,a);if(g>=0){h=g+1>>0;i=(a-(j=f.lines,((g<0||g>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+g]))>>0)+1>>0;d=h;e=i;}if(b&&f.infos.$length>0){$s=1;continue;}$s=2;continue;case 1:k=I(f.infos,a);$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(l>=0){n=(m=f.infos,((l<0||l>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+l]));c=n.Filename;o=M(f.lines,n.Offset);if(o>=0){d=d+(((n.Line-o>>0)-1>>0))>>0;}}case 2:$s=-1;return[c,d,e];}return;}if($f===undefined){$f={$blk:G.ptr.prototype.unpack};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.unpack=function(a,b){return this.$val.unpack(a,b);};G.ptr.prototype.position=function(a,b){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new E.ptr("",0,0,0);d=this;e=((a>>0))-d.base>>0;c.Offset=e;g=d.unpack(e,b);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;c.Filename=f[0];c.Line=f[1];c.Column=f[2];$s=-1;return c;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.position};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.position=function(a,b){return this.$val.position(a,b);};G.ptr.prototype.PositionFor=function(a,b){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new E.ptr("",0,0,0);d=this;if(!((a===0))){$s=1;continue;}$s=2;continue;case 1:if(((a>>0))<d.base||((a>>0))>(d.base+d.size>>0)){$panic(new $String("illegal Pos value"));}e=d.position(a,b);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}E.copy(c,e);case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.PositionFor};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.PositionFor=function(a,b){return this.$val.PositionFor(a,b);};G.ptr.prototype.Position=function(a){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new E.ptr("",0,0,0);c=this;d=c.PositionFor(a,true);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}E.copy(b,d);$s=-1;return b;}return;}if($f===undefined){$f={$blk:G.ptr.prototype.Position};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};G.prototype.Position=function(a){return this.$val.Position(a);};K=function(){var $ptr;return new J.ptr(new C.RWMutex.ptr(false,0),1,X.nil,W.nil);};$pkg.NewFileSet=K;J.ptr.prototype.Base=function(){var $ptr,a,b;a=this;a.mutex.RLock();b=a.base;a.mutex.RUnlock();return b;};J.prototype.Base=function(){return this.$val.Base();};J.ptr.prototype.AddFile=function(a,b,c){var $ptr,a,b,c,d,e,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);d=this;d.mutex.Lock();$deferred.push([$methodVal(d.mutex,"Unlock"),[]]);if(b<0){b=d.base;}if(b<d.base||c<0){$panic(new $String("illegal base or size"));}e=new G.ptr(d,a,b,c,new V([0]),Y.nil);b=b+((c+1>>0))>>0;if(b<0){$panic(new $String("token.Pos offset overflow (> 2G of source code in file set)"));}d.base=b;d.files=$append(d.files,e);d.last=e;return e;}catch(err){$err=err;return W.nil;}finally{$callDeferred($deferred,$err);}};J.prototype.AddFile=function(a,b,c){return this.$val.AddFile(a,b,c);};J.ptr.prototype.Iterate=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=0;case 1:d=W.nil;b.mutex.RLock();if(c<b.files.$length){d=(e=b.files,((c<0||c>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+c]));}b.mutex.RUnlock();if(d===W.nil){f=true;$s=5;continue s;}g=a(d);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=!g;case 5:if(f){$s=3;continue;}$s=4;continue;case 3:$s=2;continue;case 4:c=c+(1)>>0;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.Iterate};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.Iterate=function(a){return this.$val.Iterate(a);};L=function(a,b){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=[b];c=B.Search(a[0].$length,(function(a,b){return function(c){var $ptr,c;return((c<0||c>=a[0].$length)?($throwRuntimeError("index out of range"),undefined):a[0].$array[a[0].$offset+c]).base>b[0];};})(a,b));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c-1>>0;}return;}if($f===undefined){$f={$blk:L};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};J.ptr.prototype.file=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;b.mutex.RLock();c=b.last;if(!(c===W.nil)&&c.base<=((a>>0))&&((a>>0))<=(c.base+c.size>>0)){b.mutex.RUnlock();$s=-1;return c;}d=L(b.files,((a>>0)));$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(e>=0){g=(f=b.files,((e<0||e>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+e]));if(((a>>0))<=(g.base+g.size>>0)){b.mutex.RUnlock();b.mutex.Lock();b.last=g;b.mutex.Unlock();$s=-1;return g;}}b.mutex.RUnlock();$s=-1;return W.nil;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.file};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.file=function(a){return this.$val.file(a);};J.ptr.prototype.File=function(a){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=W.nil;c=this;if(!((a===0))){$s=1;continue;}$s=2;continue;case 1:d=c.file(a);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}b=d;case 2:$s=-1;return b;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.File};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.File=function(a){return this.$val.File(a);};J.ptr.prototype.PositionFor=function(a,b){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=new E.ptr("",0,0,0);d=this;if(!((a===0))){$s=1;continue;}$s=2;continue;case 1:e=d.file(a);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!(f===W.nil)){$s=4;continue;}$s=5;continue;case 4:d.mutex.RLock();g=f.position(a,b);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}E.copy(c,g);d.mutex.RUnlock();case 5:case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.PositionFor};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.PositionFor=function(a,b){return this.$val.PositionFor(a,b);};J.ptr.prototype.Position=function(a){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=new E.ptr("",0,0,0);c=this;d=c.PositionFor(a,true);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}E.copy(b,d);$s=-1;return b;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.Position};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.Position=function(a){return this.$val.Position(a);};M=function(a,b){var $ptr,a,b,c,d,e,f,g,h;c=0;d=a.$length;e=c;f=d;while(true){if(!(e<f)){break;}h=e+(g=((f-e>>0))/2,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero"))>>0;if(((h<0||h>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+h])<=b){e=h+1>>0;}else{f=h;}}return e-1>>0;};J.ptr.prototype.Read=function(a){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=this;b[0]=new O.ptr(0,Z.nil);d=a(b[0]);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return e;}c.mutex.Lock();c.base=b[0].Base;f=$makeSlice(X,b[0].Files.$length);g=0;while(true){if(!(g<b[0].Files.$length)){break;}i=(h=b[0].Files,((g<0||g>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+g]));((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]=new G.ptr(c,i.Name,i.Base,i.Size,i.Lines,i.Infos));g=g+(1)>>0;}c.files=f;c.last=W.nil;c.mutex.Unlock();$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.Read};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.Read=function(a){return this.$val.Read(a);};J.ptr.prototype.Write=function(a){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=new O.ptr(0,Z.nil);b.mutex.Lock();c.Base=b.base;d=$makeSlice(Z,b.files.$length);e=b.files;f=0;while(true){if(!(f<e.$length)){break;}g=f;h=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);N.copy(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]),new N.ptr(h.name,h.base,h.size,h.lines,h.infos));f++;}c.Files=d;b.mutex.Unlock();i=a(new c.constructor.elem(c));$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return i;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.Write};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.Write=function(a){return this.$val.Write(a);};P.prototype.String=function(){var $ptr,a,b;a=this.$val;b="";if(0<=a&&a<86){b=((a<0||a>=Q.length)?($throwRuntimeError("index out of range"),undefined):Q[a]);}if(b===""){b="token("+D.Itoa(((a>>0)))+")";}return b;};$ptrType(P).prototype.String=function(){return new P(this.$get()).String();};P.prototype.Precedence=function(){var $ptr,a,b;a=this.$val;b=a;if(b===(35)){return 1;}else if(b===(34)){return 2;}else if((b===(39))||(b===(44))||(b===(40))||(b===(45))||(b===(41))||(b===(46))){return 3;}else if((b===(12))||(b===(13))||(b===(18))||(b===(19))){return 4;}else if((b===(14))||(b===(15))||(b===(16))||(b===(20))||(b===(21))||(b===(17))||(b===(22))){return 5;}return 0;};$ptrType(P).prototype.Precedence=function(){return new P(this.$get()).Precedence();};S=function(){var $ptr,a,b;R={};a=61;while(true){if(!(a<86)){break;}b=((a<0||a>=Q.length)?($throwRuntimeError("index out of range"),undefined):Q[a]);(R||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(b)]={k:b,v:a};a=a+(1)>>0;}};T=function(a){var $ptr,a,b,c,d,e;b=(c=R[$String.keyFor(a)],c!==undefined?[c.v,true]:[0,false]);d=b[0];e=b[1];if(e){return d;}return 4;};$pkg.Lookup=T;P.prototype.IsLiteral=function(){var $ptr,a;a=this.$val;return 3<a&&a<10;};$ptrType(P).prototype.IsLiteral=function(){return new P(this.$get()).IsLiteral();};P.prototype.IsOperator=function(){var $ptr,a;a=this.$val;return 11<a&&a<59;};$ptrType(P).prototype.IsOperator=function(){return new P(this.$get()).IsOperator();};P.prototype.IsKeyword=function(){var $ptr,a;a=this.$val;return 60<a&&a<86;};$ptrType(P).prototype.IsKeyword=function(){return new P(this.$get()).IsKeyword();};E.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];AA.methods=[{prop:"IsValid",name:"IsValid",pkg:"",typ:$funcType([],[$Bool],false)}];F.methods=[{prop:"IsValid",name:"IsValid",pkg:"",typ:$funcType([],[$Bool],false)}];W.methods=[{prop:"Name",name:"Name",pkg:"",typ:$funcType([],[$String],false)},{prop:"Base",name:"Base",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Size",name:"Size",pkg:"",typ:$funcType([],[$Int],false)},{prop:"LineCount",name:"LineCount",pkg:"",typ:$funcType([],[$Int],false)},{prop:"AddLine",name:"AddLine",pkg:"",typ:$funcType([$Int],[],false)},{prop:"MergeLine",name:"MergeLine",pkg:"",typ:$funcType([$Int],[],false)},{prop:"SetLines",name:"SetLines",pkg:"",typ:$funcType([V],[$Bool],false)},{prop:"SetLinesForContent",name:"SetLinesForContent",pkg:"",typ:$funcType([AC],[],false)},{prop:"AddLineInfo",name:"AddLineInfo",pkg:"",typ:$funcType([$Int,$String,$Int],[],false)},{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([$Int],[F],false)},{prop:"Offset",name:"Offset",pkg:"",typ:$funcType([F],[$Int],false)},{prop:"Line",name:"Line",pkg:"",typ:$funcType([F],[$Int],false)},{prop:"unpack",name:"unpack",pkg:"go/token",typ:$funcType([$Int,$Bool],[$String,$Int,$Int],false)},{prop:"position",name:"position",pkg:"go/token",typ:$funcType([F,$Bool],[E],false)},{prop:"PositionFor",name:"PositionFor",pkg:"",typ:$funcType([F,$Bool],[E],false)},{prop:"Position",name:"Position",pkg:"",typ:$funcType([F],[E],false)}];AB.methods=[{prop:"Base",name:"Base",pkg:"",typ:$funcType([],[$Int],false)},{prop:"AddFile",name:"AddFile",pkg:"",typ:$funcType([$String,$Int,$Int],[W],false)},{prop:"Iterate",name:"Iterate",pkg:"",typ:$funcType([AD],[],false)},{prop:"file",name:"file",pkg:"go/token",typ:$funcType([F],[W],false)},{prop:"File",name:"File",pkg:"",typ:$funcType([F],[W],false)},{prop:"PositionFor",name:"PositionFor",pkg:"",typ:$funcType([F,$Bool],[E],false)},{prop:"Position",name:"Position",pkg:"",typ:$funcType([F],[E],false)},{prop:"Read",name:"Read",pkg:"",typ:$funcType([AE],[$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([AE],[$error],false)}];P.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)},{prop:"Precedence",name:"Precedence",pkg:"",typ:$funcType([],[$Int],false)},{prop:"IsLiteral",name:"IsLiteral",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsOperator",name:"IsOperator",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"IsKeyword",name:"IsKeyword",pkg:"",typ:$funcType([],[$Bool],false)}];E.init("",[{prop:"Filename",name:"Filename",exported:true,typ:$String,tag:""},{prop:"Offset",name:"Offset",exported:true,typ:$Int,tag:""},{prop:"Line",name:"Line",exported:true,typ:$Int,tag:""},{prop:"Column",name:"Column",exported:true,typ:$Int,tag:""}]);G.init("go/token",[{prop:"set",name:"set",exported:false,typ:AB,tag:""},{prop:"name",name:"name",exported:false,typ:$String,tag:""},{prop:"base",name:"base",exported:false,typ:$Int,tag:""},{prop:"size",name:"size",exported:false,typ:$Int,tag:""},{prop:"lines",name:"lines",exported:false,typ:V,tag:""},{prop:"infos",name:"infos",exported:false,typ:Y,tag:""}]);H.init("",[{prop:"Offset",name:"Offset",exported:true,typ:$Int,tag:""},{prop:"Filename",name:"Filename",exported:true,typ:$String,tag:""},{prop:"Line",name:"Line",exported:true,typ:$Int,tag:""}]);J.init("go/token",[{prop:"mutex",name:"mutex",exported:false,typ:C.RWMutex,tag:""},{prop:"base",name:"base",exported:false,typ:$Int,tag:""},{prop:"files",name:"files",exported:false,typ:X,tag:""},{prop:"last",name:"last",exported:false,typ:W,tag:""}]);N.init("",[{prop:"Name",name:"Name",exported:true,typ:$String,tag:""},{prop:"Base",name:"Base",exported:true,typ:$Int,tag:""},{prop:"Size",name:"Size",exported:true,typ:$Int,tag:""},{prop:"Lines",name:"Lines",exported:true,typ:V,tag:""},{prop:"Infos",name:"Infos",exported:true,typ:Y,tag:""}]);O.init("",[{prop:"Base",name:"Base",exported:true,typ:$Int,tag:""},{prop:"Files",name:"Files",exported:true,typ:Z,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}R=false;Q=$toNativeArray($kindString,["ILLEGAL","EOF","COMMENT","","IDENT","INT","FLOAT","IMAG","CHAR","STRING","","","+","-","*","/","%","&","|","^","<<",">>","&^","+=","-=","*=","/=","%=","&=","|=","^=","<<=",">>=","&^=","&&","||","<-","++","--","==","<",">","=","!","!=","<=",">=",":=","...","(","[","{",",",".",")","]","}",";",":","","","break","case","chan","const","continue","default","defer","else","fallthrough","for","func","go","goto","if","import","interface","map","package","range","return","select","struct","switch","type","var"]);S();}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["strings"]=(function(){var $pkg={},$init,C,B,D,E,A,CC,CL,F,G,H,I,AE,AH,AJ,AK,AO,AR,AV,AW,AX,BI,BJ,BK,BN,BO,BV,BX,BY;C=$packages["errors"];B=$packages["github.com/gopherjs/gopherjs/js"];D=$packages["io"];E=$packages["unicode"];A=$packages["unicode/utf8"];CC=$sliceType($Uint8);CL=$sliceType($String);F=function(e,f){var $ptr,e,f;return $parseInt(e.indexOf($global.String.fromCharCode(f)))>>0;};$pkg.IndexByte=F;G=function(e,f){var $ptr,e,f;return $parseInt(e.indexOf(f))>>0;};$pkg.Index=G;H=function(e,f){var $ptr,e,f;return $parseInt(e.lastIndexOf(f))>>0;};$pkg.LastIndex=H;I=function(e,f){var $ptr,e,f,g,h;g=0;if((f.length===0)){return A.RuneCountInString(e)+1>>0;}else if(f.length>e.length){return 0;}else if((f.length===e.length)){if(f===e){return 1;}return 0;}while(true){h=G(e,f);if(h===-1){break;}g=g+(1)>>0;e=$substring(e,(h+f.length>>0));}return g;};$pkg.Count=I;AE=function(e,f){var $ptr,e,f,g,h,i,j,k,l,m;g=A.RuneCountInString(e);if(f<0||f>g){f=g;}h=$makeSlice(CL,f);i=0;while(true){if(!(i<(f-1>>0))){break;}j=A.DecodeRuneInString(e);k=j[0];l=j[1];((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]=$substring(e,0,l));e=$substring(e,l);if(k===65533){((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]="\xEF\xBF\xBD");}i=i+(1)>>0;}if(f>0){(m=f-1>>0,((m<0||m>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+m]=e));}return h;};AH=function(e,f){var $ptr,e,f;return G(e,f)>=0;};$pkg.Contains=AH;AJ=function(e,f){var $ptr,e,f;return AK(e,f)>=0;};$pkg.ContainsRune=AJ;AK=function(e,f){var $ptr,e,f,g,h,i,j,k;if(0<=f&&f<128){return F(e,((f<<24>>>24)));}else if((f===65533)){g=e;h=0;while(true){if(!(h<g.length)){break;}i=$decodeRune(g,h);j=h;k=i[0];if(k===65533){return j;}h+=i[1];}return-1;}else if(!A.ValidRune(f)){return-1;}else{return G(e,($encodeRune(f)));}};$pkg.IndexRune=AK;AO=function(e,f,g,h){var $ptr,e,f,g,h,i,j,k,l,m;if(h===0){return CL.nil;}if(f===""){return AE(e,h);}if(h<0){h=I(e,f)+1>>0;}i=f.charCodeAt(0);j=0;k=$makeSlice(CL,h);l=0;m=0;while(true){if(!((m+f.length>>0)<=e.length&&(l+1>>0)<h)){break;}if((e.charCodeAt(m)===i)&&((f.length===1)||$substring(e,m,(m+f.length>>0))===f)){((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]=$substring(e,j,(m+g>>0)));l=l+(1)>>0;j=m+f.length>>0;m=m+((f.length-1>>0))>>0;}m=m+(1)>>0;}((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]=$substring(e,j));return $subslice(k,0,(l+1>>0));};AR=function(e,f){var $ptr,e,f;return AO(e,f,0,-1);};$pkg.Split=AR;AV=function(e,f){var $ptr,e,f,g,h,i,j,k,l,m,n;g=e.$length;if(g===(0)){return"";}else if(g===(1)){return(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]);}else if(g===(2)){return(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])+f+(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1]);}else if(g===(3)){return(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])+f+(1>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+1])+f+(2>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+2]);}h=$imul(f.length,((e.$length-1>>0)));i=0;while(true){if(!(i<e.$length)){break;}h=h+(((i<0||i>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+i]).length)>>0;i=i+(1)>>0;}j=$makeSlice(CC,h);k=$copyString(j,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]));l=$subslice(e,1);m=0;while(true){if(!(m<l.$length)){break;}n=((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);k=k+($copyString($subslice(j,k),f))>>0;k=k+($copyString($subslice(j,k),n))>>0;m++;}return($bytesToString(j));};$pkg.Join=AV;AW=function(e,f){var $ptr,e,f;return e.length>=f.length&&$substring(e,0,f.length)===f;};$pkg.HasPrefix=AW;AX=function(e,f){var $ptr,e,f;return e.length>=f.length&&$substring(e,(e.length-f.length>>0))===f;};$pkg.HasSuffix=AX;BI=function(e,f){var $ptr,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BN(e,f,false);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h===-1){$s=-1;return"";}$s=-1;return $substring(e,h);}return;}if($f===undefined){$f={$blk:BI};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimLeftFunc=BI;BJ=function(e,f){var $ptr,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BO(e,f,false);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;if(h>=0&&e.charCodeAt(h)>=128){i=A.DecodeRuneInString($substring(e,h));j=i[1];h=h+(j)>>0;}else{h=h+(1)>>0;}$s=-1;return $substring(e,0,h);}return;}if($f===undefined){$f={$blk:BJ};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimRightFunc=BJ;BK=function(e,f){var $ptr,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=BI(e,f);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=BJ(g,f);$s=2;case 2:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;}return;}if($f===undefined){$f={$blk:BK};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimFunc=BK;BN=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=0;case 1:if(!(h<e.length)){$s=2;continue;}i=1;j=((e.charCodeAt(h)>>0));if(j>=128){k=A.DecodeRuneInString($substring(e,h));j=k[0];i=k[1];}l=f(j);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(l===g){$s=3;continue;}$s=4;continue;case 3:$s=-1;return h;case 4:h=h+(i)>>0;$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:BN};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BO=function(e,f,g){var $ptr,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:h=e.length;case 1:if(!(h>0)){$s=2;continue;}i=A.DecodeLastRuneInString($substring(e,0,h));j=i[0];k=i[1];h=h-(k)>>0;l=f(j);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if(l===g){$s=3;continue;}$s=4;continue;case 3:$s=-1;return h;case 4:$s=1;continue;case 2:$s=-1;return-1;}return;}if($f===undefined){$f={$blk:BO};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};BV=function(e){var $ptr,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=BK(e,E.IsSpace);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:BV};}$f.$ptr=$ptr;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};$pkg.TrimSpace=BV;BX=function(e,f){var $ptr,e,f;if(AX(e,f)){return $substring(e,0,(e.length-f.length>>0));}return e;};$pkg.TrimSuffix=BX;BY=function(e,f,g,h){var $ptr,e,f,g,h,i,j,k,l,m,n,o,p;if(f===g||(h===0)){return e;}i=I(e,f);if(i===0){return e;}else if(h<0||i<h){h=i;}j=$makeSlice(CC,(e.length+($imul(h,((g.length-f.length>>0))))>>0));k=0;l=0;m=0;while(true){if(!(m<h)){break;}n=l;if(f.length===0){if(m>0){o=A.DecodeRuneInString($substring(e,l));p=o[1];n=n+(p)>>0;}}else{n=n+(G($substring(e,l),f))>>0;}k=k+($copyString($subslice(j,k),$substring(e,l,n)))>>0;k=k+($copyString($subslice(j,k),g))>>0;l=n+f.length>>0;m=m+(1)>>0;}k=k+($copyString($subslice(j,k),$substring(e,l)))>>0;return($bytesToString($subslice(j,0,k)));};$pkg.Replace=BY;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=C.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["path/filepath"]=(function(){var $pkg={},$init,A,B,C,D,E,F,P,AX,AZ,Q,S,U,V,AI,AJ,AK,AO;A=$packages["errors"];B=$packages["os"];C=$packages["runtime"];D=$packages["sort"];E=$packages["strings"];F=$packages["unicode/utf8"];P=$pkg.lazybuf=$newType(0,$kindStruct,"filepath.lazybuf",true,"path/filepath",false,function(path_,buf_,w_,volAndPath_,volLen_){this.$val=this;if(arguments.length===0){this.path="";this.buf=AX.nil;this.w=0;this.volAndPath="";this.volLen=0;return;}this.path=path_;this.buf=buf_;this.w=w_;this.volAndPath=volAndPath_;this.volLen=volLen_;});AX=$sliceType($Uint8);AZ=$ptrType(P);P.ptr.prototype.index=function(a){var $ptr,a,b,c;b=this;if(!(b.buf===AX.nil)){return(c=b.buf,((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]));}return b.path.charCodeAt(a);};P.prototype.index=function(a){return this.$val.index(a);};P.ptr.prototype.append=function(a){var $ptr,a,b,c,d;b=this;if(b.buf===AX.nil){if(b.w<b.path.length&&(b.path.charCodeAt(b.w)===a)){b.w=b.w+(1)>>0;return;}b.buf=$makeSlice(AX,b.path.length);$copyString(b.buf,$substring(b.path,0,b.w));}(c=b.buf,d=b.w,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]=a));b.w=b.w+(1)>>0;};P.prototype.append=function(a){return this.$val.append(a);};P.ptr.prototype.string=function(){var $ptr,a;a=this;if(a.buf===AX.nil){return $substring(a.volAndPath,0,(a.volLen+a.w>>0));}return $substring(a.volAndPath,0,a.volLen)+($bytesToString($subslice(a.buf,0,a.w)));};P.prototype.string=function(){return this.$val.string();};Q=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l;b=a;c=AK(a);a=$substring(a,c);if(a===""){if(c>1&&!((b.charCodeAt(1)===58))){return S(b);}return b+".";}d=B.IsPathSeparator(a.charCodeAt(0));e=a.length;f=new P.ptr(a,AX.nil,0,b,c);g=0;h=0;i=g;j=h;if(d){f.append(47);k=1;l=1;i=k;j=l;}while(true){if(!(i<e)){break;}if(B.IsPathSeparator(a.charCodeAt(i))){i=i+(1)>>0;}else if((a.charCodeAt(i)===46)&&(((i+1>>0)===e)||B.IsPathSeparator(a.charCodeAt((i+1>>0))))){i=i+(1)>>0;}else if((a.charCodeAt(i)===46)&&(a.charCodeAt((i+1>>0))===46)&&(((i+2>>0)===e)||B.IsPathSeparator(a.charCodeAt((i+2>>0))))){i=i+(2)>>0;if(f.w>j){f.w=f.w-(1)>>0;while(true){if(!(f.w>j&&!B.IsPathSeparator(f.index(f.w)))){break;}f.w=f.w-(1)>>0;}}else if(!d){if(f.w>0){f.append(47);}f.append(46);f.append(46);j=f.w;}}else{if(d&&!((f.w===1))||!d&&!((f.w===0))){f.append(47);}while(true){if(!(i<e&&!B.IsPathSeparator(a.charCodeAt(i)))){break;}f.append(a.charCodeAt(i));i=i+(1)>>0;}}}if(f.w===0){f.append(46);}return S(f.string());};$pkg.Clean=Q;S=function(a){var $ptr,a;if(true){return a;}return E.Replace(a,"/","/",-1);};$pkg.FromSlash=S;U=function(a){var $ptr,a,b,c,d,e,f,g;b="";c="";d=AI(a);e=a.length-1>>0;while(true){if(!(e>=d.length&&!B.IsPathSeparator(a.charCodeAt(e)))){break;}e=e-(1)>>0;}f=$substring(a,0,(e+1>>0));g=$substring(a,(e+1>>0));b=f;c=g;return[b,c];};$pkg.Split=U;V=function(a){var $ptr,a;return AO(a);};$pkg.Join=V;AI=function(a){var $ptr,a;return $substring(a,0,AK(a));};$pkg.VolumeName=AI;AJ=function(a){var $ptr,a;return E.HasPrefix(a,"/");};$pkg.IsAbs=AJ;AK=function(a){var $ptr,a;return 0;};AO=function(a){var $ptr,a,b,c,d,e;b=a;c=0;while(true){if(!(c<b.$length)){break;}d=c;e=((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]);if(!(e==="")){return Q(E.Join($subslice(a,d),"/"));}c++;}return"";};AZ.methods=[{prop:"index",name:"index",pkg:"path/filepath",typ:$funcType([$Int],[$Uint8],false)},{prop:"append",name:"append",pkg:"path/filepath",typ:$funcType([$Uint8],[],false)},{prop:"string",name:"string",pkg:"path/filepath",typ:$funcType([],[$String],false)}];P.init("path/filepath",[{prop:"path",name:"path",exported:false,typ:$String,tag:""},{prop:"buf",name:"buf",exported:false,typ:AX,tag:""},{prop:"w",name:"w",exported:false,typ:$Int,tag:""},{prop:"volAndPath",name:"volAndPath",exported:false,typ:$String,tag:""},{prop:"volLen",name:"volLen",exported:false,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$pkg.ErrBadPattern=A.New("syntax error in pattern");$pkg.SkipDir=A.New("skip this directory");}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["go/scanner"]=(function(){var $pkg={},$init,E,A,B,C,F,D,G,H,I,J,K,M,N,O,U,V,W,X,Y,Z,AA,P,Q,R,S,T;E=$packages["bytes"];A=$packages["fmt"];B=$packages["go/token"];C=$packages["io"];F=$packages["path/filepath"];D=$packages["sort"];G=$packages["strconv"];H=$packages["unicode"];I=$packages["unicode/utf8"];J=$pkg.Error=$newType(0,$kindStruct,"scanner.Error",true,"go/scanner",true,function(Pos_,Msg_){this.$val=this;if(arguments.length===0){this.Pos=new B.Position.ptr("",0,0,0);this.Msg="";return;}this.Pos=Pos_;this.Msg=Msg_;});K=$pkg.ErrorList=$newType(12,$kindSlice,"scanner.ErrorList",true,"go/scanner",true,null);M=$pkg.ErrorHandler=$newType(4,$kindFunc,"scanner.ErrorHandler",true,"go/scanner",true,null);N=$pkg.Scanner=$newType(0,$kindStruct,"scanner.Scanner",true,"go/scanner",true,function(file_,dir_,src_,err_,mode_,ch_,offset_,rdOffset_,lineOffset_,insertSemi_,ErrorCount_){this.$val=this;if(arguments.length===0){this.file=Z.nil;this.dir="";this.src=U.nil;this.err=$throwNilPointerError;this.mode=0;this.ch=0;this.offset=0;this.rdOffset=0;this.lineOffset=0;this.insertSemi=false;this.ErrorCount=0;return;}this.file=file_;this.dir=dir_;this.src=src_;this.err=err_;this.mode=mode_;this.ch=ch_;this.offset=offset_;this.rdOffset=rdOffset_;this.lineOffset=lineOffset_;this.insertSemi=insertSemi_;this.ErrorCount=ErrorCount_;});O=$pkg.Mode=$newType(4,$kindUint,"scanner.Mode",true,"go/scanner",true,null);U=$sliceType($Uint8);V=$sliceType($emptyInterface);W=$sliceType($String);X=$ptrType(K);Y=$ptrType(J);Z=$ptrType(B.File);AA=$ptrType(N);J.ptr.prototype.Error=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(!(a.Pos.Filename==="")||a.Pos.IsValid()){$s=1;continue;}$s=2;continue;case 1:b=$clone(a.Pos,B.Position).String();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b+": "+a.Msg;case 2:$s=-1;return a.Msg;}return;}if($f===undefined){$f={$blk:J.ptr.prototype.Error};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};J.prototype.Error=function(){return this.$val.Error();};$ptrType(K).prototype.Add=function(a,b){var $ptr,a,b,c;c=this;c.$set($append(c.$get(),new J.ptr($clone(a,B.Position),b)));};$ptrType(K).prototype.Reset=function(){var $ptr,a;a=this;a.$set($subslice((a.$get()),0,0));};K.prototype.Len=function(){var $ptr,a;a=this;return a.$length;};$ptrType(K).prototype.Len=function(){return this.$get().Len();};K.prototype.Swap=function(a,b){var $ptr,a,b,c,d,e;c=this;d=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);e=((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]);((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]=d);((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]=e);};$ptrType(K).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};K.prototype.Less=function(a,b){var $ptr,a,b,c,d,e;c=this;d=((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).Pos;e=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).Pos;if(!(d.Filename===e.Filename)){return d.Filename<e.Filename;}if(!((d.Line===e.Line))){return d.Line<e.Line;}if(!((d.Column===e.Column))){return d.Column<e.Column;}return((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).Msg<((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).Msg;};$ptrType(K).prototype.Less=function(a,b){return this.$get().Less(a,b);};K.prototype.Sort=function(){var $ptr,a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;$r=D.Sort(a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:K.prototype.Sort};}$f.$ptr=$ptr;$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(K).prototype.Sort=function(){return this.$get().Sort();};$ptrType(K).prototype.RemoveMultiples=function(){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;$r=D.Sort(a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=new B.Position.ptr("",0,0,0);c=0;d=a.$get();e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(!(f.Pos.Filename===b.Filename)||!((f.Pos.Line===b.Line))){B.Position.copy(b,f.Pos);(g=a.$get(),((c<0||c>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+c]=f));c=c+(1)>>0;}e++;}a.$set($subslice((a.$get()),0,c));$s=-1;return;}return;}if($f===undefined){$f={$blk:$ptrType(K).prototype.RemoveMultiples};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};K.prototype.Error=function(){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.$length;if(b===(0)){$s=2;continue;}if(b===(1)){$s=3;continue;}$s=4;continue;case 2:$s=-1;return"no errors";case 3:c=$clone((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),J).Error();$s=5;case 5:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 4:case 1:d=A.Sprintf("%s (and %d more errors)",new V([(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]),new $Int((a.$length-1>>0))]));$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:K.prototype.Error};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(K).prototype.Error=function(){return this.$get().Error();};K.prototype.Err=function(){var $ptr,a;a=this;if(a.$length===0){return $ifaceNil;}return a;};$ptrType(K).prototype.Err=function(){return this.$get().Err();};N.ptr.prototype.next=function(){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.rdOffset<a.src.$length){$s=1;continue;}$s=2;continue;case 1:a.offset=a.rdOffset;if(a.ch===10){a.lineOffset=a.offset;a.file.AddLine(a.offset);}b=(((c=a.src,d=a.rdOffset,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]))>>0));e=1;f=b;g=e;if((f===0)){$s=5;continue;}if(f>=128){$s=6;continue;}$s=7;continue;case 5:$r=a.error(a.offset,"illegal character NUL");$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=7;continue;case 6:h=I.DecodeRune($subslice(a.src,a.rdOffset));f=h[0];g=h[1];if((f===65533)&&(g===1)){$s=9;continue;}if((f===65279)&&a.offset>0){$s=10;continue;}$s=11;continue;case 9:$r=a.error(a.offset,"illegal UTF-8 encoding");$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=11;continue;case 10:$r=a.error(a.offset,"illegal byte order mark");$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 11:case 7:case 4:a.rdOffset=a.rdOffset+(g)>>0;a.ch=f;$s=3;continue;case 2:a.offset=a.src.$length;if(a.ch===10){a.lineOffset=a.offset;a.file.AddLine(a.offset);}a.ch=-1;case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.next};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.next=function(){return this.$val.next();};N.ptr.prototype.Init=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(!((a.Size()===b.$length))){$s=1;continue;}$s=2;continue;case 1:f=A.Sprintf("file size (%d) does not match src len (%d)",new V([new $Int(a.Size()),new $Int(b.$length)]));$s=3;case 3:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$panic(new $String(f));case 2:e.file=a;g=F.Split(a.Name());e.dir=g[0];e.src=b;e.err=c;e.mode=d;e.ch=32;e.offset=0;e.rdOffset=0;e.lineOffset=0;e.insertSemi=false;e.ErrorCount=0;$r=e.next();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(e.ch===65279){$s=5;continue;}$s=6;continue;case 5:$r=e.next();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.Init};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.Init=function(a,b,c,d){return this.$val.Init(a,b,c,d);};N.ptr.prototype.error=function(a,b){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(!(c.err===$throwNilPointerError)){$s=1;continue;}$s=2;continue;case 1:d=c.file.Position(c.file.Pos(a));$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$r=c.err($clone(d,B.Position),b);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:c.ErrorCount=c.ErrorCount+(1)>>0;$s=-1;return;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.error};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.error=function(a,b){return this.$val.error(a,b);};N.ptr.prototype.interpretLineComment=function(a){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(E.HasPrefix(a,P)){$s=1;continue;}$s=2;continue;case 1:c=E.LastIndex(a,new U([58]));if(c>0){$s=3;continue;}$s=4;continue;case 3:d=G.Atoi(($bytesToString($subslice(a,(c+1>>0)))));e=d[0];f=d[1];if($interfaceIsEqual(f,$ifaceNil)&&e>0){$s=5;continue;}$s=6;continue;case 5:g=E.TrimSpace($subslice(a,P.$length,c));$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=($bytesToString(g));if(!(h==="")){h=F.Clean(h);if(!F.IsAbs(h)){h=F.Join(new W([b.dir,h]));}}b.file.AddLineInfo((b.lineOffset+a.$length>>0)+1>>0,h,e);case 6:case 4:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.interpretLineComment};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.interpretLineComment=function(a){return this.$val.interpretLineComment(a);};N.ptr.prototype.scanComment=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.offset-1>>0;c=false;if(a.ch===47){$s=1;continue;}$s=2;continue;case 1:$r=a.next();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:if(!(!((a.ch===10))&&a.ch>=0)){$s=5;continue;}if(a.ch===13){c=true;}$r=a.next();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=4;continue;case 5:if(b===a.lineOffset){$s=7;continue;}$s=8;continue;case 7:$r=a.interpretLineComment($subslice(a.src,b,a.offset));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:$s=10;continue;case 2:$r=a.next();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 12:if(!(a.ch>=0)){$s=13;continue;}d=a.ch;if(d===13){c=true;}$r=a.next();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if((d===42)&&(a.ch===47)){$s=15;continue;}$s=16;continue;case 15:$r=a.next();$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=10;continue;case 16:$s=12;continue;case 13:$r=a.error(b,"comment not terminated");$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:e=$subslice(a.src,b,a.offset);if(c){e=T(e);}$s=-1;return($bytesToString(e));}return;}if($f===undefined){$f={$blk:N.ptr.prototype.scanComment};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.scanComment=function(){return this.$val.scanComment();};N.ptr.prototype.findLineEnd=function(){var $ptr,a,b,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=[a];a[0]=this;$deferred.push([(function(a){return function $b(b){var $ptr,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a[0].ch=47;a[0].offset=b;a[0].rdOffset=b+1>>0;$r=a[0].next();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};})(a),[a[0].offset-1>>0]]);case 1:if(!((a[0].ch===47)||(a[0].ch===42))){$s=2;continue;}if(a[0].ch===47){$s=-1;return true;}$r=a[0].next();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:if(!(a[0].ch>=0)){$s=5;continue;}b=a[0].ch;if(b===10){$s=-1;return true;}$r=a[0].next();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if((b===42)&&(a[0].ch===47)){$s=7;continue;}$s=8;continue;case 7:$r=a[0].next();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 8:$s=4;continue;case 5:$r=a[0].skipWhitespace();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(a[0].ch<0||(a[0].ch===10)){$s=-1;return true;}if(!((a[0].ch===47))){$s=-1;return false;}$r=a[0].next();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:$s=-1;return false;}return;}}catch(err){$err=err;$s=-1;return false;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:N.ptr.prototype.findLineEnd};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};N.prototype.findLineEnd=function(){return this.$val.findLineEnd();};Q=function(a){var $ptr,a;return 97<=a&&a<=122||65<=a&&a<=90||(a===95)||a>=128&&H.IsLetter(a);};R=function(a){var $ptr,a;return 48<=a&&a<=57||a>=128&&H.IsDigit(a);};N.ptr.prototype.scanIdentifier=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.offset;case 1:if(!(Q(a.ch)||R(a.ch))){$s=2;continue;}$r=a.next();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:$s=-1;return($bytesToString($subslice(a.src,b,a.offset)));}return;}if($f===undefined){$f={$blk:N.ptr.prototype.scanIdentifier};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.scanIdentifier=function(){return this.$val.scanIdentifier();};S=function(a){var $ptr,a;if(48<=a&&a<=57){return(((a-48>>0)>>0));}else if(97<=a&&a<=102){return((((a-97>>0)+10>>0)>>0));}else if(65<=a&&a<=70){return((((a-65>>0)+10>>0)>>0));}return 16;};N.ptr.prototype.scanMantissa=function(a){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;case 1:if(!(S(b.ch)<a)){$s=2;continue;}$r=b.next();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.scanMantissa};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.scanMantissa=function(a){return this.$val.scanMantissa(a);};N.ptr.prototype.scanNumber=function(a){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.offset;d=5;if(a){$s=1;continue;}$s=2;continue;case 1:c=c-(1)>>0;d=6;$r=b.scanMantissa(10);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=4;continue;case 2:if(b.ch===48){$s=5;continue;}$s=6;continue;case 5:e=b.offset;$r=b.next();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if((b.ch===120)||(b.ch===88)){$s=8;continue;}$s=9;continue;case 8:$r=b.next();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.scanMantissa(16);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if((b.offset-e>>0)<=2){$s=13;continue;}$s=14;continue;case 13:$r=b.error(e,"illegal hexadecimal number");$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 14:$s=10;continue;case 9:f=false;$r=b.scanMantissa(8);$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if((b.ch===56)||(b.ch===57)){$s=17;continue;}$s=18;continue;case 17:f=true;$r=b.scanMantissa(10);$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 18:if((b.ch===46)||(b.ch===101)||(b.ch===69)||(b.ch===105)){$s=20;continue;}$s=21;continue;case 20:$s=22;continue;case 21:if(f){$s=23;continue;}$s=24;continue;case 23:$r=b.error(e,"illegal octal number");$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 24:case 10:$s=26;continue;case 6:$r=b.scanMantissa(10);$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 22:if(b.ch===46){$s=28;continue;}$s=29;continue;case 28:d=6;$r=b.next();$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.scanMantissa(10);$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 29:case 4:if((b.ch===101)||(b.ch===69)){$s=32;continue;}$s=33;continue;case 32:d=6;$r=b.next();$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if((b.ch===45)||(b.ch===43)){$s=35;continue;}$s=36;continue;case 35:$r=b.next();$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 36:if(S(b.ch)<10){$s=38;continue;}$s=39;continue;case 38:$r=b.scanMantissa(10);$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=40;continue;case 39:$r=b.error(c,"illegal floating-point exponent");$s=42;case 42:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 40:case 33:if(b.ch===105){$s=43;continue;}$s=44;continue;case 43:d=7;$r=b.next();$s=45;case 45:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 44:case 26:$s=-1;return[d,($bytesToString($subslice(b.src,c,b.offset)))];$s=-1;return[0,""];}return;}if($f===undefined){$f={$blk:N.ptr.prototype.scanNumber};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.scanNumber=function(a){return this.$val.scanNumber(a);};N.ptr.prototype.scanEscape=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.offset;d=0;e=0;f=0;g=e;h=f;i=b.ch;if((i===(97))||(i===(98))||(i===(102))||(i===(110))||(i===(114))||(i===(116))||(i===(118))||(i===(92))||(i===(a))){$s=2;continue;}if((i===(48))||(i===(49))||(i===(50))||(i===(51))||(i===(52))||(i===(53))||(i===(54))||(i===(55))){$s=3;continue;}if(i===(120)){$s=4;continue;}if(i===(117)){$s=5;continue;}if(i===(85)){$s=6;continue;}$s=7;continue;case 2:$r=b.next();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return true;case 3:j=3;k=8;l=255;d=j;g=k;h=l;$s=8;continue;case 4:$r=b.next();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=2;n=16;o=255;d=m;g=n;h=o;$s=8;continue;case 5:$r=b.next();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=4;q=16;r=1114111;d=p;g=q;h=r;$s=8;continue;case 6:$r=b.next();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}s=8;t=16;u=1114111;d=s;g=t;h=u;$s=8;continue;case 7:v="unknown escape sequence";if(b.ch<0){v="escape sequence not terminated";}$r=b.error(c,v);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return false;case 8:case 1:w=0;case 14:if(!(d>0)){$s=15;continue;}x=((S(b.ch)>>>0));if(x>=g){$s=16;continue;}$s=17;continue;case 16:y=A.Sprintf("illegal character %#U in escape sequence",new V([new $Int32(b.ch)]));$s=18;case 18:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;if(b.ch<0){z="escape sequence not terminated";}$r=b.error(b.offset,z);$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return false;case 17:w=($imul(w,g)>>>0)+x>>>0;$r=b.next();$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=d-(1)>>0;$s=14;continue;case 15:if(w>h||55296<=w&&w<57344){$s=21;continue;}$s=22;continue;case 21:$r=b.error(c,"escape sequence is invalid Unicode code point");$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return false;case 22:$s=-1;return true;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.scanEscape};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.scanEscape=function(a){return this.$val.scanEscape(a);};N.ptr.prototype.scanRune=function(){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.offset-1>>0;c=true;d=0;case 1:e=a.ch;if((e===10)||e<0){$s=3;continue;}$s=4;continue;case 3:if(c){$s=5;continue;}$s=6;continue;case 5:$r=a.error(b,"rune literal not terminated");$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=false;case 6:$s=2;continue;case 4:$r=a.next();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(e===39){$s=2;continue;}d=d+(1)>>0;if(e===92){$s=9;continue;}$s=10;continue;case 9:f=a.scanEscape(39);$s=13;case 13:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(!f){$s=11;continue;}$s=12;continue;case 11:c=false;case 12:case 10:$s=1;continue;case 2:if(c&&!((d===1))){$s=14;continue;}$s=15;continue;case 14:$r=a.error(b,"illegal rune literal");$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 15:$s=-1;return($bytesToString($subslice(a.src,b,a.offset)));}return;}if($f===undefined){$f={$blk:N.ptr.prototype.scanRune};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.scanRune=function(){return this.$val.scanRune();};N.ptr.prototype.scanString=function(){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.offset-1>>0;case 1:c=a.ch;if((c===10)||c<0){$s=3;continue;}$s=4;continue;case 3:$r=a.error(b,"string literal not terminated");$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=2;continue;case 4:$r=a.next();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(c===34){$s=2;continue;}if(c===92){$s=7;continue;}$s=8;continue;case 7:d=a.scanEscape(34);$s=9;case 9:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;case 8:$s=1;continue;case 2:$s=-1;return($bytesToString($subslice(a.src,b,a.offset)));}return;}if($f===undefined){$f={$blk:N.ptr.prototype.scanString};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.scanString=function(){return this.$val.scanString();};T=function(a){var $ptr,a,b,c,d,e,f;b=$makeSlice(U,a.$length);c=0;d=a;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(!((f===13))){((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]=f);c=c+(1)>>0;}e++;}return $subslice(b,0,c);};N.ptr.prototype.scanRawString=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.offset-1>>0;c=false;case 1:d=a.ch;if(d<0){$s=3;continue;}$s=4;continue;case 3:$r=a.error(b,"raw string literal not terminated");$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=2;continue;case 4:$r=a.next();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(d===96){$s=2;continue;}if(d===13){c=true;}$s=1;continue;case 2:e=$subslice(a.src,b,a.offset);if(c){e=T(e);}$s=-1;return($bytesToString(e));}return;}if($f===undefined){$f={$blk:N.ptr.prototype.scanRawString};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.scanRawString=function(){return this.$val.scanRawString();};N.ptr.prototype.skipWhitespace=function(){var $ptr,a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:if(!((a.ch===32)||(a.ch===9)||(a.ch===10)&&!a.insertSemi||(a.ch===13))){$s=2;continue;}$r=a.next();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.skipWhitespace};}$f.$ptr=$ptr;$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.skipWhitespace=function(){return this.$val.skipWhitespace();};N.ptr.prototype.switch2=function(a,b){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c.ch===61){$s=1;continue;}$s=2;continue;case 1:$r=c.next();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return b;case 2:$s=-1;return a;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.switch2};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.switch2=function(a,b){return this.$val.switch2(a,b);};N.ptr.prototype.switch3=function(a,b,c,d){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;if(e.ch===61){$s=1;continue;}$s=2;continue;case 1:$r=e.next();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return b;case 2:if(e.ch===c){$s=4;continue;}$s=5;continue;case 4:$r=e.next();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return d;case 5:$s=-1;return a;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.switch3};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.switch3=function(a,b,c,d){return this.$val.switch3(a,b,c,d);};N.ptr.prototype.switch4=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;if(f.ch===61){$s=1;continue;}$s=2;continue;case 1:$r=f.next();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return b;case 2:if(f.ch===c){$s=4;continue;}$s=5;continue;case 4:$r=f.next();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(f.ch===61){$s=7;continue;}$s=8;continue;case 7:$r=f.next();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return e;case 8:$s=-1;return d;case 5:$s=-1;return a;}return;}if($f===undefined){$f={$blk:N.ptr.prototype.switch4};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.switch4=function(a,b,c,d,e){return this.$val.switch4(a,b,c,d,e);};N.ptr.prototype.Scan=function(){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=0;b=0;c="";d=this;case 1:$r=d.skipWhitespace();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a=d.file.Pos(d.offset);e=false;f=d.ch;if(Q(f)){$s=4;continue;}if(48<=f&&f<=57){$s=5;continue;}$s=6;continue;case 4:g=d.scanIdentifier();$s=8;case 8:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}c=g;if(c.length>1){b=B.Lookup(c);h=b;if((h===(4))||(h===(61))||(h===(65))||(h===(69))||(h===(80))){e=true;}}else{e=true;b=4;}$s=7;continue;case 5:e=true;j=d.scanNumber(false);$s=9;case 9:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;b=i[0];c=i[1];$s=7;continue;case 6:$r=d.next();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=f;if(k===(-1)){$s=12;continue;}if(k===(10)){$s=13;continue;}if(k===(34)){$s=14;continue;}if(k===(39)){$s=15;continue;}if(k===(96)){$s=16;continue;}if(k===(58)){$s=17;continue;}if(k===(46)){$s=18;continue;}if(k===(44)){$s=19;continue;}if(k===(59)){$s=20;continue;}if(k===(40)){$s=21;continue;}if(k===(41)){$s=22;continue;}if(k===(91)){$s=23;continue;}if(k===(93)){$s=24;continue;}if(k===(123)){$s=25;continue;}if(k===(125)){$s=26;continue;}if(k===(43)){$s=27;continue;}if(k===(45)){$s=28;continue;}if(k===(42)){$s=29;continue;}if(k===(47)){$s=30;continue;}if(k===(37)){$s=31;continue;}if(k===(94)){$s=32;continue;}if(k===(60)){$s=33;continue;}if(k===(62)){$s=34;continue;}if(k===(61)){$s=35;continue;}if(k===(33)){$s=36;continue;}if(k===(38)){$s=37;continue;}if(k===(124)){$s=38;continue;}$s=39;continue;case 12:if(d.insertSemi){d.insertSemi=false;l=a;m=57;n="\n";a=l;b=m;c=n;$s=-1;return[a,b,c];}b=1;$s=40;continue;case 13:d.insertSemi=false;o=a;p=57;q="\n";a=o;b=p;c=q;$s=-1;return[a,b,c];case 14:e=true;b=9;r=d.scanString();$s=41;case 41:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}c=r;$s=40;continue;case 15:e=true;b=8;s=d.scanRune();$s=42;case 42:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}c=s;$s=40;continue;case 16:e=true;b=9;t=d.scanRawString();$s=43;case 43:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}c=t;$s=40;continue;case 17:u=d.switch2(58,47);$s=44;case 44:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}b=u;$s=40;continue;case 18:if(48<=d.ch&&d.ch<=57){$s=45;continue;}if(d.ch===46){$s=46;continue;}$s=47;continue;case 45:e=true;w=d.scanNumber(true);$s=49;case 49:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;b=v[0];c=v[1];$s=48;continue;case 46:$r=d.next();$s=50;case 50:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(d.ch===46){$s=51;continue;}$s=52;continue;case 51:$r=d.next();$s=53;case 53:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=48;case 52:$s=48;continue;case 47:b=53;case 48:$s=40;continue;case 19:b=52;$s=40;continue;case 20:b=57;c=";";$s=40;continue;case 21:b=49;$s=40;continue;case 22:e=true;b=54;$s=40;continue;case 23:b=50;$s=40;continue;case 24:e=true;b=55;$s=40;continue;case 25:b=51;$s=40;continue;case 26:e=true;b=56;$s=40;continue;case 27:x=d.switch3(12,23,43,37);$s=54;case 54:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}b=x;if(b===37){e=true;}$s=40;continue;case 28:y=d.switch3(13,24,45,38);$s=55;case 55:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}b=y;if(b===38){e=true;}$s=40;continue;case 29:z=d.switch2(14,25);$s=56;case 56:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}b=z;$s=40;continue;case 30:if((d.ch===47)||(d.ch===42)){$s=57;continue;}$s=58;continue;case 57:if(!(d.insertSemi)){aa=false;$s=62;continue s;}ab=d.findLineEnd();$s=63;case 63:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;case 62:if(aa){$s=60;continue;}$s=61;continue;case 60:d.ch=47;d.offset=d.file.Offset(a);d.rdOffset=d.offset+1>>0;d.insertSemi=false;ac=a;ad=57;ae="\n";a=ac;b=ad;c=ae;$s=-1;return[a,b,c];case 61:af=d.scanComment();$s=64;case 64:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af;if(((d.mode&1)>>>0)===0){$s=65;continue;}$s=66;continue;case 65:d.insertSemi=false;$s=1;continue;case 66:b=2;c=ag;$s=59;continue;case 58:ah=d.switch2(15,26);$s=67;case 67:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}b=ah;case 59:$s=40;continue;case 31:ai=d.switch2(16,27);$s=68;case 68:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}b=ai;$s=40;continue;case 32:aj=d.switch2(19,30);$s=69;case 69:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}b=aj;$s=40;continue;case 33:if(d.ch===45){$s=70;continue;}$s=71;continue;case 70:$r=d.next();$s=73;case 73:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=36;$s=72;continue;case 71:ak=d.switch4(40,45,60,20,31);$s=74;case 74:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}b=ak;case 72:$s=40;continue;case 34:al=d.switch4(41,46,62,21,32);$s=75;case 75:if($c){$c=false;al=al.$blk();}if(al&&al.$blk!==undefined){break s;}b=al;$s=40;continue;case 35:am=d.switch2(42,39);$s=76;case 76:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}b=am;$s=40;continue;case 36:an=d.switch2(43,44);$s=77;case 77:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}b=an;$s=40;continue;case 37:if(d.ch===94){$s=78;continue;}$s=79;continue;case 78:$r=d.next();$s=81;case 81:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ao=d.switch2(22,33);$s=82;case 82:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}b=ao;$s=80;continue;case 79:ap=d.switch3(17,28,38,34);$s=83;case 83:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}b=ap;case 80:$s=40;continue;case 38:aq=d.switch3(18,29,124,35);$s=84;case 84:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}b=aq;$s=40;continue;case 39:if(!((f===65279))){$s=85;continue;}$s=86;continue;case 85:ar=d.file.Offset(a);as=A.Sprintf("illegal character %#U",new V([new $Int32(f)]));$s=87;case 87:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}at=as;$r=d.error(ar,at);$s=88;case 88:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 86:e=d.insertSemi;b=0;c=($encodeRune(f));case 40:case 11:case 7:case 3:if(((d.mode&2)>>>0)===0){d.insertSemi=e;}$s=-1;return[a,b,c];}return;}if($f===undefined){$f={$blk:N.ptr.prototype.Scan};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};N.prototype.Scan=function(){return this.$val.Scan();};J.methods=[{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)}];K.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)},{prop:"Sort",name:"Sort",pkg:"",typ:$funcType([],[],false)},{prop:"Error",name:"Error",pkg:"",typ:$funcType([],[$String],false)},{prop:"Err",name:"Err",pkg:"",typ:$funcType([],[$error],false)}];X.methods=[{prop:"Add",name:"Add",pkg:"",typ:$funcType([B.Position,$String],[],false)},{prop:"Reset",name:"Reset",pkg:"",typ:$funcType([],[],false)},{prop:"RemoveMultiples",name:"RemoveMultiples",pkg:"",typ:$funcType([],[],false)}];AA.methods=[{prop:"next",name:"next",pkg:"go/scanner",typ:$funcType([],[],false)},{prop:"Init",name:"Init",pkg:"",typ:$funcType([Z,U,M,O],[],false)},{prop:"error",name:"error",pkg:"go/scanner",typ:$funcType([$Int,$String],[],false)},{prop:"interpretLineComment",name:"interpretLineComment",pkg:"go/scanner",typ:$funcType([U],[],false)},{prop:"scanComment",name:"scanComment",pkg:"go/scanner",typ:$funcType([],[$String],false)},{prop:"findLineEnd",name:"findLineEnd",pkg:"go/scanner",typ:$funcType([],[$Bool],false)},{prop:"scanIdentifier",name:"scanIdentifier",pkg:"go/scanner",typ:$funcType([],[$String],false)},{prop:"scanMantissa",name:"scanMantissa",pkg:"go/scanner",typ:$funcType([$Int],[],false)},{prop:"scanNumber",name:"scanNumber",pkg:"go/scanner",typ:$funcType([$Bool],[B.Token,$String],false)},{prop:"scanEscape",name:"scanEscape",pkg:"go/scanner",typ:$funcType([$Int32],[$Bool],false)},{prop:"scanRune",name:"scanRune",pkg:"go/scanner",typ:$funcType([],[$String],false)},{prop:"scanString",name:"scanString",pkg:"go/scanner",typ:$funcType([],[$String],false)},{prop:"scanRawString",name:"scanRawString",pkg:"go/scanner",typ:$funcType([],[$String],false)},{prop:"skipWhitespace",name:"skipWhitespace",pkg:"go/scanner",typ:$funcType([],[],false)},{prop:"switch2",name:"switch2",pkg:"go/scanner",typ:$funcType([B.Token,B.Token],[B.Token],false)},{prop:"switch3",name:"switch3",pkg:"go/scanner",typ:$funcType([B.Token,B.Token,$Int32,B.Token],[B.Token],false)},{prop:"switch4",name:"switch4",pkg:"go/scanner",typ:$funcType([B.Token,B.Token,$Int32,B.Token,B.Token],[B.Token],false)},{prop:"Scan",name:"Scan",pkg:"",typ:$funcType([],[B.Pos,B.Token,$String],false)}];J.init("",[{prop:"Pos",name:"Pos",exported:true,typ:B.Position,tag:""},{prop:"Msg",name:"Msg",exported:true,typ:$String,tag:""}]);K.init(Y);M.init([B.Position,$String],[],false);N.init("go/scanner",[{prop:"file",name:"file",exported:false,typ:Z,tag:""},{prop:"dir",name:"dir",exported:false,typ:$String,tag:""},{prop:"src",name:"src",exported:false,typ:U,tag:""},{prop:"err",name:"err",exported:false,typ:M,tag:""},{prop:"mode",name:"mode",exported:false,typ:O,tag:""},{prop:"ch",name:"ch",exported:false,typ:$Int32,tag:""},{prop:"offset",name:"offset",exported:false,typ:$Int,tag:""},{prop:"rdOffset",name:"rdOffset",exported:false,typ:$Int,tag:""},{prop:"lineOffset",name:"lineOffset",exported:false,typ:$Int,tag:""},{prop:"insertSemi",name:"insertSemi",exported:false,typ:$Bool,tag:""},{prop:"ErrorCount",name:"ErrorCount",exported:true,typ:$Int,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=E.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}P=(new U($stringToBytes("//line ")));}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["go/ast"]=(function(){var $pkg={},$init,E,F,L,A,I,J,K,G,H,B,C,D,M,N,O,P,Q,R,U,V,W,X,Y,Z,AA,AB,AC,AD,AE,AF,AG,AH,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,DI,DK,DL,DY,EA,EC,EE,EK,EM,EN,EO,EP,EQ,ER,ES,ET,EU,EW,EZ,FA,FB,FC,FD,FE,FF,FG,FH,FI,FJ,FK,FL,FM,FN,FO,FP,FQ,FR,FS,FT,FU,FV,FX,FY,FZ,GA,GB,GC,GD,GE,GF,GG,GH,GI,GJ,GK,GL,GM,GN,GO,GP,GQ,GR,GS,GT,GU,GV,GW,GX,GY,GZ,HA,HB,HC,HD,HE,HF,HG,HH,HI,HJ,HK,ED,S,T,AU,DD,DE,DF,DG,DH,DJ,DZ,EB,EF,EG,EH,EI,EJ,EL;E=$packages["bytes"];F=$packages["fmt"];L=$packages["go/scanner"];A=$packages["go/token"];I=$packages["io"];J=$packages["os"];K=$packages["reflect"];G=$packages["sort"];H=$packages["strconv"];B=$packages["strings"];C=$packages["unicode"];D=$packages["unicode/utf8"];M=$pkg.Node=$newType(8,$kindInterface,"ast.Node",true,"go/ast",true,null);N=$pkg.Expr=$newType(8,$kindInterface,"ast.Expr",true,"go/ast",true,null);O=$pkg.Stmt=$newType(8,$kindInterface,"ast.Stmt",true,"go/ast",true,null);P=$pkg.Decl=$newType(8,$kindInterface,"ast.Decl",true,"go/ast",true,null);Q=$pkg.Comment=$newType(0,$kindStruct,"ast.Comment",true,"go/ast",true,function(Slash_,Text_){this.$val=this;if(arguments.length===0){this.Slash=0;this.Text="";return;}this.Slash=Slash_;this.Text=Text_;});R=$pkg.CommentGroup=$newType(0,$kindStruct,"ast.CommentGroup",true,"go/ast",true,function(List_){this.$val=this;if(arguments.length===0){this.List=FQ.nil;return;}this.List=List_;});U=$pkg.Field=$newType(0,$kindStruct,"ast.Field",true,"go/ast",true,function(Doc_,Names_,Type_,Tag_,Comment_){this.$val=this;if(arguments.length===0){this.Doc=EN.nil;this.Names=FU.nil;this.Type=$ifaceNil;this.Tag=EP.nil;this.Comment=EN.nil;return;}this.Doc=Doc_;this.Names=Names_;this.Type=Type_;this.Tag=Tag_;this.Comment=Comment_;});V=$pkg.FieldList=$newType(0,$kindStruct,"ast.FieldList",true,"go/ast",true,function(Opening_,List_,Closing_){this.$val=this;if(arguments.length===0){this.Opening=0;this.List=HF.nil;this.Closing=0;return;}this.Opening=Opening_;this.List=List_;this.Closing=Closing_;});W=$pkg.BadExpr=$newType(0,$kindStruct,"ast.BadExpr",true,"go/ast",true,function(From_,To_){this.$val=this;if(arguments.length===0){this.From=0;this.To=0;return;}this.From=From_;this.To=To_;});X=$pkg.Ident=$newType(0,$kindStruct,"ast.Ident",true,"go/ast",true,function(NamePos_,Name_,Obj_){this.$val=this;if(arguments.length===0){this.NamePos=0;this.Name="";this.Obj=ER.nil;return;}this.NamePos=NamePos_;this.Name=Name_;this.Obj=Obj_;});Y=$pkg.Ellipsis=$newType(0,$kindStruct,"ast.Ellipsis",true,"go/ast",true,function(Ellipsis_,Elt_){this.$val=this;if(arguments.length===0){this.Ellipsis=0;this.Elt=$ifaceNil;return;}this.Ellipsis=Ellipsis_;this.Elt=Elt_;});Z=$pkg.BasicLit=$newType(0,$kindStruct,"ast.BasicLit",true,"go/ast",true,function(ValuePos_,Kind_,Value_){this.$val=this;if(arguments.length===0){this.ValuePos=0;this.Kind=0;this.Value="";return;}this.ValuePos=ValuePos_;this.Kind=Kind_;this.Value=Value_;});AA=$pkg.FuncLit=$newType(0,$kindStruct,"ast.FuncLit",true,"go/ast",true,function(Type_,Body_){this.$val=this;if(arguments.length===0){this.Type=FI.nil;this.Body=ET.nil;return;}this.Type=Type_;this.Body=Body_;});AB=$pkg.CompositeLit=$newType(0,$kindStruct,"ast.CompositeLit",true,"go/ast",true,function(Type_,Lbrace_,Elts_,Rbrace_){this.$val=this;if(arguments.length===0){this.Type=$ifaceNil;this.Lbrace=0;this.Elts=HG.nil;this.Rbrace=0;return;}this.Type=Type_;this.Lbrace=Lbrace_;this.Elts=Elts_;this.Rbrace=Rbrace_;});AC=$pkg.ParenExpr=$newType(0,$kindStruct,"ast.ParenExpr",true,"go/ast",true,function(Lparen_,X_,Rparen_){this.$val=this;if(arguments.length===0){this.Lparen=0;this.X=$ifaceNil;this.Rparen=0;return;}this.Lparen=Lparen_;this.X=X_;this.Rparen=Rparen_;});AD=$pkg.SelectorExpr=$newType(0,$kindStruct,"ast.SelectorExpr",true,"go/ast",true,function(X_,Sel_){this.$val=this;if(arguments.length===0){this.X=$ifaceNil;this.Sel=ES.nil;return;}this.X=X_;this.Sel=Sel_;});AE=$pkg.IndexExpr=$newType(0,$kindStruct,"ast.IndexExpr",true,"go/ast",true,function(X_,Lbrack_,Index_,Rbrack_){this.$val=this;if(arguments.length===0){this.X=$ifaceNil;this.Lbrack=0;this.Index=$ifaceNil;this.Rbrack=0;return;}this.X=X_;this.Lbrack=Lbrack_;this.Index=Index_;this.Rbrack=Rbrack_;});AF=$pkg.SliceExpr=$newType(0,$kindStruct,"ast.SliceExpr",true,"go/ast",true,function(X_,Lbrack_,Low_,High_,Max_,Slice3_,Rbrack_){this.$val=this;if(arguments.length===0){this.X=$ifaceNil;this.Lbrack=0;this.Low=$ifaceNil;this.High=$ifaceNil;this.Max=$ifaceNil;this.Slice3=false;this.Rbrack=0;return;}this.X=X_;this.Lbrack=Lbrack_;this.Low=Low_;this.High=High_;this.Max=Max_;this.Slice3=Slice3_;this.Rbrack=Rbrack_;});AG=$pkg.TypeAssertExpr=$newType(0,$kindStruct,"ast.TypeAssertExpr",true,"go/ast",true,function(X_,Lparen_,Type_,Rparen_){this.$val=this;if(arguments.length===0){this.X=$ifaceNil;this.Lparen=0;this.Type=$ifaceNil;this.Rparen=0;return;}this.X=X_;this.Lparen=Lparen_;this.Type=Type_;this.Rparen=Rparen_;});AH=$pkg.CallExpr=$newType(0,$kindStruct,"ast.CallExpr",true,"go/ast",true,function(Fun_,Lparen_,Args_,Ellipsis_,Rparen_){this.$val=this;if(arguments.length===0){this.Fun=$ifaceNil;this.Lparen=0;this.Args=HG.nil;this.Ellipsis=0;this.Rparen=0;return;}this.Fun=Fun_;this.Lparen=Lparen_;this.Args=Args_;this.Ellipsis=Ellipsis_;this.Rparen=Rparen_;});AI=$pkg.StarExpr=$newType(0,$kindStruct,"ast.StarExpr",true,"go/ast",true,function(Star_,X_){this.$val=this;if(arguments.length===0){this.Star=0;this.X=$ifaceNil;return;}this.Star=Star_;this.X=X_;});AJ=$pkg.UnaryExpr=$newType(0,$kindStruct,"ast.UnaryExpr",true,"go/ast",true,function(OpPos_,Op_,X_){this.$val=this;if(arguments.length===0){this.OpPos=0;this.Op=0;this.X=$ifaceNil;return;}this.OpPos=OpPos_;this.Op=Op_;this.X=X_;});AK=$pkg.BinaryExpr=$newType(0,$kindStruct,"ast.BinaryExpr",true,"go/ast",true,function(X_,OpPos_,Op_,Y_){this.$val=this;if(arguments.length===0){this.X=$ifaceNil;this.OpPos=0;this.Op=0;this.Y=$ifaceNil;return;}this.X=X_;this.OpPos=OpPos_;this.Op=Op_;this.Y=Y_;});AL=$pkg.KeyValueExpr=$newType(0,$kindStruct,"ast.KeyValueExpr",true,"go/ast",true,function(Key_,Colon_,Value_){this.$val=this;if(arguments.length===0){this.Key=$ifaceNil;this.Colon=0;this.Value=$ifaceNil;return;}this.Key=Key_;this.Colon=Colon_;this.Value=Value_;});AM=$pkg.ChanDir=$newType(4,$kindInt,"ast.ChanDir",true,"go/ast",true,null);AN=$pkg.ArrayType=$newType(0,$kindStruct,"ast.ArrayType",true,"go/ast",true,function(Lbrack_,Len_,Elt_){this.$val=this;if(arguments.length===0){this.Lbrack=0;this.Len=$ifaceNil;this.Elt=$ifaceNil;return;}this.Lbrack=Lbrack_;this.Len=Len_;this.Elt=Elt_;});AO=$pkg.StructType=$newType(0,$kindStruct,"ast.StructType",true,"go/ast",true,function(Struct_,Fields_,Incomplete_){this.$val=this;if(arguments.length===0){this.Struct=0;this.Fields=EQ.nil;this.Incomplete=false;return;}this.Struct=Struct_;this.Fields=Fields_;this.Incomplete=Incomplete_;});AP=$pkg.FuncType=$newType(0,$kindStruct,"ast.FuncType",true,"go/ast",true,function(Func_,Params_,Results_){this.$val=this;if(arguments.length===0){this.Func=0;this.Params=EQ.nil;this.Results=EQ.nil;return;}this.Func=Func_;this.Params=Params_;this.Results=Results_;});AQ=$pkg.InterfaceType=$newType(0,$kindStruct,"ast.InterfaceType",true,"go/ast",true,function(Interface_,Methods_,Incomplete_){this.$val=this;if(arguments.length===0){this.Interface=0;this.Methods=EQ.nil;this.Incomplete=false;return;}this.Interface=Interface_;this.Methods=Methods_;this.Incomplete=Incomplete_;});AR=$pkg.MapType=$newType(0,$kindStruct,"ast.MapType",true,"go/ast",true,function(Map_,Key_,Value_){this.$val=this;if(arguments.length===0){this.Map=0;this.Key=$ifaceNil;this.Value=$ifaceNil;return;}this.Map=Map_;this.Key=Key_;this.Value=Value_;});AS=$pkg.ChanType=$newType(0,$kindStruct,"ast.ChanType",true,"go/ast",true,function(Begin_,Arrow_,Dir_,Value_){this.$val=this;if(arguments.length===0){this.Begin=0;this.Arrow=0;this.Dir=0;this.Value=$ifaceNil;return;}this.Begin=Begin_;this.Arrow=Arrow_;this.Dir=Dir_;this.Value=Value_;});AV=$pkg.BadStmt=$newType(0,$kindStruct,"ast.BadStmt",true,"go/ast",true,function(From_,To_){this.$val=this;if(arguments.length===0){this.From=0;this.To=0;return;}this.From=From_;this.To=To_;});AW=$pkg.DeclStmt=$newType(0,$kindStruct,"ast.DeclStmt",true,"go/ast",true,function(Decl_){this.$val=this;if(arguments.length===0){this.Decl=$ifaceNil;return;}this.Decl=Decl_;});AX=$pkg.EmptyStmt=$newType(0,$kindStruct,"ast.EmptyStmt",true,"go/ast",true,function(Semicolon_,Implicit_){this.$val=this;if(arguments.length===0){this.Semicolon=0;this.Implicit=false;return;}this.Semicolon=Semicolon_;this.Implicit=Implicit_;});AY=$pkg.LabeledStmt=$newType(0,$kindStruct,"ast.LabeledStmt",true,"go/ast",true,function(Label_,Colon_,Stmt_){this.$val=this;if(arguments.length===0){this.Label=ES.nil;this.Colon=0;this.Stmt=$ifaceNil;return;}this.Label=Label_;this.Colon=Colon_;this.Stmt=Stmt_;});AZ=$pkg.ExprStmt=$newType(0,$kindStruct,"ast.ExprStmt",true,"go/ast",true,function(X_){this.$val=this;if(arguments.length===0){this.X=$ifaceNil;return;}this.X=X_;});BA=$pkg.SendStmt=$newType(0,$kindStruct,"ast.SendStmt",true,"go/ast",true,function(Chan_,Arrow_,Value_){this.$val=this;if(arguments.length===0){this.Chan=$ifaceNil;this.Arrow=0;this.Value=$ifaceNil;return;}this.Chan=Chan_;this.Arrow=Arrow_;this.Value=Value_;});BB=$pkg.IncDecStmt=$newType(0,$kindStruct,"ast.IncDecStmt",true,"go/ast",true,function(X_,TokPos_,Tok_){this.$val=this;if(arguments.length===0){this.X=$ifaceNil;this.TokPos=0;this.Tok=0;return;}this.X=X_;this.TokPos=TokPos_;this.Tok=Tok_;});BC=$pkg.AssignStmt=$newType(0,$kindStruct,"ast.AssignStmt",true,"go/ast",true,function(Lhs_,TokPos_,Tok_,Rhs_){this.$val=this;if(arguments.length===0){this.Lhs=HG.nil;this.TokPos=0;this.Tok=0;this.Rhs=HG.nil;return;}this.Lhs=Lhs_;this.TokPos=TokPos_;this.Tok=Tok_;this.Rhs=Rhs_;});BD=$pkg.GoStmt=$newType(0,$kindStruct,"ast.GoStmt",true,"go/ast",true,function(Go_,Call_){this.$val=this;if(arguments.length===0){this.Go=0;this.Call=GH.nil;return;}this.Go=Go_;this.Call=Call_;});BE=$pkg.DeferStmt=$newType(0,$kindStruct,"ast.DeferStmt",true,"go/ast",true,function(Defer_,Call_){this.$val=this;if(arguments.length===0){this.Defer=0;this.Call=GH.nil;return;}this.Defer=Defer_;this.Call=Call_;});BF=$pkg.ReturnStmt=$newType(0,$kindStruct,"ast.ReturnStmt",true,"go/ast",true,function(Return_,Results_){this.$val=this;if(arguments.length===0){this.Return=0;this.Results=HG.nil;return;}this.Return=Return_;this.Results=Results_;});BG=$pkg.BranchStmt=$newType(0,$kindStruct,"ast.BranchStmt",true,"go/ast",true,function(TokPos_,Tok_,Label_){this.$val=this;if(arguments.length===0){this.TokPos=0;this.Tok=0;this.Label=ES.nil;return;}this.TokPos=TokPos_;this.Tok=Tok_;this.Label=Label_;});BH=$pkg.BlockStmt=$newType(0,$kindStruct,"ast.BlockStmt",true,"go/ast",true,function(Lbrace_,List_,Rbrace_){this.$val=this;if(arguments.length===0){this.Lbrace=0;this.List=HH.nil;this.Rbrace=0;return;}this.Lbrace=Lbrace_;this.List=List_;this.Rbrace=Rbrace_;});BI=$pkg.IfStmt=$newType(0,$kindStruct,"ast.IfStmt",true,"go/ast",true,function(If_,Init_,Cond_,Body_,Else_){this.$val=this;if(arguments.length===0){this.If=0;this.Init=$ifaceNil;this.Cond=$ifaceNil;this.Body=ET.nil;this.Else=$ifaceNil;return;}this.If=If_;this.Init=Init_;this.Cond=Cond_;this.Body=Body_;this.Else=Else_;});BJ=$pkg.CaseClause=$newType(0,$kindStruct,"ast.CaseClause",true,"go/ast",true,function(Case_,List_,Colon_,Body_){this.$val=this;if(arguments.length===0){this.Case=0;this.List=HG.nil;this.Colon=0;this.Body=HH.nil;return;}this.Case=Case_;this.List=List_;this.Colon=Colon_;this.Body=Body_;});BK=$pkg.SwitchStmt=$newType(0,$kindStruct,"ast.SwitchStmt",true,"go/ast",true,function(Switch_,Init_,Tag_,Body_){this.$val=this;if(arguments.length===0){this.Switch=0;this.Init=$ifaceNil;this.Tag=$ifaceNil;this.Body=ET.nil;return;}this.Switch=Switch_;this.Init=Init_;this.Tag=Tag_;this.Body=Body_;});BL=$pkg.TypeSwitchStmt=$newType(0,$kindStruct,"ast.TypeSwitchStmt",true,"go/ast",true,function(Switch_,Init_,Assign_,Body_){this.$val=this;if(arguments.length===0){this.Switch=0;this.Init=$ifaceNil;this.Assign=$ifaceNil;this.Body=ET.nil;return;}this.Switch=Switch_;this.Init=Init_;this.Assign=Assign_;this.Body=Body_;});BM=$pkg.CommClause=$newType(0,$kindStruct,"ast.CommClause",true,"go/ast",true,function(Case_,Comm_,Colon_,Body_){this.$val=this;if(arguments.length===0){this.Case=0;this.Comm=$ifaceNil;this.Colon=0;this.Body=HH.nil;return;}this.Case=Case_;this.Comm=Comm_;this.Colon=Colon_;this.Body=Body_;});BN=$pkg.SelectStmt=$newType(0,$kindStruct,"ast.SelectStmt",true,"go/ast",true,function(Select_,Body_){this.$val=this;if(arguments.length===0){this.Select=0;this.Body=ET.nil;return;}this.Select=Select_;this.Body=Body_;});BO=$pkg.ForStmt=$newType(0,$kindStruct,"ast.ForStmt",true,"go/ast",true,function(For_,Init_,Cond_,Post_,Body_){this.$val=this;if(arguments.length===0){this.For=0;this.Init=$ifaceNil;this.Cond=$ifaceNil;this.Post=$ifaceNil;this.Body=ET.nil;return;}this.For=For_;this.Init=Init_;this.Cond=Cond_;this.Post=Post_;this.Body=Body_;});BP=$pkg.RangeStmt=$newType(0,$kindStruct,"ast.RangeStmt",true,"go/ast",true,function(For_,Key_,Value_,TokPos_,Tok_,X_,Body_){this.$val=this;if(arguments.length===0){this.For=0;this.Key=$ifaceNil;this.Value=$ifaceNil;this.TokPos=0;this.Tok=0;this.X=$ifaceNil;this.Body=ET.nil;return;}this.For=For_;this.Key=Key_;this.Value=Value_;this.TokPos=TokPos_;this.Tok=Tok_;this.X=X_;this.Body=Body_;});BQ=$pkg.Spec=$newType(8,$kindInterface,"ast.Spec",true,"go/ast",true,null);BR=$pkg.ImportSpec=$newType(0,$kindStruct,"ast.ImportSpec",true,"go/ast",true,function(Doc_,Name_,Path_,Comment_,EndPos_){this.$val=this;if(arguments.length===0){this.Doc=EN.nil;this.Name=ES.nil;this.Path=EP.nil;this.Comment=EN.nil;this.EndPos=0;return;}this.Doc=Doc_;this.Name=Name_;this.Path=Path_;this.Comment=Comment_;this.EndPos=EndPos_;});BS=$pkg.ValueSpec=$newType(0,$kindStruct,"ast.ValueSpec",true,"go/ast",true,function(Doc_,Names_,Type_,Values_,Comment_){this.$val=this;if(arguments.length===0){this.Doc=EN.nil;this.Names=FU.nil;this.Type=$ifaceNil;this.Values=HG.nil;this.Comment=EN.nil;return;}this.Doc=Doc_;this.Names=Names_;this.Type=Type_;this.Values=Values_;this.Comment=Comment_;});BT=$pkg.TypeSpec=$newType(0,$kindStruct,"ast.TypeSpec",true,"go/ast",true,function(Doc_,Name_,Type_,Comment_){this.$val=this;if(arguments.length===0){this.Doc=EN.nil;this.Name=ES.nil;this.Type=$ifaceNil;this.Comment=EN.nil;return;}this.Doc=Doc_;this.Name=Name_;this.Type=Type_;this.Comment=Comment_;});BU=$pkg.BadDecl=$newType(0,$kindStruct,"ast.BadDecl",true,"go/ast",true,function(From_,To_){this.$val=this;if(arguments.length===0){this.From=0;this.To=0;return;}this.From=From_;this.To=To_;});BV=$pkg.GenDecl=$newType(0,$kindStruct,"ast.GenDecl",true,"go/ast",true,function(Doc_,TokPos_,Tok_,Lparen_,Specs_,Rparen_){this.$val=this;if(arguments.length===0){this.Doc=EN.nil;this.TokPos=0;this.Tok=0;this.Lparen=0;this.Specs=HI.nil;this.Rparen=0;return;}this.Doc=Doc_;this.TokPos=TokPos_;this.Tok=Tok_;this.Lparen=Lparen_;this.Specs=Specs_;this.Rparen=Rparen_;});BW=$pkg.FuncDecl=$newType(0,$kindStruct,"ast.FuncDecl",true,"go/ast",true,function(Doc_,Recv_,Name_,Type_,Body_){this.$val=this;if(arguments.length===0){this.Doc=EN.nil;this.Recv=EQ.nil;this.Name=ES.nil;this.Type=FI.nil;this.Body=ET.nil;return;}this.Doc=Doc_;this.Recv=Recv_;this.Name=Name_;this.Type=Type_;this.Body=Body_;});BX=$pkg.File=$newType(0,$kindStruct,"ast.File",true,"go/ast",true,function(Doc_,Package_,Name_,Decls_,Scope_,Imports_,Unresolved_,Comments_){this.$val=this;if(arguments.length===0){this.Doc=EN.nil;this.Package=0;this.Name=ES.nil;this.Decls=FR.nil;this.Scope=FX.nil;this.Imports=FT.nil;this.Unresolved=FU.nil;this.Comments=EU.nil;return;}this.Doc=Doc_;this.Package=Package_;this.Name=Name_;this.Decls=Decls_;this.Scope=Scope_;this.Imports=Imports_;this.Unresolved=Unresolved_;this.Comments=Comments_;});BY=$pkg.Package=$newType(0,$kindStruct,"ast.Package",true,"go/ast",true,function(Name_,Scope_,Imports_,Files_){this.$val=this;if(arguments.length===0){this.Name="";this.Scope=FX.nil;this.Imports=false;this.Files=false;return;}this.Name=Name_;this.Scope=Scope_;this.Imports=Imports_;this.Files=Files_;});DI=$pkg.posSpan=$newType(0,$kindStruct,"ast.posSpan",true,"go/ast",false,function(Start_,End_){this.$val=this;if(arguments.length===0){this.Start=0;this.End=0;return;}this.Start=Start_;this.End=End_;});DK=$pkg.byImportSpec=$newType(12,$kindSlice,"ast.byImportSpec",true,"go/ast",false,null);DL=$pkg.byCommentPos=$newType(12,$kindSlice,"ast.byCommentPos",true,"go/ast",false,null);DY=$pkg.Scope=$newType(0,$kindStruct,"ast.Scope",true,"go/ast",true,function(Outer_,Objects_){this.$val=this;if(arguments.length===0){this.Outer=FX.nil;this.Objects=false;return;}this.Outer=Outer_;this.Objects=Objects_;});EA=$pkg.Object=$newType(0,$kindStruct,"ast.Object",true,"go/ast",true,function(Kind_,Name_,Decl_,Data_,Type_){this.$val=this;if(arguments.length===0){this.Kind=0;this.Name="";this.Decl=$ifaceNil;this.Data=$ifaceNil;this.Type=$ifaceNil;return;}this.Kind=Kind_;this.Name=Name_;this.Decl=Decl_;this.Data=Data_;this.Type=Type_;});EC=$pkg.ObjKind=$newType(4,$kindInt,"ast.ObjKind",true,"go/ast",true,null);EE=$pkg.Visitor=$newType(8,$kindInterface,"ast.Visitor",true,"go/ast",true,null);EK=$pkg.inspector=$newType(4,$kindFunc,"ast.inspector",true,"go/ast",false,null);EM=$sliceType($Uint8);EN=$ptrType(R);EO=$sliceType($String);EP=$ptrType(Z);EQ=$ptrType(V);ER=$ptrType(EA);ES=$ptrType(X);ET=$ptrType(BH);EU=$sliceType(EN);EW=$ptrType(Q);EZ=$ptrType(BX);FA=$ptrType(U);FB=$arrayType($Uint8,64);FC=$sliceType($emptyInterface);FD=$ptrType(AD);FE=$ptrType(AI);FF=$ptrType(AC);FG=$ptrType(AN);FH=$ptrType(AO);FI=$ptrType(AP);FJ=$ptrType(AQ);FK=$ptrType(AR);FL=$ptrType(AS);FM=$ptrType(BS);FN=$ptrType(BT);FO=$ptrType(BV);FP=$ptrType(BW);FQ=$sliceType(EW);FR=$sliceType(P);FS=$ptrType(BR);FT=$sliceType(FS);FU=$sliceType(ES);FV=$sliceType(DI);FX=$ptrType(DY);FY=$ptrType(AY);FZ=$ptrType(BC);GA=$ptrType(W);GB=$ptrType(Y);GC=$ptrType(AA);GD=$ptrType(AB);GE=$ptrType(AE);GF=$ptrType(AF);GG=$ptrType(AG);GH=$ptrType(AH);GI=$ptrType(AJ);GJ=$ptrType(AK);GK=$ptrType(AL);GL=$ptrType(AV);GM=$ptrType(AW);GN=$ptrType(AX);GO=$ptrType(AZ);GP=$ptrType(BA);GQ=$ptrType(BB);GR=$ptrType(BD);GS=$ptrType(BE);GT=$ptrType(BF);GU=$ptrType(BG);GV=$ptrType(BI);GW=$ptrType(BJ);GX=$ptrType(BK);GY=$ptrType(BL);GZ=$ptrType(BM);HA=$ptrType(BN);HB=$ptrType(BO);HC=$ptrType(BP);HD=$ptrType(BU);HE=$ptrType(BY);HF=$sliceType(FA);HG=$sliceType(N);HH=$sliceType(O);HI=$sliceType(BQ);HJ=$mapType($String,ER);HK=$mapType($String,EZ);Q.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Slash;};Q.prototype.Pos=function(){return this.$val.Pos();};Q.ptr.prototype.End=function(){var $ptr,a;a=this;return(((((a.Slash>>0))+a.Text.length>>0)>>0));};Q.prototype.End=function(){return this.$val.End();};R.ptr.prototype.Pos=function(){var $ptr,a,b;a=this;return(b=a.List,(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])).Pos();};R.prototype.Pos=function(){return this.$val.Pos();};R.ptr.prototype.End=function(){var $ptr,a,b,c;a=this;return(b=a.List,c=a.List.$length-1>>0,((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])).End();};R.prototype.End=function(){return this.$val.End();};S=function(a){var $ptr,a;return(a===32)||(a===9)||(a===10)||(a===13);};T=function(a){var $ptr,a,b;b=a.length;while(true){if(!(b>0&&S(a.charCodeAt((b-1>>0))))){break;}b=b-(1)>>0;}return $substring(a,0,b);};R.ptr.prototype.Text=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u;a=this;if(a===EN.nil){return"";}b=$makeSlice(EO,a.List.$length);c=a.List;d=0;while(true){if(!(d<c.$length)){break;}e=d;f=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);((e<0||e>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+e]=f.Text);d++;}g=$makeSlice(EO,0,10);h=b;i=0;while(true){if(!(i<h.$length)){break;}j=((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]);k=j.charCodeAt(1);if(k===(47)){j=$substring(j,2);if(j.length>0&&(j.charCodeAt(0)===32)){j=$substring(j,1);}}else if(k===(42)){j=$substring(j,2,(j.length-2>>0));}l=B.Split(j,"\n");m=l;n=0;while(true){if(!(n<m.$length)){break;}o=((n<0||n>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+n]);g=$append(g,T(o));n++;}i++;}p=0;q=g;r=0;while(true){if(!(r<q.$length)){break;}s=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);if(!(s==="")||p>0&&!((t=p-1>>0,((t<0||t>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+t]))==="")){((p<0||p>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+p]=s);p=p+(1)>>0;}r++;}g=$subslice(g,0,p);if(p>0&&!((u=p-1>>0,((u<0||u>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+u]))==="")){g=$append(g,"");}return B.Join(g,"\n");};R.prototype.Text=function(){return this.$val.Text();};U.ptr.prototype.Pos=function(){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.Names.$length>0){$s=-1;return(b=a.Names,(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])).Pos();}c=a.Type.Pos();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.Pos=function(){return this.$val.Pos();};U.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(!(a.Tag===EP.nil)){$s=-1;return a.Tag.End();}b=a.Type.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:U.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};U.prototype.End=function(){return this.$val.End();};V.ptr.prototype.Pos=function(){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(new A.Pos(a.Opening).IsValid()){$s=-1;return a.Opening;}if(a.List.$length>0){$s=1;continue;}$s=2;continue;case 1:c=(b=a.List,(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])).Pos();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 2:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:V.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};V.prototype.Pos=function(){return this.$val.Pos();};V.ptr.prototype.End=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(new A.Pos(a.Closing).IsValid()){$s=-1;return a.Closing+1>>0;}b=a.List.$length;if(b>0){$s=1;continue;}$s=2;continue;case 1:e=(c=a.List,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).End();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 2:$s=-1;return 0;}return;}if($f===undefined){$f={$blk:V.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};V.prototype.End=function(){return this.$val.End();};V.ptr.prototype.NumFields=function(){var $ptr,a,b,c,d,e,f;a=this;b=0;if(!(a===EQ.nil)){c=a.List;d=0;while(true){if(!(d<c.$length)){break;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);f=e.Names.$length;if(f===0){f=1;}b=b+(f)>>0;d++;}}return b;};V.prototype.NumFields=function(){return this.$val.NumFields();};W.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.From;};W.prototype.Pos=function(){return this.$val.Pos();};X.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.NamePos;};X.prototype.Pos=function(){return this.$val.Pos();};Y.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Ellipsis;};Y.prototype.Pos=function(){return this.$val.Pos();};Z.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.ValuePos;};Z.prototype.Pos=function(){return this.$val.Pos();};AA.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Type.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AA.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AA.prototype.Pos=function(){return this.$val.Pos();};AB.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(!($interfaceIsEqual(a.Type,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:b=a.Type.Pos();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;case 2:$s=-1;return a.Lbrace;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.Pos=function(){return this.$val.Pos();};AC.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Lparen;};AC.prototype.Pos=function(){return this.$val.Pos();};AD.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.X.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AD.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AD.prototype.Pos=function(){return this.$val.Pos();};AE.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.X.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AE.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AE.prototype.Pos=function(){return this.$val.Pos();};AF.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.X.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AF.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AF.prototype.Pos=function(){return this.$val.Pos();};AG.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.X.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AG.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AG.prototype.Pos=function(){return this.$val.Pos();};AH.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Fun.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AH.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AH.prototype.Pos=function(){return this.$val.Pos();};AI.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Star;};AI.prototype.Pos=function(){return this.$val.Pos();};AJ.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.OpPos;};AJ.prototype.Pos=function(){return this.$val.Pos();};AK.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.X.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.Pos=function(){return this.$val.Pos();};AL.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Key.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AL.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AL.prototype.Pos=function(){return this.$val.Pos();};AN.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Lbrack;};AN.prototype.Pos=function(){return this.$val.Pos();};AO.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Struct;};AO.prototype.Pos=function(){return this.$val.Pos();};AP.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(new A.Pos(a.Func).IsValid()||a.Params===EQ.nil){$s=-1;return a.Func;}b=a.Params.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.Pos=function(){return this.$val.Pos();};AQ.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Interface;};AQ.prototype.Pos=function(){return this.$val.Pos();};AR.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Map;};AR.prototype.Pos=function(){return this.$val.Pos();};AS.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Begin;};AS.prototype.Pos=function(){return this.$val.Pos();};W.ptr.prototype.End=function(){var $ptr,a;a=this;return a.To;};W.prototype.End=function(){return this.$val.End();};X.ptr.prototype.End=function(){var $ptr,a;a=this;return(((((a.NamePos>>0))+a.Name.length>>0)>>0));};X.prototype.End=function(){return this.$val.End();};Y.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(!($interfaceIsEqual(a.Elt,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:b=a.Elt.End();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;case 2:$s=-1;return a.Ellipsis+3>>0;}return;}if($f===undefined){$f={$blk:Y.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};Y.prototype.End=function(){return this.$val.End();};Z.ptr.prototype.End=function(){var $ptr,a;a=this;return(((((a.ValuePos>>0))+a.Value.length>>0)>>0));};Z.prototype.End=function(){return this.$val.End();};AA.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Body.End();};AA.prototype.End=function(){return this.$val.End();};AB.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Rbrace+1>>0;};AB.prototype.End=function(){return this.$val.End();};AC.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Rparen+1>>0;};AC.prototype.End=function(){return this.$val.End();};AD.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Sel.End();};AD.prototype.End=function(){return this.$val.End();};AE.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Rbrack+1>>0;};AE.prototype.End=function(){return this.$val.End();};AF.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Rbrack+1>>0;};AF.prototype.End=function(){return this.$val.End();};AG.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Rparen+1>>0;};AG.prototype.End=function(){return this.$val.End();};AH.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Rparen+1>>0;};AH.prototype.End=function(){return this.$val.End();};AI.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.X.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AI.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AI.prototype.End=function(){return this.$val.End();};AJ.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.X.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.End=function(){return this.$val.End();};AK.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Y.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AK.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AK.prototype.End=function(){return this.$val.End();};AL.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Value.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AL.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AL.prototype.End=function(){return this.$val.End();};AN.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Elt.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AN.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AN.prototype.End=function(){return this.$val.End();};AO.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Fields.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AO.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AO.prototype.End=function(){return this.$val.End();};AP.ptr.prototype.End=function(){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(!(a.Results===EQ.nil)){$s=1;continue;}$s=2;continue;case 1:b=a.Results.End();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;case 2:c=a.Params.End();$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:AP.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AP.prototype.End=function(){return this.$val.End();};AQ.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Methods.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AQ.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AQ.prototype.End=function(){return this.$val.End();};AR.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Value.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AR.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AR.prototype.End=function(){return this.$val.End();};AS.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Value.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AS.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AS.prototype.End=function(){return this.$val.End();};AU=function(a){var $ptr,a,b,c;b=D.DecodeRuneInString(a);c=b[0];return C.IsUpper(c);};$pkg.IsExported=AU;X.ptr.prototype.IsExported=function(){var $ptr,a;a=this;return AU(a.Name);};X.prototype.IsExported=function(){return this.$val.IsExported();};X.ptr.prototype.String=function(){var $ptr,a;a=this;if(!(a===ES.nil)){return a.Name;}return"<nil>";};X.prototype.String=function(){return this.$val.String();};AV.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.From;};AV.prototype.Pos=function(){return this.$val.Pos();};AW.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Decl.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AW.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AW.prototype.Pos=function(){return this.$val.Pos();};AX.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Semicolon;};AX.prototype.Pos=function(){return this.$val.Pos();};AY.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Label.Pos();};AY.prototype.Pos=function(){return this.$val.Pos();};AZ.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.X.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.Pos=function(){return this.$val.Pos();};BA.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Chan.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:BA.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BA.prototype.Pos=function(){return this.$val.Pos();};BB.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.X.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:BB.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BB.prototype.Pos=function(){return this.$val.Pos();};BC.ptr.prototype.Pos=function(){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;c=(b=a.Lhs,(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])).Pos();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BC.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BC.prototype.Pos=function(){return this.$val.Pos();};BD.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Go;};BD.prototype.Pos=function(){return this.$val.Pos();};BE.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Defer;};BE.prototype.Pos=function(){return this.$val.Pos();};BF.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Return;};BF.prototype.Pos=function(){return this.$val.Pos();};BG.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.TokPos;};BG.prototype.Pos=function(){return this.$val.Pos();};BH.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Lbrace;};BH.prototype.Pos=function(){return this.$val.Pos();};BI.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.If;};BI.prototype.Pos=function(){return this.$val.Pos();};BJ.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Case;};BJ.prototype.Pos=function(){return this.$val.Pos();};BK.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Switch;};BK.prototype.Pos=function(){return this.$val.Pos();};BL.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Switch;};BL.prototype.Pos=function(){return this.$val.Pos();};BM.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Case;};BM.prototype.Pos=function(){return this.$val.Pos();};BN.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Select;};BN.prototype.Pos=function(){return this.$val.Pos();};BO.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.For;};BO.prototype.Pos=function(){return this.$val.Pos();};BP.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.For;};BP.prototype.Pos=function(){return this.$val.Pos();};AV.ptr.prototype.End=function(){var $ptr,a;a=this;return a.To;};AV.prototype.End=function(){return this.$val.End();};AW.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Decl.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AW.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AW.prototype.End=function(){return this.$val.End();};AX.ptr.prototype.End=function(){var $ptr,a;a=this;if(a.Implicit){return a.Semicolon;}return a.Semicolon+1>>0;};AX.prototype.End=function(){return this.$val.End();};AY.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Stmt.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AY.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AY.prototype.End=function(){return this.$val.End();};AZ.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.X.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AZ.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AZ.prototype.End=function(){return this.$val.End();};BA.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Value.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:BA.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BA.prototype.End=function(){return this.$val.End();};BB.ptr.prototype.End=function(){var $ptr,a;a=this;return a.TokPos+2>>0;};BB.prototype.End=function(){return this.$val.End();};BC.ptr.prototype.End=function(){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;d=(b=a.Rhs,c=a.Rhs.$length-1>>0,((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c])).End();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:BC.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};BC.prototype.End=function(){return this.$val.End();};BD.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Call.End();};BD.prototype.End=function(){return this.$val.End();};BE.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Call.End();};BE.prototype.End=function(){return this.$val.End();};BF.ptr.prototype.End=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Results.$length;if(b>0){$s=1;continue;}$s=2;continue;case 1:e=(c=a.Results,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).End();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 2:$s=-1;return a.Return+6>>0;}return;}if($f===undefined){$f={$blk:BF.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BF.prototype.End=function(){return this.$val.End();};BG.ptr.prototype.End=function(){var $ptr,a;a=this;if(!(a.Label===ES.nil)){return a.Label.End();}return(((((a.TokPos>>0))+new A.Token(a.Tok).String().length>>0)>>0));};BG.prototype.End=function(){return this.$val.End();};BH.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Rbrace+1>>0;};BH.prototype.End=function(){return this.$val.End();};BI.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(!($interfaceIsEqual(a.Else,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:b=a.Else.End();$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;case 2:$s=-1;return a.Body.End();}return;}if($f===undefined){$f={$blk:BI.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BI.prototype.End=function(){return this.$val.End();};BJ.ptr.prototype.End=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Body.$length;if(b>0){$s=1;continue;}$s=2;continue;case 1:e=(c=a.Body,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).End();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 2:$s=-1;return a.Colon+1>>0;}return;}if($f===undefined){$f={$blk:BJ.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BJ.prototype.End=function(){return this.$val.End();};BK.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Body.End();};BK.prototype.End=function(){return this.$val.End();};BL.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Body.End();};BL.prototype.End=function(){return this.$val.End();};BM.ptr.prototype.End=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Body.$length;if(b>0){$s=1;continue;}$s=2;continue;case 1:e=(c=a.Body,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).End();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 2:$s=-1;return a.Colon+1>>0;}return;}if($f===undefined){$f={$blk:BM.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BM.prototype.End=function(){return this.$val.End();};BN.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Body.End();};BN.prototype.End=function(){return this.$val.End();};BO.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Body.End();};BO.prototype.End=function(){return this.$val.End();};BP.ptr.prototype.End=function(){var $ptr,a;a=this;return a.Body.End();};BP.prototype.End=function(){return this.$val.End();};BR.ptr.prototype.Pos=function(){var $ptr,a;a=this;if(!(a.Name===ES.nil)){return a.Name.Pos();}return a.Path.Pos();};BR.prototype.Pos=function(){return this.$val.Pos();};BS.ptr.prototype.Pos=function(){var $ptr,a,b;a=this;return(b=a.Names,(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])).Pos();};BS.prototype.Pos=function(){return this.$val.Pos();};BT.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Name.Pos();};BT.prototype.Pos=function(){return this.$val.Pos();};BR.ptr.prototype.End=function(){var $ptr,a;a=this;if(!((a.EndPos===0))){return a.EndPos;}return a.Path.End();};BR.prototype.End=function(){return this.$val.End();};BS.ptr.prototype.End=function(){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Values.$length;if(b>0){$s=1;continue;}$s=2;continue;case 1:e=(c=a.Values,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).End();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 2:if(!($interfaceIsEqual(a.Type,$ifaceNil))){$s=4;continue;}$s=5;continue;case 4:f=a.Type.End();$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;case 5:$s=-1;return(g=a.Names,h=a.Names.$length-1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h])).End();}return;}if($f===undefined){$f={$blk:BS.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};BS.prototype.End=function(){return this.$val.End();};BT.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Type.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:BT.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BT.prototype.End=function(){return this.$val.End();};BU.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.From;};BU.prototype.Pos=function(){return this.$val.Pos();};BV.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.TokPos;};BV.prototype.Pos=function(){return this.$val.Pos();};BW.ptr.prototype.Pos=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Type.Pos();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:BW.ptr.prototype.Pos};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BW.prototype.Pos=function(){return this.$val.Pos();};BU.ptr.prototype.End=function(){var $ptr,a;a=this;return a.To;};BU.prototype.End=function(){return this.$val.End();};BV.ptr.prototype.End=function(){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(new A.Pos(a.Rparen).IsValid()){$s=-1;return a.Rparen+1>>0;}c=(b=a.Specs,(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0])).End();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:BV.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};BV.prototype.End=function(){return this.$val.End();};BW.ptr.prototype.End=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(!(a.Body===ET.nil)){$s=-1;return a.Body.End();}b=a.Type.End();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:BW.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};BW.prototype.End=function(){return this.$val.End();};BX.ptr.prototype.Pos=function(){var $ptr,a;a=this;return a.Package;};BX.prototype.Pos=function(){return this.$val.Pos();};BX.ptr.prototype.End=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.Decls.$length;if(b>0){$s=1;continue;}$s=2;continue;case 1:e=(c=a.Decls,d=b-1>>0,((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d])).End();$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 2:$s=-1;return a.Name.End();}return;}if($f===undefined){$f={$blk:BX.ptr.prototype.End};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};BX.prototype.End=function(){return this.$val.End();};BY.ptr.prototype.Pos=function(){var $ptr,a;a=this;return 0;};BY.prototype.Pos=function(){return this.$val.Pos();};BY.ptr.prototype.End=function(){var $ptr,a;a=this;return 0;};BY.prototype.End=function(){return this.$val.End();};DD=function(a,b){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=b.Decls;d=0;case 1:if(!(d<c.$length)){$s=2;continue;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);f=$assertType(e,FO,true);g=f[0];h=f[1];if(!h||!((g.Tok===75))){$s=2;continue;}if(!new A.Pos(g.Lparen).IsValid()){$s=3;continue;}$s=4;continue;case 3:d++;$s=1;continue;case 4:i=0;j=$subslice(g.Specs,0,0);k=g.Specs;l=0;case 5:if(!(l<k.$length)){$s=6;continue;}m=l;n=((l<0||l>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+l]);if(!(m>i)){o=false;$s=9;continue s;}p=n.Pos();$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=a.Position(p);$s=11;case 11:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}t=(r=g.Specs,s=m-1>>0,((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s])).End();$s=12;case 12:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=a.Position(t);$s=13;case 13:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}o=q.Line>(1+u.Line>>0);case 9:if(o){$s=7;continue;}$s=8;continue;case 7:v=j;w=DJ(a,b,$subslice(g.Specs,i,m));$s=14;case 14:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;j=$appendSlice(v,x);i=m;case 8:l++;$s=5;continue;case 6:y=j;z=DJ(a,b,$subslice(g.Specs,i));$s=15;case 15:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}aa=z;j=$appendSlice(y,aa);g.Specs=j;if(g.Specs.$length>0){$s=16;continue;}$s=17;continue;case 16:ad=(ab=g.Specs,ac=g.Specs.$length-1>>0,((ac<0||ac>=ab.$length)?($throwRuntimeError("index out of range"),undefined):ab.$array[ab.$offset+ac]));ae=ad.Pos();$s=18;case 18:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=a.Position(ae);$s=19;case 19:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=af.Line;ah=a.Position(g.Rparen);$s=20;case 20:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=ah.Line;case 21:if(!(ai>(ag+1>>0))){$s=22;continue;}ai=ai-(1)>>0;aj=a.File(g.Rparen);$s=23;case 23:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$r=aj.MergeLine(ai);$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=21;continue;case 22:case 17:d++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:DD};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.SortImports=DD;DE=function(a){var $ptr,a,b,c,d;b=H.Unquote($assertType(a,FS).Path.Value);c=b[0];d=b[1];if($interfaceIsEqual(d,$ifaceNil)){return c;}return"";};DF=function(a){var $ptr,a,b;b=$assertType(a,FS).Name;if(b===ES.nil){return"";}return b.Name;};DG=function(a){var $ptr,a,b;b=$assertType(a,FS).Comment;if(b===EN.nil){return"";}return b.Text();};DH=function(a,b){var $ptr,a,b;if(!(DE(b)===DE(a))||!(DF(b)===DF(a))){return false;}return $assertType(a,FS).Comment===EN.nil;};DJ=function(a,b,c){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(c.$length<=1){$s=-1;return c;}d=$makeSlice(FV,c.$length);e=c;f=0;case 1:if(!(f<e.$length)){$s=2;continue;}g=f;h=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);i=h.Pos();$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=h.End();$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}DI.copy(((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]),new DI.ptr(i,j));f++;$s=1;continue;case 2:l=a.Position((k=d.$length-1>>0,((k<0||k>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+k])).End);$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l.Line;n=b.Comments.$length;o=b.Comments.$length;p=b.Comments;q=0;case 6:if(!(q<p.$length)){$s=7;continue;}r=q;s=((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]);if(s.Pos()<(0>=d.$length?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+0]).Start){$s=8;continue;}$s=9;continue;case 8:q++;$s=6;continue;case 9:if(r<n){n=r;}t=a.Position(s.End());$s=12;case 12:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}if(t.Line>m){$s=10;continue;}$s=11;continue;case 10:o=r;$s=7;continue;case 11:q++;$s=6;continue;case 7:u=$subslice(b.Comments,n,o);v=$makeMap(FS.keyFor,[]);w=0;x=u;y=0;while(true){if(!(y<x.$length)){break;}z=((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y]);while(true){if(!((w+1>>0)<c.$length&&(aa=w+1>>0,((aa<0||aa>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+aa])).Start<=z.Pos())){break;}w=w+(1)>>0;}ab=$assertType(((w<0||w>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+w]),FS);ac=ab;(v||$throwRuntimeError("assignment to entry in nil map"))[FS.keyFor(ac)]={k:ac,v:$append((ad=v[FS.keyFor(ab)],ad!==undefined?ad.v:EU.nil),z)};y++;}$r=G.Sort(($subslice(new DK(c.$array),c.$offset,c.$offset+c.$length)));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ae=$subslice(c,0,0);af=c;ag=0;case 14:if(!(ag<af.$length)){$s=15;continue;}ah=ag;ai=((ag<0||ag>=af.$length)?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+ag]);if((ah===(c.$length-1>>0))||!DH(ai,(aj=ah+1>>0,((aj<0||aj>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+aj])))){$s=16;continue;}$s=17;continue;case 16:ae=$append(ae,ai);$s=18;continue;case 17:ak=ai.Pos();$s=19;case 19:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}al=ak;am=a.File(al);$s=20;case 20:if($c){$c=false;am=am.$blk();}if(am&&am.$blk!==undefined){break s;}an=a.Position(al);$s=21;case 21:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}$r=am.MergeLine(an.Line);$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 18:ag++;$s=14;continue;case 15:c=ae;ao=c;ap=0;while(true){if(!(ap<ao.$length)){break;}aq=ap;ar=((ap<0||ap>=ao.$length)?($throwRuntimeError("index out of range"),undefined):ao.$array[ao.$offset+ap]);as=$assertType(ar,FS);if(!(as.Name===ES.nil)){as.Name.NamePos=((aq<0||aq>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+aq]).Start;}as.Path.ValuePos=((aq<0||aq>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+aq]).Start;as.EndPos=((aq<0||aq>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+aq]).End;at=(au=v[FS.keyFor(as)],au!==undefined?au.v:EU.nil);av=0;while(true){if(!(av<at.$length)){break;}aw=((av<0||av>=at.$length)?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+av]);ax=aw.List;ay=0;while(true){if(!(ay<ax.$length)){break;}az=((ay<0||ay>=ax.$length)?($throwRuntimeError("index out of range"),undefined):ax.$array[ax.$offset+ay]);az.Slash=((aq<0||aq>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+aq]).End;ay++;}av++;}ap++;}$r=G.Sort(($subslice(new DL(u.$array),u.$offset,u.$offset+u.$length)));$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:DJ};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};DK.prototype.Len=function(){var $ptr,a;a=this;return a.$length;};$ptrType(DK).prototype.Len=function(){return this.$get().Len();};DK.prototype.Swap=function(a,b){var $ptr,a,b,c,d,e;c=this;d=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);e=((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]);((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]=d);((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]=e);};$ptrType(DK).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};DK.prototype.Less=function(a,b){var $ptr,a,b,c,d,e,f,g;c=this;d=DE(((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]));e=DE(((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]));if(!(d===e)){return d<e;}f=DF(((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]));g=DF(((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]));if(!(f===g)){return f<g;}return DG(((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]))<DG(((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]));};$ptrType(DK).prototype.Less=function(a,b){return this.$get().Less(a,b);};DL.prototype.Len=function(){var $ptr,a;a=this;return a.$length;};$ptrType(DL).prototype.Len=function(){return this.$get().Len();};DL.prototype.Swap=function(a,b){var $ptr,a,b,c,d,e;c=this;d=((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]);e=((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]);((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]=d);((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]=e);};$ptrType(DL).prototype.Swap=function(a,b){return this.$get().Swap(a,b);};DL.prototype.Less=function(a,b){var $ptr,a,b,c;c=this;return((a<0||a>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+a]).Pos()<((b<0||b>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+b]).Pos();};$ptrType(DL).prototype.Less=function(a,b){return this.$get().Less(a,b);};DZ=function(a){var $ptr,a;return new DY.ptr(a,{});};$pkg.NewScope=DZ;DY.ptr.prototype.Lookup=function(a){var $ptr,a,b,c;b=this;return(c=b.Objects[$String.keyFor(a)],c!==undefined?c.v:ER.nil);};DY.prototype.Lookup=function(a){return this.$val.Lookup(a);};DY.ptr.prototype.Insert=function(a){var $ptr,a,b,c,d,e;b=ER.nil;c=this;b=(d=c.Objects[$String.keyFor(a.Name)],d!==undefined?d.v:ER.nil);if(b===ER.nil){e=a.Name;(c.Objects||$throwRuntimeError("assignment to entry in nil map"))[$String.keyFor(e)]={k:e,v:a};}return b;};DY.prototype.Insert=function(a){return this.$val.Insert(a);};DY.ptr.prototype.String=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=[a];b=this;a[0]=new E.Buffer.ptr(EM.nil,0,FB.zero(),0);c=F.Fprintf(a[0],"scope %p {",new FC([b]));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}c;if(!(b===FX.nil)&&$keys(b.Objects).length>0){$s=2;continue;}$s=3;continue;case 2:d=F.Fprintln(a[0],new FC([]));$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;e=b.Objects;f=0;g=$keys(e);case 5:if(!(f<g.length)){$s=6;continue;}h=e[g[f]];if(h===undefined){f++;$s=5;continue;}i=h.v;j=F.Fprintf(a[0],"\t%s %s\n",new FC([new EC(i.Kind),new $String(i.Name)]));$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}j;f++;$s=5;continue;case 6:case 3:k=F.Fprintf(a[0],"}\n",new FC([]));$s=8;case 8:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;$s=-1;return a[0].String();}return;}if($f===undefined){$f={$blk:DY.ptr.prototype.String};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};DY.prototype.String=function(){return this.$val.String();};EB=function(a,b){var $ptr,a,b;return new EA.ptr(a,b,$ifaceNil,$ifaceNil,$ifaceNil);};$pkg.NewObj=EB;EA.ptr.prototype.Pos=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w;a=this;b=a.Name;c=a.Decl;if($assertType(c,FA,true)[1]){d=c.$val;l=d.Names;m=0;while(true){if(!(m<l.$length)){break;}n=((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);if(n.Name===b){return n.Pos();}m++;}}else if($assertType(c,FS,true)[1]){e=c.$val;if(!(e.Name===ES.nil)&&e.Name.Name===b){return e.Name.Pos();}return e.Path.Pos();}else if($assertType(c,FM,true)[1]){f=c.$val;o=f.Names;p=0;while(true){if(!(p<o.$length)){break;}q=((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]);if(q.Name===b){return q.Pos();}p++;}}else if($assertType(c,FN,true)[1]){g=c.$val;if(g.Name.Name===b){return g.Name.Pos();}}else if($assertType(c,FP,true)[1]){h=c.$val;if(h.Name.Name===b){return h.Name.Pos();}}else if($assertType(c,FY,true)[1]){i=c.$val;if(i.Label.Name===b){return i.Label.Pos();}}else if($assertType(c,FZ,true)[1]){j=c.$val;r=j.Lhs;s=0;while(true){if(!(s<r.$length)){break;}t=((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]);u=$assertType(t,ES,true);v=u[0];w=u[1];if(w&&v.Name===b){return v.Pos();}s++;}}else if($assertType(c,FX,true)[1]){k=c.$val;}return 0;};EA.prototype.Pos=function(){return this.$val.Pos();};EC.prototype.String=function(){var $ptr,a;a=this.$val;return((a<0||a>=ED.length)?($throwRuntimeError("index out of range"),undefined):ED[a]);};$ptrType(EC).prototype.String=function(){return new EC(this.$get()).String();};EF=function(a,b){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=b;d=0;case 1:if(!(d<c.$length)){$s=2;continue;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);$r=EJ(a,e);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:EF};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};EG=function(a,b){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=b;d=0;case 1:if(!(d<c.$length)){$s=2;continue;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);$r=EJ(a,e);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:EG};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};EH=function(a,b){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=b;d=0;case 1:if(!(d<c.$length)){$s=2;continue;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);$r=EJ(a,e);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:EH};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};EI=function(a,b){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=b;d=0;case 1:if(!(d<c.$length)){$s=2;continue;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);$r=EJ(a,e);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:EI};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};EJ=function(a,b){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,b,ba,bb,bc,bd,be,bf,bg,bh,bi,bj,bk,bl,bm,bn,bo,bp,bq,br,bs,bt,bu,bv,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;az=$f.az;b=$f.b;ba=$f.ba;bb=$f.bb;bc=$f.bc;bd=$f.bd;be=$f.be;bf=$f.bf;bg=$f.bg;bh=$f.bh;bi=$f.bi;bj=$f.bj;bk=$f.bk;bl=$f.bl;bm=$f.bm;bn=$f.bn;bo=$f.bo;bp=$f.bp;bq=$f.bq;br=$f.br;bs=$f.bs;bt=$f.bt;bu=$f.bu;bv=$f.bv;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=a.Visit(b);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}a=c;if($interfaceIsEqual(a,$ifaceNil)){$s=-1;return;}d=b;if($assertType(d,EW,true)[1]){$s=2;continue;}if($assertType(d,EN,true)[1]){$s=3;continue;}if($assertType(d,FA,true)[1]){$s=4;continue;}if($assertType(d,EQ,true)[1]){$s=5;continue;}if($assertType(d,GA,true)[1]||$assertType(d,ES,true)[1]||$assertType(d,EP,true)[1]){$s=6;continue;}if($assertType(d,GB,true)[1]){$s=7;continue;}if($assertType(d,GC,true)[1]){$s=8;continue;}if($assertType(d,GD,true)[1]){$s=9;continue;}if($assertType(d,FF,true)[1]){$s=10;continue;}if($assertType(d,FD,true)[1]){$s=11;continue;}if($assertType(d,GE,true)[1]){$s=12;continue;}if($assertType(d,GF,true)[1]){$s=13;continue;}if($assertType(d,GG,true)[1]){$s=14;continue;}if($assertType(d,GH,true)[1]){$s=15;continue;}if($assertType(d,FE,true)[1]){$s=16;continue;}if($assertType(d,GI,true)[1]){$s=17;continue;}if($assertType(d,GJ,true)[1]){$s=18;continue;}if($assertType(d,GK,true)[1]){$s=19;continue;}if($assertType(d,FG,true)[1]){$s=20;continue;}if($assertType(d,FH,true)[1]){$s=21;continue;}if($assertType(d,FI,true)[1]){$s=22;continue;}if($assertType(d,FJ,true)[1]){$s=23;continue;}if($assertType(d,FK,true)[1]){$s=24;continue;}if($assertType(d,FL,true)[1]){$s=25;continue;}if($assertType(d,GL,true)[1]){$s=26;continue;}if($assertType(d,GM,true)[1]){$s=27;continue;}if($assertType(d,GN,true)[1]){$s=28;continue;}if($assertType(d,FY,true)[1]){$s=29;continue;}if($assertType(d,GO,true)[1]){$s=30;continue;}if($assertType(d,GP,true)[1]){$s=31;continue;}if($assertType(d,GQ,true)[1]){$s=32;continue;}if($assertType(d,FZ,true)[1]){$s=33;continue;}if($assertType(d,GR,true)[1]){$s=34;continue;}if($assertType(d,GS,true)[1]){$s=35;continue;}if($assertType(d,GT,true)[1]){$s=36;continue;}if($assertType(d,GU,true)[1]){$s=37;continue;}if($assertType(d,ET,true)[1]){$s=38;continue;}if($assertType(d,GV,true)[1]){$s=39;continue;}if($assertType(d,GW,true)[1]){$s=40;continue;}if($assertType(d,GX,true)[1]){$s=41;continue;}if($assertType(d,GY,true)[1]){$s=42;continue;}if($assertType(d,GZ,true)[1]){$s=43;continue;}if($assertType(d,HA,true)[1]){$s=44;continue;}if($assertType(d,HB,true)[1]){$s=45;continue;}if($assertType(d,HC,true)[1]){$s=46;continue;}if($assertType(d,FS,true)[1]){$s=47;continue;}if($assertType(d,FM,true)[1]){$s=48;continue;}if($assertType(d,FN,true)[1]){$s=49;continue;}if($assertType(d,HD,true)[1]){$s=50;continue;}if($assertType(d,FO,true)[1]){$s=51;continue;}if($assertType(d,FP,true)[1]){$s=52;continue;}if($assertType(d,EZ,true)[1]){$s=53;continue;}if($assertType(d,HE,true)[1]){$s=54;continue;}$s=55;continue;case 2:e=d.$val;$s=56;continue;case 3:f=d.$val;bg=f.List;bh=0;case 57:if(!(bh<bg.$length)){$s=58;continue;}bi=((bh<0||bh>=bg.$length)?($throwRuntimeError("index out of range"),undefined):bg.$array[bg.$offset+bh]);$r=EJ(a,bi);$s=59;case 59:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bh++;$s=57;continue;case 58:$s=56;continue;case 4:g=d.$val;if(!(g.Doc===EN.nil)){$s=60;continue;}$s=61;continue;case 60:$r=EJ(a,g.Doc);$s=62;case 62:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 61:$r=EF(a,g.Names);$s=63;case 63:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,g.Type);$s=64;case 64:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(g.Tag===EP.nil)){$s=65;continue;}$s=66;continue;case 65:$r=EJ(a,g.Tag);$s=67;case 67:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 66:if(!(g.Comment===EN.nil)){$s=68;continue;}$s=69;continue;case 68:$r=EJ(a,g.Comment);$s=70;case 70:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 69:$s=56;continue;case 5:h=d.$val;bj=h.List;bk=0;case 71:if(!(bk<bj.$length)){$s=72;continue;}bl=((bk<0||bk>=bj.$length)?($throwRuntimeError("index out of range"),undefined):bj.$array[bj.$offset+bk]);$r=EJ(a,bl);$s=73;case 73:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bk++;$s=71;continue;case 72:$s=56;continue;case 6:i=d;$s=56;continue;case 7:j=d.$val;if(!($interfaceIsEqual(j.Elt,$ifaceNil))){$s=74;continue;}$s=75;continue;case 74:$r=EJ(a,j.Elt);$s=76;case 76:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 75:$s=56;continue;case 8:k=d.$val;$r=EJ(a,k.Type);$s=77;case 77:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,k.Body);$s=78;case 78:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 9:l=d.$val;if(!($interfaceIsEqual(l.Type,$ifaceNil))){$s=79;continue;}$s=80;continue;case 79:$r=EJ(a,l.Type);$s=81;case 81:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 80:$r=EG(a,l.Elts);$s=82;case 82:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 10:m=d.$val;$r=EJ(a,m.X);$s=83;case 83:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 11:n=d.$val;$r=EJ(a,n.X);$s=84;case 84:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,n.Sel);$s=85;case 85:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 12:o=d.$val;$r=EJ(a,o.X);$s=86;case 86:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,o.Index);$s=87;case 87:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 13:p=d.$val;$r=EJ(a,p.X);$s=88;case 88:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(p.Low,$ifaceNil))){$s=89;continue;}$s=90;continue;case 89:$r=EJ(a,p.Low);$s=91;case 91:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 90:if(!($interfaceIsEqual(p.High,$ifaceNil))){$s=92;continue;}$s=93;continue;case 92:$r=EJ(a,p.High);$s=94;case 94:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 93:if(!($interfaceIsEqual(p.Max,$ifaceNil))){$s=95;continue;}$s=96;continue;case 95:$r=EJ(a,p.Max);$s=97;case 97:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 96:$s=56;continue;case 14:q=d.$val;$r=EJ(a,q.X);$s=98;case 98:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(q.Type,$ifaceNil))){$s=99;continue;}$s=100;continue;case 99:$r=EJ(a,q.Type);$s=101;case 101:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 100:$s=56;continue;case 15:r=d.$val;$r=EJ(a,r.Fun);$s=102;case 102:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EG(a,r.Args);$s=103;case 103:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 16:s=d.$val;$r=EJ(a,s.X);$s=104;case 104:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 17:t=d.$val;$r=EJ(a,t.X);$s=105;case 105:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 18:u=d.$val;$r=EJ(a,u.X);$s=106;case 106:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,u.Y);$s=107;case 107:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 19:v=d.$val;$r=EJ(a,v.Key);$s=108;case 108:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,v.Value);$s=109;case 109:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 20:w=d.$val;if(!($interfaceIsEqual(w.Len,$ifaceNil))){$s=110;continue;}$s=111;continue;case 110:$r=EJ(a,w.Len);$s=112;case 112:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 111:$r=EJ(a,w.Elt);$s=113;case 113:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 21:x=d.$val;$r=EJ(a,x.Fields);$s=114;case 114:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 22:y=d.$val;if(!(y.Params===EQ.nil)){$s=115;continue;}$s=116;continue;case 115:$r=EJ(a,y.Params);$s=117;case 117:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 116:if(!(y.Results===EQ.nil)){$s=118;continue;}$s=119;continue;case 118:$r=EJ(a,y.Results);$s=120;case 120:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 119:$s=56;continue;case 23:z=d.$val;$r=EJ(a,z.Methods);$s=121;case 121:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 24:aa=d.$val;$r=EJ(a,aa.Key);$s=122;case 122:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,aa.Value);$s=123;case 123:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 25:ab=d.$val;$r=EJ(a,ab.Value);$s=124;case 124:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 26:ac=d.$val;$s=56;continue;case 27:ad=d.$val;$r=EJ(a,ad.Decl);$s=125;case 125:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 28:ae=d.$val;$s=56;continue;case 29:af=d.$val;$r=EJ(a,af.Label);$s=126;case 126:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,af.Stmt);$s=127;case 127:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 30:ag=d.$val;$r=EJ(a,ag.X);$s=128;case 128:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 31:ah=d.$val;$r=EJ(a,ah.Chan);$s=129;case 129:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,ah.Value);$s=130;case 130:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 32:ai=d.$val;$r=EJ(a,ai.X);$s=131;case 131:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 33:aj=d.$val;$r=EG(a,aj.Lhs);$s=132;case 132:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EG(a,aj.Rhs);$s=133;case 133:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 34:ak=d.$val;$r=EJ(a,ak.Call);$s=134;case 134:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 35:al=d.$val;$r=EJ(a,al.Call);$s=135;case 135:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 36:am=d.$val;$r=EG(a,am.Results);$s=136;case 136:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 37:an=d.$val;if(!(an.Label===ES.nil)){$s=137;continue;}$s=138;continue;case 137:$r=EJ(a,an.Label);$s=139;case 139:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 138:$s=56;continue;case 38:ao=d.$val;$r=EH(a,ao.List);$s=140;case 140:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 39:ap=d.$val;if(!($interfaceIsEqual(ap.Init,$ifaceNil))){$s=141;continue;}$s=142;continue;case 141:$r=EJ(a,ap.Init);$s=143;case 143:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 142:$r=EJ(a,ap.Cond);$s=144;case 144:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,ap.Body);$s=145;case 145:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(ap.Else,$ifaceNil))){$s=146;continue;}$s=147;continue;case 146:$r=EJ(a,ap.Else);$s=148;case 148:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 147:$s=56;continue;case 40:aq=d.$val;$r=EG(a,aq.List);$s=149;case 149:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EH(a,aq.Body);$s=150;case 150:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 41:ar=d.$val;if(!($interfaceIsEqual(ar.Init,$ifaceNil))){$s=151;continue;}$s=152;continue;case 151:$r=EJ(a,ar.Init);$s=153;case 153:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 152:if(!($interfaceIsEqual(ar.Tag,$ifaceNil))){$s=154;continue;}$s=155;continue;case 154:$r=EJ(a,ar.Tag);$s=156;case 156:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 155:$r=EJ(a,ar.Body);$s=157;case 157:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 42:as=d.$val;if(!($interfaceIsEqual(as.Init,$ifaceNil))){$s=158;continue;}$s=159;continue;case 158:$r=EJ(a,as.Init);$s=160;case 160:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 159:$r=EJ(a,as.Assign);$s=161;case 161:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,as.Body);$s=162;case 162:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 43:at=d.$val;if(!($interfaceIsEqual(at.Comm,$ifaceNil))){$s=163;continue;}$s=164;continue;case 163:$r=EJ(a,at.Comm);$s=165;case 165:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 164:$r=EH(a,at.Body);$s=166;case 166:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 44:au=d.$val;$r=EJ(a,au.Body);$s=167;case 167:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 45:av=d.$val;if(!($interfaceIsEqual(av.Init,$ifaceNil))){$s=168;continue;}$s=169;continue;case 168:$r=EJ(a,av.Init);$s=170;case 170:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 169:if(!($interfaceIsEqual(av.Cond,$ifaceNil))){$s=171;continue;}$s=172;continue;case 171:$r=EJ(a,av.Cond);$s=173;case 173:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 172:if(!($interfaceIsEqual(av.Post,$ifaceNil))){$s=174;continue;}$s=175;continue;case 174:$r=EJ(a,av.Post);$s=176;case 176:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 175:$r=EJ(a,av.Body);$s=177;case 177:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 46:aw=d.$val;if(!($interfaceIsEqual(aw.Key,$ifaceNil))){$s=178;continue;}$s=179;continue;case 178:$r=EJ(a,aw.Key);$s=180;case 180:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 179:if(!($interfaceIsEqual(aw.Value,$ifaceNil))){$s=181;continue;}$s=182;continue;case 181:$r=EJ(a,aw.Value);$s=183;case 183:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 182:$r=EJ(a,aw.X);$s=184;case 184:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,aw.Body);$s=185;case 185:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 47:ax=d.$val;if(!(ax.Doc===EN.nil)){$s=186;continue;}$s=187;continue;case 186:$r=EJ(a,ax.Doc);$s=188;case 188:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 187:if(!(ax.Name===ES.nil)){$s=189;continue;}$s=190;continue;case 189:$r=EJ(a,ax.Name);$s=191;case 191:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 190:$r=EJ(a,ax.Path);$s=192;case 192:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(ax.Comment===EN.nil)){$s=193;continue;}$s=194;continue;case 193:$r=EJ(a,ax.Comment);$s=195;case 195:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 194:$s=56;continue;case 48:ay=d.$val;if(!(ay.Doc===EN.nil)){$s=196;continue;}$s=197;continue;case 196:$r=EJ(a,ay.Doc);$s=198;case 198:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 197:$r=EF(a,ay.Names);$s=199;case 199:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(ay.Type,$ifaceNil))){$s=200;continue;}$s=201;continue;case 200:$r=EJ(a,ay.Type);$s=202;case 202:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 201:$r=EG(a,ay.Values);$s=203;case 203:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(ay.Comment===EN.nil)){$s=204;continue;}$s=205;continue;case 204:$r=EJ(a,ay.Comment);$s=206;case 206:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 205:$s=56;continue;case 49:az=d.$val;if(!(az.Doc===EN.nil)){$s=207;continue;}$s=208;continue;case 207:$r=EJ(a,az.Doc);$s=209;case 209:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 208:$r=EJ(a,az.Name);$s=210;case 210:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,az.Type);$s=211;case 211:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(az.Comment===EN.nil)){$s=212;continue;}$s=213;continue;case 212:$r=EJ(a,az.Comment);$s=214;case 214:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 213:$s=56;continue;case 50:ba=d.$val;$s=56;continue;case 51:bb=d.$val;if(!(bb.Doc===EN.nil)){$s=215;continue;}$s=216;continue;case 215:$r=EJ(a,bb.Doc);$s=217;case 217:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 216:bm=bb.Specs;bn=0;case 218:if(!(bn<bm.$length)){$s=219;continue;}bo=((bn<0||bn>=bm.$length)?($throwRuntimeError("index out of range"),undefined):bm.$array[bm.$offset+bn]);$r=EJ(a,bo);$s=220;case 220:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bn++;$s=218;continue;case 219:$s=56;continue;case 52:bc=d.$val;if(!(bc.Doc===EN.nil)){$s=221;continue;}$s=222;continue;case 221:$r=EJ(a,bc.Doc);$s=223;case 223:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 222:if(!(bc.Recv===EQ.nil)){$s=224;continue;}$s=225;continue;case 224:$r=EJ(a,bc.Recv);$s=226;case 226:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 225:$r=EJ(a,bc.Name);$s=227;case 227:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EJ(a,bc.Type);$s=228;case 228:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(bc.Body===ET.nil)){$s=229;continue;}$s=230;continue;case 229:$r=EJ(a,bc.Body);$s=231;case 231:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 230:$s=56;continue;case 53:bd=d.$val;if(!(bd.Doc===EN.nil)){$s=232;continue;}$s=233;continue;case 232:$r=EJ(a,bd.Doc);$s=234;case 234:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 233:$r=EJ(a,bd.Name);$s=235;case 235:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=EI(a,bd.Decls);$s=236;case 236:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=56;continue;case 54:be=d.$val;bp=be.Files;bq=0;br=$keys(bp);case 237:if(!(bq<br.length)){$s=238;continue;}bs=bp[br[bq]];if(bs===undefined){bq++;$s=237;continue;}bt=bs.v;$r=EJ(a,bt);$s=239;case 239:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}bq++;$s=237;continue;case 238:$s=56;continue;case 55:bf=d;bu=F.Sprintf("ast.Walk: unexpected node type %T",new FC([bf]));$s=240;case 240:if($c){$c=false;bu=bu.$blk();}if(bu&&bu.$blk!==undefined){break s;}$panic(new $String(bu));case 56:bv=a.Visit($ifaceNil);$s=241;case 241:if($c){$c=false;bv=bv.$blk();}if(bv&&bv.$blk!==undefined){break s;}bv;$s=-1;return;}return;}if($f===undefined){$f={$blk:EJ};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.az=az;$f.b=b;$f.ba=ba;$f.bb=bb;$f.bc=bc;$f.bd=bd;$f.be=be;$f.bf=bf;$f.bg=bg;$f.bh=bh;$f.bi=bi;$f.bj=bj;$f.bk=bk;$f.bl=bl;$f.bm=bm;$f.bn=bn;$f.bo=bo;$f.bp=bp;$f.bq=bq;$f.br=br;$f.bs=bs;$f.bt=bt;$f.bu=bu;$f.bv=bv;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Walk=EJ;EK.prototype.Visit=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this.$val;c=b(a);$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}if(c){$s=1;continue;}$s=2;continue;case 1:$s=-1;return new EK(b);case 2:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:EK.prototype.Visit};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};$ptrType(EK).prototype.Visit=function(a){return new EK(this.$get()).Visit(a);};EL=function(a,b){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=EJ(new EK((b)),a);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:EL};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Inspect=EL;EW.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)}];EN.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"Text",name:"Text",pkg:"",typ:$funcType([],[$String],false)}];FA.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)}];EQ.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"NumFields",name:"NumFields",pkg:"",typ:$funcType([],[$Int],false)}];GA.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];ES.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)},{prop:"IsExported",name:"IsExported",pkg:"",typ:$funcType([],[$Bool],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];GB.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];EP.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];GC.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];GD.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];FF.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];FD.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];GE.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];GF.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];GG.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];GH.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];FE.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];GI.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];GJ.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];GK.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];FG.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];FH.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];FI.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];FJ.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];FK.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];FL.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}];GL.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GM.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GN.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];FY.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GO.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GP.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GQ.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];FZ.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GR.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GS.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GT.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GU.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];ET.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GV.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GW.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GX.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GY.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];GZ.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];HA.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];HB.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];HC.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}];FS.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"specNode",name:"specNode",pkg:"go/ast",typ:$funcType([],[],false)}];FM.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"specNode",name:"specNode",pkg:"go/ast",typ:$funcType([],[],false)}];FN.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"specNode",name:"specNode",pkg:"go/ast",typ:$funcType([],[],false)}];HD.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"declNode",name:"declNode",pkg:"go/ast",typ:$funcType([],[],false)}];FO.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"declNode",name:"declNode",pkg:"go/ast",typ:$funcType([],[],false)}];FP.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"declNode",name:"declNode",pkg:"go/ast",typ:$funcType([],[],false)}];EZ.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)}];HE.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)}];DK.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)}];DL.methods=[{prop:"Len",name:"Len",pkg:"",typ:$funcType([],[$Int],false)},{prop:"Swap",name:"Swap",pkg:"",typ:$funcType([$Int,$Int],[],false)},{prop:"Less",name:"Less",pkg:"",typ:$funcType([$Int,$Int],[$Bool],false)}];FX.methods=[{prop:"Lookup",name:"Lookup",pkg:"",typ:$funcType([$String],[ER],false)},{prop:"Insert",name:"Insert",pkg:"",typ:$funcType([ER],[ER],false)},{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];ER.methods=[{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)}];EC.methods=[{prop:"String",name:"String",pkg:"",typ:$funcType([],[$String],false)}];EK.methods=[{prop:"Visit",name:"Visit",pkg:"",typ:$funcType([M],[EE],false)}];M.init([{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)}]);N.init([{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"exprNode",name:"exprNode",pkg:"go/ast",typ:$funcType([],[],false)}]);O.init([{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"stmtNode",name:"stmtNode",pkg:"go/ast",typ:$funcType([],[],false)}]);P.init([{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"declNode",name:"declNode",pkg:"go/ast",typ:$funcType([],[],false)}]);Q.init("",[{prop:"Slash",name:"Slash",exported:true,typ:A.Pos,tag:""},{prop:"Text",name:"Text",exported:true,typ:$String,tag:""}]);R.init("",[{prop:"List",name:"List",exported:true,typ:FQ,tag:""}]);U.init("",[{prop:"Doc",name:"Doc",exported:true,typ:EN,tag:""},{prop:"Names",name:"Names",exported:true,typ:FU,tag:""},{prop:"Type",name:"Type",exported:true,typ:N,tag:""},{prop:"Tag",name:"Tag",exported:true,typ:EP,tag:""},{prop:"Comment",name:"Comment",exported:true,typ:EN,tag:""}]);V.init("",[{prop:"Opening",name:"Opening",exported:true,typ:A.Pos,tag:""},{prop:"List",name:"List",exported:true,typ:HF,tag:""},{prop:"Closing",name:"Closing",exported:true,typ:A.Pos,tag:""}]);W.init("",[{prop:"From",name:"From",exported:true,typ:A.Pos,tag:""},{prop:"To",name:"To",exported:true,typ:A.Pos,tag:""}]);X.init("",[{prop:"NamePos",name:"NamePos",exported:true,typ:A.Pos,tag:""},{prop:"Name",name:"Name",exported:true,typ:$String,tag:""},{prop:"Obj",name:"Obj",exported:true,typ:ER,tag:""}]);Y.init("",[{prop:"Ellipsis",name:"Ellipsis",exported:true,typ:A.Pos,tag:""},{prop:"Elt",name:"Elt",exported:true,typ:N,tag:""}]);Z.init("",[{prop:"ValuePos",name:"ValuePos",exported:true,typ:A.Pos,tag:""},{prop:"Kind",name:"Kind",exported:true,typ:A.Token,tag:""},{prop:"Value",name:"Value",exported:true,typ:$String,tag:""}]);AA.init("",[{prop:"Type",name:"Type",exported:true,typ:FI,tag:""},{prop:"Body",name:"Body",exported:true,typ:ET,tag:""}]);AB.init("",[{prop:"Type",name:"Type",exported:true,typ:N,tag:""},{prop:"Lbrace",name:"Lbrace",exported:true,typ:A.Pos,tag:""},{prop:"Elts",name:"Elts",exported:true,typ:HG,tag:""},{prop:"Rbrace",name:"Rbrace",exported:true,typ:A.Pos,tag:""}]);AC.init("",[{prop:"Lparen",name:"Lparen",exported:true,typ:A.Pos,tag:""},{prop:"X",name:"X",exported:true,typ:N,tag:""},{prop:"Rparen",name:"Rparen",exported:true,typ:A.Pos,tag:""}]);AD.init("",[{prop:"X",name:"X",exported:true,typ:N,tag:""},{prop:"Sel",name:"Sel",exported:true,typ:ES,tag:""}]);AE.init("",[{prop:"X",name:"X",exported:true,typ:N,tag:""},{prop:"Lbrack",name:"Lbrack",exported:true,typ:A.Pos,tag:""},{prop:"Index",name:"Index",exported:true,typ:N,tag:""},{prop:"Rbrack",name:"Rbrack",exported:true,typ:A.Pos,tag:""}]);AF.init("",[{prop:"X",name:"X",exported:true,typ:N,tag:""},{prop:"Lbrack",name:"Lbrack",exported:true,typ:A.Pos,tag:""},{prop:"Low",name:"Low",exported:true,typ:N,tag:""},{prop:"High",name:"High",exported:true,typ:N,tag:""},{prop:"Max",name:"Max",exported:true,typ:N,tag:""},{prop:"Slice3",name:"Slice3",exported:true,typ:$Bool,tag:""},{prop:"Rbrack",name:"Rbrack",exported:true,typ:A.Pos,tag:""}]);AG.init("",[{prop:"X",name:"X",exported:true,typ:N,tag:""},{prop:"Lparen",name:"Lparen",exported:true,typ:A.Pos,tag:""},{prop:"Type",name:"Type",exported:true,typ:N,tag:""},{prop:"Rparen",name:"Rparen",exported:true,typ:A.Pos,tag:""}]);AH.init("",[{prop:"Fun",name:"Fun",exported:true,typ:N,tag:""},{prop:"Lparen",name:"Lparen",exported:true,typ:A.Pos,tag:""},{prop:"Args",name:"Args",exported:true,typ:HG,tag:""},{prop:"Ellipsis",name:"Ellipsis",exported:true,typ:A.Pos,tag:""},{prop:"Rparen",name:"Rparen",exported:true,typ:A.Pos,tag:""}]);AI.init("",[{prop:"Star",name:"Star",exported:true,typ:A.Pos,tag:""},{prop:"X",name:"X",exported:true,typ:N,tag:""}]);AJ.init("",[{prop:"OpPos",name:"OpPos",exported:true,typ:A.Pos,tag:""},{prop:"Op",name:"Op",exported:true,typ:A.Token,tag:""},{prop:"X",name:"X",exported:true,typ:N,tag:""}]);AK.init("",[{prop:"X",name:"X",exported:true,typ:N,tag:""},{prop:"OpPos",name:"OpPos",exported:true,typ:A.Pos,tag:""},{prop:"Op",name:"Op",exported:true,typ:A.Token,tag:""},{prop:"Y",name:"Y",exported:true,typ:N,tag:""}]);AL.init("",[{prop:"Key",name:"Key",exported:true,typ:N,tag:""},{prop:"Colon",name:"Colon",exported:true,typ:A.Pos,tag:""},{prop:"Value",name:"Value",exported:true,typ:N,tag:""}]);AN.init("",[{prop:"Lbrack",name:"Lbrack",exported:true,typ:A.Pos,tag:""},{prop:"Len",name:"Len",exported:true,typ:N,tag:""},{prop:"Elt",name:"Elt",exported:true,typ:N,tag:""}]);AO.init("",[{prop:"Struct",name:"Struct",exported:true,typ:A.Pos,tag:""},{prop:"Fields",name:"Fields",exported:true,typ:EQ,tag:""},{prop:"Incomplete",name:"Incomplete",exported:true,typ:$Bool,tag:""}]);AP.init("",[{prop:"Func",name:"Func",exported:true,typ:A.Pos,tag:""},{prop:"Params",name:"Params",exported:true,typ:EQ,tag:""},{prop:"Results",name:"Results",exported:true,typ:EQ,tag:""}]);AQ.init("",[{prop:"Interface",name:"Interface",exported:true,typ:A.Pos,tag:""},{prop:"Methods",name:"Methods",exported:true,typ:EQ,tag:""},{prop:"Incomplete",name:"Incomplete",exported:true,typ:$Bool,tag:""}]);AR.init("",[{prop:"Map",name:"Map",exported:true,typ:A.Pos,tag:""},{prop:"Key",name:"Key",exported:true,typ:N,tag:""},{prop:"Value",name:"Value",exported:true,typ:N,tag:""}]);AS.init("",[{prop:"Begin",name:"Begin",exported:true,typ:A.Pos,tag:""},{prop:"Arrow",name:"Arrow",exported:true,typ:A.Pos,tag:""},{prop:"Dir",name:"Dir",exported:true,typ:AM,tag:""},{prop:"Value",name:"Value",exported:true,typ:N,tag:""}]);AV.init("",[{prop:"From",name:"From",exported:true,typ:A.Pos,tag:""},{prop:"To",name:"To",exported:true,typ:A.Pos,tag:""}]);AW.init("",[{prop:"Decl",name:"Decl",exported:true,typ:P,tag:""}]);AX.init("",[{prop:"Semicolon",name:"Semicolon",exported:true,typ:A.Pos,tag:""},{prop:"Implicit",name:"Implicit",exported:true,typ:$Bool,tag:""}]);AY.init("",[{prop:"Label",name:"Label",exported:true,typ:ES,tag:""},{prop:"Colon",name:"Colon",exported:true,typ:A.Pos,tag:""},{prop:"Stmt",name:"Stmt",exported:true,typ:O,tag:""}]);AZ.init("",[{prop:"X",name:"X",exported:true,typ:N,tag:""}]);BA.init("",[{prop:"Chan",name:"Chan",exported:true,typ:N,tag:""},{prop:"Arrow",name:"Arrow",exported:true,typ:A.Pos,tag:""},{prop:"Value",name:"Value",exported:true,typ:N,tag:""}]);BB.init("",[{prop:"X",name:"X",exported:true,typ:N,tag:""},{prop:"TokPos",name:"TokPos",exported:true,typ:A.Pos,tag:""},{prop:"Tok",name:"Tok",exported:true,typ:A.Token,tag:""}]);BC.init("",[{prop:"Lhs",name:"Lhs",exported:true,typ:HG,tag:""},{prop:"TokPos",name:"TokPos",exported:true,typ:A.Pos,tag:""},{prop:"Tok",name:"Tok",exported:true,typ:A.Token,tag:""},{prop:"Rhs",name:"Rhs",exported:true,typ:HG,tag:""}]);BD.init("",[{prop:"Go",name:"Go",exported:true,typ:A.Pos,tag:""},{prop:"Call",name:"Call",exported:true,typ:GH,tag:""}]);BE.init("",[{prop:"Defer",name:"Defer",exported:true,typ:A.Pos,tag:""},{prop:"Call",name:"Call",exported:true,typ:GH,tag:""}]);BF.init("",[{prop:"Return",name:"Return",exported:true,typ:A.Pos,tag:""},{prop:"Results",name:"Results",exported:true,typ:HG,tag:""}]);BG.init("",[{prop:"TokPos",name:"TokPos",exported:true,typ:A.Pos,tag:""},{prop:"Tok",name:"Tok",exported:true,typ:A.Token,tag:""},{prop:"Label",name:"Label",exported:true,typ:ES,tag:""}]);BH.init("",[{prop:"Lbrace",name:"Lbrace",exported:true,typ:A.Pos,tag:""},{prop:"List",name:"List",exported:true,typ:HH,tag:""},{prop:"Rbrace",name:"Rbrace",exported:true,typ:A.Pos,tag:""}]);BI.init("",[{prop:"If",name:"If",exported:true,typ:A.Pos,tag:""},{prop:"Init",name:"Init",exported:true,typ:O,tag:""},{prop:"Cond",name:"Cond",exported:true,typ:N,tag:""},{prop:"Body",name:"Body",exported:true,typ:ET,tag:""},{prop:"Else",name:"Else",exported:true,typ:O,tag:""}]);BJ.init("",[{prop:"Case",name:"Case",exported:true,typ:A.Pos,tag:""},{prop:"List",name:"List",exported:true,typ:HG,tag:""},{prop:"Colon",name:"Colon",exported:true,typ:A.Pos,tag:""},{prop:"Body",name:"Body",exported:true,typ:HH,tag:""}]);BK.init("",[{prop:"Switch",name:"Switch",exported:true,typ:A.Pos,tag:""},{prop:"Init",name:"Init",exported:true,typ:O,tag:""},{prop:"Tag",name:"Tag",exported:true,typ:N,tag:""},{prop:"Body",name:"Body",exported:true,typ:ET,tag:""}]);BL.init("",[{prop:"Switch",name:"Switch",exported:true,typ:A.Pos,tag:""},{prop:"Init",name:"Init",exported:true,typ:O,tag:""},{prop:"Assign",name:"Assign",exported:true,typ:O,tag:""},{prop:"Body",name:"Body",exported:true,typ:ET,tag:""}]);BM.init("",[{prop:"Case",name:"Case",exported:true,typ:A.Pos,tag:""},{prop:"Comm",name:"Comm",exported:true,typ:O,tag:""},{prop:"Colon",name:"Colon",exported:true,typ:A.Pos,tag:""},{prop:"Body",name:"Body",exported:true,typ:HH,tag:""}]);BN.init("",[{prop:"Select",name:"Select",exported:true,typ:A.Pos,tag:""},{prop:"Body",name:"Body",exported:true,typ:ET,tag:""}]);BO.init("",[{prop:"For",name:"For",exported:true,typ:A.Pos,tag:""},{prop:"Init",name:"Init",exported:true,typ:O,tag:""},{prop:"Cond",name:"Cond",exported:true,typ:N,tag:""},{prop:"Post",name:"Post",exported:true,typ:O,tag:""},{prop:"Body",name:"Body",exported:true,typ:ET,tag:""}]);BP.init("",[{prop:"For",name:"For",exported:true,typ:A.Pos,tag:""},{prop:"Key",name:"Key",exported:true,typ:N,tag:""},{prop:"Value",name:"Value",exported:true,typ:N,tag:""},{prop:"TokPos",name:"TokPos",exported:true,typ:A.Pos,tag:""},{prop:"Tok",name:"Tok",exported:true,typ:A.Token,tag:""},{prop:"X",name:"X",exported:true,typ:N,tag:""},{prop:"Body",name:"Body",exported:true,typ:ET,tag:""}]);BQ.init([{prop:"End",name:"End",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"Pos",name:"Pos",pkg:"",typ:$funcType([],[A.Pos],false)},{prop:"specNode",name:"specNode",pkg:"go/ast",typ:$funcType([],[],false)}]);BR.init("",[{prop:"Doc",name:"Doc",exported:true,typ:EN,tag:""},{prop:"Name",name:"Name",exported:true,typ:ES,tag:""},{prop:"Path",name:"Path",exported:true,typ:EP,tag:""},{prop:"Comment",name:"Comment",exported:true,typ:EN,tag:""},{prop:"EndPos",name:"EndPos",exported:true,typ:A.Pos,tag:""}]);BS.init("",[{prop:"Doc",name:"Doc",exported:true,typ:EN,tag:""},{prop:"Names",name:"Names",exported:true,typ:FU,tag:""},{prop:"Type",name:"Type",exported:true,typ:N,tag:""},{prop:"Values",name:"Values",exported:true,typ:HG,tag:""},{prop:"Comment",name:"Comment",exported:true,typ:EN,tag:""}]);BT.init("",[{prop:"Doc",name:"Doc",exported:true,typ:EN,tag:""},{prop:"Name",name:"Name",exported:true,typ:ES,tag:""},{prop:"Type",name:"Type",exported:true,typ:N,tag:""},{prop:"Comment",name:"Comment",exported:true,typ:EN,tag:""}]);BU.init("",[{prop:"From",name:"From",exported:true,typ:A.Pos,tag:""},{prop:"To",name:"To",exported:true,typ:A.Pos,tag:""}]);BV.init("",[{prop:"Doc",name:"Doc",exported:true,typ:EN,tag:""},{prop:"TokPos",name:"TokPos",exported:true,typ:A.Pos,tag:""},{prop:"Tok",name:"Tok",exported:true,typ:A.Token,tag:""},{prop:"Lparen",name:"Lparen",exported:true,typ:A.Pos,tag:""},{prop:"Specs",name:"Specs",exported:true,typ:HI,tag:""},{prop:"Rparen",name:"Rparen",exported:true,typ:A.Pos,tag:""}]);BW.init("",[{prop:"Doc",name:"Doc",exported:true,typ:EN,tag:""},{prop:"Recv",name:"Recv",exported:true,typ:EQ,tag:""},{prop:"Name",name:"Name",exported:true,typ:ES,tag:""},{prop:"Type",name:"Type",exported:true,typ:FI,tag:""},{prop:"Body",name:"Body",exported:true,typ:ET,tag:""}]);BX.init("",[{prop:"Doc",name:"Doc",exported:true,typ:EN,tag:""},{prop:"Package",name:"Package",exported:true,typ:A.Pos,tag:""},{prop:"Name",name:"Name",exported:true,typ:ES,tag:""},{prop:"Decls",name:"Decls",exported:true,typ:FR,tag:""},{prop:"Scope",name:"Scope",exported:true,typ:FX,tag:""},{prop:"Imports",name:"Imports",exported:true,typ:FT,tag:""},{prop:"Unresolved",name:"Unresolved",exported:true,typ:FU,tag:""},{prop:"Comments",name:"Comments",exported:true,typ:EU,tag:""}]);BY.init("",[{prop:"Name",name:"Name",exported:true,typ:$String,tag:""},{prop:"Scope",name:"Scope",exported:true,typ:FX,tag:""},{prop:"Imports",name:"Imports",exported:true,typ:HJ,tag:""},{prop:"Files",name:"Files",exported:true,typ:HK,tag:""}]);DI.init("",[{prop:"Start",name:"Start",exported:true,typ:A.Pos,tag:""},{prop:"End",name:"End",exported:true,typ:A.Pos,tag:""}]);DK.init(BQ);DL.init(EN);DY.init("",[{prop:"Outer",name:"Outer",exported:true,typ:FX,tag:""},{prop:"Objects",name:"Objects",exported:true,typ:HJ,tag:""}]);EA.init("",[{prop:"Kind",name:"Kind",exported:true,typ:EC,tag:""},{prop:"Name",name:"Name",exported:true,typ:$String,tag:""},{prop:"Decl",name:"Decl",exported:true,typ:$emptyInterface,tag:""},{prop:"Data",name:"Data",exported:true,typ:$emptyInterface,tag:""},{prop:"Type",name:"Type",exported:true,typ:$emptyInterface,tag:""}]);EE.init([{prop:"Visit",name:"Visit",pkg:"",typ:$funcType([M],[EE],false)}]);EK.init([M],[$Bool],false);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=E.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ED=$toNativeArray($kindString,["bad","package","const","type","var","func","label"]);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["io/ioutil"]=(function(){var $pkg={},$init,A,B,C,F,D,G,E,H,X,Y,Z,Q,I,K;A=$packages["bytes"];B=$packages["io"];C=$packages["os"];F=$packages["path/filepath"];D=$packages["sort"];G=$packages["strconv"];E=$packages["sync"];H=$packages["time"];X=$sliceType($emptyInterface);Y=$sliceType($Uint8);Z=$ptrType(Y);I=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=[c];d=Y.nil;c[0]=$ifaceNil;e=A.NewBuffer($makeSlice(Y,0,$flatten64(b)));$deferred.push([(function(c){return function(){var $ptr,f,g,h,i;f=$recover();if($interfaceIsEqual(f,$ifaceNil)){return;}g=$assertType(f,$error,true);h=g[0];i=g[1];if(i&&$interfaceIsEqual(h,A.ErrTooLarge)){c[0]=h;}else{$panic(f);}};})(c),[]]);g=e.ReadFrom(a);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;c[0]=f[1];h=e.Bytes();i=c[0];d=h;c[0]=i;$s=-1;return[d,c[0]];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[d,c[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:I};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};K=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=C.Open(a);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){$s=-1;return[Y.nil,d];}$deferred.push([$methodVal(c,"Close"),[]]);e=new $Int64(0,0);f=c.Stat();g=f[0];h=f[1];if($interfaceIsEqual(h,$ifaceNil)){$s=1;continue;}$s=2;continue;case 1:i=g.Size();$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;if((j.$high<0||(j.$high===0&&j.$low<1000000000))){e=j;}case 2:k=I(c,new $Int64(e.$high+0,e.$low+512));$s=4;case 4:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;}return;}}catch(err){$err=err;$s=-1;return[Y.nil,$ifaceNil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:K};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};$pkg.ReadFile=K;$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}Q=new E.Pool.ptr(0,0,X.nil,(function(){var $ptr,a,b;a=$makeSlice(Y,8192);return(b||(b=new Z(function(){return a;},function($v){a=$subslice(new Y($v.$array),$v.$offset,$v.$offset+$v.$length);})));}));}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["go/parser"]=(function(){var $pkg={},$init,A,B,J,C,K,D,E,F,G,H,L,I,M,O,T,X,AG,AI,AJ,AK,AL,AM,AN,AO,AP,AQ,AR,AS,AT,AU,AV,AW,AX,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,U,N,P,V,W,Y,Z,AA,AB,AC,AD,AE,AF,AH;A=$packages["bytes"];B=$packages["errors"];J=$packages["fmt"];C=$packages["go/ast"];K=$packages["go/scanner"];D=$packages["go/token"];E=$packages["io"];F=$packages["io/ioutil"];G=$packages["os"];H=$packages["path/filepath"];L=$packages["strconv"];I=$packages["strings"];M=$packages["unicode"];O=$pkg.Mode=$newType(4,$kindUint,"parser.Mode",true,"go/parser",true,null);T=$pkg.parser=$newType(0,$kindStruct,"parser.parser",true,"go/parser",false,function(file_,errors_,scanner_,mode_,trace_,indent_,comments_,leadComment_,lineComment_,pos_,tok_,lit_,syncPos_,syncCnt_,exprLev_,inRhs_,pkgScope_,topScope_,unresolved_,imports_,labelScope_,targetStack_){this.$val=this;if(arguments.length===0){this.file=AN.nil;this.errors=K.ErrorList.nil;this.scanner=new K.Scanner.ptr(AN.nil,"",AI.nil,$throwNilPointerError,0,0,0,0,0,false,0);this.mode=0;this.trace=false;this.indent=0;this.comments=AP.nil;this.leadComment=AO.nil;this.lineComment=AO.nil;this.pos=0;this.tok=0;this.lit="";this.syncPos=0;this.syncCnt=0;this.exprLev=0;this.inRhs=false;this.pkgScope=AQ.nil;this.topScope=AQ.nil;this.unresolved=AS.nil;this.imports=AU.nil;this.labelScope=AQ.nil;this.targetStack=AV.nil;return;}this.file=file_;this.errors=errors_;this.scanner=scanner_;this.mode=mode_;this.trace=trace_;this.indent=indent_;this.comments=comments_;this.leadComment=leadComment_;this.lineComment=lineComment_;this.pos=pos_;this.tok=tok_;this.lit=lit_;this.syncPos=syncPos_;this.syncCnt=syncCnt_;this.exprLev=exprLev_;this.inRhs=inRhs_;this.pkgScope=pkgScope_;this.topScope=topScope_;this.unresolved=unresolved_;this.imports=imports_;this.labelScope=labelScope_;this.targetStack=targetStack_;});X=$pkg.bailout=$newType(0,$kindStruct,"parser.bailout",true,"go/parser",false,function(){this.$val=this;if(arguments.length===0){return;}});AG=$pkg.parseSpecFunction=$newType(4,$kindFunc,"parser.parseSpecFunction",true,"go/parser",false,null);AI=$sliceType($Uint8);AJ=$ptrType(A.Buffer);AK=$arrayType($Uint8,64);AL=$ptrType(C.File);AM=$ptrType(D.FileSet);AN=$ptrType(D.File);AO=$ptrType(C.CommentGroup);AP=$sliceType(AO);AQ=$ptrType(C.Scope);AR=$ptrType(C.Ident);AS=$sliceType(AR);AT=$ptrType(C.ImportSpec);AU=$sliceType(AT);AV=$sliceType(AS);AW=$sliceType(C.Decl);AX=$ptrType(C.Object);BA=$ptrType(K.ErrorList);BB=$sliceType($emptyInterface);BC=$ptrType(C.Comment);BD=$sliceType(BC);BE=$sliceType(C.Expr);BF=$ptrType(C.BadExpr);BG=$ptrType(C.BasicLit);BH=$ptrType(C.Field);BI=$sliceType(BH);BJ=$ptrType(C.FieldList);BK=$ptrType(C.StructType);BL=$ptrType(C.StarExpr);BM=$ptrType(C.FuncType);BN=$ptrType(C.InterfaceType);BO=$ptrType(C.MapType);BP=$ptrType(C.ChanType);BQ=$sliceType(C.Stmt);BR=$ptrType(C.BlockStmt);BS=$arrayType(C.Expr,3);BT=$arrayType(D.Pos,2);BU=$ptrType(C.CallExpr);BV=$ptrType(C.FuncLit);BW=$ptrType(C.CompositeLit);BX=$ptrType(C.ParenExpr);BY=$ptrType(C.SelectorExpr);BZ=$ptrType(C.IndexExpr);CA=$ptrType(C.SliceExpr);CB=$ptrType(C.TypeAssertExpr);CC=$ptrType(C.UnaryExpr);CD=$ptrType(C.BinaryExpr);CE=$ptrType(C.ArrayType);CF=$ptrType(C.Ellipsis);CG=$ptrType(C.ReturnStmt);CH=$ptrType(C.BranchStmt);CI=$ptrType(C.ExprStmt);CJ=$ptrType(C.IfStmt);CK=$ptrType(C.CaseClause);CL=$ptrType(C.AssignStmt);CM=$ptrType(C.CommClause);CN=$ptrType(C.SelectStmt);CO=$ptrType(C.LabeledStmt);CP=$sliceType(C.Spec);CQ=$ptrType(C.GenDecl);CR=$ptrType(C.FuncDecl);CS=$ptrType(T);CT=$funcType([CS],[],false);N=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];if(!($interfaceIsEqual(b,$ifaceNil))){$s=1;continue;}$s=2;continue;case 1:d=b;if($assertType(d,$String,true)[1]){$s=3;continue;}if($assertType(d,AI,true)[1]){$s=4;continue;}if($assertType(d,AJ,true)[1]){$s=5;continue;}if($assertType(d,E.Reader,true)[1]){$s=6;continue;}$s=7;continue;case 3:e=d.$val;$s=-1;return[(new AI($stringToBytes(e))),$ifaceNil];case 4:f=d.$val;$s=-1;return[f,$ifaceNil];case 5:g=d.$val;if(!(g===AJ.nil)){$s=-1;return[g.Bytes(),$ifaceNil];}$s=7;continue;case 6:h=d;c[0]=new A.Buffer.ptr(AI.nil,0,AK.zero(),0);j=E.Copy(c[0],h);$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;k=i[1];if(!($interfaceIsEqual(k,$ifaceNil))){$s=-1;return[AI.nil,k];}$s=-1;return[c[0].Bytes(),$ifaceNil];case 7:$s=-1;return[AI.nil,B.New("invalid source")];case 2:l=F.ReadFile(a);$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return l;}return;}if($f===undefined){$f={$blk:N};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};P=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);e=[e];f=[f];g=[g];f[0]=AL.nil;e[0]=$ifaceNil;if(a===AM.nil){$panic(new $String("parser.ParseFile: no token.FileSet provided (fset == nil)"));}i=N(b,c);$s=1;case 1:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=i;j=h[0];e[0]=h[1];if(!($interfaceIsEqual(e[0],$ifaceNil))){k=AL.nil;l=e[0];f[0]=k;e[0]=l;$s=-1;return[f[0],e[0]];}g[0]=new T.ptr(AN.nil,K.ErrorList.nil,new K.Scanner.ptr(AN.nil,"",AI.nil,$throwNilPointerError,0,0,0,0,0,false,0),0,false,0,AP.nil,AO.nil,AO.nil,0,0,"",0,0,0,false,AQ.nil,AQ.nil,AS.nil,AU.nil,AQ.nil,AV.nil);$deferred.push([(function(e,f,g){return function $b(){var $ptr,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:m=$recover();if(!($interfaceIsEqual(m,$ifaceNil))){n=$assertType(m,X,true);o=n[1];if(!o){$panic(m);}}if(f[0]===AL.nil){f[0]=new C.File.ptr(AO.nil,0,new C.Ident.ptr(0,"",AX.nil),AW.nil,C.NewScope(AQ.nil),AU.nil,AS.nil,AP.nil);}$r=g[0].errors.Sort();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e[0]=g[0].errors.Err();$s=-1;return;}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};})(e,f,g),[]]);$r=g[0].init(a,b,j,d);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=g[0].parseFile();$s=3;case 3:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}f[0]=m;$s=-1;return[f[0],e[0]];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[f[0],e[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:P};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};$pkg.ParseFile=P;T.ptr.prototype.init=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=[e];e[0]=this;e[0].file=a.AddFile(b,-1,c.$length);f=0;if(!((((d&4)>>>0)===0))){f=1;}g=(function(e){return function(g,h){var $ptr,g,h;(e[0].$ptr_errors||(e[0].$ptr_errors=new BA(function(){return this.$target.errors;},function($v){this.$target.errors=$v;},e[0]))).Add($clone(g,D.Position),h);};})(e);$r=e[0].scanner.Init(e[0].file,c,g,f);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e[0].mode=d;e[0].trace=!((((d&8)>>>0)===0));$r=e[0].next();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.init};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.init=function(a,b,c,d){return this.$val.init(a,b,c,d);};T.ptr.prototype.openScope=function(){var $ptr,a;a=this;a.topScope=C.NewScope(a.topScope);};T.prototype.openScope=function(){return this.$val.openScope();};T.ptr.prototype.closeScope=function(){var $ptr,a;a=this;a.topScope=a.topScope.Outer;};T.prototype.closeScope=function(){return this.$val.closeScope();};T.ptr.prototype.openLabelScope=function(){var $ptr,a;a=this;a.labelScope=C.NewScope(a.labelScope);a.targetStack=$append(a.targetStack,AS.nil);};T.prototype.openLabelScope=function(){return this.$val.openLabelScope();};T.ptr.prototype.closeLabelScope=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.targetStack.$length-1>>0;c=a.labelScope;d=(e=a.targetStack,((b<0||b>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+b]));f=0;case 1:if(!(f<d.$length)){$s=2;continue;}g=((f<0||f>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+f]);g.Obj=c.Lookup(g.Name);if(g.Obj===AX.nil&&!((((a.mode&16)>>>0)===0))){$s=3;continue;}$s=4;continue;case 3:h=g.Pos();i=J.Sprintf("label %s undefined",new BB([new $String(g.Name)]));$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$r=a.error(h,j);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 4:f++;$s=1;continue;case 2:a.targetStack=$subslice(a.targetStack,0,b);a.labelScope=a.labelScope.Outer;$s=-1;return;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.closeLabelScope};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.closeLabelScope=function(){return this.$val.closeLabelScope();};T.ptr.prototype.declare=function(a,b,c,d,e){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;g=e;h=0;case 1:if(!(h<g.$length)){$s=2;continue;}i=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);Y(i.Obj===AX.nil,"identifier already declared or resolved");j=C.NewObj(d,i.Name);j.Decl=a;j.Data=b;i.Obj=j;if(!(i.Name==="_")){$s=3;continue;}$s=4;continue;case 3:k=c.Insert(j);if(!(k===AX.nil)&&!((((f.mode&16)>>>0)===0))){$s=5;continue;}$s=6;continue;case 5:l="";m=k.Pos();if(new D.Pos(m).IsValid()){$s=7;continue;}$s=8;continue;case 7:o=f.file.Position(m);$s=9;case 9:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=(n=o,new n.constructor.elem(n));q=J.Sprintf("\n\tprevious declaration at %s",new BB([p]));$s=10;case 10:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}l=q;case 8:r=i.Pos();s=J.Sprintf("%s redeclared in this block%s",new BB([new $String(i.Name),new $String(l)]));$s=11;case 11:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;$r=f.error(r,t);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:case 4:h++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.declare};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.declare=function(a,b,c,d,e){return this.$val.declare(a,b,c,d,e);};T.ptr.prototype.shortVarDecl=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=0;e=b;f=0;case 1:if(!(f<e.$length)){$s=2;continue;}g=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);h=$assertType(g,AR,true);i=h[0];j=h[1];if(j){$s=3;continue;}$s=4;continue;case 3:Y(i.Obj===AX.nil,"identifier already declared or resolved");k=C.NewObj(4,i.Name);k.Decl=a;i.Obj=k;if(!(i.Name==="_")){l=c.topScope.Insert(k);if(!(l===AX.nil)){i.Obj=l;}else{d=d+(1)>>0;}}$s=5;continue;case 4:m=g.Pos();$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$r=c.errorExpected(m,"identifier on left side of :=");$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:f++;$s=1;continue;case 2:if((d===0)&&!((((c.mode&16)>>>0)===0))){$s=8;continue;}$s=9;continue;case 8:n=(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]).Pos();$s=10;case 10:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$r=c.error(n,"no new variables on left side of :=");$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 9:$s=-1;return;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.shortVarDecl};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.shortVarDecl=function(a,b){return this.$val.shortVarDecl(a,b);};T.ptr.prototype.tryResolve=function(a,b){var $ptr,a,b,c,d,e,f,g;c=this;d=$assertType(a,AR,true);e=d[0];if(e===AR.nil){return;}Y(e.Obj===AX.nil,"identifier already declared or resolved");if(e.Name==="_"){return;}f=c.topScope;while(true){if(!(!(f===AQ.nil))){break;}g=f.Lookup(e.Name);if(!(g===AX.nil)){e.Obj=g;return;}f=f.Outer;}if(b){e.Obj=U;c.unresolved=$append(c.unresolved,e);}};T.prototype.tryResolve=function(a,b){return this.$val.tryResolve(a,b);};T.ptr.prototype.resolve=function(a){var $ptr,a,b;b=this;b.tryResolve(a,true);};T.prototype.resolve=function(a){return this.$val.resolve(a);};T.ptr.prototype.printTrace=function(a){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.file.Position(b.pos);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=$clone(c,D.Position);e=J.Printf("%5d:%3d: ",new BB([new $Int(d.Line),new $Int(d.Column)]));$s=2;case 2:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;f=$imul(2,b.indent);case 3:if(!(f>64)){$s=4;continue;}g=J.Print(new BB([new $String(". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ")]));$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;f=f-(64)>>0;$s=3;continue;case 4:h=J.Print(new BB([new $String($substring(". . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ",0,f))]));$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;i=J.Println(a);$s=7;case 7:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;$s=-1;return;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.printTrace};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.printTrace=function(a){return this.$val.printTrace(a);};V=function(a,b){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=a.printTrace(new BB([new $String(b),new $String("(")]));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.indent=a.indent+(1)>>0;$s=-1;return a;}return;}if($f===undefined){$f={$blk:V};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};W=function(a){var $ptr,a,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a.indent=a.indent-(1)>>0;$r=a.printTrace(new BB([new $String(")")]));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:W};}$f.$ptr=$ptr;$f.a=a;$f.$s=$s;$f.$r=$r;return $f;};T.ptr.prototype.next0=function(){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(a.trace&&new D.Pos(a.pos).IsValid()){$s=1;continue;}$s=2;continue;case 1:b=new D.Token(a.tok).String();if(new D.Token(a.tok).IsLiteral()){$s=4;continue;}if((new D.Token(a.tok).IsOperator())||(new D.Token(a.tok).IsKeyword())){$s=5;continue;}$s=6;continue;case 4:$r=a.printTrace(new BB([new $String(b),new $String(a.lit)]));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=7;continue;case 5:$r=a.printTrace(new BB([new $String("\""+b+"\"")]));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=7;continue;case 6:$r=a.printTrace(new BB([new $String(b)]));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:case 3:case 2:d=a.scanner.Scan();$s=11;case 11:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;a.pos=c[0];a.tok=c[1];a.lit=c[2];$s=-1;return;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.next0};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.next0=function(){return this.$val.next0();};T.ptr.prototype.consumeComment=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=BC.nil;b=0;c=this;d=c.file.Line(c.pos);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}b=d;if(c.lit.charCodeAt(1)===42){e=0;while(true){if(!(e<c.lit.length)){break;}if(c.lit.charCodeAt(e)===10){b=b+(1)>>0;}e=e+(1)>>0;}}a=new C.Comment.ptr(c.pos,c.lit);$r=c.next0();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[a,b];}return;}if($f===undefined){$f={$blk:T.ptr.prototype.consumeComment};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.consumeComment=function(){return this.$val.consumeComment();};T.ptr.prototype.consumeCommentGroup=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=AO.nil;c=0;d=this;e=BD.nil;f=d.file.Line(d.pos);$s=1;case 1:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}c=f;case 2:if(!(d.tok===2)){g=false;$s=4;continue s;}h=d.file.Line(d.pos);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h<=(c+a>>0);case 4:if(!(g)){$s=3;continue;}i=BC.nil;k=d.consumeComment();$s=6;case 6:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;i=j[0];c=j[1];e=$append(e,i);$s=2;continue;case 3:b=new C.CommentGroup.ptr(e);d.comments=$append(d.comments,b);$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:T.ptr.prototype.consumeCommentGroup};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.consumeCommentGroup=function(a){return this.$val.consumeCommentGroup(a);};T.ptr.prototype.next=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;a.leadComment=AO.nil;a.lineComment=AO.nil;b=a.pos;$r=a.next0();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(a.tok===2){$s=2;continue;}$s=3;continue;case 2:c=AO.nil;d=0;e=a.file.Line(a.pos);$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=a.file.Line(b);$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}if(e===f){$s=4;continue;}$s=5;continue;case 4:h=a.consumeCommentGroup(0);$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;c=g[0];d=g[1];i=a.file.Line(a.pos);$s=11;case 11:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!((i===d))){$s=9;continue;}$s=10;continue;case 9:a.lineComment=c;case 10:case 5:d=-1;case 12:if(!(a.tok===2)){$s=13;continue;}k=a.consumeCommentGroup(1);$s=14;case 14:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;c=j[0];d=j[1];$s=12;continue;case 13:l=a.file.Line(a.pos);$s=17;case 17:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}if((d+1>>0)===l){$s=15;continue;}$s=16;continue;case 15:a.leadComment=c;case 16:case 3:$s=-1;return;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.next};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.next=function(){return this.$val.next();};T.ptr.prototype.error=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=c.file.Position(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=$clone(d,D.Position);if(((c.mode&32)>>>0)===0){f=c.errors.$length;if(f>0&&((g=c.errors,h=f-1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h])).Pos.Line===e.Line)){$s=-1;return;}if(f>10){$panic((i=new X.ptr(),new i.constructor.elem(i)));}}(c.$ptr_errors||(c.$ptr_errors=new BA(function(){return this.$target.errors;},function($v){this.$target.errors=$v;},c))).Add($clone(e,D.Position),b);$s=-1;return;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.error};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.error=function(a,b){return this.$val.error(a,b);};T.ptr.prototype.errorExpected=function(a,b){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;b="expected "+b;if(a===c.pos){if((c.tok===57)&&c.lit==="\n"){b=b+(", found newline");}else{b=b+(", found '"+new D.Token(c.tok).String()+"'");if(new D.Token(c.tok).IsLiteral()){b=b+(" "+c.lit);}}}$r=c.error(a,b);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.errorExpected};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.errorExpected=function(a,b){return this.$val.errorExpected(a,b);};T.ptr.prototype.expect=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.pos;if(!((b.tok===a))){$s=1;continue;}$s=2;continue;case 1:$r=b.errorExpected(c,"'"+new D.Token(a).String()+"'");$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:$r=b.next();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.expect};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.expect=function(a){return this.$val.expect(a);};T.ptr.prototype.expectClosing=function(a,b){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(!((c.tok===a))&&(c.tok===57)&&c.lit==="\n"){$s=1;continue;}$s=2;continue;case 1:$r=c.error(c.pos,"missing ',' before newline in "+b);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.next();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:d=c.expect(a);$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.expectClosing};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.expectClosing=function(a,b){return this.$val.expectClosing(a,b);};T.ptr.prototype.expectSemi=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;if(!((a.tok===54))&&!((a.tok===56))){$s=1;continue;}$s=2;continue;case 1:b=a.tok;if(b===(52)){$s=4;continue;}if(b===(57)){$s=5;continue;}$s=6;continue;case 4:$r=a.errorExpected(a.pos,"';'");$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=a.next();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=7;continue;case 5:$r=a.next();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=7;continue;case 6:$r=a.errorExpected(a.pos,"';'");$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=Z(a);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:case 3:case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.expectSemi};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.expectSemi=function(){return this.$val.expectSemi();};T.ptr.prototype.atComma=function(a,b){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c.tok===52){$s=-1;return true;}if(!((c.tok===b))){$s=1;continue;}$s=2;continue;case 1:d="missing ','";if((c.tok===57)&&c.lit==="\n"){d=d+(" before newline");}$r=c.error(c.pos,d+" in "+a);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return true;case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.atComma};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.atComma=function(a,b){return this.$val.atComma(a,b);};Y=function(a,b){var $ptr,a,b;if(!a){$panic(new $String("go/parser internal error: "+b));}};Z=function(a){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:b=a.tok;if((b===(61))||(b===(64))||(b===(65))||(b===(67))||(b===(69))||(b===(70))||(b===(72))||(b===(73))||(b===(74))||(b===(80))||(b===(81))||(b===(83))||(b===(84))||(b===(85))){if((a.pos===a.syncPos)&&a.syncCnt<10){a.syncCnt=a.syncCnt+(1)>>0;$s=-1;return;}if(a.pos>a.syncPos){a.syncPos=a.pos;a.syncCnt=0;$s=-1;return;}}else if(b===(1)){$s=-1;return;}$r=a.next();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:Z};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AA=function(a){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:case 1:b=a.tok;if((b===(64))||(b===(84))||(b===(85))){if((a.pos===a.syncPos)&&a.syncCnt<10){a.syncCnt=a.syncCnt+(1)>>0;$s=-1;return;}if(a.pos>a.syncPos){a.syncPos=a.pos;a.syncCnt=0;$s=-1;return;}}else if(b===(1)){$s=-1;return;}$r=a.next();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AA};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};T.ptr.prototype.safePos=function(a){var $ptr,a,b,c,$deferred;var $err=null;try{$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=0;c=this;$deferred.push([(function(){var $ptr;if(!($interfaceIsEqual($recover(),$ifaceNil))){b=(((c.file.Base()+c.file.Size()>>0)>>0));}}),[]]);$unused(c.file.Offset(a));b=a;return b;}catch(err){$err=err;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return b;}}};T.prototype.safePos=function(a){return this.$val.safePos(a);};T.ptr.prototype.parseIdent=function(){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.pos;c="_";if(a.tok===4){$s=1;continue;}$s=2;continue;case 1:c=a.lit;$r=a.next();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=3;continue;case 2:d=a.expect(4);$s=5;case 5:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;case 3:$s=-1;return new C.Ident.ptr(b,c,AX.nil);}return;}if($f===undefined){$f={$blk:T.ptr.prototype.parseIdent};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.parseIdent=function(){return this.$val.parseIdent();};T.ptr.prototype.parseIdentList=function(){var $ptr,a,b,c,d,e,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=AS.nil;b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"IdentList");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.parseIdent();$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}a=$append(a,d);case 5:if(!(b.tok===52)){$s=6;continue;}$r=b.next();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=b.parseIdent();$s=8;case 8:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}a=$append(a,e);$s=5;continue;case 6:$s=-1;return a;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return a;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseIdentList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseIdentList=function(){return this.$val.parseIdentList();};T.ptr.prototype.parseExprList=function(a){var $ptr,a,b,c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=BE.nil;c=this;if(c.trace){$s=1;continue;}$s=2;continue;case 1:d=V(c,"ExpressionList");$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$deferred.push([W,[d]]);case 2:e=c.parseExpr(a);$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=c.checkExpr(e);$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}b=$append(b,f);case 6:if(!(c.tok===52)){$s=7;continue;}$r=c.next();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=c.parseExpr(a);$s=9;case 9:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=c.checkExpr(g);$s=10;case 10:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}b=$append(b,h);$s=6;continue;case 7:$s=-1;return b;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return b;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseExprList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseExprList=function(a){return this.$val.parseExprList(a);};T.ptr.prototype.parseLhsList=function(){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.inRhs;a.inRhs=false;c=a.parseExprList(true);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=a.tok;if(e===(47)){}else if(e===(58)){}else{f=d;g=0;while(true){if(!(g<f.$length)){break;}h=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);a.resolve(h);g++;}}a.inRhs=b;$s=-1;return d;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.parseLhsList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.parseLhsList=function(){return this.$val.parseLhsList();};T.ptr.prototype.parseRhsList=function(){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.inRhs;a.inRhs=true;c=a.parseExprList(false);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;a.inRhs=b;$s=-1;return d;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.parseRhsList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.parseRhsList=function(){return this.$val.parseRhsList();};T.ptr.prototype.parseType=function(){var $ptr,a,b,c,d,e,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"Type");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.tryType();$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if($interfaceIsEqual(d,$ifaceNil)){$s=5;continue;}$s=6;continue;case 5:e=a.pos;$r=a.errorExpected(e,"type");$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=a.next();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return new C.BadExpr.ptr(e,a.pos);case 6:$s=-1;return d;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseType=function(){return this.$val.parseType();};T.ptr.prototype.parseTypeName=function(){var $ptr,a,b,c,d,e,f,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"TypeName");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.parseIdent();$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(a.tok===53){$s=5;continue;}$s=6;continue;case 5:$r=a.next();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a.resolve(d);e=a.parseIdent();$s=8;case 8:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=-1;return new C.SelectorExpr.ptr(d,f);case 6:$s=-1;return d;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseTypeName};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseTypeName=function(){return this.$val.parseTypeName();};T.ptr.prototype.parseArrayType=function(){var $ptr,a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"ArrayType");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(50);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;a.exprLev=a.exprLev+(1)>>0;e=$ifaceNil;if(a.tok===48){$s=5;continue;}if(!((a.tok===55))){$s=6;continue;}$s=7;continue;case 5:e=new C.Ellipsis.ptr(a.pos,$ifaceNil);$r=a.next();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=7;continue;case 6:f=a.parseRhs();$s=9;case 9:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;case 7:a.exprLev=a.exprLev-(1)>>0;g=a.expect(55);$s=10;case 10:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;h=a.parseType();$s=11;case 11:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=-1;return new C.ArrayType.ptr(d,e,i);}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseArrayType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseArrayType=function(){return this.$val.parseArrayType();};T.ptr.prototype.makeIdentList=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=$makeSlice(AS,a.$length);d=a;e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);h=$assertType(g,AR,true);i=h[0];j=h[1];if(!j){$s=3;continue;}$s=4;continue;case 3:k=$assertType(g,BF,true);l=k[1];if(!l){$s=5;continue;}$s=6;continue;case 5:m=g.Pos();$s=7;case 7:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$r=b.errorExpected(m,"identifier");$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:n=g.Pos();$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}i=new C.Ident.ptr(n,"_",AX.nil);case 4:((f<0||f>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+f]=i);e++;$s=1;continue;case 2:$s=-1;return c;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.makeIdentList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.makeIdentList=function(a){return this.$val.makeIdentList(a);};T.ptr.prototype.parseFieldDecl=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"FieldDecl");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.leadComment;e=BE.nil;case 4:f=b.parseVarType(false);$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=$append(e,f);if(!((b.tok===52))){$s=5;continue;}$r=b.next();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=4;continue;case 5:g=b.tryVarType(false);$s=8;case 8:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=AS.nil;if(!($interfaceIsEqual(h,$ifaceNil))){$s=9;continue;}$s=10;continue;case 9:j=b.makeIdentList(e);$s=12;case 12:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;$s=11;continue;case 10:h=(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]);k=e.$length;if(k>1){$s=13;continue;}if(!AB(AD(h))){$s=14;continue;}$s=15;continue;case 13:$r=b.errorExpected(b.pos,"type");$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=new C.BadExpr.ptr(b.pos,b.pos);$s=15;continue;case 14:l=h.Pos();$s=17;case 17:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$r=b.errorExpected(l,"anonymous field");$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=h.Pos();$s=19;case 19:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=h.End();$s=20;case 20:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=b.safePos(n);$s=21;case 21:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}h=new C.BadExpr.ptr(m,o);case 15:case 11:p=BG.nil;if(b.tok===9){$s=22;continue;}$s=23;continue;case 22:p=new C.BasicLit.ptr(b.pos,b.tok,b.lit);$r=b.next();$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 23:$r=b.expectSemi();$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}q=new C.Field.ptr(d,i,h,p,b.lineComment);$r=b.declare(q,$ifaceNil,a,4,i);$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.resolve(h);$s=-1;return q;}return;}}catch(err){$err=err;$s=-1;return BH.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseFieldDecl};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseFieldDecl=function(a){return this.$val.parseFieldDecl(a);};T.ptr.prototype.parseStructType=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"StructType");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(82);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=a.expect(51);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=C.NewScope(AQ.nil);h=BI.nil;case 6:if(!((a.tok===4)||(a.tok===14)||(a.tok===49))){$s=7;continue;}i=a.parseFieldDecl(g);$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=$append(h,i);$s=6;continue;case 7:j=a.expect(56);$s=9;case 9:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=-1;return new C.StructType.ptr(d,new C.FieldList.ptr(f,h,k),false);}return;}}catch(err){$err=err;$s=-1;return BK.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseStructType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseStructType=function(){return this.$val.parseStructType();};T.ptr.prototype.parsePointerType=function(){var $ptr,a,b,c,d,e,f,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"PointerType");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(14);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=a.parseType();$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=-1;return new C.StarExpr.ptr(d,f);}return;}}catch(err){$err=err;$s=-1;return BL.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parsePointerType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parsePointerType=function(){return this.$val.parsePointerType();};T.ptr.prototype.tryVarType=function(a){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a&&(b.tok===48)){$s=1;continue;}$s=2;continue;case 1:c=b.pos;$r=b.next();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=b.tryIdentOrType();$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;if(!($interfaceIsEqual(e,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:b.resolve(e);$s=7;continue;case 6:$r=b.error(c,"'...' parameter is missing type");$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=new C.BadExpr.ptr(c,b.pos);case 7:$s=-1;return new C.Ellipsis.ptr(c,e);case 2:f=b.tryIdentOrType();$s=9;case 9:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.tryVarType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.tryVarType=function(a){return this.$val.tryVarType(a);};T.ptr.prototype.parseVarType=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.tryVarType(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if($interfaceIsEqual(d,$ifaceNil)){$s=2;continue;}$s=3;continue;case 2:e=b.pos;$r=b.errorExpected(e,"type");$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.next();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=new C.BadExpr.ptr(e,b.pos);case 3:$s=-1;return d;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.parseVarType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.parseVarType=function(a){return this.$val.parseVarType(a);};T.ptr.prototype.parseParameterList=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=BI.nil;d=this;if(d.trace){$s=1;continue;}$s=2;continue;case 1:e=V(d,"ParameterList");$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$deferred.push([W,[e]]);case 2:f=BE.nil;case 4:g=d.parseVarType(b);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=$append(f,g);if(!((d.tok===52))){$s=5;continue;}$r=d.next();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(d.tok===54){$s=5;continue;}$s=4;continue;case 5:h=d.tryVarType(b);$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;if(!($interfaceIsEqual(i,$ifaceNil))){$s=9;continue;}$s=10;continue;case 9:j=d.makeIdentList(f);$s=11;case 11:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=new C.Field.ptr(AO.nil,k,i,BG.nil,AO.nil);c=$append(c,l);$r=d.declare(l,$ifaceNil,a,4,k);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.resolve(i);m=d.atComma("parameter list",54);$s=15;case 15:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(!m){$s=13;continue;}$s=14;continue;case 13:$s=-1;return c;case 14:$r=d.next();$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:if(!(!((d.tok===54))&&!((d.tok===1)))){$s=18;continue;}n=d.parseIdentList();$s=19;case 19:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;p=d.parseVarType(b);$s=20;case 20:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;r=new C.Field.ptr(AO.nil,o,q,BG.nil,AO.nil);c=$append(c,r);$r=d.declare(r,$ifaceNil,a,4,o);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.resolve(q);s=d.atComma("parameter list",54);$s=24;case 24:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}if(!s){$s=22;continue;}$s=23;continue;case 22:$s=18;continue;case 23:$r=d.next();$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=17;continue;case 18:$s=-1;return c;case 10:c=$makeSlice(BI,f.$length);t=f;u=0;while(true){if(!(u<t.$length)){break;}v=u;w=((u<0||u>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+u]);d.resolve(w);((v<0||v>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+v]=new C.Field.ptr(AO.nil,AS.nil,w,BG.nil,AO.nil));u++;}$s=-1;return c;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return c;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseParameterList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseParameterList=function(a,b){return this.$val.parseParameterList(a,b);};T.ptr.prototype.parseParameters=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=this;if(c.trace){$s=1;continue;}$s=2;continue;case 1:d=V(c,"Parameters");$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$deferred.push([W,[d]]);case 2:e=BI.nil;f=c.expect(49);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(!((c.tok===54))){$s=5;continue;}$s=6;continue;case 5:h=c.parseParameterList(a,b);$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}e=h;case 6:i=c.expect(54);$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=-1;return new C.FieldList.ptr(g,e,j);}return;}}catch(err){$err=err;$s=-1;return BJ.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseParameters};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseParameters=function(a,b){return this.$val.parseParameters(a,b);};T.ptr.prototype.parseResult=function(a){var $ptr,a,b,c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"Result");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:if(b.tok===49){$s=4;continue;}$s=5;continue;case 4:d=b.parseParameters(a,false);$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 5:e=b.tryType();$s=7;case 7:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!($interfaceIsEqual(f,$ifaceNil))){g=$makeSlice(BI,1);(0>=g.$length?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+0]=new C.Field.ptr(AO.nil,AS.nil,f,BG.nil,AO.nil));$s=-1;return new C.FieldList.ptr(0,g,0);}$s=-1;return BJ.nil;}return;}}catch(err){$err=err;$s=-1;return BJ.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseResult};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseResult=function(a){return this.$val.parseResult(a);};T.ptr.prototype.parseSignature=function(a){var $ptr,a,b,c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=BJ.nil;c=BJ.nil;d=this;if(d.trace){$s=1;continue;}$s=2;continue;case 1:e=V(d,"Signature");$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$deferred.push([W,[e]]);case 2:f=d.parseParameters(a,true);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}b=f;g=d.parseResult(a);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}c=g;$s=-1;return[b,c];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[b,c];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseSignature};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseSignature=function(a){return this.$val.parseSignature(a);};T.ptr.prototype.parseFuncType=function(){var $ptr,a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"FuncType");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(71);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=C.NewScope(a.topScope);g=a.parseSignature(e);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=f[0];i=f[1];$s=-1;return[new C.FuncType.ptr(d,h,i),e];}return;}}catch(err){$err=err;$s=-1;return[BM.nil,AQ.nil];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseFuncType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseFuncType=function(){return this.$val.parseFuncType();};T.ptr.prototype.parseMethodSpec=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"MethodSpec");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.leadComment;e=AS.nil;f=$ifaceNil;g=b.parseTypeName();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=$assertType(h,AR,true);j=i[0];k=i[1];if(k&&(b.tok===49)){$s=5;continue;}$s=6;continue;case 5:e=new AS([j]);l=C.NewScope(AQ.nil);n=b.parseSignature(l);$s=8;case 8:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;o=m[0];p=m[1];f=new C.FuncType.ptr(0,o,p);$s=7;continue;case 6:f=h;b.resolve(f);case 7:$r=b.expectSemi();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}q=new C.Field.ptr(d,e,f,BG.nil,b.lineComment);$r=b.declare(q,$ifaceNil,a,5,e);$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return q;}return;}}catch(err){$err=err;$s=-1;return BH.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseMethodSpec};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseMethodSpec=function(a){return this.$val.parseMethodSpec(a);};T.ptr.prototype.parseInterfaceType=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"InterfaceType");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(76);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=a.expect(51);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=C.NewScope(AQ.nil);h=BI.nil;case 6:if(!(a.tok===4)){$s=7;continue;}i=a.parseMethodSpec(g);$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=$append(h,i);$s=6;continue;case 7:j=a.expect(56);$s=9;case 9:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=-1;return new C.InterfaceType.ptr(d,new C.FieldList.ptr(f,h,k),false);}return;}}catch(err){$err=err;$s=-1;return BN.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseInterfaceType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseInterfaceType=function(){return this.$val.parseInterfaceType();};T.ptr.prototype.parseMapType=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"MapType");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(77);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=a.expect(50);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;f=a.parseType();$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;h=a.expect(55);$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;i=a.parseType();$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$s=-1;return new C.MapType.ptr(d,g,j);}return;}}catch(err){$err=err;$s=-1;return BO.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseMapType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseMapType=function(){return this.$val.parseMapType();};T.ptr.prototype.parseChanType=function(){var $ptr,a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"ChanType");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.pos;d=3;e=0;if(a.tok===63){$s=4;continue;}$s=5;continue;case 4:$r=a.next();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(a.tok===36){$s=8;continue;}$s=9;continue;case 8:e=a.pos;$r=a.next();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=1;case 9:$s=6;continue;case 5:f=a.expect(36);$s=11;case 11:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;g=a.expect(63);$s=12;case 12:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}g;d=2;case 6:h=a.parseType();$s=13;case 13:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=-1;return new C.ChanType.ptr(c,e,d,i);}return;}}catch(err){$err=err;$s=-1;return BP.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseChanType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseChanType=function(){return this.$val.parseChanType();};T.ptr.prototype.tryIdentOrType=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.tok;if(b===(4)){$s=2;continue;}if(b===(50)){$s=3;continue;}if(b===(82)){$s=4;continue;}if(b===(14)){$s=5;continue;}if(b===(71)){$s=6;continue;}if(b===(76)){$s=7;continue;}if(b===(77)){$s=8;continue;}if((b===(63))||(b===(36))){$s=9;continue;}if(b===(49)){$s=10;continue;}$s=11;continue;case 2:c=a.parseTypeName();$s=12;case 12:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;case 3:d=a.parseArrayType();$s=13;case 13:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 4:e=a.parseStructType();$s=14;case 14:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 5:f=a.parsePointerType();$s=15;case 15:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;case 6:h=a.parseFuncType();$s=16;case 16:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;i=g[0];$s=-1;return i;case 7:j=a.parseInterfaceType();$s=17;case 17:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$s=-1;return j;case 8:k=a.parseMapType();$s=18;case 18:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return k;case 9:l=a.parseChanType();$s=19;case 19:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$s=-1;return l;case 10:m=a.pos;$r=a.next();$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}n=a.parseType();$s=21;case 21:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;p=a.expect(54);$s=22;case 22:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;$s=-1;return new C.ParenExpr.ptr(m,o,q);case 11:case 1:$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.tryIdentOrType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.tryIdentOrType=function(){return this.$val.tryIdentOrType();};T.ptr.prototype.tryType=function(){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.tryIdentOrType();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}c=b;if(!($interfaceIsEqual(c,$ifaceNil))){a.resolve(c);}$s=-1;return c;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.tryType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.tryType=function(){return this.$val.tryType();};T.ptr.prototype.parseStmtList=function(){var $ptr,a,b,c,d,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=BQ.nil;b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"StatementList");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:case 4:if(!(!((b.tok===62))&&!((b.tok===66))&&!((b.tok===56))&&!((b.tok===1)))){$s=5;continue;}d=b.parseStmt();$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}a=$append(a,d);$s=4;continue;case 5:$s=-1;return a;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return a;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseStmtList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseStmtList=function(){return this.$val.parseStmtList();};T.ptr.prototype.parseBody=function(a){var $ptr,a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"Body");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.expect(51);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;b.topScope=a;b.openLabelScope();f=b.parseStmtList();$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;$r=b.closeLabelScope();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.closeScope();h=b.expect(56);$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=-1;return new C.BlockStmt.ptr(e,g,i);}return;}}catch(err){$err=err;$s=-1;return BR.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseBody};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseBody=function(a){return this.$val.parseBody(a);};T.ptr.prototype.parseBlockStmt=function(){var $ptr,a,b,c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"BlockStmt");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(51);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;a.openScope();e=a.parseStmtList();$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;a.closeScope();g=a.expect(56);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;$s=-1;return new C.BlockStmt.ptr(d,f,h);}return;}}catch(err){$err=err;$s=-1;return BR.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseBlockStmt};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseBlockStmt=function(){return this.$val.parseBlockStmt();};T.ptr.prototype.parseFuncTypeOrLit=function(){var $ptr,a,b,c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"FuncTypeOrLit");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:d=a.parseFuncType();$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!((a.tok===51))){$s=-1;return e;}a.exprLev=a.exprLev+(1)>>0;g=a.parseBody(f);$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;a.exprLev=a.exprLev-(1)>>0;$s=-1;return new C.FuncLit.ptr(e,h);}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseFuncTypeOrLit};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseFuncTypeOrLit=function(){return this.$val.parseFuncTypeOrLit();};T.ptr.prototype.parseOperand=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"Operand");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.tok;if(d===(4)){$s=5;continue;}if((d===(5))||(d===(6))||(d===(7))||(d===(8))||(d===(9))){$s=6;continue;}if(d===(49)){$s=7;continue;}if(d===(71)){$s=8;continue;}$s=9;continue;case 5:e=b.parseIdent();$s=10;case 10:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(!a){b.resolve(f);}$s=-1;return f;case 6:g=new C.BasicLit.ptr(b.pos,b.tok,b.lit);$r=b.next();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return g;case 7:h=b.pos;$r=b.next();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.exprLev=b.exprLev+(1)>>0;i=b.parseRhsOrType();$s=13;case 13:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;b.exprLev=b.exprLev-(1)>>0;k=b.expect(54);$s=14;case 14:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$s=-1;return new C.ParenExpr.ptr(h,j,l);case 8:m=b.parseFuncTypeOrLit();$s=15;case 15:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}$s=-1;return m;case 9:case 4:n=b.tryIdentOrType();$s=16;case 16:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;if(!($interfaceIsEqual(o,$ifaceNil))){p=$assertType(o,AR,true);q=p[1];Y(!q,"type cannot be identifier");$s=-1;return o;}r=b.pos;$r=b.errorExpected(r,"operand");$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=Z(b);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return new C.BadExpr.ptr(r,b.pos);}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseOperand};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseOperand=function(a){return this.$val.parseOperand(a);};T.ptr.prototype.parseSelector=function(a){var $ptr,a,b,c,d,e,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"Selector");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.parseIdent();$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;$s=-1;return new C.SelectorExpr.ptr(a,e);}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseSelector};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseSelector=function(a){return this.$val.parseSelector(a);};T.ptr.prototype.parseTypeAssertion=function(a){var $ptr,a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"TypeAssertion");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.expect(49);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=$ifaceNil;if(b.tok===84){$s=5;continue;}$s=6;continue;case 5:$r=b.next();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=7;continue;case 6:g=b.parseType();$s=9;case 9:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;case 7:h=b.expect(54);$s=10;case 10:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=-1;return new C.TypeAssertExpr.ptr(a,e,f,i);}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseTypeAssertion};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseTypeAssertion=function(a){return this.$val.parseTypeAssertion(a);};T.ptr.prototype.parseIndexOrSlice=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"IndexOrSlice");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.expect(50);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;b.exprLev=b.exprLev+(1)>>0;f=BS.zero();g=BT.zero();if(!((b.tok===58))){$s=5;continue;}$s=6;continue;case 5:h=b.parseRhs();$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}f[0]=h;case 6:i=0;case 8:if(!((b.tok===58)&&i<2)){$s=9;continue;}((i<0||i>=g.length)?($throwRuntimeError("index out of range"),undefined):g[i]=b.pos);i=i+(1)>>0;$r=b.next();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!((b.tok===58))&&!((b.tok===55))&&!((b.tok===1))){$s=11;continue;}$s=12;continue;case 11:j=b.parseRhs();$s=13;case 13:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}((i<0||i>=f.length)?($throwRuntimeError("index out of range"),undefined):f[i]=j);case 12:$s=8;continue;case 9:b.exprLev=b.exprLev-(1)>>0;k=b.expect(55);$s=14;case 14:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;if(i>0){$s=15;continue;}$s=16;continue;case 15:m=false;if(i===2){$s=17;continue;}$s=18;continue;case 17:m=true;if($interfaceIsEqual(f[1],$ifaceNil)){$s=19;continue;}$s=20;continue;case 19:$r=b.error(g[0],"2nd index required in 3-index slice");$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f[1]=new C.BadExpr.ptr(g[0]+1>>0,g[1]);case 20:if($interfaceIsEqual(f[2],$ifaceNil)){$s=22;continue;}$s=23;continue;case 22:$r=b.error(g[1],"3rd index required in 3-index slice");$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f[2]=new C.BadExpr.ptr(g[1]+1>>0,l);case 23:case 18:$s=-1;return new C.SliceExpr.ptr(a,e,f[0],f[1],f[2],m,l);case 16:$s=-1;return new C.IndexExpr.ptr(a,e,f[0],l);}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseIndexOrSlice};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseIndexOrSlice=function(a){return this.$val.parseIndexOrSlice(a);};T.ptr.prototype.parseCallOrConversion=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"CallOrConversion");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.expect(49);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;b.exprLev=b.exprLev+(1)>>0;f=BE.nil;g=0;case 5:if(!(!((b.tok===54))&&!((b.tok===1))&&!new D.Pos(g).IsValid())){$s=6;continue;}h=b.parseRhsOrType();$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}f=$append(f,h);if(b.tok===48){$s=8;continue;}$s=9;continue;case 8:g=b.pos;$r=b.next();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 9:i=b.atComma("argument list",54);$s=13;case 13:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}if(!i){$s=11;continue;}$s=12;continue;case 11:$s=6;continue;case 12:$r=b.next();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 6:b.exprLev=b.exprLev-(1)>>0;j=b.expectClosing(54,"argument list");$s=15;case 15:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$s=-1;return new C.CallExpr.ptr(a,e,f,g,k);}return;}}catch(err){$err=err;$s=-1;return BU.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseCallOrConversion};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseCallOrConversion=function(a){return this.$val.parseCallOrConversion(a);};T.ptr.prototype.parseValue=function(a){var $ptr,a,b,c,d,e,f,g,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"Element");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:if(b.tok===51){$s=4;continue;}$s=5;continue;case 4:d=b.parseLiteralValue($ifaceNil);$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;case 5:e=b.parseExpr(a);$s=7;case 7:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=b.checkExpr(e);$s=8;case 8:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(a){if(b.tok===58){b.tryResolve(g,false);}else{b.resolve(g);}}$s=-1;return g;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseValue};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseValue=function(a){return this.$val.parseValue(a);};T.ptr.prototype.parseElement=function(){var $ptr,a,b,c,d,e,f,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"Element");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.parseValue(true);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;if(a.tok===58){$s=5;continue;}$s=6;continue;case 5:e=a.pos;$r=a.next();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=a.parseValue(false);$s=8;case 8:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}d=new C.KeyValueExpr.ptr(d,e,f);case 6:$s=-1;return d;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseElement};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseElement=function(){return this.$val.parseElement();};T.ptr.prototype.parseElementList=function(){var $ptr,a,b,c,d,e,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=BE.nil;b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"ElementList");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:case 4:if(!(!((b.tok===56))&&!((b.tok===1)))){$s=5;continue;}d=b.parseElement();$s=6;case 6:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}a=$append(a,d);e=b.atComma("composite literal",56);$s=9;case 9:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if(!e){$s=7;continue;}$s=8;continue;case 7:$s=5;continue;case 8:$r=b.next();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=4;continue;case 5:$s=-1;return a;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return a;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseElementList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseElementList=function(){return this.$val.parseElementList();};T.ptr.prototype.parseLiteralValue=function(a){var $ptr,a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"LiteralValue");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.expect(51);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=BE.nil;b.exprLev=b.exprLev+(1)>>0;if(!((b.tok===56))){$s=5;continue;}$s=6;continue;case 5:g=b.parseElementList();$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;case 6:b.exprLev=b.exprLev-(1)>>0;h=b.expectClosing(56,"composite literal");$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;$s=-1;return new C.CompositeLit.ptr(a,e,f,i);}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseLiteralValue};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseLiteralValue=function(a){return this.$val.parseLiteralValue(a);};T.ptr.prototype.checkExpr=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=AE(a);if($assertType(c,BF,true)[1]){$s=1;continue;}if($assertType(c,AR,true)[1]){$s=2;continue;}if($assertType(c,BG,true)[1]){$s=3;continue;}if($assertType(c,BV,true)[1]){$s=4;continue;}if($assertType(c,BW,true)[1]){$s=5;continue;}if($assertType(c,BX,true)[1]){$s=6;continue;}if($assertType(c,BY,true)[1]){$s=7;continue;}if($assertType(c,BZ,true)[1]){$s=8;continue;}if($assertType(c,CA,true)[1]){$s=9;continue;}if($assertType(c,CB,true)[1]){$s=10;continue;}if($assertType(c,BU,true)[1]){$s=11;continue;}if($assertType(c,BL,true)[1]){$s=12;continue;}if($assertType(c,CC,true)[1]){$s=13;continue;}if($assertType(c,CD,true)[1]){$s=14;continue;}$s=15;continue;case 1:$s=16;continue;case 2:$s=16;continue;case 3:$s=16;continue;case 4:$s=16;continue;case 5:$s=16;continue;case 6:$panic(new $String("unreachable"));$s=16;continue;case 7:$s=16;continue;case 8:$s=16;continue;case 9:$s=16;continue;case 10:$s=16;continue;case 11:$s=16;continue;case 12:$s=16;continue;case 13:$s=16;continue;case 14:$s=16;continue;case 15:d=a.Pos();$s=17;case 17:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$r=b.errorExpected(d,"expression");$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=a.Pos();$s=19;case 19:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=a.End();$s=20;case 20:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=b.safePos(f);$s=21;case 21:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}a=new C.BadExpr.ptr(e,g);case 16:$s=-1;return a;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.checkExpr};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.checkExpr=function(a){return this.$val.checkExpr(a);};AB=function(a){var $ptr,a,b,c,d,e,f,g,h;b=a;if($assertType(b,BF,true)[1]){c=b.$val;}else if($assertType(b,AR,true)[1]){d=b.$val;}else if($assertType(b,BY,true)[1]){e=b.$val;g=$assertType(e.X,AR,true);h=g[1];return h;}else{f=b;return false;}return true;};AC=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k;b=a;if($assertType(b,BF,true)[1]){c=b.$val;}else if($assertType(b,AR,true)[1]){d=b.$val;}else if($assertType(b,BY,true)[1]){e=b.$val;j=$assertType(e.X,AR,true);k=j[1];return k;}else if($assertType(b,CE,true)[1]){f=b.$val;}else if($assertType(b,BK,true)[1]){g=b.$val;}else if($assertType(b,BO,true)[1]){h=b.$val;}else{i=b;return false;}return true;};AD=function(a){var $ptr,a,b,c,d;b=$assertType(a,BL,true);c=b[0];d=b[1];if(d){a=c.X;}return a;};AE=function(a){var $ptr,a,b,c,d;b=$assertType(a,BX,true);c=b[0];d=b[1];if(d){a=AE(c.X);}return a;};T.ptr.prototype.checkExprOrType=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=AE(a);if($assertType(c,BX,true)[1]){$s=1;continue;}if($assertType(c,CC,true)[1]){$s=2;continue;}if($assertType(c,CE,true)[1]){$s=3;continue;}$s=4;continue;case 1:d=c.$val;$panic(new $String("unreachable"));$s=4;continue;case 2:e=c.$val;$s=4;continue;case 3:f=c.$val;g=$assertType(f.Len,CF,true);h=g[0];i=g[1];if(i){$s=5;continue;}$s=6;continue;case 5:$r=b.error(h.Pos(),"expected array length, found '...'");$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}j=a.Pos();$s=8;case 8:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=a.End();$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=b.safePos(k);$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}a=new C.BadExpr.ptr(j,l);case 6:case 4:$s=-1;return a;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.checkExprOrType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.checkExprOrType=function(a){return this.$val.checkExprOrType(a);};T.ptr.prototype.parsePrimaryExpr=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"PrimaryExpr");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.parseOperand(a);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;case 5:f=b.tok;if(f===(53)){$s=8;continue;}if(f===(50)){$s=9;continue;}if(f===(49)){$s=10;continue;}if(f===(51)){$s=11;continue;}$s=12;continue;case 8:$r=b.next();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(a){b.resolve(e);}g=b.tok;if(g===(4)){$s=16;continue;}if(g===(49)){$s=17;continue;}$s=18;continue;case 16:h=b.checkExprOrType(e);$s=20;case 20:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=b.parseSelector(h);$s=21;case 21:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}e=i;$s=19;continue;case 17:j=b.checkExpr(e);$s=22;case 22:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=b.parseTypeAssertion(j);$s=23;case 23:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}e=k;$s=19;continue;case 18:l=b.pos;$r=b.errorExpected(l,"selector or type assertion");$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.next();$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=new C.Ident.ptr(l,"_",AX.nil);e=new C.SelectorExpr.ptr(e,m);case 19:case 15:$s=13;continue;case 9:if(a){b.resolve(e);}n=b.checkExpr(e);$s=26;case 26:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=b.parseIndexOrSlice(n);$s=27;case 27:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}e=o;$s=13;continue;case 10:if(a){b.resolve(e);}p=b.checkExprOrType(e);$s=28;case 28:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=b.parseCallOrConversion(p);$s=29;case 29:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}e=q;$s=13;continue;case 11:if(AC(e)&&(b.exprLev>=0||!AB(e))){$s=30;continue;}$s=31;continue;case 30:if(a){b.resolve(e);}r=b.parseLiteralValue(e);$s=33;case 33:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}e=r;$s=32;continue;case 31:$s=6;continue s;case 32:$s=13;continue;case 12:$s=6;continue s;case 13:case 7:a=false;$s=5;continue;case 6:$s=-1;return e;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parsePrimaryExpr};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parsePrimaryExpr=function(a){return this.$val.parsePrimaryExpr(a);};T.ptr.prototype.parseUnaryExpr=function(a){var $ptr,a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"UnaryExpr");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.tok;if((d===(12))||(d===(13))||(d===(43))||(d===(19))||(d===(17))){$s=5;continue;}if(d===(36)){$s=6;continue;}if(d===(14)){$s=7;continue;}$s=8;continue;case 5:e=b.pos;f=b.tok;g=e;h=f;$r=b.next();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=b.parseUnaryExpr(false);$s=10;case 10:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;k=b.checkExpr(j);$s=11;case 11:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}$s=-1;return new C.UnaryExpr.ptr(g,h,k);case 6:l=b.pos;$r=b.next();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=b.parseUnaryExpr(false);$s=13;case 13:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=$assertType(n,BP,true);p=o[0];q=o[1];if(q){$s=14;continue;}$s=15;continue;case 14:r=1;case 16:if(!(q&&(r===1))){$s=17;continue;}if(p.Dir===2){$s=18;continue;}$s=19;continue;case 18:$r=b.errorExpected(p.Arrow,"'chan'");$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 19:s=p.Arrow;t=l;u=l;l=s;p.Begin=t;p.Arrow=u;v=p.Dir;w=2;r=v;p.Dir=w;x=$assertType(p.Value,BP,true);p=x[0];q=x[1];$s=16;continue;case 17:if(r===1){$s=21;continue;}$s=22;continue;case 21:$r=b.errorExpected(l,"channel type");$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 22:$s=-1;return n;case 15:y=b.checkExpr(n);$s=24;case 24:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}$s=-1;return new C.UnaryExpr.ptr(l,36,y);case 7:z=b.pos;$r=b.next();$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aa=b.parseUnaryExpr(false);$s=26;case 26:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;ac=b.checkExprOrType(ab);$s=27;case 27:if($c){$c=false;ac=ac.$blk();}if(ac&&ac.$blk!==undefined){break s;}$s=-1;return new C.StarExpr.ptr(z,ac);case 8:case 4:ad=b.parsePrimaryExpr(a);$s=28;case 28:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}$s=-1;return ad;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseUnaryExpr};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseUnaryExpr=function(a){return this.$val.parseUnaryExpr(a);};T.ptr.prototype.tokPrec=function(){var $ptr,a,b;a=this;b=a.tok;if(a.inRhs&&(b===42)){b=39;}return[b,new D.Token(b).Precedence()];};T.prototype.tokPrec=function(){return this.$val.tokPrec();};T.ptr.prototype.parseBinaryExpr=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=this;if(c.trace){$s=1;continue;}$s=2;continue;case 1:d=V(c,"BinaryExpr");$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$deferred.push([W,[d]]);case 2:e=c.parseUnaryExpr(a);$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;case 5:g=c.tokPrec();h=g[0];i=g[1];if(i<b){$s=-1;return f;}j=c.expect(h);$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;if(a){c.resolve(f);a=false;}l=c.parseBinaryExpr(false,i+1>>0);$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;n=c.checkExpr(f);$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=c.checkExpr(m);$s=10;case 10:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}f=new C.BinaryExpr.ptr(n,k,h,o);$s=5;continue;case 6:$s=-1;return $ifaceNil;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseBinaryExpr};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseBinaryExpr=function(a,b){return this.$val.parseBinaryExpr(a,b);};T.ptr.prototype.parseExpr=function(a){var $ptr,a,b,c,d,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"Expression");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.parseBinaryExpr(a,1);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$s=-1;return d;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseExpr};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseExpr=function(a){return this.$val.parseExpr(a);};T.ptr.prototype.parseRhs=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.inRhs;a.inRhs=true;c=a.parseExpr(false);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=a.checkExpr(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;a.inRhs=b;$s=-1;return e;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.parseRhs};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.parseRhs=function(){return this.$val.parseRhs();};T.ptr.prototype.parseRhsOrType=function(){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.inRhs;a.inRhs=true;c=a.parseExpr(false);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=a.checkExprOrType(c);$s=2;case 2:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;a.inRhs=b;$s=-1;return e;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.parseRhsOrType};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.parseRhsOrType=function(){return this.$val.parseRhsOrType();};T.ptr.prototype.parseSimpleStmt=function(a){var $ptr,a,aa,ab,ac,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"SimpleStmt");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.parseLhsList();$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=b.tok;if((f===(47))||(f===(42))||(f===(23))||(f===(24))||(f===(25))||(f===(26))||(f===(27))||(f===(28))||(f===(29))||(f===(30))||(f===(31))||(f===(32))||(f===(33))){$s=6;continue;}$s=7;continue;case 6:g=b.pos;h=b.tok;i=g;j=h;$r=b.next();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=BE.nil;l=false;if((a===2)&&(b.tok===79)&&((j===47)||(j===42))){$s=9;continue;}$s=10;continue;case 9:m=b.pos;$r=b.next();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}n=b.parseRhs();$s=13;case 13:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}k=new BE([new C.UnaryExpr.ptr(m,79,n)]);l=true;$s=11;continue;case 10:o=b.parseRhsList();$s=14;case 14:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}k=o;case 11:p=new C.AssignStmt.ptr(e,i,j,k);if(j===47){$s=15;continue;}$s=16;continue;case 15:$r=b.shortVarDecl(p,e);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 16:$s=-1;return[p,l];case 7:case 5:if(e.$length>1){$s=18;continue;}$s=19;continue;case 18:q=(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]).Pos();$s=20;case 20:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$r=b.errorExpected(q,"1 expression");$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 19:r=b.tok;if(r===(58)){$s=23;continue;}if(r===(36)){$s=24;continue;}if((r===(37))||(r===(38))){$s=25;continue;}$s=26;continue;case 23:s=b.pos;$r=b.next();$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}t=$assertType((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),AR,true);u=t[0];v=t[1];if((a===1)&&v){$s=28;continue;}$s=29;continue;case 28:w=b.parseStmt();$s=30;case 30:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=new C.LabeledStmt.ptr(u,s,w);$r=b.declare(x,$ifaceNil,b.labelScope,6,new AS([u]));$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[x,false];case 29:$r=b.error(s,"illegal label declaration");$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}y=(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]).Pos();$s=33;case 33:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}$s=-1;return[new C.BadStmt.ptr(y,s+1>>0),false];case 24:z=b.pos;$r=b.next();$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aa=b.parseRhs();$s=35;case 35:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;$s=-1;return[new C.SendStmt.ptr((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),z,ab),false];case 25:ac=new C.IncDecStmt.ptr((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]),b.pos,b.tok);$r=b.next();$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[ac,false];case 26:case 22:$s=-1;return[new C.ExprStmt.ptr((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])),false];}return;}}catch(err){$err=err;$s=-1;return[$ifaceNil,false];}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseSimpleStmt};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseSimpleStmt=function(a){return this.$val.parseSimpleStmt(a);};T.ptr.prototype.parseCallExpr=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.parseRhsOrType();$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=$assertType(d,BU,true);f=e[0];g=e[1];if(g){$s=-1;return f;}h=$assertType(d,BF,true);i=h[1];if(!i){$s=2;continue;}$s=3;continue;case 2:j=d.End();$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=b.safePos(j);$s=5;case 5:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;m=J.Sprintf("function must be invoked in %s statement",new BB([new $String(a)]));$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;$r=b.error(l,n);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;return BU.nil;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.parseCallExpr};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.parseCallExpr=function(a){return this.$val.parseCallExpr(a);};T.ptr.prototype.parseGoStmt=function(){var $ptr,a,b,c,d,e,f,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"GoStmt");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(72);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=a.parseCallExpr("go");$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$r=a.expectSemi();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(f===BU.nil){$s=-1;return new C.BadStmt.ptr(d,d+2>>0);}$s=-1;return new C.GoStmt.ptr(d,f);}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseGoStmt};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseGoStmt=function(){return this.$val.parseGoStmt();};T.ptr.prototype.parseDeferStmt=function(){var $ptr,a,b,c,d,e,f,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"DeferStmt");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(67);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=a.parseCallExpr("defer");$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$r=a.expectSemi();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(f===BU.nil){$s=-1;return new C.BadStmt.ptr(d,d+5>>0);}$s=-1;return new C.DeferStmt.ptr(d,f);}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseDeferStmt};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseDeferStmt=function(){return this.$val.parseDeferStmt();};T.ptr.prototype.parseReturnStmt=function(){var $ptr,a,b,c,d,e,f,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"ReturnStmt");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.pos;d=a.expect(80);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;e=BE.nil;if(!((a.tok===57))&&!((a.tok===56))){$s=5;continue;}$s=6;continue;case 5:f=a.parseRhsList();$s=7;case 7:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;case 6:$r=a.expectSemi();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return new C.ReturnStmt.ptr(c,e);}return;}}catch(err){$err=err;$s=-1;return CG.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseReturnStmt};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseReturnStmt=function(){return this.$val.parseReturnStmt();};T.ptr.prototype.parseBranchStmt=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"BranchStmt");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.expect(a);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=AR.nil;if(!((a===69))&&(b.tok===4)){$s=5;continue;}$s=6;continue;case 5:g=b.parseIdent();$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;h=b.targetStack.$length-1>>0;(j=b.targetStack,((h<0||h>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+h]=$append((i=b.targetStack,((h<0||h>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+h])),f)));case 6:$r=b.expectSemi();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return new C.BranchStmt.ptr(e,a,f);}return;}}catch(err){$err=err;$s=-1;return CH.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseBranchStmt};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseBranchStmt=function(a){return this.$val.parseBranchStmt(a);};T.ptr.prototype.makeExpr=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if($interfaceIsEqual(a,$ifaceNil)){$s=-1;return $ifaceNil;}d=$assertType(a,CI,true);e=d[0];f=d[1];if(f){$s=1;continue;}$s=2;continue;case 1:g=c.checkExpr(e.X);$s=3;case 3:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$s=-1;return g;case 2:h=a.Pos();$s=4;case 4:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;j=J.Sprintf("expected %s, found simple statement (missing parentheses around composite literal?)",new BB([new $String(b)]));$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;$r=c.error(i,k);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=a.Pos();$s=7;case 7:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=a.End();$s=8;case 8:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=c.safePos(m);$s=9;case 9:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}$s=-1;return new C.BadExpr.ptr(l,n);}return;}if($f===undefined){$f={$blk:T.ptr.prototype.makeExpr};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.makeExpr=function(a,b){return this.$val.makeExpr(a,b);};T.ptr.prototype.parseIfStmt=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"IfStmt");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(74);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;a.openScope();$deferred.push([$methodVal(a,"closeScope"),[]]);e=$ifaceNil;f=$ifaceNil;g=a.exprLev;a.exprLev=-1;if(a.tok===57){$s=5;continue;}$s=6;continue;case 5:$r=a.next();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=a.parseRhs();$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}f=h;$s=7;continue;case 6:j=a.parseSimpleStmt(0);$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;e=i[0];if(a.tok===57){$s=11;continue;}$s=12;continue;case 11:$r=a.next();$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=a.parseRhs();$s=15;case 15:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}f=k;$s=13;continue;case 12:l=a.makeExpr(e,"boolean expression");$s=16;case 16:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}f=l;e=$ifaceNil;case 13:case 7:a.exprLev=g;m=a.parseBlockStmt();$s=17;case 17:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=m;o=$ifaceNil;if(a.tok===68){$s=18;continue;}$s=19;continue;case 18:$r=a.next();$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p=a.tok;if(p===(74)){$s=23;continue;}if(p===(51)){$s=24;continue;}$s=25;continue;case 23:q=a.parseIfStmt();$s=27;case 27:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}o=q;$s=26;continue;case 24:r=a.parseBlockStmt();$s=28;case 28:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}o=r;$r=a.expectSemi();$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 25:$r=a.errorExpected(a.pos,"if statement or block");$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}o=new C.BadStmt.ptr(a.pos,a.pos);case 26:case 22:$s=20;continue;case 19:$r=a.expectSemi();$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 20:$s=-1;return new C.IfStmt.ptr(d,e,f,n,o);}return;}}catch(err){$err=err;$s=-1;return CJ.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseIfStmt};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseIfStmt=function(){return this.$val.parseIfStmt();};T.ptr.prototype.parseTypeList=function(){var $ptr,a,b,c,d,e,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=BE.nil;b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"TypeList");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.parseType();$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}a=$append(a,d);case 5:if(!(b.tok===52)){$s=6;continue;}$r=b.next();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=b.parseType();$s=8;case 8:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}a=$append(a,e);$s=5;continue;case 6:$s=-1;return a;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return a;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseTypeList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseTypeList=function(){return this.$val.parseTypeList();};T.ptr.prototype.parseCaseClause=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"CaseClause");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.pos;e=BE.nil;if(b.tok===62){$s=4;continue;}$s=5;continue;case 4:$r=b.next();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(a){$s=8;continue;}$s=9;continue;case 8:f=b.parseTypeList();$s=11;case 11:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}e=f;$s=10;continue;case 9:g=b.parseRhsList();$s=12;case 12:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}e=g;case 10:$s=6;continue;case 5:h=b.expect(66);$s=13;case 13:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}h;case 6:i=b.expect(58);$s=14;case 14:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;b.openScope();k=b.parseStmtList();$s=15;case 15:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;b.closeScope();$s=-1;return new C.CaseClause.ptr(d,e,j,l);}return;}}catch(err){$err=err;$s=-1;return CK.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseCaseClause};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseCaseClause=function(a){return this.$val.parseCaseClause(a);};AF=function(a){var $ptr,a,b,c,d;b=$assertType(a,CB,true);c=b[0];d=b[1];return d&&$interfaceIsEqual(c.Type,$ifaceNil);};T.ptr.prototype.isTypeSwitchGuard=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=a;if($assertType(c,CI,true)[1]){$s=1;continue;}if($assertType(c,CL,true)[1]){$s=2;continue;}$s=3;continue;case 1:d=c.$val;$s=-1;return AF(d.X);case 2:e=c.$val;if((e.Lhs.$length===1)&&(e.Rhs.$length===1)&&AF((f=e.Rhs,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0])))){$s=4;continue;}$s=5;continue;case 4:g=e.Tok;if(g===(42)){$s=7;continue;}if(g===(47)){$s=8;continue;}$s=9;continue;case 7:$r=b.error(e.TokPos,"expected ':=', found '='");$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return true;case 8:$s=-1;return true;case 9:case 6:case 5:case 3:$s=-1;return false;}return;}if($f===undefined){$f={$blk:T.ptr.prototype.isTypeSwitchGuard};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};T.prototype.isTypeSwitchGuard=function(a){return this.$val.isTypeSwitchGuard(a);};T.ptr.prototype.parseSwitchStmt=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"SwitchStmt");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(83);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;a.openScope();$deferred.push([$methodVal(a,"closeScope"),[]]);e=$ifaceNil;f=$ifaceNil;g=e;h=f;if(!((a.tok===51))){$s=5;continue;}$s=6;continue;case 5:i=a.exprLev;a.exprLev=-1;if(!((a.tok===57))){$s=7;continue;}$s=8;continue;case 7:k=a.parseSimpleStmt(0);$s=9;case 9:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}j=k;h=j[0];case 8:if(a.tok===57){$s=10;continue;}$s=11;continue;case 10:$r=a.next();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=h;h=$ifaceNil;if(!((a.tok===51))){$s=13;continue;}$s=14;continue;case 13:a.openScope();$deferred.push([$methodVal(a,"closeScope"),[]]);m=a.parseSimpleStmt(0);$s=15;case 15:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m;h=l[0];case 14:case 11:a.exprLev=i;case 6:n=a.isTypeSwitchGuard(h);$s=16;case 16:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;p=a.expect(51);$s=17;case 17:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;r=BQ.nil;case 18:if(!((a.tok===62)||(a.tok===66))){$s=19;continue;}s=a.parseCaseClause(o);$s=20;case 20:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=$append(r,s);$s=18;continue;case 19:t=a.expect(56);$s=21;case 21:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=t;$r=a.expectSemi();$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}v=new C.BlockStmt.ptr(q,r,u);if(o){$s=-1;return new C.TypeSwitchStmt.ptr(d,g,h,v);}w=a.makeExpr(h,"switch expression");$s=23;case 23:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}$s=-1;return new C.SwitchStmt.ptr(d,g,w,v);}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseSwitchStmt};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseSwitchStmt=function(){return this.$val.parseSwitchStmt();};T.ptr.prototype.parseCommClause=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"CommClause");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:a.openScope();c=a.pos;d=$ifaceNil;if(a.tok===62){$s=4;continue;}$s=5;continue;case 4:$r=a.next();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=a.parseLhsList();$s=8;case 8:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(a.tok===36){$s=9;continue;}$s=10;continue;case 9:if(f.$length>1){$s=12;continue;}$s=13;continue;case 12:g=(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]).Pos();$s=14;case 14:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$r=a.errorExpected(g,"1 expression");$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 13:h=a.pos;$r=a.next();$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=a.parseRhs();$s=17;case 17:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;d=new C.SendStmt.ptr((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]),h,j);$s=11;continue;case 10:k=a.tok;if((k===42)||(k===47)){$s=18;continue;}$s=19;continue;case 18:if(f.$length>2){$s=21;continue;}$s=22;continue;case 21:l=(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]).Pos();$s=23;case 23:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}$r=a.errorExpected(l,"1 or 2 expressions");$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=$subslice(f,0,2);case 22:m=a.pos;$r=a.next();$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}n=a.parseRhs();$s=26;case 26:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;p=new C.AssignStmt.ptr(f,m,k,new BE([o]));if(k===47){$s=27;continue;}$s=28;continue;case 27:$r=a.shortVarDecl(p,f);$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 28:d=p;$s=20;continue;case 19:if(f.$length>1){$s=30;continue;}$s=31;continue;case 30:q=(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]).Pos();$s=32;case 32:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}$r=a.errorExpected(q,"1 expression");$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 31:d=new C.ExprStmt.ptr((0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]));case 20:case 11:$s=6;continue;case 5:r=a.expect(66);$s=34;case 34:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}r;case 6:s=a.expect(58);$s=35;case 35:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;u=a.parseStmtList();$s=36;case 36:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}v=u;a.closeScope();$s=-1;return new C.CommClause.ptr(c,d,t,v);}return;}}catch(err){$err=err;$s=-1;return CM.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseCommClause};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseCommClause=function(){return this.$val.parseCommClause();};T.ptr.prototype.parseSelectStmt=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"SelectStmt");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(81);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=a.expect(51);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;g=BQ.nil;case 6:if(!((a.tok===62)||(a.tok===66))){$s=7;continue;}h=a.parseCommClause();$s=8;case 8:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=$append(g,h);$s=6;continue;case 7:i=a.expect(56);$s=9;case 9:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;$r=a.expectSemi();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}k=new C.BlockStmt.ptr(f,g,j);$s=-1;return new C.SelectStmt.ptr(d,k);}return;}}catch(err){$err=err;$s=-1;return CN.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseSelectStmt};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseSelectStmt=function(){return this.$val.parseSelectStmt();};T.ptr.prototype.parseForStmt=function(){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"ForStmt");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.expect(70);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;a.openScope();$deferred.push([$methodVal(a,"closeScope"),[]]);e=$ifaceNil;f=$ifaceNil;g=$ifaceNil;h=e;i=f;j=g;k=false;if(!((a.tok===51))){$s=5;continue;}$s=6;continue;case 5:l=a.exprLev;a.exprLev=-1;if(!((a.tok===57))){$s=7;continue;}$s=8;continue;case 7:if(a.tok===79){$s=9;continue;}$s=10;continue;case 9:m=a.pos;$r=a.next();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}n=a.parseRhs();$s=13;case 13:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=new BE([new C.UnaryExpr.ptr(m,79,n)]);i=new C.AssignStmt.ptr(BE.nil,0,0,o);k=true;$s=11;continue;case 10:q=a.parseSimpleStmt(2);$s=14;case 14:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}p=q;i=p[0];k=p[1];case 11:case 8:if(!k&&(a.tok===57)){$s=15;continue;}$s=16;continue;case 15:$r=a.next();$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=i;i=$ifaceNil;if(!((a.tok===57))){$s=18;continue;}$s=19;continue;case 18:s=a.parseSimpleStmt(0);$s=20;case 20:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;i=r[0];case 19:$r=a.expectSemi();$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!((a.tok===51))){$s=22;continue;}$s=23;continue;case 22:u=a.parseSimpleStmt(0);$s=24;case 24:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;j=t[0];case 23:case 16:a.exprLev=l;case 6:v=a.parseBlockStmt();$s=25;case 25:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;$r=a.expectSemi();$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(k){$s=27;continue;}$s=28;continue;case 27:x=$assertType(i,CL);y=$ifaceNil;z=$ifaceNil;aa=y;ab=z;ac=x.Lhs.$length;if(ac===(0)){$s=30;continue;}if(ac===(1)){$s=31;continue;}if(ac===(2)){$s=32;continue;}$s=33;continue;case 30:$s=34;continue;case 31:aa=(ad=x.Lhs,(0>=ad.$length?($throwRuntimeError("index out of range"),undefined):ad.$array[ad.$offset+0]));$s=34;continue;case 32:ae=(af=x.Lhs,(0>=af.$length?($throwRuntimeError("index out of range"),undefined):af.$array[af.$offset+0]));ag=(ah=x.Lhs,(1>=ah.$length?($throwRuntimeError("index out of range"),undefined):ah.$array[ah.$offset+1]));aa=ae;ab=ag;$s=34;continue;case 33:ak=(ai=x.Lhs,aj=x.Lhs.$length-1>>0,((aj<0||aj>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+aj])).Pos();$s=35;case 35:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}$r=a.errorExpected(ak,"at most 2 expressions");$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return new C.BadStmt.ptr(d,a.safePos(w.End()));case 34:case 29:am=$assertType((al=x.Rhs,(0>=al.$length?($throwRuntimeError("index out of range"),undefined):al.$array[al.$offset+0])),CC).X;$s=-1;return new C.RangeStmt.ptr(d,aa,ab,x.TokPos,x.Tok,am,w);case 28:an=a.makeExpr(i,"boolean or range expression");$s=37;case 37:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}$s=-1;return new C.ForStmt.ptr(d,h,an,j,w);}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseForStmt};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseForStmt=function(){return this.$val.parseForStmt();};T.ptr.prototype.parseStmt=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=$ifaceNil;b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"Statement");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=b.tok;if((d===(64))||(d===(84))||(d===(85))){$s=5;continue;}if((d===(4))||(d===(5))||(d===(6))||(d===(7))||(d===(8))||(d===(9))||(d===(71))||(d===(49))||(d===(50))||(d===(82))||(d===(77))||(d===(63))||(d===(76))||(d===(12))||(d===(13))||(d===(14))||(d===(17))||(d===(19))||(d===(36))||(d===(43))){$s=6;continue;}if(d===(72)){$s=7;continue;}if(d===(67)){$s=8;continue;}if(d===(80)){$s=9;continue;}if((d===(61))||(d===(65))||(d===(73))||(d===(69))){$s=10;continue;}if(d===(51)){$s=11;continue;}if(d===(74)){$s=12;continue;}if(d===(83)){$s=13;continue;}if(d===(81)){$s=14;continue;}if(d===(70)){$s=15;continue;}if(d===(57)){$s=16;continue;}if(d===(56)){$s=17;continue;}$s=18;continue;case 5:e=b.parseDecl(Z);$s=20;case 20:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}a=new C.DeclStmt.ptr(e);$s=19;continue;case 6:g=b.parseSimpleStmt(1);$s=21;case 21:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;a=f[0];h=$assertType(a,CO,true);i=h[1];if(!i){$s=22;continue;}$s=23;continue;case 22:$r=b.expectSemi();$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 23:$s=19;continue;case 7:j=b.parseGoStmt();$s=25;case 25:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}a=j;$s=19;continue;case 8:k=b.parseDeferStmt();$s=26;case 26:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}a=k;$s=19;continue;case 9:l=b.parseReturnStmt();$s=27;case 27:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}a=l;$s=19;continue;case 10:m=b.parseBranchStmt(b.tok);$s=28;case 28:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}a=m;$s=19;continue;case 11:n=b.parseBlockStmt();$s=29;case 29:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}a=n;$r=b.expectSemi();$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=19;continue;case 12:o=b.parseIfStmt();$s=31;case 31:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}a=o;$s=19;continue;case 13:p=b.parseSwitchStmt();$s=32;case 32:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}a=p;$s=19;continue;case 14:q=b.parseSelectStmt();$s=33;case 33:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}a=q;$s=19;continue;case 15:r=b.parseForStmt();$s=34;case 34:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}a=r;$s=19;continue;case 16:a=new C.EmptyStmt.ptr(b.pos,b.lit==="\n");$r=b.next();$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=19;continue;case 17:a=new C.EmptyStmt.ptr(b.pos,true);$s=19;continue;case 18:s=b.pos;$r=b.errorExpected(s,"statement");$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=Z(b);$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}a=new C.BadStmt.ptr(s,b.pos);case 19:case 4:$s=-1;return a;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return a;}if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseStmt};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseStmt=function(){return this.$val.parseStmt();};AH=function(a){var $ptr,a,b,c,d,e,f,g;b=L.Unquote(a);c=b[0];d=c;e=0;while(true){if(!(e<d.length)){break;}f=$decodeRune(d,e);g=f[0];if(!M.IsGraphic(g)||M.IsSpace(g)||I.ContainsRune("!\"#$%&'()*,:;<=>?[\\]^{|}`\xEF\xBF\xBD",g)){return false;}e+=f[1];}return!(c==="");};T.ptr.prototype.parseImportSpec=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);d=this;if(d.trace){$s=1;continue;}$s=2;continue;case 1:e=V(d,"ImportSpec");$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$deferred.push([W,[e]]);case 2:f=AR.nil;g=d.tok;if(g===(53)){$s=5;continue;}if(g===(4)){$s=6;continue;}$s=7;continue;case 5:f=new C.Ident.ptr(d.pos,".",AX.nil);$r=d.next();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=7;continue;case 6:h=d.parseIdent();$s=9;case 9:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}f=h;case 7:case 4:i=d.pos;j="";if(d.tok===9){$s=10;continue;}$s=11;continue;case 10:j=d.lit;if(!AH(j)){$s=13;continue;}$s=14;continue;case 13:$r=d.error(i,"invalid import path: "+j);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 14:$r=d.next();$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=12;continue;case 11:k=d.expect(9);$s=17;case 17:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;case 12:$r=d.expectSemi();$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=new C.ImportSpec.ptr(a,f,new C.BasicLit.ptr(i,9,j),d.lineComment,0);d.imports=$append(d.imports,l);$s=-1;return l;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseImportSpec};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseImportSpec=function(a,b,c){return this.$val.parseImportSpec(a,b,c);};T.ptr.prototype.parseValueSpec=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);d=this;if(d.trace){$s=1;continue;}$s=2;continue;case 1:e=V(d,new D.Token(b).String()+"Spec");$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$deferred.push([W,[e]]);case 2:f=d.pos;g=d.parseIdentList();$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=g;i=d.tryType();$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;k=BE.nil;if(d.tok===42){$s=6;continue;}$s=7;continue;case 6:$r=d.next();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}l=d.parseRhsList();$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;case 7:$r=d.expectSemi();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=b;if(m===(85)){$s=12;continue;}if(m===(64)){$s=13;continue;}$s=14;continue;case 12:if($interfaceIsEqual(j,$ifaceNil)&&k===BE.nil){$s=15;continue;}$s=16;continue;case 15:$r=d.error(f,"missing variable type or initialization");$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 16:$s=14;continue;case 13:if(k===BE.nil&&((c===0)||!($interfaceIsEqual(j,$ifaceNil)))){$s=18;continue;}$s=19;continue;case 18:$r=d.error(f,"missing constant value");$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 19:case 14:case 11:n=new C.ValueSpec.ptr(a,h,j,k,d.lineComment);o=2;if(b===85){o=4;}$r=d.declare(n,new $Int(c),d.topScope,o,h);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return n;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseValueSpec};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseValueSpec=function(a,b,c){return this.$val.parseValueSpec(a,b,c);};T.ptr.prototype.parseTypeSpec=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);d=this;if(d.trace){$s=1;continue;}$s=2;continue;case 1:e=V(d,"TypeSpec");$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$deferred.push([W,[e]]);case 2:f=d.parseIdent();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;h=new C.TypeSpec.ptr(a,g,$ifaceNil,AO.nil);$r=d.declare(h,$ifaceNil,d.topScope,3,new AS([g]));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i=d.parseType();$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h.Type=i;$r=d.expectSemi();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h.Comment=d.lineComment;$s=-1;return h;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseTypeSpec};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseTypeSpec=function(a,b,c){return this.$val.parseTypeSpec(a,b,c);};T.ptr.prototype.parseGenDecl=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);c=this;if(c.trace){$s=1;continue;}$s=2;continue;case 1:d=V(c,"GenDecl("+new D.Token(a).String()+")");$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$deferred.push([W,[d]]);case 2:e=c.leadComment;f=c.expect(a);$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;h=0;i=0;j=h;k=i;l=CP.nil;if(c.tok===49){$s=5;continue;}$s=6;continue;case 5:j=c.pos;$r=c.next();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}m=0;case 9:if(!(!((c.tok===54))&&!((c.tok===1)))){$s=10;continue;}n=b(c.leadComment,a,m);$s=11;case 11:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}l=$append(l,n);m=m+(1)>>0;$s=9;continue;case 10:o=c.expect(54);$s=12;case 12:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}k=o;$r=c.expectSemi();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=7;continue;case 6:p=b(AO.nil,a,0);$s=14;case 14:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}l=$append(l,p);case 7:$s=-1;return new C.GenDecl.ptr(e,g,a,j,l,k);}return;}}catch(err){$err=err;$s=-1;return CQ.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseGenDecl};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseGenDecl=function(a,b){return this.$val.parseGenDecl(a,b);};T.ptr.prototype.parseFuncDecl=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"FunctionDecl");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:c=a.leadComment;d=a.expect(71);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=C.NewScope(a.topScope);g=BJ.nil;if(a.tok===49){$s=5;continue;}$s=6;continue;case 5:h=a.parseParameters(f,false);$s=7;case 7:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}g=h;case 6:i=a.parseIdent();$s=8;case 8:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;l=a.parseSignature(f);$s=9;case 9:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;m=k[0];n=k[1];o=BR.nil;if(a.tok===51){$s=10;continue;}$s=11;continue;case 10:p=a.parseBody(f);$s=12;case 12:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;case 11:$r=a.expectSemi();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}q=new C.FuncDecl.ptr(c,g,j,new C.FuncType.ptr(e,m,n),o);if(g===BJ.nil){$s=14;continue;}$s=15;continue;case 14:if(!(j.Name==="init")){$s=16;continue;}$s=17;continue;case 16:$r=a.declare(q,$ifaceNil,a.pkgScope,5,new AS([j]));$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:case 15:$s=-1;return q;}return;}}catch(err){$err=err;$s=-1;return CR.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseFuncDecl};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseFuncDecl=function(){return this.$val.parseFuncDecl();};T.ptr.prototype.parseDecl=function(a){var $ptr,a,b,c,d,e,f,g,h,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=this;if(b.trace){$s=1;continue;}$s=2;continue;case 1:c=V(b,"Declaration");$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$deferred.push([W,[c]]);case 2:d=$throwNilPointerError;e=b.tok;if((e===(64))||(e===(85))){$s=5;continue;}if(e===(84)){$s=6;continue;}if(e===(71)){$s=7;continue;}$s=8;continue;case 5:d=$methodVal(b,"parseValueSpec");$s=9;continue;case 6:d=$methodVal(b,"parseTypeSpec");$s=9;continue;case 7:f=b.parseFuncDecl();$s=10;case 10:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;case 8:g=b.pos;$r=b.errorExpected(g,"declaration");$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=a(b);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return new C.BadDecl.ptr(g,b.pos);case 9:case 4:h=b.parseGenDecl(b.tok,d);$s=13;case 13:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;}return;}}catch(err){$err=err;$s=-1;return $ifaceNil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseDecl};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseDecl=function(a){return this.$val.parseDecl(a);};T.ptr.prototype.parseFile=function(){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=this;if(a.trace){$s=1;continue;}$s=2;continue;case 1:b=V(a,"File");$s=3;case 3:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$deferred.push([W,[b]]);case 2:if(!((a.errors.Len()===0))){$s=-1;return AL.nil;}c=a.leadComment;d=a.expect(78);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;f=a.parseIdent();$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;if(g.Name==="_"&&!((((a.mode&16)>>>0)===0))){$s=6;continue;}$s=7;continue;case 6:$r=a.error(a.pos,"invalid package name _");$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:$r=a.expectSemi();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!((a.errors.Len()===0))){$s=-1;return AL.nil;}a.openScope();a.pkgScope=a.topScope;h=AW.nil;if(((a.mode&1)>>>0)===0){$s=10;continue;}$s=11;continue;case 10:case 12:if(!(a.tok===75)){$s=13;continue;}i=a.parseGenDecl(75,$methodVal(a,"parseImportSpec"));$s=14;case 14:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}h=$append(h,i);$s=12;continue;case 13:if(((a.mode&2)>>>0)===0){$s=15;continue;}$s=16;continue;case 15:case 17:if(!(!((a.tok===1)))){$s=18;continue;}j=a.parseDecl(AA);$s=19;case 19:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}h=$append(h,j);$s=17;continue;case 18:case 16:case 11:a.closeScope();Y(a.topScope===AQ.nil,"unbalanced scopes");Y(a.labelScope===AQ.nil,"unbalanced label scopes");k=0;l=a.unresolved;m=0;while(true){if(!(m<l.$length)){break;}n=((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);Y(n.Obj===U,"object already resolved");n.Obj=a.pkgScope.Lookup(n.Name);if(n.Obj===AX.nil){(o=a.unresolved,((k<0||k>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+k]=n));k=k+(1)>>0;}m++;}$s=-1;return new C.File.ptr(c,e,g,h,a.pkgScope,a.imports,$subslice(a.unresolved,0,k),a.comments);}return;}}catch(err){$err=err;$s=-1;return AL.nil;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:T.ptr.prototype.parseFile};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};T.prototype.parseFile=function(){return this.$val.parseFile();};CS.methods=[{prop:"init",name:"init",pkg:"go/parser",typ:$funcType([AM,$String,AI,O],[],false)},{prop:"openScope",name:"openScope",pkg:"go/parser",typ:$funcType([],[],false)},{prop:"closeScope",name:"closeScope",pkg:"go/parser",typ:$funcType([],[],false)},{prop:"openLabelScope",name:"openLabelScope",pkg:"go/parser",typ:$funcType([],[],false)},{prop:"closeLabelScope",name:"closeLabelScope",pkg:"go/parser",typ:$funcType([],[],false)},{prop:"declare",name:"declare",pkg:"go/parser",typ:$funcType([$emptyInterface,$emptyInterface,AQ,C.ObjKind,AS],[],true)},{prop:"shortVarDecl",name:"shortVarDecl",pkg:"go/parser",typ:$funcType([CL,BE],[],false)},{prop:"tryResolve",name:"tryResolve",pkg:"go/parser",typ:$funcType([C.Expr,$Bool],[],false)},{prop:"resolve",name:"resolve",pkg:"go/parser",typ:$funcType([C.Expr],[],false)},{prop:"printTrace",name:"printTrace",pkg:"go/parser",typ:$funcType([BB],[],true)},{prop:"next0",name:"next0",pkg:"go/parser",typ:$funcType([],[],false)},{prop:"consumeComment",name:"consumeComment",pkg:"go/parser",typ:$funcType([],[BC,$Int],false)},{prop:"consumeCommentGroup",name:"consumeCommentGroup",pkg:"go/parser",typ:$funcType([$Int],[AO,$Int],false)},{prop:"next",name:"next",pkg:"go/parser",typ:$funcType([],[],false)},{prop:"error",name:"error",pkg:"go/parser",typ:$funcType([D.Pos,$String],[],false)},{prop:"errorExpected",name:"errorExpected",pkg:"go/parser",typ:$funcType([D.Pos,$String],[],false)},{prop:"expect",name:"expect",pkg:"go/parser",typ:$funcType([D.Token],[D.Pos],false)},{prop:"expectClosing",name:"expectClosing",pkg:"go/parser",typ:$funcType([D.Token,$String],[D.Pos],false)},{prop:"expectSemi",name:"expectSemi",pkg:"go/parser",typ:$funcType([],[],false)},{prop:"atComma",name:"atComma",pkg:"go/parser",typ:$funcType([$String,D.Token],[$Bool],false)},{prop:"safePos",name:"safePos",pkg:"go/parser",typ:$funcType([D.Pos],[D.Pos],false)},{prop:"parseIdent",name:"parseIdent",pkg:"go/parser",typ:$funcType([],[AR],false)},{prop:"parseIdentList",name:"parseIdentList",pkg:"go/parser",typ:$funcType([],[AS],false)},{prop:"parseExprList",name:"parseExprList",pkg:"go/parser",typ:$funcType([$Bool],[BE],false)},{prop:"parseLhsList",name:"parseLhsList",pkg:"go/parser",typ:$funcType([],[BE],false)},{prop:"parseRhsList",name:"parseRhsList",pkg:"go/parser",typ:$funcType([],[BE],false)},{prop:"parseType",name:"parseType",pkg:"go/parser",typ:$funcType([],[C.Expr],false)},{prop:"parseTypeName",name:"parseTypeName",pkg:"go/parser",typ:$funcType([],[C.Expr],false)},{prop:"parseArrayType",name:"parseArrayType",pkg:"go/parser",typ:$funcType([],[C.Expr],false)},{prop:"makeIdentList",name:"makeIdentList",pkg:"go/parser",typ:$funcType([BE],[AS],false)},{prop:"parseFieldDecl",name:"parseFieldDecl",pkg:"go/parser",typ:$funcType([AQ],[BH],false)},{prop:"parseStructType",name:"parseStructType",pkg:"go/parser",typ:$funcType([],[BK],false)},{prop:"parsePointerType",name:"parsePointerType",pkg:"go/parser",typ:$funcType([],[BL],false)},{prop:"tryVarType",name:"tryVarType",pkg:"go/parser",typ:$funcType([$Bool],[C.Expr],false)},{prop:"parseVarType",name:"parseVarType",pkg:"go/parser",typ:$funcType([$Bool],[C.Expr],false)},{prop:"parseParameterList",name:"parseParameterList",pkg:"go/parser",typ:$funcType([AQ,$Bool],[BI],false)},{prop:"parseParameters",name:"parseParameters",pkg:"go/parser",typ:$funcType([AQ,$Bool],[BJ],false)},{prop:"parseResult",name:"parseResult",pkg:"go/parser",typ:$funcType([AQ],[BJ],false)},{prop:"parseSignature",name:"parseSignature",pkg:"go/parser",typ:$funcType([AQ],[BJ,BJ],false)},{prop:"parseFuncType",name:"parseFuncType",pkg:"go/parser",typ:$funcType([],[BM,AQ],false)},{prop:"parseMethodSpec",name:"parseMethodSpec",pkg:"go/parser",typ:$funcType([AQ],[BH],false)},{prop:"parseInterfaceType",name:"parseInterfaceType",pkg:"go/parser",typ:$funcType([],[BN],false)},{prop:"parseMapType",name:"parseMapType",pkg:"go/parser",typ:$funcType([],[BO],false)},{prop:"parseChanType",name:"parseChanType",pkg:"go/parser",typ:$funcType([],[BP],false)},{prop:"tryIdentOrType",name:"tryIdentOrType",pkg:"go/parser",typ:$funcType([],[C.Expr],false)},{prop:"tryType",name:"tryType",pkg:"go/parser",typ:$funcType([],[C.Expr],false)},{prop:"parseStmtList",name:"parseStmtList",pkg:"go/parser",typ:$funcType([],[BQ],false)},{prop:"parseBody",name:"parseBody",pkg:"go/parser",typ:$funcType([AQ],[BR],false)},{prop:"parseBlockStmt",name:"parseBlockStmt",pkg:"go/parser",typ:$funcType([],[BR],false)},{prop:"parseFuncTypeOrLit",name:"parseFuncTypeOrLit",pkg:"go/parser",typ:$funcType([],[C.Expr],false)},{prop:"parseOperand",name:"parseOperand",pkg:"go/parser",typ:$funcType([$Bool],[C.Expr],false)},{prop:"parseSelector",name:"parseSelector",pkg:"go/parser",typ:$funcType([C.Expr],[C.Expr],false)},{prop:"parseTypeAssertion",name:"parseTypeAssertion",pkg:"go/parser",typ:$funcType([C.Expr],[C.Expr],false)},{prop:"parseIndexOrSlice",name:"parseIndexOrSlice",pkg:"go/parser",typ:$funcType([C.Expr],[C.Expr],false)},{prop:"parseCallOrConversion",name:"parseCallOrConversion",pkg:"go/parser",typ:$funcType([C.Expr],[BU],false)},{prop:"parseValue",name:"parseValue",pkg:"go/parser",typ:$funcType([$Bool],[C.Expr],false)},{prop:"parseElement",name:"parseElement",pkg:"go/parser",typ:$funcType([],[C.Expr],false)},{prop:"parseElementList",name:"parseElementList",pkg:"go/parser",typ:$funcType([],[BE],false)},{prop:"parseLiteralValue",name:"parseLiteralValue",pkg:"go/parser",typ:$funcType([C.Expr],[C.Expr],false)},{prop:"checkExpr",name:"checkExpr",pkg:"go/parser",typ:$funcType([C.Expr],[C.Expr],false)},{prop:"checkExprOrType",name:"checkExprOrType",pkg:"go/parser",typ:$funcType([C.Expr],[C.Expr],false)},{prop:"parsePrimaryExpr",name:"parsePrimaryExpr",pkg:"go/parser",typ:$funcType([$Bool],[C.Expr],false)},{prop:"parseUnaryExpr",name:"parseUnaryExpr",pkg:"go/parser",typ:$funcType([$Bool],[C.Expr],false)},{prop:"tokPrec",name:"tokPrec",pkg:"go/parser",typ:$funcType([],[D.Token,$Int],false)},{prop:"parseBinaryExpr",name:"parseBinaryExpr",pkg:"go/parser",typ:$funcType([$Bool,$Int],[C.Expr],false)},{prop:"parseExpr",name:"parseExpr",pkg:"go/parser",typ:$funcType([$Bool],[C.Expr],false)},{prop:"parseRhs",name:"parseRhs",pkg:"go/parser",typ:$funcType([],[C.Expr],false)},{prop:"parseRhsOrType",name:"parseRhsOrType",pkg:"go/parser",typ:$funcType([],[C.Expr],false)},{prop:"parseSimpleStmt",name:"parseSimpleStmt",pkg:"go/parser",typ:$funcType([$Int],[C.Stmt,$Bool],false)},{prop:"parseCallExpr",name:"parseCallExpr",pkg:"go/parser",typ:$funcType([$String],[BU],false)},{prop:"parseGoStmt",name:"parseGoStmt",pkg:"go/parser",typ:$funcType([],[C.Stmt],false)},{prop:"parseDeferStmt",name:"parseDeferStmt",pkg:"go/parser",typ:$funcType([],[C.Stmt],false)},{prop:"parseReturnStmt",name:"parseReturnStmt",pkg:"go/parser",typ:$funcType([],[CG],false)},{prop:"parseBranchStmt",name:"parseBranchStmt",pkg:"go/parser",typ:$funcType([D.Token],[CH],false)},{prop:"makeExpr",name:"makeExpr",pkg:"go/parser",typ:$funcType([C.Stmt,$String],[C.Expr],false)},{prop:"parseIfStmt",name:"parseIfStmt",pkg:"go/parser",typ:$funcType([],[CJ],false)},{prop:"parseTypeList",name:"parseTypeList",pkg:"go/parser",typ:$funcType([],[BE],false)},{prop:"parseCaseClause",name:"parseCaseClause",pkg:"go/parser",typ:$funcType([$Bool],[CK],false)},{prop:"isTypeSwitchGuard",name:"isTypeSwitchGuard",pkg:"go/parser",typ:$funcType([C.Stmt],[$Bool],false)},{prop:"parseSwitchStmt",name:"parseSwitchStmt",pkg:"go/parser",typ:$funcType([],[C.Stmt],false)},{prop:"parseCommClause",name:"parseCommClause",pkg:"go/parser",typ:$funcType([],[CM],false)},{prop:"parseSelectStmt",name:"parseSelectStmt",pkg:"go/parser",typ:$funcType([],[CN],false)},{prop:"parseForStmt",name:"parseForStmt",pkg:"go/parser",typ:$funcType([],[C.Stmt],false)},{prop:"parseStmt",name:"parseStmt",pkg:"go/parser",typ:$funcType([],[C.Stmt],false)},{prop:"parseImportSpec",name:"parseImportSpec",pkg:"go/parser",typ:$funcType([AO,D.Token,$Int],[C.Spec],false)},{prop:"parseValueSpec",name:"parseValueSpec",pkg:"go/parser",typ:$funcType([AO,D.Token,$Int],[C.Spec],false)},{prop:"parseTypeSpec",name:"parseTypeSpec",pkg:"go/parser",typ:$funcType([AO,D.Token,$Int],[C.Spec],false)},{prop:"parseGenDecl",name:"parseGenDecl",pkg:"go/parser",typ:$funcType([D.Token,AG],[CQ],false)},{prop:"parseFuncDecl",name:"parseFuncDecl",pkg:"go/parser",typ:$funcType([],[CR],false)},{prop:"parseDecl",name:"parseDecl",pkg:"go/parser",typ:$funcType([CT],[C.Decl],false)},{prop:"parseFile",name:"parseFile",pkg:"go/parser",typ:$funcType([],[AL],false)}];T.init("go/parser",[{prop:"file",name:"file",exported:false,typ:AN,tag:""},{prop:"errors",name:"errors",exported:false,typ:K.ErrorList,tag:""},{prop:"scanner",name:"scanner",exported:false,typ:K.Scanner,tag:""},{prop:"mode",name:"mode",exported:false,typ:O,tag:""},{prop:"trace",name:"trace",exported:false,typ:$Bool,tag:""},{prop:"indent",name:"indent",exported:false,typ:$Int,tag:""},{prop:"comments",name:"comments",exported:false,typ:AP,tag:""},{prop:"leadComment",name:"leadComment",exported:false,typ:AO,tag:""},{prop:"lineComment",name:"lineComment",exported:false,typ:AO,tag:""},{prop:"pos",name:"pos",exported:false,typ:D.Pos,tag:""},{prop:"tok",name:"tok",exported:false,typ:D.Token,tag:""},{prop:"lit",name:"lit",exported:false,typ:$String,tag:""},{prop:"syncPos",name:"syncPos",exported:false,typ:D.Pos,tag:""},{prop:"syncCnt",name:"syncCnt",exported:false,typ:$Int,tag:""},{prop:"exprLev",name:"exprLev",exported:false,typ:$Int,tag:""},{prop:"inRhs",name:"inRhs",exported:false,typ:$Bool,tag:""},{prop:"pkgScope",name:"pkgScope",exported:false,typ:AQ,tag:""},{prop:"topScope",name:"topScope",exported:false,typ:AQ,tag:""},{prop:"unresolved",name:"unresolved",exported:false,typ:AS,tag:""},{prop:"imports",name:"imports",exported:false,typ:AU,tag:""},{prop:"labelScope",name:"labelScope",exported:false,typ:AQ,tag:""},{prop:"targetStack",name:"targetStack",exported:false,typ:AV,tag:""}]);X.init("",[]);AG.init([AO,D.Token,$Int],[C.Spec],false);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=L.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=M.$init();$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}U=new C.Object.ptr(0,"",$ifaceNil,$ifaceNil,$ifaceNil);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["text/tabwriter"]=(function(){var $pkg={},$init,A,B,C,D,E,F,M,N,O,P,Q,R,S,T,U,G,H,I,K,J,L;A=$packages["bytes"];B=$packages["io"];C=$packages["unicode/utf8"];D=$pkg.cell=$newType(0,$kindStruct,"tabwriter.cell",true,"text/tabwriter",false,function(size_,width_,htab_){this.$val=this;if(arguments.length===0){this.size=0;this.width=0;this.htab=false;return;}this.size=size_;this.width=width_;this.htab=htab_;});E=$pkg.Writer=$newType(0,$kindStruct,"tabwriter.Writer",true,"text/tabwriter",true,function(output_,minwidth_,tabwidth_,padding_,padbytes_,flags_,buf_,pos_,cell_,endChar_,lines_,widths_){this.$val=this;if(arguments.length===0){this.output=$ifaceNil;this.minwidth=0;this.tabwidth=0;this.padding=0;this.padbytes=Q.zero();this.flags=0;this.buf=new A.Buffer.ptr(M.nil,0,R.zero(),0);this.pos=0;this.cell=new D.ptr(0,0,false);this.endChar=0;this.lines=S.nil;this.widths=T.nil;return;}this.output=output_;this.minwidth=minwidth_;this.tabwidth=tabwidth_;this.padding=padding_;this.padbytes=padbytes_;this.flags=flags_;this.buf=buf_;this.pos=pos_;this.cell=cell_;this.endChar=endChar_;this.lines=lines_;this.widths=widths_;});F=$pkg.osError=$newType(0,$kindStruct,"tabwriter.osError",true,"text/tabwriter",false,function(err_){this.$val=this;if(arguments.length===0){this.err=$ifaceNil;return;}this.err=err_;});M=$sliceType($Uint8);N=$sliceType(D);O=$ptrType(N);P=$ptrType($error);Q=$arrayType($Uint8,8);R=$arrayType($Uint8,64);S=$sliceType(N);T=$sliceType($Int);U=$ptrType(E);E.ptr.prototype.addLine=function(){var $ptr,a;a=this;a.lines=$append(a.lines,new N([]));};E.prototype.addLine=function(){return this.$val.addLine();};E.ptr.prototype.reset=function(){var $ptr,a;a=this;a.buf.Reset();a.pos=0;D.copy(a.cell,new D.ptr(0,0,false));a.endChar=0;a.lines=$subslice(a.lines,0,0);a.widths=$subslice(a.widths,0,0);a.addLine();};E.prototype.reset=function(){return this.$val.reset();};E.ptr.prototype.Init=function(a,b,c,d,e,f){var $ptr,a,b,c,d,e,f,g,h,i,j,k;g=this;if(b<0||c<0||d<0){$panic(new $String("negative minwidth, tabwidth, or padding"));}g.output=a;g.minwidth=b;g.tabwidth=c;g.padding=d;h=g.padbytes;i=0;while(true){if(!(i<8)){break;}j=i;(k=g.padbytes,((j<0||j>=k.length)?($throwRuntimeError("index out of range"),undefined):k[j]=e));i++;}if(e===9){f=(f&~(4))>>>0;}g.flags=f;g.reset();return g;};E.prototype.Init=function(a,b,c,d,e,f){return this.$val.Init(a,b,c,d,e,f);};E.ptr.prototype.write0=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;d=b.output.Write(a);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];if(!((e===a.$length))&&$interfaceIsEqual(f,$ifaceNil)){f=B.ErrShortWrite;}if(!($interfaceIsEqual(f,$ifaceNil))){$panic((g=new F.ptr(f),new g.constructor.elem(g)));}$s=-1;return;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.write0};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.write0=function(a){return this.$val.write0(a);};E.ptr.prototype.writeN=function(a,b){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;case 1:if(!(b>a.$length)){$s=2;continue;}$r=c.write0(a);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=b-(a.$length)>>0;$s=1;continue;case 2:$r=c.write0($subslice(a,0,b));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.writeN};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.writeN=function(a,b){return this.$val.writeN(a,b);};E.ptr.prototype.writePadding=function(a,b,c){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if((d.padbytes[0]===9)||c){$s=1;continue;}$s=2;continue;case 1:if(d.tabwidth===0){$s=-1;return;}b=$imul((e=(((b+d.tabwidth>>0)-1>>0))/d.tabwidth,(e===e&&e!==1/0&&e!==-1/0)?e>>0:$throwRuntimeError("integer divide by zero")),d.tabwidth);f=b-a>>0;if(f<0){$panic(new $String("internal error"));}$r=d.writeN(H,(g=(((f+d.tabwidth>>0)-1>>0))/d.tabwidth,(g===g&&g!==1/0&&g!==-1/0)?g>>0:$throwRuntimeError("integer divide by zero")));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 2:$r=d.writeN($subslice(new M(d.padbytes),0),b-a>>0);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.writePadding};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.writePadding=function(a,b,c){return this.$val.writePadding(a,b,c);};E.ptr.prototype.writeLines=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=this;d=a;f=b;case 1:if(!(f<c)){$s=2;continue;}h=(g=e.lines,((f<0||f>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+f]));i=!((((e.flags&16)>>>0)===0));j=h;k=0;case 3:if(!(k<j.$length)){$s=4;continue;}l=k;m=$clone(((k<0||k>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+k]),D);if(l>0&&!((((e.flags&32)>>>0)===0))){$s=5;continue;}$s=6;continue;case 5:$r=e.write0(I);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:if(m.size===0){$s=8;continue;}$s=9;continue;case 8:if(l<e.widths.$length){$s=11;continue;}$s=12;continue;case 11:$r=e.writePadding(m.width,(n=e.widths,((l<0||l>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+l])),i);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 12:$s=10;continue;case 9:i=false;if(((e.flags&4)>>>0)===0){$s=14;continue;}$s=15;continue;case 14:$r=e.write0($subslice(e.buf.Bytes(),d,(d+m.size>>0)));$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=d+(m.size)>>0;if(l<e.widths.$length){$s=18;continue;}$s=19;continue;case 18:$r=e.writePadding(m.width,(o=e.widths,((l<0||l>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+l])),false);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 19:$s=16;continue;case 15:if(l<e.widths.$length){$s=21;continue;}$s=22;continue;case 21:$r=e.writePadding(m.width,(p=e.widths,((l<0||l>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+l])),false);$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 22:$r=e.write0($subslice(e.buf.Bytes(),d,(d+m.size>>0)));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=d+(m.size)>>0;case 16:case 10:k++;$s=3;continue;case 4:if((f+1>>0)===e.lines.$length){$s=25;continue;}$s=26;continue;case 25:$r=e.write0($subslice(e.buf.Bytes(),d,(d+e.cell.size>>0)));$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=d+(e.cell.size)>>0;$s=27;continue;case 26:$r=e.write0(G);$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 27:f=f+(1)>>0;$s=1;continue;case 2:$s=-1;return d;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.writeLines};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.writeLines=function(a,b,c){return this.$val.writeLines(a,b,c);};E.ptr.prototype.format=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=0;e=this;d=a;f=e.widths.$length;g=b;case 1:if(!(g<c)){$s=2;continue;}i=(h=e.lines,((g<0||g>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+g]));if(f<(i.$length-1>>0)){$s=3;continue;}$s=4;continue;case 3:j=e.writeLines(d,b,g);$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}d=j;b=g;k=e.minwidth;l=true;while(true){if(!(g<c)){break;}i=(m=e.lines,((g<0||g>=m.$length)?($throwRuntimeError("index out of range"),undefined):m.$array[m.$offset+g]));if(f<(i.$length-1>>0)){n=$clone(((f<0||f>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+f]),D);o=n.width+e.padding>>0;if(o>k){k=o;}if(n.width>0||n.htab){l=false;}}else{break;}g=g+(1)>>0;}if(l&&!((((e.flags&8)>>>0)===0))){k=0;}e.widths=$append(e.widths,k);p=e.format(d,b,g);$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}d=p;e.widths=$subslice(e.widths,0,(e.widths.$length-1>>0));b=g;case 4:g=g+(1)>>0;$s=1;continue;case 2:q=e.writeLines(d,b,c);$s=7;case 7:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}d=q;$s=-1;return d;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.format};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.format=function(a,b,c){return this.$val.format(a,b,c);};E.ptr.prototype.append=function(a){var $ptr,a,b;b=this;b.buf.Write(a);b.cell.size=b.cell.size+(a.$length)>>0;};E.prototype.append=function(a){return this.$val.append(a);};E.ptr.prototype.updateWidth=function(){var $ptr,a;a=this;a.cell.width=a.cell.width+(C.RuneCount($subslice(a.buf.Bytes(),a.pos,a.buf.Len())))>>0;a.pos=a.buf.Len();};E.prototype.updateWidth=function(){return this.$val.updateWidth();};E.ptr.prototype.startEscape=function(a){var $ptr,a,b,c;b=this;c=a;if(c===(255)){b.endChar=255;}else if(c===(60)){b.endChar=62;}else if(c===(38)){b.endChar=59;}};E.prototype.startEscape=function(a){return this.$val.startEscape(a);};E.ptr.prototype.endEscape=function(){var $ptr,a,b;a=this;b=a.endChar;if(b===(255)){a.updateWidth();if(((a.flags&2)>>>0)===0){a.cell.width=a.cell.width-(2)>>0;}}else if(b===(62)){}else if(b===(59)){a.cell.width=a.cell.width+(1)>>0;}a.pos=a.buf.Len();a.endChar=0;};E.prototype.endEscape=function(){return this.$val.endEscape();};E.ptr.prototype.terminateCell=function(a){var $ptr,a,b,c,d;b=this;b.cell.htab=a;d=(c=b.lines,$indexPtr(c.$array,c.$offset+(b.lines.$length-1>>0),O));d.$set($append(d.$get(),b.cell));D.copy(b.cell,new D.ptr(0,0,false));return d.$get().$length;};E.prototype.terminateCell=function(a){return this.$val.terminateCell(a);};J=function(a,b){var $ptr,a,b,c,d,e,f;c=$recover();if(!($interfaceIsEqual(c,$ifaceNil))){d=$assertType(c,F,true);e=$clone(d[0],F);f=d[1];if(f){a.$set(e.err);return;}$panic(new $String("tabwriter: panic during "+b));}};E.ptr.prototype.Flush=function(){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;b=a.flush();$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:E.ptr.prototype.Flush};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};E.prototype.Flush=function(){return this.$val.Flush();};E.ptr.prototype.flush=function(){var $ptr,a,b,c,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);a=[a];a[0]=$ifaceNil;b=this;$deferred.push([$methodVal(b,"reset"),[]]);$deferred.push([J,[(a.$ptr||(a.$ptr=new P(function(){return this.$target[0];},function($v){this.$target[0]=$v;},a))),"Flush"]]);if(b.cell.size>0){if(!((b.endChar===0))){b.endEscape();}b.terminateCell(false);}c=b.format(0,0,b.lines.$length);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}c;a[0]=$ifaceNil;$s=-1;return a[0];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return a[0];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:E.ptr.prototype.flush};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};E.prototype.flush=function(){return this.$val.flush();};E.ptr.prototype.Write=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=[b];c=0;b[0]=$ifaceNil;d=this;$deferred.push([J,[(b.$ptr||(b.$ptr=new P(function(){return this.$target[0];},function($v){this.$target[0]=$v;},b))),"Write"]]);c=0;e=a;f=0;case 1:if(!(f<e.$length)){$s=2;continue;}g=f;h=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(d.endChar===0){$s=3;continue;}$s=4;continue;case 3:i=h;if((i===(9))||(i===(11))||(i===(10))||(i===(12))){$s=7;continue;}if(i===(255)){$s=8;continue;}if((i===(60))||(i===(38))){$s=9;continue;}$s=10;continue;case 7:d.append($subslice(a,c,g));d.updateWidth();c=g+1>>0;j=d.terminateCell(h===9);if((h===10)||(h===12)){$s=11;continue;}$s=12;continue;case 11:d.addLine();if((h===12)||(j===1)){$s=13;continue;}$s=14;continue;case 13:k=d.Flush();$s=15;case 15:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}b[0]=k;if(!($interfaceIsEqual(b[0],$ifaceNil))){$s=-1;return[c,b[0]];}if((h===12)&&!((((d.flags&32)>>>0)===0))){$s=16;continue;}$s=17;continue;case 16:$r=d.write0(K);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:case 14:case 12:$s=10;continue;case 8:d.append($subslice(a,c,g));d.updateWidth();c=g;if(!((((d.flags&2)>>>0)===0))){c=c+(1)>>0;}d.startEscape(255);$s=10;continue;case 9:if(!((((d.flags&1)>>>0)===0))){d.append($subslice(a,c,g));d.updateWidth();c=g;d.startEscape(h);}case 10:case 6:$s=5;continue;case 4:if(h===d.endChar){l=g+1>>0;if((h===255)&&!((((d.flags&2)>>>0)===0))){l=g;}d.append($subslice(a,c,l));c=g+1>>0;d.endEscape();}case 5:f++;$s=1;continue;case 2:d.append($subslice(a,c));c=a.$length;$s=-1;return[c,b[0]];}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if(!$curGoroutine.asleep){return[c,b[0]];}if($curGoroutine.asleep){if($f===undefined){$f={$blk:E.ptr.prototype.Write};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};E.prototype.Write=function(a){return this.$val.Write(a);};L=function(a,b,c,d,e,f){var $ptr,a,b,c,d,e,f;return new E.ptr($ifaceNil,0,0,0,Q.zero(),0,new A.Buffer.ptr(M.nil,0,R.zero(),0),0,new D.ptr(0,0,false),0,S.nil,T.nil).Init(a,b,c,d,e,f);};$pkg.NewWriter=L;U.methods=[{prop:"addLine",name:"addLine",pkg:"text/tabwriter",typ:$funcType([],[],false)},{prop:"reset",name:"reset",pkg:"text/tabwriter",typ:$funcType([],[],false)},{prop:"Init",name:"Init",pkg:"",typ:$funcType([B.Writer,$Int,$Int,$Int,$Uint8,$Uint],[U],false)},{prop:"dump",name:"dump",pkg:"text/tabwriter",typ:$funcType([],[],false)},{prop:"write0",name:"write0",pkg:"text/tabwriter",typ:$funcType([M],[],false)},{prop:"writeN",name:"writeN",pkg:"text/tabwriter",typ:$funcType([M,$Int],[],false)},{prop:"writePadding",name:"writePadding",pkg:"text/tabwriter",typ:$funcType([$Int,$Int,$Bool],[],false)},{prop:"writeLines",name:"writeLines",pkg:"text/tabwriter",typ:$funcType([$Int,$Int,$Int],[$Int],false)},{prop:"format",name:"format",pkg:"text/tabwriter",typ:$funcType([$Int,$Int,$Int],[$Int],false)},{prop:"append",name:"append",pkg:"text/tabwriter",typ:$funcType([M],[],false)},{prop:"updateWidth",name:"updateWidth",pkg:"text/tabwriter",typ:$funcType([],[],false)},{prop:"startEscape",name:"startEscape",pkg:"text/tabwriter",typ:$funcType([$Uint8],[],false)},{prop:"endEscape",name:"endEscape",pkg:"text/tabwriter",typ:$funcType([],[],false)},{prop:"terminateCell",name:"terminateCell",pkg:"text/tabwriter",typ:$funcType([$Bool],[$Int],false)},{prop:"Flush",name:"Flush",pkg:"",typ:$funcType([],[$error],false)},{prop:"flush",name:"flush",pkg:"text/tabwriter",typ:$funcType([],[$error],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([M],[$Int,$error],false)}];D.init("text/tabwriter",[{prop:"size",name:"size",exported:false,typ:$Int,tag:""},{prop:"width",name:"width",exported:false,typ:$Int,tag:""},{prop:"htab",name:"htab",exported:false,typ:$Bool,tag:""}]);E.init("text/tabwriter",[{prop:"output",name:"output",exported:false,typ:B.Writer,tag:""},{prop:"minwidth",name:"minwidth",exported:false,typ:$Int,tag:""},{prop:"tabwidth",name:"tabwidth",exported:false,typ:$Int,tag:""},{prop:"padding",name:"padding",exported:false,typ:$Int,tag:""},{prop:"padbytes",name:"padbytes",exported:false,typ:Q,tag:""},{prop:"flags",name:"flags",exported:false,typ:$Uint,tag:""},{prop:"buf",name:"buf",exported:false,typ:A.Buffer,tag:""},{prop:"pos",name:"pos",exported:false,typ:$Int,tag:""},{prop:"cell",name:"cell",exported:false,typ:D,tag:""},{prop:"endChar",name:"endChar",exported:false,typ:$Uint8,tag:""},{prop:"lines",name:"lines",exported:false,typ:S,tag:""},{prop:"widths",name:"widths",exported:false,typ:T,tag:""}]);F.init("text/tabwriter",[{prop:"err",name:"err",exported:false,typ:$error,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}G=new M([10]);H=(new M($stringToBytes("\t\t\t\t\t\t\t\t")));I=new M([124]);K=(new M($stringToBytes("---\n")));}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["go/printer"]=(function(){var $pkg={},$init,A,H,B,C,I,J,D,E,K,F,G,L,Y,Z,AA,AB,AJ,AL,AM,AN,AP,AQ,AR,AS,AT,AU,AV,AW,AX,AY,AZ,BA,BB,BC,BD,BE,BF,BG,BH,BI,BJ,BK,BL,BM,BN,BO,BP,BQ,BR,BS,BT,BU,BV,BW,BX,BY,BZ,CA,CB,CC,CD,CE,CF,CG,CH,CI,CJ,CK,CL,CM,CN,CO,CP,CQ,CR,CS,CT,CU,CV,CW,CX,CY,CZ,DA,DB,DC,DD,DE,DF,DG,DH,DI,DJ,DK,AK,M,N,O,P,Q,R,S,T,U,V,W,X,AC,AD,AE,AF,AG,AH,AI;A=$packages["bytes"];H=$packages["fmt"];B=$packages["go/ast"];C=$packages["go/token"];I=$packages["io"];J=$packages["os"];D=$packages["strconv"];E=$packages["strings"];K=$packages["text/tabwriter"];F=$packages["unicode"];G=$packages["unicode/utf8"];L=$pkg.exprListMode=$newType(4,$kindUint,"printer.exprListMode",true,"go/printer",false,null);Y=$pkg.whiteSpace=$newType(1,$kindUint8,"printer.whiteSpace",true,"go/printer",false,null);Z=$pkg.pmode=$newType(4,$kindInt,"printer.pmode",true,"go/printer",false,null);AA=$pkg.commentInfo=$newType(0,$kindStruct,"printer.commentInfo",true,"go/printer",false,function(cindex_,comment_,commentOffset_,commentNewline_){this.$val=this;if(arguments.length===0){this.cindex=0;this.comment=AR.nil;this.commentOffset=0;this.commentNewline=false;return;}this.cindex=cindex_;this.comment=comment_;this.commentOffset=commentOffset_;this.commentNewline=commentNewline_;});AB=$pkg.printer=$newType(0,$kindStruct,"printer.printer",true,"go/printer",false,function(Config_,fset_,output_,indent_,level_,mode_,impliedSemi_,lastTok_,prevOpen_,wsbuf_,pos_,out_,last_,linePtr_,comments_,useNodeComments_,commentInfo_,nodeSizes_,cachedPos_,cachedLine_){this.$val=this;if(arguments.length===0){this.Config=new AM.ptr(0,0,0);this.fset=DE.nil;this.output=AP.nil;this.indent=0;this.level=0;this.mode=0;this.impliedSemi=false;this.lastTok=0;this.prevOpen=0;this.wsbuf=CY.nil;this.pos=new C.Position.ptr("",0,0,0);this.out=new C.Position.ptr("",0,0,0);this.last=new C.Position.ptr("",0,0,0);this.linePtr=BB.nil;this.comments=AS.nil;this.useNodeComments=false;this.commentInfo=new AA.ptr(0,AR.nil,0,false);this.nodeSizes=false;this.cachedPos=0;this.cachedLine=0;return;}this.Config=Config_;this.fset=fset_;this.output=output_;this.indent=indent_;this.level=level_;this.mode=mode_;this.impliedSemi=impliedSemi_;this.lastTok=lastTok_;this.prevOpen=prevOpen_;this.wsbuf=wsbuf_;this.pos=pos_;this.out=out_;this.last=last_;this.linePtr=linePtr_;this.comments=comments_;this.useNodeComments=useNodeComments_;this.commentInfo=commentInfo_;this.nodeSizes=nodeSizes_;this.cachedPos=cachedPos_;this.cachedLine=cachedLine_;});AJ=$pkg.trimmer=$newType(0,$kindStruct,"printer.trimmer",true,"go/printer",false,function(output_,state_,space_){this.$val=this;if(arguments.length===0){this.output=$ifaceNil;this.state=0;this.space=AP.nil;return;}this.output=output_;this.state=state_;this.space=space_;});AL=$pkg.Mode=$newType(4,$kindUint,"printer.Mode",true,"go/printer",true,null);AM=$pkg.Config=$newType(0,$kindStruct,"printer.Config",true,"go/printer",true,function(Mode_,Tabwidth_,Indent_){this.$val=this;if(arguments.length===0){this.Mode=0;this.Tabwidth=0;this.Indent=0;return;}this.Mode=Mode_;this.Tabwidth=Tabwidth_;this.Indent=Indent_;});AN=$pkg.CommentedNode=$newType(0,$kindStruct,"printer.CommentedNode",true,"go/printer",true,function(Node_,Comments_){this.$val=this;if(arguments.length===0){this.Node=$ifaceNil;this.Comments=AS.nil;return;}this.Node=Node_;this.Comments=Comments_;});AP=$sliceType($Uint8);AQ=$sliceType($emptyInterface);AR=$ptrType(B.CommentGroup);AS=$sliceType(AR);AT=$sliceType(B.Expr);AU=$ptrType(B.KeyValueExpr);AV=$ptrType(B.FieldList);AW=$ptrType(B.Ident);AX=$sliceType(AW);AY=$ptrType(B.BasicLit);AZ=$ptrType(B.Comment);BA=$sliceType(AZ);BB=$ptrType($Int);BC=$ptrType(B.FuncType);BD=$ptrType(B.BinaryExpr);BE=$ptrType(B.StarExpr);BF=$ptrType(B.UnaryExpr);BG=$ptrType(B.BadExpr);BH=$ptrType(B.FuncLit);BI=$ptrType(B.ParenExpr);BJ=$ptrType(B.SelectorExpr);BK=$ptrType(B.TypeAssertExpr);BL=$ptrType(B.IndexExpr);BM=$ptrType(B.SliceExpr);BN=$ptrType(B.CallExpr);BO=$ptrType(B.CompositeLit);BP=$ptrType(B.Ellipsis);BQ=$ptrType(B.ArrayType);BR=$ptrType(B.StructType);BS=$ptrType(B.InterfaceType);BT=$ptrType(B.MapType);BU=$ptrType(B.ChanType);BV=$ptrType(B.EmptyStmt);BW=$ptrType(B.LabeledStmt);BX=$ptrType(B.BadStmt);BY=$ptrType(B.DeclStmt);BZ=$ptrType(B.ExprStmt);CA=$ptrType(B.SendStmt);CB=$ptrType(B.IncDecStmt);CC=$ptrType(B.AssignStmt);CD=$ptrType(B.GoStmt);CE=$ptrType(B.DeferStmt);CF=$ptrType(B.ReturnStmt);CG=$ptrType(B.BranchStmt);CH=$ptrType(B.BlockStmt);CI=$ptrType(B.IfStmt);CJ=$ptrType(B.CaseClause);CK=$ptrType(B.SwitchStmt);CL=$ptrType(B.TypeSwitchStmt);CM=$ptrType(B.CommClause);CN=$ptrType(B.SelectStmt);CO=$ptrType(B.ForStmt);CP=$ptrType(B.RangeStmt);CQ=$sliceType($Bool);CR=$ptrType(B.ValueSpec);CS=$ptrType(B.ImportSpec);CT=$ptrType(B.TypeSpec);CU=$arrayType($Uint8,64);CV=$ptrType(B.BadDecl);CW=$ptrType(B.GenDecl);CX=$ptrType(B.FuncDecl);CY=$sliceType(Y);CZ=$ptrType(B.Field);DA=$ptrType(B.File);DB=$ptrType(AN);DC=$sliceType(B.Stmt);DD=$sliceType(B.Decl);DE=$ptrType(C.FileSet);DF=$ptrType(K.Writer);DG=$sliceType(CZ);DH=$ptrType(AM);DI=$mapType(B.Node,$Int);DJ=$ptrType(AB);DK=$ptrType(AJ);AB.ptr.prototype.linebreak=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=false;f=this;g=AG(a-f.pos.Line>>0);if(g<b){g=b;}if(g>0){$s=1;continue;}$s=2;continue;case 1:$r=f.print(new AQ([new Y(c)]));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(d){$s=4;continue;}$s=5;continue;case 4:$r=f.print(new AQ([new Y(12)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=g-(1)>>0;case 5:case 7:if(!(g>0)){$s=8;continue;}$r=f.print(new AQ([new Y(10)]));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g=g-(1)>>0;$s=7;continue;case 8:e=true;case 2:$s=-1;return e;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.linebreak};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.linebreak=function(a,b,c,d){return this.$val.linebreak(a,b,c,d);};AB.ptr.prototype.setComment=function(a){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a===AR.nil||!b.useNodeComments){$s=-1;return;}if(b.comments===AS.nil){$s=1;continue;}if(b.commentInfo.cindex<b.comments.$length){$s=2;continue;}$s=3;continue;case 1:b.comments=$makeSlice(AS,1);$s=3;continue;case 2:d=b.posFor((c=a.List,(0>=c.$length?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+0])).Pos());$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=b.flush($clone(d,C.Position),0);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;b.comments=$subslice(b.comments,0,1);$r=b.internalError(new AQ([new $String("setComment found pending comments")]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:(f=b.comments,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0]=a));b.commentInfo.cindex=0;if(b.commentInfo.commentOffset===1073741824){$s=7;continue;}$s=8;continue;case 7:$r=b.nextComment();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.setComment};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.setComment=function(a){return this.$val.setComment(a);};AB.ptr.prototype.identList=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=$makeSlice(AT,a.$length);e=a;f=0;while(true){if(!(f<e.$length)){break;}g=f;h=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);((g<0||g>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+g]=h);f++;}i=0;if(!b){i=2;}$r=c.exprList(0,d,1,i,0);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.identList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.identList=function(a,b){return this.$val.identList(a,b);};AB.ptr.prototype.exprList=function(a,b,c,d,e){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;if(b.$length===0){$s=-1;return;}g=f.posFor(a);$s=1;case 1:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=$clone(g,C.Position);i=f.posFor(e);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=$clone(i,C.Position);k=(0>=b.$length?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+0]).Pos();$s=3;case 3:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=f.lineFor(k);$s=4;case 4:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;o=(n=b.$length-1>>0,((n<0||n>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+n])).End();$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=f.lineFor(o);$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;if(h.IsValid()&&(h.Line===m)&&(m===q)){$s=7;continue;}$s=8;continue;case 7:r=b;s=0;case 9:if(!(s<r.$length)){$s=10;continue;}t=s;u=((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]);if(t>0){$s=11;continue;}$s=12;continue;case 11:v=u.Pos();$s=13;case 13:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}$r=f.print(new AQ([new C.Pos(v),new C.Token(52),new Y(32)]));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 12:$r=f.expr0(u,c);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}s++;$s=9;continue;case 10:$s=-1;return;case 8:w=0;if(((d&2)>>>0)===0){w=62;}x=-1;if(!(h.IsValid()&&h.Line<m)){y=false;$s=18;continue s;}z=f.linebreak(m,0,w,true);$s=19;case 19:if($c){$c=false;z=z.$blk();}if(z&&z.$blk!==undefined){break s;}y=z;case 18:if(y){$s=16;continue;}$s=17;continue;case 16:w=0;x=0;case 17:aa=0;ab=h.Line;ac=b;ad=0;case 20:if(!(ad<ac.$length)){$s=21;continue;}ae=ad;af=((ad<0||ad>=ac.$length)?($throwRuntimeError("index out of range"),undefined):ac.$array[ac.$offset+ad]);ag=af.Pos();$s=22;case 22:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ah=f.lineFor(ag);$s=23;case 23:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}m=ah;ai=true;aj=aa;ak=f.nodeSize(af,1000000);$s=24;case 24:if($c){$c=false;ak=ak.$blk();}if(ak&&ak.$blk!==undefined){break s;}aa=ak;al=$assertType(af,AU,true);am=al[0];an=al[1];if(aa<=1000000&&h.IsValid()&&j.IsValid()){$s=25;continue;}$s=26;continue;case 25:if(an){$s=28;continue;}$s=29;continue;case 28:ao=f.nodeSize(am.Key,1000000);$s=30;case 30:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}aa=ao;case 29:$s=27;continue;case 26:aa=0;case 27:if(aj>0&&aa>0){if(aj<=20&&aa<=20){ai=false;}else{ap=(aa)/(aj);ai=ap<=0.25||4<=ap;}}aq=0<ab&&ab<m;if(ae>0){$s=31;continue;}$s=32;continue;case 31:if(!aq){$s=33;continue;}$s=34;continue;case 33:ar=af.Pos();$s=35;case 35:if($c){$c=false;ar=ar.$blk();}if(ar&&ar.$blk!==undefined){break s;}$r=f.print(new AQ([new C.Pos(ar)]));$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 34:$r=f.print(new AQ([new C.Token(52)]));$s=37;case 37:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}as=true;if(aq){$s=38;continue;}$s=39;continue;case 38:at=f.linebreak(m,0,w,ai||(x+1>>0)<ae);$s=42;case 42:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}if(at){$s=40;continue;}$s=41;continue;case 40:w=0;x=ae;as=false;case 41:case 39:if(as){$s=43;continue;}$s=44;continue;case 43:$r=f.print(new AQ([new Y(32)]));$s=45;case 45:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 44:case 32:if(b.$length>1&&an&&aa>0&&aq){$s=46;continue;}$s=47;continue;case 46:$r=f.expr(am.Key);$s=49;case 49:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=f.print(new AQ([new C.Pos(am.Colon),new C.Token(58),new Y(11)]));$s=50;case 50:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=f.expr(am.Value);$s=51;case 51:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=48;continue;case 47:$r=f.expr0(af,c);$s=52;case 52:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 48:ab=m;ad++;$s=20;continue;case 21:if(!((((d&1)>>>0)===0))&&j.IsValid()&&f.pos.Line<j.Line){$s=53;continue;}$s=54;continue;case 53:$r=f.print(new AQ([new C.Token(52)]));$s=55;case 55:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if((w===0)&&(((d&2)>>>0)===0)){$s=56;continue;}$s=57;continue;case 56:$r=f.print(new AQ([new Y(60)]));$s=58;case 58:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 57:$r=f.print(new AQ([new Y(12)]));$s=59;case 59:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 54:if((w===0)&&(((d&2)>>>0)===0)){$s=60;continue;}$s=61;continue;case 60:$r=f.print(new AQ([new Y(60)]));$s=62;case 62:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 61:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.exprList};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.exprList=function(a,b,c,d,e){return this.$val.exprList(a,b,c,d,e);};AB.ptr.prototype.parameters=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=b.print(new AQ([new C.Pos(a.Opening),new C.Token(49)]));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(a.List.$length>0){$s=2;continue;}$s=3;continue;case 2:c=b.lineFor(a.Opening);$s=4;case 4:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=62;f=a.List;g=0;case 5:if(!(g<f.$length)){$s=6;continue;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);j=0;if(i.Names.$length>0){$s=7;continue;}$s=8;continue;case 7:l=b.lineFor((k=i.Names,(0>=k.$length?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+0])).Pos());$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}j=l;$s=9;continue;case 8:m=i.Type.Pos();$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=b.lineFor(m);$s=12;case 12:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}j=n;case 9:o=i.Type.End();$s=13;case 13:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=b.lineFor(o);$s=14;case 14:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;r=0<d&&d<j;if(h>0){$s=15;continue;}$s=16;continue;case 15:if(!r){$s=17;continue;}$s=18;continue;case 17:s=i.Pos();$s=19;case 19:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$r=b.print(new AQ([new C.Pos(s)]));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 18:$r=b.print(new AQ([new C.Token(52)]));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 16:if(!(r)){t=false;$s=25;continue s;}u=b.linebreak(j,0,e,true);$s=26;case 26:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;case 25:if(t){$s=22;continue;}if(h>0){$s=23;continue;}$s=24;continue;case 22:e=0;$s=24;continue;case 23:$r=b.print(new AQ([new Y(32)]));$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 24:if(i.Names.$length>0){$s=28;continue;}$s=29;continue;case 28:$r=b.identList(i.Names,e===62);$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.print(new AQ([new Y(32)]));$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 29:$r=b.expr(U(i.Type));$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=q;g++;$s=5;continue;case 6:v=b.lineFor(a.Closing);$s=33;case 33:if($c){$c=false;v=v.$blk();}if(v&&v.$blk!==undefined){break s;}w=v;if(0<d&&d<w){$s=34;continue;}$s=35;continue;case 34:$r=b.print(new AQ([new C.Token(52)]));$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}x=b.linebreak(w,0,0,true);$s=37;case 37:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}x;case 35:if(e===0){$s=38;continue;}$s=39;continue;case 38:$r=b.print(new AQ([new Y(60)]));$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 39:case 3:$r=b.print(new AQ([new C.Pos(a.Closing),new C.Token(54)]));$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.parameters};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.parameters=function(a){return this.$val.parameters(a);};AB.ptr.prototype.signature=function(a,b){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(!(a===AV.nil)){$s=1;continue;}$s=2;continue;case 1:$r=c.parameters(a);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=3;continue;case 2:$r=c.print(new AQ([new C.Token(49),new C.Token(54)]));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:d=b.NumFields();if(d>0){$s=6;continue;}$s=7;continue;case 6:$r=c.print(new AQ([new Y(32)]));$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if((d===1)&&(e=b.List,(0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0])).Names===AX.nil){$s=9;continue;}$s=10;continue;case 9:$r=c.expr(U((f=b.List,(0>=f.$length?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+0])).Type));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 10:$r=c.parameters(b);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.signature};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.signature=function(a,b){return this.$val.signature(a,b);};M=function(a,b){var $ptr,a,b,c,d,e,f,g;c=0;d=a;e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(f>0){c=c+(2)>>0;}c=c+(G.RuneCountInString(g.Name))>>0;if(c>=b){break;}e++;}return c;};AB.ptr.prototype.isOneLineFieldList=function(a){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!((a.$length===1))){$s=-1;return false;}c=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);if(!(c.Tag===AY.nil)||!(c.Comment===AR.nil)){$s=-1;return false;}d=M(c.Names,30);if(d>0){d=1;}e=b.nodeSize(c.Type,30);$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;$s=-1;return(d+f>>0)<=30;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.isOneLineFieldList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.isOneLineFieldList=function(a){return this.$val.isOneLineFieldList(a);};AB.ptr.prototype.setLineComment=function(a){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=b.setComment(new B.CommentGroup.ptr(new BA([new B.Comment.ptr(0,a)])));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.setLineComment};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.setLineComment=function(a){return this.$val.setLineComment(a);};AB.ptr.prototype.fieldList=function(a,b,c){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=[e];f=this;g=a.Opening;h=a.List;i=a.Closing;if(c){j=true;$s=1;continue s;}k=f.posFor(i);$s=2;case 2:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=f.commentBefore($clone(k,C.Position));$s=3;case 3:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}j=l;case 1:m=j;if(!(new C.Pos(g).IsValid()&&new C.Pos(i).IsValid())){n=false;$s=4;continue s;}o=f.lineFor(g);$s=5;case 5:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=f.lineFor(i);$s=6;case 6:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}n=o===p;case 4:q=n;if(!m&&q){$s=7;continue;}$s=8;continue;case 7:if(h.$length===0){$s=9;continue;}if(!(b)){r=false;$s=12;continue s;}s=f.isOneLineFieldList(h);$s=13;case 13:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}r=s;case 12:if(r){$s=10;continue;}$s=11;continue;case 9:$r=f.print(new AQ([new C.Pos(g),new C.Token(51),new C.Pos(i),new C.Token(56)]));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 10:$r=f.print(new AQ([new C.Pos(g),new C.Token(51),new Y(32)]));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}t=(0>=h.$length?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+0]);u=t.Names;v=0;case 16:if(!(v<u.$length)){$s=17;continue;}w=v;x=((v<0||v>=u.$length)?($throwRuntimeError("index out of range"),undefined):u.$array[u.$offset+v]);if(w>0){$s=18;continue;}$s=19;continue;case 18:$r=f.print(new AQ([new C.Token(52),new Y(32)]));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 19:$r=f.expr(x);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}v++;$s=16;continue;case 17:if(t.Names.$length>0){$s=22;continue;}$s=23;continue;case 22:$r=f.print(new AQ([new Y(32)]));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 23:$r=f.expr(t.Type);$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=f.print(new AQ([new Y(32),new C.Pos(i),new C.Token(56)]));$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 11:case 8:$r=f.print(new AQ([new Y(32),new C.Pos(g),new C.Token(51),new Y(62)]));$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(m||h.$length>0){$s=28;continue;}$s=29;continue;case 28:$r=f.print(new AQ([new Y(12)]));$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 29:if(b){$s=31;continue;}$s=32;continue;case 31:y=11;if(h.$length===1){y=32;}d[0]=0;z=h;aa=0;case 34:if(!(aa<z.$length)){$s=35;continue;}ab=aa;ac=((aa<0||aa>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+aa]);if(ab>0){$s=36;continue;}$s=37;continue;case 36:ad=ac.Pos();$s=38;case 38:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=f.lineFor(ad);$s=39;case 39:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=f.linebreak(ae,1,0,f.linesFrom(d[0])>0);$s=40;case 40:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}af;case 37:ag=0;$r=f.setComment(ac.Doc);$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f.recordLine((d.$ptr||(d.$ptr=new BB(function(){return this.$target[0];},function($v){this.$target[0]=$v;},d))));if(ac.Names.$length>0){$s=42;continue;}$s=43;continue;case 42:$r=f.identList(ac.Names,false);$s=45;case 45:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=f.print(new AQ([new Y(y)]));$s=46;case 46:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=f.expr(ac.Type);$s=47;case 47:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ag=1;$s=44;continue;case 43:$r=f.expr(ac.Type);$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ag=2;case 44:if(!(ac.Tag===AY.nil)){$s=49;continue;}$s=50;continue;case 49:if(ac.Names.$length>0&&(y===11)){$s=51;continue;}$s=52;continue;case 51:$r=f.print(new AQ([new Y(y)]));$s=53;case 53:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 52:$r=f.print(new AQ([new Y(y)]));$s=54;case 54:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=f.expr(ac.Tag);$s=55;case 55:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ag=0;case 50:if(!(ac.Comment===AR.nil)){$s=56;continue;}$s=57;continue;case 56:case 58:if(!(ag>0)){$s=59;continue;}$r=f.print(new AQ([new Y(y)]));$s=60;case 60:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ag=ag-(1)>>0;$s=58;continue;case 59:$r=f.setComment(ac.Comment);$s=61;case 61:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 57:aa++;$s=34;continue;case 35:if(c){$s=62;continue;}$s=63;continue;case 62:if(h.$length>0){$s=64;continue;}$s=65;continue;case 64:$r=f.print(new AQ([new Y(12)]));$s=66;case 66:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 65:ah=f.posFor(i);$s=67;case 67:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ai=f.flush($clone(ah,C.Position),56);$s=68;case 68:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}ai;$r=f.setLineComment("// contains filtered or unexported fields");$s=69;case 69:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 63:$s=33;continue;case 32:e[0]=0;aj=h;ak=0;case 70:if(!(ak<aj.$length)){$s=71;continue;}al=ak;am=((ak<0||ak>=aj.$length)?($throwRuntimeError("index out of range"),undefined):aj.$array[aj.$offset+ak]);if(al>0){$s=72;continue;}$s=73;continue;case 72:an=am.Pos();$s=74;case 74:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=f.lineFor(an);$s=75;case 75:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}ap=f.linebreak(ao,1,0,f.linesFrom(e[0])>0);$s=76;case 76:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}ap;case 73:$r=f.setComment(am.Doc);$s=77;case 77:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f.recordLine((e.$ptr||(e.$ptr=new BB(function(){return this.$target[0];},function($v){this.$target[0]=$v;},e))));aq=$assertType(am.Type,BC,true);ar=aq[0];as=aq[1];if(as){$s=78;continue;}$s=79;continue;case 78:$r=f.expr((at=am.Names,(0>=at.$length?($throwRuntimeError("index out of range"),undefined):at.$array[at.$offset+0])));$s=81;case 81:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=f.signature(ar.Params,ar.Results);$s=82;case 82:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=80;continue;case 79:$r=f.expr(am.Type);$s=83;case 83:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 80:$r=f.setComment(am.Comment);$s=84;case 84:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ak++;$s=70;continue;case 71:if(c){$s=85;continue;}$s=86;continue;case 85:if(h.$length>0){$s=87;continue;}$s=88;continue;case 87:$r=f.print(new AQ([new Y(12)]));$s=89;case 89:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 88:au=f.posFor(i);$s=90;case 90:if($c){$c=false;au=au.$blk();}if(au&&au.$blk!==undefined){break s;}av=f.flush($clone(au,C.Position),56);$s=91;case 91:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}av;$r=f.setLineComment("// contains filtered or unexported methods");$s=92;case 92:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 86:case 33:$r=f.print(new AQ([new Y(60),new Y(12),new C.Pos(i),new C.Token(56)]));$s=93;case 93:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.fieldList};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.fieldList=function(a,b,c){return this.$val.fieldList(a,b,c);};N=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t;b=false;c=false;d=0;e=new C.Token(a.Op).Precedence();if(e===(4)){b=true;}else if(e===(5)){c=true;}f=a.X;switch(0){default:if($assertType(f,BD,true)[1]){g=f.$val;if(new C.Token(g.Op).Precedence()<new C.Token(a.Op).Precedence()){break;}h=N(g);i=h[0];j=h[1];k=h[2];b=b||i;c=c||j;if(d<k){d=k;}}}l=a.Y;switch(0){default:if($assertType(l,BD,true)[1]){m=l.$val;if(new C.Token(m.Op).Precedence()<=new C.Token(a.Op).Precedence()){break;}p=N(m);q=p[0];r=p[1];s=p[2];b=b||q;c=c||r;if(d<s){d=s;}}else if($assertType(l,BE,true)[1]){n=l.$val;if(a.Op===15){d=5;}}else if($assertType(l,BF,true)[1]){o=l.$val;t=new C.Token(a.Op).String()+new C.Token(o.Op).String();if(t===("/*")||t===("&&")||t===("&^")){d=5;}else if(t===("++")||t===("--")){if(d<4){d=4;}}}}return[b,c,d];};O=function(a,b){var $ptr,a,b,c,d,e,f;c=N(a);d=c[0];e=c[1];f=c[2];if(f>0){return f+1>>0;}if(d&&e){if(b===1){return 5;}return 4;}if(b===1){return 6;}return 4;};P=function(a,b){var $ptr,a,b,c,d,e;c=$assertType(a,BD,true);d=c[0];e=c[1];if(!e||!((b===new C.Token(d.Op).Precedence()))){return 1;}return 0;};Q=function(a){var $ptr,a;a=a-(1)>>0;if(a<1){a=1;}return a;};AB.ptr.prototype.binaryExpr=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;f=new C.Token(a.Op).Precedence();if(f<b){$s=1;continue;}$s=2;continue;case 1:$r=e.print(new AQ([new C.Token(49)]));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=e.expr0(a,Q(d));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=e.print(new AQ([new C.Token(54)]));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 2:g=f<c;h=62;$r=e.expr1(a.X,f,d+P(a.X,f)>>0);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(g){$s=7;continue;}$s=8;continue;case 7:$r=e.print(new AQ([new Y(32)]));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:i=e.pos.Line;j=a.Y.Pos();$s=10;case 10:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=e.lineFor(j);$s=11;case 11:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}l=k;$r=e.print(new AQ([new C.Pos(a.OpPos),new C.Token(a.Op)]));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!((i===l))&&i>0&&l>0){$s=13;continue;}$s=14;continue;case 13:m=e.linebreak(l,1,h,true);$s=17;case 17:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}if(m){$s=15;continue;}$s=16;continue;case 15:h=0;g=false;case 16:case 14:if(g){$s=18;continue;}$s=19;continue;case 18:$r=e.print(new AQ([new Y(32)]));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 19:$r=e.expr1(a.Y,f+1>>0,d+1>>0);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(h===0){$s=22;continue;}$s=23;continue;case 22:$r=e.print(new AQ([new Y(60)]));$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 23:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.binaryExpr};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.binaryExpr=function(a,b,c,d){return this.$val.binaryExpr(a,b,c,d);};R=function(a){var $ptr,a,b,c;b=$assertType(a,BD,true);c=b[1];return c;};AB.ptr.prototype.expr1=function(a,b,c){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;ar=$f.ar;as=$f.as;at=$f.at;au=$f.au;av=$f.av;aw=$f.aw;ax=$f.ax;ay=$f.ay;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=a.Pos();$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Pos(e)]));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=a;if($assertType(f,BG,true)[1]){$s=3;continue;}if($assertType(f,AW,true)[1]){$s=4;continue;}if($assertType(f,BD,true)[1]){$s=5;continue;}if($assertType(f,AU,true)[1]){$s=6;continue;}if($assertType(f,BE,true)[1]){$s=7;continue;}if($assertType(f,BF,true)[1]){$s=8;continue;}if($assertType(f,AY,true)[1]){$s=9;continue;}if($assertType(f,BH,true)[1]){$s=10;continue;}if($assertType(f,BI,true)[1]){$s=11;continue;}if($assertType(f,BJ,true)[1]){$s=12;continue;}if($assertType(f,BK,true)[1]){$s=13;continue;}if($assertType(f,BL,true)[1]){$s=14;continue;}if($assertType(f,BM,true)[1]){$s=15;continue;}if($assertType(f,BN,true)[1]){$s=16;continue;}if($assertType(f,BO,true)[1]){$s=17;continue;}if($assertType(f,BP,true)[1]){$s=18;continue;}if($assertType(f,BQ,true)[1]){$s=19;continue;}if($assertType(f,BR,true)[1]){$s=20;continue;}if($assertType(f,BC,true)[1]){$s=21;continue;}if($assertType(f,BS,true)[1]){$s=22;continue;}if($assertType(f,BT,true)[1]){$s=23;continue;}if($assertType(f,BU,true)[1]){$s=24;continue;}$s=25;continue;case 3:g=f.$val;$r=d.print(new AQ([new $String("BadExpr")]));$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 4:h=f.$val;$r=d.print(new AQ([h]));$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 5:i=f.$val;if(c<1){$s=29;continue;}$s=30;continue;case 29:$r=d.internalError(new AQ([new $String("depth < 1:"),new $Int(c)]));$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=1;case 30:$r=d.binaryExpr(i,b,O(i,c),c);$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 6:j=f.$val;$r=d.expr(j.Key);$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Pos(j.Colon),new C.Token(58),new Y(32)]));$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr(j.Value);$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 7:k=f.$val;if(6<b){$s=36;continue;}$s=37;continue;case 36:$r=d.print(new AQ([new C.Token(49)]));$s=39;case 39:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Token(14)]));$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr(k.X);$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Token(54)]));$s=42;case 42:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=38;continue;case 37:$r=d.print(new AQ([new C.Token(14)]));$s=43;case 43:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr(k.X);$s=44;case 44:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 38:$s=26;continue;case 8:l=f.$val;if(6<b){$s=45;continue;}$s=46;continue;case 45:$r=d.print(new AQ([new C.Token(49)]));$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr(l);$s=49;case 49:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Token(54)]));$s=50;case 50:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=47;continue;case 46:$r=d.print(new AQ([new C.Token(l.Op)]));$s=51;case 51:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(l.Op===79){$s=52;continue;}$s=53;continue;case 52:$r=d.print(new AQ([new Y(32)]));$s=54;case 54:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 53:$r=d.expr1(l.X,6,c);$s=55;case 55:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 47:$s=26;continue;case 9:m=f.$val;$r=d.print(new AQ([m]));$s=56;case 56:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 10:n=f.$val;$r=d.expr(n.Type);$s=57;case 57:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ad=n.Type.Pos();$s=58;case 58:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ae=d.distanceFrom(ad);$s=59;case 59:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}$r=d.funcBody(ae,32,n.Body);$s=60;case 60:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 11:o=f.$val;af=$assertType(o.X,BI,true);ag=af[1];if(ag){$s=61;continue;}$s=62;continue;case 61:$r=d.expr0(o.X,c);$s=64;case 64:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=63;continue;case 62:$r=d.print(new AQ([new C.Token(49)]));$s=65;case 65:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr0(o.X,Q(c));$s=66;case 66:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Pos(o.Rparen),new C.Token(54)]));$s=67;case 67:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 63:$s=26;continue;case 12:p=f.$val;ah=d.selectorExpr(p,c,false);$s=68;case 68:if($c){$c=false;ah=ah.$blk();}if(ah&&ah.$blk!==undefined){break s;}ah;$s=26;continue;case 13:q=f.$val;$r=d.expr1(q.X,7,c);$s=69;case 69:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Token(53),new C.Pos(q.Lparen),new C.Token(49)]));$s=70;case 70:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(q.Type,$ifaceNil))){$s=71;continue;}$s=72;continue;case 71:$r=d.expr(q.Type);$s=74;case 74:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=73;continue;case 72:$r=d.print(new AQ([new C.Token(84)]));$s=75;case 75:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 73:$r=d.print(new AQ([new C.Pos(q.Rparen),new C.Token(54)]));$s=76;case 76:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 14:r=f.$val;$r=d.expr1(r.X,7,1);$s=77;case 77:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Pos(r.Lbrack),new C.Token(50)]));$s=78;case 78:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr0(r.Index,c+1>>0);$s=79;case 79:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Pos(r.Rbrack),new C.Token(55)]));$s=80;case 80:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 15:s=f.$val;$r=d.expr1(s.X,7,1);$s=81;case 81:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Pos(s.Lbrack),new C.Token(50)]));$s=82;case 82:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ai=new AT([s.Low,s.High]);if(!($interfaceIsEqual(s.Max,$ifaceNil))){ai=$append(ai,s.Max);}aj=ai;ak=0;case 83:if(!(ak<aj.$length)){$s=84;continue;}al=ak;am=((ak<0||ak>=aj.$length)?($throwRuntimeError("index out of range"),undefined):aj.$array[aj.$offset+ak]);if(al>0){$s=85;continue;}$s=86;continue;case 85:ao=(an=al-1>>0,((an<0||an>=ai.$length)?($throwRuntimeError("index out of range"),undefined):ai.$array[ai.$offset+an]));if(c<=1&&!($interfaceIsEqual(ao,$ifaceNil))&&!($interfaceIsEqual(am,$ifaceNil))&&(R(ao)||R(am))){$s=87;continue;}$s=88;continue;case 87:$r=d.print(new AQ([new Y(32),new C.Token(58),new Y(32)]));$s=90;case 90:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=89;continue;case 88:$r=d.print(new AQ([new C.Token(58)]));$s=91;case 91:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 89:case 86:if(!($interfaceIsEqual(am,$ifaceNil))){$s=92;continue;}$s=93;continue;case 92:$r=d.expr0(am,c+1>>0);$s=94;case 94:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 93:ak++;$s=83;continue;case 84:$r=d.print(new AQ([new C.Pos(s.Rbrack),new C.Token(55)]));$s=95;case 95:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 16:t=f.$val;if(t.Args.$length>1){c=c+(1)>>0;}ap=false;aq=$assertType(t.Fun,BC,true);ar=aq[1];if(ar){$s=96;continue;}$s=97;continue;case 96:$r=d.print(new AQ([new C.Token(49)]));$s=99;case 99:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}as=d.possibleSelectorExpr(t.Fun,7,c);$s=100;case 100:if($c){$c=false;as=as.$blk();}if(as&&as.$blk!==undefined){break s;}ap=as;$r=d.print(new AQ([new C.Token(54)]));$s=101;case 101:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=98;continue;case 97:at=d.possibleSelectorExpr(t.Fun,7,c);$s=102;case 102:if($c){$c=false;at=at.$blk();}if(at&&at.$blk!==undefined){break s;}ap=at;case 98:$r=d.print(new AQ([new C.Pos(t.Lparen),new C.Token(49)]));$s=103;case 103:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(new C.Pos(t.Ellipsis).IsValid()){$s=104;continue;}$s=105;continue;case 104:$r=d.exprList(t.Lparen,t.Args,c,0,t.Ellipsis);$s=107;case 107:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Pos(t.Ellipsis),new C.Token(48)]));$s=108;case 108:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(new C.Pos(t.Rparen).IsValid())){au=false;$s=111;continue s;}av=d.lineFor(t.Ellipsis);$s=112;case 112:if($c){$c=false;av=av.$blk();}if(av&&av.$blk!==undefined){break s;}aw=d.lineFor(t.Rparen);$s=113;case 113:if($c){$c=false;aw=aw.$blk();}if(aw&&aw.$blk!==undefined){break s;}au=av<aw;case 111:if(au){$s=109;continue;}$s=110;continue;case 109:$r=d.print(new AQ([new C.Token(52),new Y(12)]));$s=114;case 114:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 110:$s=106;continue;case 105:$r=d.exprList(t.Lparen,t.Args,c,1,t.Rparen);$s=115;case 115:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 106:$r=d.print(new AQ([new C.Pos(t.Rparen),new C.Token(54)]));$s=116;case 116:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(ap){$s=117;continue;}$s=118;continue;case 117:$r=d.print(new AQ([new Y(60)]));$s=119;case 119:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 118:$s=26;continue;case 17:u=f.$val;if(!($interfaceIsEqual(u.Type,$ifaceNil))){$s=120;continue;}$s=121;continue;case 120:$r=d.expr1(u.Type,7,c);$s=122;case 122:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 121:d.level=d.level+(1)>>0;$r=d.print(new AQ([new C.Pos(u.Lbrace),new C.Token(51)]));$s=123;case 123:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.exprList(u.Lbrace,u.Elts,1,1,u.Rbrace);$s=124;case 124:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ax=2;if(u.Elts.$length>0){ax=ax|(1);}$r=d.print(new AQ([new Z(ax),new C.Pos(u.Rbrace),new C.Token(56),new Z(ax)]));$s=125;case 125:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d.level=d.level-(1)>>0;$s=26;continue;case 18:v=f.$val;$r=d.print(new AQ([new C.Token(48)]));$s=126;case 126:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(v.Elt,$ifaceNil))){$s=127;continue;}$s=128;continue;case 127:$r=d.expr(v.Elt);$s=129;case 129:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 128:$s=26;continue;case 19:w=f.$val;$r=d.print(new AQ([new C.Token(50)]));$s=130;case 130:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(w.Len,$ifaceNil))){$s=131;continue;}$s=132;continue;case 131:$r=d.expr(w.Len);$s=133;case 133:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 132:$r=d.print(new AQ([new C.Token(55)]));$s=134;case 134:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr(w.Elt);$s=135;case 135:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 20:x=f.$val;$r=d.print(new AQ([new C.Token(82)]));$s=136;case 136:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.fieldList(x.Fields,true,x.Incomplete);$s=137;case 137:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 21:y=f.$val;$r=d.print(new AQ([new C.Token(71)]));$s=138;case 138:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.signature(y.Params,y.Results);$s=139;case 139:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 22:z=f.$val;$r=d.print(new AQ([new C.Token(76)]));$s=140;case 140:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.fieldList(z.Methods,false,z.Incomplete);$s=141;case 141:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 23:aa=f.$val;$r=d.print(new AQ([new C.Token(77),new C.Token(50)]));$s=142;case 142:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr(aa.Key);$s=143;case 143:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Token(55)]));$s=144;case 144:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr(aa.Value);$s=145;case 145:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 24:ab=f.$val;ay=ab.Dir;if(ay===(3)){$s=147;continue;}if(ay===(2)){$s=148;continue;}if(ay===(1)){$s=149;continue;}$s=150;continue;case 147:$r=d.print(new AQ([new C.Token(63)]));$s=151;case 151:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=150;continue;case 148:$r=d.print(new AQ([new C.Token(36),new C.Token(63)]));$s=152;case 152:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=150;continue;case 149:$r=d.print(new AQ([new C.Token(63),new C.Pos(ab.Arrow),new C.Token(36)]));$s=153;case 153:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 150:case 146:$r=d.print(new AQ([new Y(32)]));$s=154;case 154:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr(ab.Value);$s=155;case 155:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=26;continue;case 25:ac=f;$panic(new $String("unreachable"));case 26:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.expr1};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.ar=ar;$f.as=as;$f.at=at;$f.au=au;$f.av=av;$f.aw=aw;$f.ax=ax;$f.ay=ay;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.expr1=function(a,b,c){return this.$val.expr1(a,b,c);};AB.ptr.prototype.possibleSelectorExpr=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=$assertType(a,BJ,true);f=e[0];g=e[1];if(g){$s=1;continue;}$s=2;continue;case 1:h=d.selectorExpr(f,c,true);$s=3;case 3:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$s=-1;return h;case 2:$r=d.expr1(a,b,c);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return false;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.possibleSelectorExpr};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.possibleSelectorExpr=function(a,b,c){return this.$val.possibleSelectorExpr(a,b,c);};AB.ptr.prototype.selectorExpr=function(a,b,c){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;$r=d.expr1(a.X,7,b);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Token(53)]));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=d.lineFor(a.Sel.Pos());$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}f=e;if(d.pos.IsValid()&&d.pos.Line<f){$s=4;continue;}$s=5;continue;case 4:$r=d.print(new AQ([new Y(62),new Y(10),new C.Pos(a.Sel.Pos()),a.Sel]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!c){$s=7;continue;}$s=8;continue;case 7:$r=d.print(new AQ([new Y(60)]));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:$s=-1;return true;case 5:$r=d.print(new AQ([new C.Pos(a.Sel.Pos()),a.Sel]));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return false;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.selectorExpr};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.selectorExpr=function(a,b,c){return this.$val.selectorExpr(a,b,c);};AB.ptr.prototype.expr0=function(a,b){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=c.expr1(a,0,b);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.expr0};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.expr0=function(a,b){return this.$val.expr0(a,b);};AB.ptr.prototype.expr=function(a){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=b.expr1(a,0,1);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.expr};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.expr=function(a){return this.$val.expr(a);};AB.ptr.prototype.stmtList=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=[d];e=this;if(b>0){$s=1;continue;}$s=2;continue;case 1:$r=e.print(new AQ([new Y(62)]));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:d[0]=0;f=0;g=a;h=0;case 4:if(!(h<g.$length)){$s=5;continue;}i=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);j=$assertType(i,BV,true);k=j[1];if(!k){$s=6;continue;}$s=7;continue;case 6:if(e.output.$length>0){$s=8;continue;}$s=9;continue;case 8:l=i.Pos();$s=10;case 10:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=e.lineFor(l);$s=11;case 11:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=e.linebreak(m,1,0,(f===0)||(b===0)||e.linesFrom(d[0])>0);$s=12;case 12:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;case 9:e.recordLine((d.$ptr||(d.$ptr=new BB(function(){return this.$target[0];},function($v){this.$target[0]=$v;},d))));$r=e.stmt(i,c&&(f===(a.$length-1>>0)));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}o=i;while(true){p=$assertType(o,BW,true);q=p[0];if(q===BW.nil){break;}d[0]=d[0]+(1)>>0;o=q.Stmt;}f=f+(1)>>0;case 7:h++;$s=4;continue;case 5:if(b>0){$s=14;continue;}$s=15;continue;case 14:$r=e.print(new AQ([new Y(60)]));$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 15:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.stmtList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.stmtList=function(a,b,c){return this.$val.stmtList(a,b,c);};AB.ptr.prototype.block=function(a,b){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=c.print(new AQ([new C.Pos(a.Lbrace),new C.Token(51)]));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.stmtList(a.List,b,true);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=c.lineFor(a.Rbrace);$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=c.linebreak(d,1,0,true);$s=4;case 4:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$r=c.print(new AQ([new C.Pos(a.Rbrace),new C.Token(56)]));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.block};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.block=function(a,b){return this.$val.block(a,b);};S=function(a){var $ptr,a,b,c,d;b=a;if($assertType(b,AW,true)[1]){c=b.$val;return true;}else if($assertType(b,BJ,true)[1]){d=b.$val;return S(d.X);}return false;};T=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=$assertType(a,BI,true);d=c[0];b[0]=c[1];if(b[0]){$s=1;continue;}$s=2;continue;case 1:$r=B.Inspect(d.X,(function(b){return function(e){var $ptr,e,f,g,h;f=e;if($assertType(f,BI,true)[1]){g=f.$val;return false;}else if($assertType(f,BO,true)[1]){h=f.$val;if(S(h.Type)){b[0]=false;}return false;}return true;};})(b));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(b[0]){$s=4;continue;}$s=5;continue;case 4:e=T(d.X);$s=6;case 6:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;case 5:case 2:$s=-1;return a;}return;}if($f===undefined){$f={$blk:T};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};U=function(a){var $ptr,a,b,c,d;b=$assertType(a,BI,true);c=b[0];d=b[1];if(d){return U(c.X);}return a;};AB.ptr.prototype.controlClause=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=this;$r=e.print(new AQ([new Y(32)]));$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=false;if($interfaceIsEqual(b,$ifaceNil)&&$interfaceIsEqual(d,$ifaceNil)){$s=2;continue;}$s=3;continue;case 2:if(!($interfaceIsEqual(c,$ifaceNil))){$s=5;continue;}$s=6;continue;case 5:g=T(c);$s=7;case 7:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}$r=e.expr(g);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=true;case 6:$s=4;continue;case 3:if(!($interfaceIsEqual(b,$ifaceNil))){$s=9;continue;}$s=10;continue;case 9:$r=e.stmt(b,false);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:$r=e.print(new AQ([new C.Token(57),new Y(32)]));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(c,$ifaceNil))){$s=13;continue;}$s=14;continue;case 13:h=T(c);$s=15;case 15:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}$r=e.expr(h);$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=true;case 14:if(a){$s=17;continue;}$s=18;continue;case 17:$r=e.print(new AQ([new C.Token(57),new Y(32)]));$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=false;if(!($interfaceIsEqual(d,$ifaceNil))){$s=20;continue;}$s=21;continue;case 20:$r=e.stmt(d,false);$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=true;case 21:case 18:case 4:if(f){$s=23;continue;}$s=24;continue;case 23:$r=e.print(new AQ([new Y(32)]));$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 24:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.controlClause};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.controlClause=function(a,b,c,d){return this.$val.controlClause(a,b,c,d);};AB.ptr.prototype.indentList=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(a.$length>=2){$s=1;continue;}$s=2;continue;case 1:c=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]).Pos();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=b.lineFor(c);$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;g=(f=a.$length-1>>0,((f<0||f>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+f])).End();$s=5;case 5:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=b.lineFor(g);$s=6;case 6:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=h;if(0<e&&e<i){$s=7;continue;}$s=8;continue;case 7:j=0;k=e;l=a;m=0;case 9:if(!(m<l.$length)){$s=10;continue;}n=((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);o=n.Pos();$s=11;case 11:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}p=b.lineFor(o);$s=12;case 12:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}q=p;r=n.End();$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}s=b.lineFor(r);$s=14;case 14:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=s;if(k<q){$s=-1;return true;}if(q<t){j=j+(1)>>0;}k=t;m++;$s=9;continue;case 10:$s=-1;return j>1;case 8:case 2:$s=-1;return false;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.indentList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.indentList=function(a){return this.$val.indentList(a);};AB.ptr.prototype.stmt=function(a,b){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;ak=$f.ak;al=$f.al;am=$f.am;an=$f.an;ao=$f.ao;ap=$f.ap;aq=$f.aq;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=a.Pos();$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}$r=c.print(new AQ([new C.Pos(d)]));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=a;if($assertType(e,BX,true)[1]){$s=3;continue;}if($assertType(e,BY,true)[1]){$s=4;continue;}if($assertType(e,BV,true)[1]){$s=5;continue;}if($assertType(e,BW,true)[1]){$s=6;continue;}if($assertType(e,BZ,true)[1]){$s=7;continue;}if($assertType(e,CA,true)[1]){$s=8;continue;}if($assertType(e,CB,true)[1]){$s=9;continue;}if($assertType(e,CC,true)[1]){$s=10;continue;}if($assertType(e,CD,true)[1]){$s=11;continue;}if($assertType(e,CE,true)[1]){$s=12;continue;}if($assertType(e,CF,true)[1]){$s=13;continue;}if($assertType(e,CG,true)[1]){$s=14;continue;}if($assertType(e,CH,true)[1]){$s=15;continue;}if($assertType(e,CI,true)[1]){$s=16;continue;}if($assertType(e,CJ,true)[1]){$s=17;continue;}if($assertType(e,CK,true)[1]){$s=18;continue;}if($assertType(e,CL,true)[1]){$s=19;continue;}if($assertType(e,CM,true)[1]){$s=20;continue;}if($assertType(e,CN,true)[1]){$s=21;continue;}if($assertType(e,CO,true)[1]){$s=22;continue;}if($assertType(e,CP,true)[1]){$s=23;continue;}$s=24;continue;case 3:f=e.$val;$r=c.print(new AQ([new $String("BadStmt")]));$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 4:g=e.$val;$r=c.decl(g.Decl);$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 5:h=e.$val;$s=25;continue;case 6:i=e.$val;$r=c.print(new AQ([new Y(60)]));$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.expr(i.Label);$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.print(new AQ([new C.Pos(i.Colon),new C.Token(58),new Y(62)]));$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ab=$assertType(i.Stmt,BV,true);ac=ab[0];ad=ab[1];if(ad){$s=31;continue;}$s=32;continue;case 31:if(!b){$s=34;continue;}$s=35;continue;case 34:$r=c.print(new AQ([new Y(10),new C.Pos(ac.Pos()),new C.Token(57)]));$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 35:$s=33;continue;case 32:ae=i.Stmt.Pos();$s=37;case 37:if($c){$c=false;ae=ae.$blk();}if(ae&&ae.$blk!==undefined){break s;}af=c.lineFor(ae);$s=38;case 38:if($c){$c=false;af=af.$blk();}if(af&&af.$blk!==undefined){break s;}ag=c.linebreak(af,1,0,true);$s=39;case 39:if($c){$c=false;ag=ag.$blk();}if(ag&&ag.$blk!==undefined){break s;}ag;case 33:$r=c.stmt(i.Stmt,b);$s=40;case 40:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 7:j=e.$val;$r=c.expr0(j.X,1);$s=41;case 41:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 8:k=e.$val;$r=c.expr0(k.Chan,1);$s=42;case 42:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.print(new AQ([new Y(32),new C.Pos(k.Arrow),new C.Token(36),new Y(32)]));$s=43;case 43:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.expr0(k.Value,1);$s=44;case 44:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 9:l=e.$val;$r=c.expr0(l.X,2);$s=45;case 45:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.print(new AQ([new C.Pos(l.TokPos),new C.Token(l.Tok)]));$s=46;case 46:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 10:m=e.$val;ah=1;if(m.Lhs.$length>1&&m.Rhs.$length>1){ah=ah+(1)>>0;}ai=m.Pos();$s=47;case 47:if($c){$c=false;ai=ai.$blk();}if(ai&&ai.$blk!==undefined){break s;}$r=c.exprList(ai,m.Lhs,ah,0,m.TokPos);$s=48;case 48:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.print(new AQ([new Y(32),new C.Pos(m.TokPos),new C.Token(m.Tok),new Y(32)]));$s=49;case 49:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.exprList(m.TokPos,m.Rhs,ah,0,0);$s=50;case 50:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 11:n=e.$val;$r=c.print(new AQ([new C.Token(72),new Y(32)]));$s=51;case 51:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.expr(n.Call);$s=52;case 52:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 12:o=e.$val;$r=c.print(new AQ([new C.Token(67),new Y(32)]));$s=53;case 53:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.expr(o.Call);$s=54;case 54:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 13:p=e.$val;$r=c.print(new AQ([new C.Token(80)]));$s=55;case 55:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(p.Results===AT.nil)){$s=56;continue;}$s=57;continue;case 56:$r=c.print(new AQ([new Y(32)]));$s=58;case 58:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aj=c.indentList(p.Results);$s=62;case 62:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}if(aj){$s=59;continue;}$s=60;continue;case 59:$r=c.print(new AQ([new Y(62)]));$s=63;case 63:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.exprList(p.Pos(),p.Results,1,2,0);$s=64;case 64:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.print(new AQ([new Y(60)]));$s=65;case 65:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=61;continue;case 60:$r=c.exprList(p.Pos(),p.Results,1,0,0);$s=66;case 66:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 61:case 57:$s=25;continue;case 14:q=e.$val;$r=c.print(new AQ([new C.Token(q.Tok)]));$s=67;case 67:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(q.Label===AW.nil)){$s=68;continue;}$s=69;continue;case 68:$r=c.print(new AQ([new Y(32)]));$s=70;case 70:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.expr(q.Label);$s=71;case 71:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 69:$s=25;continue;case 15:r=e.$val;$r=c.block(r,1);$s=72;case 72:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 16:s=e.$val;$r=c.print(new AQ([new C.Token(74)]));$s=73;case 73:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.controlClause(false,s.Init,s.Cond,$ifaceNil);$s=74;case 74:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.block(s.Body,1);$s=75;case 75:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(s.Else,$ifaceNil))){$s=76;continue;}$s=77;continue;case 76:$r=c.print(new AQ([new Y(32),new C.Token(68),new Y(32)]));$s=78;case 78:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}ak=s.Else;if($assertType(ak,CH,true)[1]||$assertType(ak,CI,true)[1]){$s=79;continue;}$s=80;continue;case 79:$r=c.stmt(s.Else,b);$s=82;case 82:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=81;continue;case 80:$r=c.print(new AQ([new C.Token(51),new Y(62),new Y(12)]));$s=83;case 83:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.stmt(s.Else,true);$s=84;case 84:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.print(new AQ([new Y(60),new Y(12),new C.Token(56)]));$s=85;case 85:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 81:case 77:$s=25;continue;case 17:t=e.$val;if(!(t.List===AT.nil)){$s=86;continue;}$s=87;continue;case 86:$r=c.print(new AQ([new C.Token(62),new Y(32)]));$s=89;case 89:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.exprList(t.Pos(),t.List,1,0,t.Colon);$s=90;case 90:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=88;continue;case 87:$r=c.print(new AQ([new C.Token(66)]));$s=91;case 91:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 88:$r=c.print(new AQ([new C.Pos(t.Colon),new C.Token(58)]));$s=92;case 92:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.stmtList(t.Body,1,b);$s=93;case 93:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 18:u=e.$val;$r=c.print(new AQ([new C.Token(83)]));$s=94;case 94:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.controlClause(false,u.Init,u.Tag,$ifaceNil);$s=95;case 95:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.block(u.Body,0);$s=96;case 96:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 19:v=e.$val;$r=c.print(new AQ([new C.Token(83)]));$s=97;case 97:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(v.Init,$ifaceNil))){$s=98;continue;}$s=99;continue;case 98:$r=c.print(new AQ([new Y(32)]));$s=100;case 100:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.stmt(v.Init,false);$s=101;case 101:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.print(new AQ([new C.Token(57)]));$s=102;case 102:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 99:$r=c.print(new AQ([new Y(32)]));$s=103;case 103:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.stmt(v.Assign,false);$s=104;case 104:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.print(new AQ([new Y(32)]));$s=105;case 105:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.block(v.Body,0);$s=106;case 106:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 20:w=e.$val;if(!($interfaceIsEqual(w.Comm,$ifaceNil))){$s=107;continue;}$s=108;continue;case 107:$r=c.print(new AQ([new C.Token(62),new Y(32)]));$s=110;case 110:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.stmt(w.Comm,false);$s=111;case 111:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=109;continue;case 108:$r=c.print(new AQ([new C.Token(66)]));$s=112;case 112:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 109:$r=c.print(new AQ([new C.Pos(w.Colon),new C.Token(58)]));$s=113;case 113:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.stmtList(w.Body,1,b);$s=114;case 114:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 21:x=e.$val;$r=c.print(new AQ([new C.Token(81),new Y(32)]));$s=115;case 115:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}al=x.Body;if(!(al.List.$length===0)){am=false;$s=119;continue s;}an=c.posFor(al.Rbrace);$s=120;case 120:if($c){$c=false;an=an.$blk();}if(an&&an.$blk!==undefined){break s;}ao=c.commentBefore($clone(an,C.Position));$s=121;case 121:if($c){$c=false;ao=ao.$blk();}if(ao&&ao.$blk!==undefined){break s;}am=!ao;case 119:if(am){$s=116;continue;}$s=117;continue;case 116:$r=c.print(new AQ([new C.Pos(al.Lbrace),new C.Token(51),new C.Pos(al.Rbrace),new C.Token(56)]));$s=122;case 122:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=118;continue;case 117:$r=c.block(al,0);$s=123;case 123:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 118:$s=25;continue;case 22:y=e.$val;$r=c.print(new AQ([new C.Token(70)]));$s=124;case 124:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.controlClause(true,y.Init,y.Cond,y.Post);$s=125;case 125:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.block(y.Body,1);$s=126;case 126:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 23:z=e.$val;$r=c.print(new AQ([new C.Token(70),new Y(32)]));$s=127;case 127:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(z.Key,$ifaceNil))){$s=128;continue;}$s=129;continue;case 128:$r=c.expr(z.Key);$s=130;case 130:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(z.Value,$ifaceNil))){$s=131;continue;}$s=132;continue;case 131:ap=z.Value.Pos();$s=133;case 133:if($c){$c=false;ap=ap.$blk();}if(ap&&ap.$blk!==undefined){break s;}$r=c.print(new AQ([new C.Pos(ap),new C.Token(52),new Y(32)]));$s=134;case 134:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.expr(z.Value);$s=135;case 135:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 132:$r=c.print(new AQ([new Y(32),new C.Pos(z.TokPos),new C.Token(z.Tok),new Y(32)]));$s=136;case 136:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 129:$r=c.print(new AQ([new C.Token(79),new Y(32)]));$s=137;case 137:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aq=T(z.X);$s=138;case 138:if($c){$c=false;aq=aq.$blk();}if(aq&&aq.$blk!==undefined){break s;}$r=c.expr(aq);$s=139;case 139:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.print(new AQ([new Y(32)]));$s=140;case 140:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.block(z.Body,1);$s=141;case 141:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=25;continue;case 24:aa=e;$panic(new $String("unreachable"));case 25:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.stmt};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.ak=ak;$f.al=al;$f.am=am;$f.an=an;$f.ao=ao;$f.ap=ap;$f.aq=aq;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.stmt=function(a,b){return this.$val.stmt(a,b);};V=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];b[0]=$makeSlice(CQ,a.$length);c=(function(b){return function(c,d,e){var $ptr,c,d,e;if(e){while(true){if(!(c<d)){break;}((c<0||c>=b[0].$length)?($throwRuntimeError("index out of range"),undefined):b[0].$array[b[0].$offset+c]=true);c=c+(1)>>0;}}};})(b);d=-1;e=false;f=a;g=0;case 1:if(!(g<f.$length)){$s=2;continue;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);j=$assertType(i,CR);if(!(j.Values===AT.nil)){$s=3;continue;}$s=4;continue;case 3:if(d<0){d=h;e=false;}$s=5;continue;case 4:if(d>=0){$s=6;continue;}$s=7;continue;case 6:$r=c(d,h,e);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=-1;case 7:case 5:if(!($interfaceIsEqual(j.Type,$ifaceNil))){e=true;}g++;$s=1;continue;case 2:if(d>=0){$s=9;continue;}$s=10;continue;case 9:$r=c(d,a.$length,e);$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 10:$s=-1;return b[0];}return;}if($f===undefined){$f={$blk:V};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.$s=$s;$f.$r=$r;return $f;};AB.ptr.prototype.valueSpec=function(a,b){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;$r=c.setComment(a.Doc);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.identList(a.Names,false);$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=3;if(!($interfaceIsEqual(a.Type,$ifaceNil))||b){$s=3;continue;}$s=4;continue;case 3:$r=c.print(new AQ([new Y(11)]));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=d-(1)>>0;case 4:if(!($interfaceIsEqual(a.Type,$ifaceNil))){$s=6;continue;}$s=7;continue;case 6:$r=c.expr(a.Type);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 7:if(!(a.Values===AT.nil)){$s=9;continue;}$s=10;continue;case 9:$r=c.print(new AQ([new Y(11),new C.Token(42),new Y(32)]));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=c.exprList(0,a.Values,1,0,0);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=d-(1)>>0;case 10:if(!(a.Comment===AR.nil)){$s=13;continue;}$s=14;continue;case 13:case 15:if(!(d>0)){$s=16;continue;}$r=c.print(new AQ([new Y(11)]));$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=d-(1)>>0;$s=15;continue;case 16:$r=c.setComment(a.Comment);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 14:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.valueSpec};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.valueSpec=function(a,b){return this.$val.valueSpec(a,b);};W=function(a){var $ptr,a,b,c,d,e,f,g,h;if(!((a.Kind===9))){return a;}b=D.Unquote(a.Value);c=b[0];d=b[1];if(!($interfaceIsEqual(d,$ifaceNil))){return a;}if(c===""){return a;}e=c;f=0;while(true){if(!(f<e.length)){break;}g=$decodeRune(e,f);h=g[0];if(!F.IsGraphic(h)||F.IsSpace(h)||E.ContainsRune("!\"#$%&'()*,:;<=>?[\\]^{|}`\xEF\xBF\xBD",h)){return a;}f+=g[1];}c=D.Quote(c);if(c===a.Value){return a;}return new B.BasicLit.ptr(a.ValuePos,9,c);};AB.ptr.prototype.spec=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=a;if($assertType(e,CS,true)[1]){$s=1;continue;}if($assertType(e,CR,true)[1]){$s=2;continue;}if($assertType(e,CT,true)[1]){$s=3;continue;}$s=4;continue;case 1:f=e.$val;$r=d.setComment(f.Doc);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(f.Name===AW.nil)){$s=7;continue;}$s=8;continue;case 7:$r=d.expr(f.Name);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new Y(32)]));$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:$r=d.expr(W(f.Path));$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.setComment(f.Comment);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Pos(f.EndPos)]));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 2:g=e.$val;if(!((b===1))){$s=14;continue;}$s=15;continue;case 14:$r=d.internalError(new AQ([new $String("expected n = 1; got"),new $Int(b)]));$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 15:$r=d.setComment(g.Doc);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.identList(g.Names,c);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!($interfaceIsEqual(g.Type,$ifaceNil))){$s=19;continue;}$s=20;continue;case 19:$r=d.print(new AQ([new Y(32)]));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr(g.Type);$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 20:if(!(g.Values===AT.nil)){$s=23;continue;}$s=24;continue;case 23:$r=d.print(new AQ([new Y(32),new C.Token(42),new Y(32)]));$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.exprList(0,g.Values,1,0,0);$s=26;case 26:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 24:$r=d.setComment(g.Comment);$s=27;case 27:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 3:h=e.$val;$r=d.setComment(h.Doc);$s=28;case 28:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.expr(h.Name);$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(b===1){$s=30;continue;}$s=31;continue;case 30:$r=d.print(new AQ([new Y(32)]));$s=33;case 33:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=32;continue;case 31:$r=d.print(new AQ([new Y(11)]));$s=34;case 34:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 32:$r=d.expr(h.Type);$s=35;case 35:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.setComment(h.Comment);$s=36;case 36:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 4:i=e;$panic(new $String("unreachable"));case 5:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.spec};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.spec=function(a,b,c){return this.$val.spec(a,b,c);};AB.ptr.prototype.genDecl=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=[b];c=[c];d=this;$r=d.setComment(a.Doc);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=d.print(new AQ([new C.Pos(a.Pos()),new C.Token(a.Tok),new Y(32)]));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(new C.Pos(a.Lparen).IsValid()){$s=3;continue;}$s=4;continue;case 3:$r=d.print(new AQ([new C.Pos(a.Lparen),new C.Token(49)]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e=a.Specs.$length;if(e>0){$s=7;continue;}$s=8;continue;case 7:$r=d.print(new AQ([new Y(62),new Y(12)]));$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(e>1&&((a.Tok===64)||(a.Tok===85))){$s=10;continue;}$s=11;continue;case 10:f=V(a.Specs);$s=13;case 13:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;b[0]=0;h=a.Specs;i=0;case 14:if(!(i<h.$length)){$s=15;continue;}j=i;k=((i<0||i>=h.$length)?($throwRuntimeError("index out of range"),undefined):h.$array[h.$offset+i]);if(j>0){$s=16;continue;}$s=17;continue;case 16:l=k.Pos();$s=18;case 18:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=d.lineFor(l);$s=19;case 19:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}n=d.linebreak(m,1,0,d.linesFrom(b[0])>0);$s=20;case 20:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}n;case 17:d.recordLine((b.$ptr||(b.$ptr=new BB(function(){return this.$target[0];},function($v){this.$target[0]=$v;},b))));$r=d.valueSpec($assertType(k,CR),((j<0||j>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+j]));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}i++;$s=14;continue;case 15:$s=12;continue;case 11:c[0]=0;o=a.Specs;p=0;case 22:if(!(p<o.$length)){$s=23;continue;}q=p;r=((p<0||p>=o.$length)?($throwRuntimeError("index out of range"),undefined):o.$array[o.$offset+p]);if(q>0){$s=24;continue;}$s=25;continue;case 24:s=r.Pos();$s=26;case 26:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}t=d.lineFor(s);$s=27;case 27:if($c){$c=false;t=t.$blk();}if(t&&t.$blk!==undefined){break s;}u=d.linebreak(t,1,0,d.linesFrom(c[0])>0);$s=28;case 28:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}u;case 25:d.recordLine((c.$ptr||(c.$ptr=new BB(function(){return this.$target[0];},function($v){this.$target[0]=$v;},c))));$r=d.spec(r,e,false);$s=29;case 29:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}p++;$s=22;continue;case 23:case 12:$r=d.print(new AQ([new Y(60),new Y(12)]));$s=30;case 30:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:$r=d.print(new AQ([new C.Pos(a.Rparen),new C.Token(54)]));$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 4:$r=d.spec((v=a.Specs,(0>=v.$length?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+0])),1,true);$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.genDecl};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.genDecl=function(a){return this.$val.genDecl(a);};AB.ptr.prototype.nodeSize=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=[c];d=0;e=this;f=(g=e.nodeSizes[B.Node.keyFor(a)],g!==undefined?[g.v,true]:[0,false]);h=f[0];i=f[1];if(i){d=h;$s=-1;return d;}d=b+1>>0;j=a;(e.nodeSizes||$throwRuntimeError("assignment to entry in nil map"))[B.Node.keyFor(j)]={k:j,v:d};k=new AM.ptr(1,0,0);c[0]=new A.Buffer.ptr(AP.nil,0,CU.zero(),0);l=k.fprint(c[0],e.fset,a,e.nodeSizes);$s=1;case 1:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;if(!($interfaceIsEqual(m,$ifaceNil))){$s=-1;return d;}if(c[0].Len()<=b){n=c[0].Bytes();o=0;while(true){if(!(o<n.$length)){break;}p=((o<0||o>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+o]);if(p<32){$s=-1;return d;}o++;}d=c[0].Len();q=a;(e.nodeSizes||$throwRuntimeError("assignment to entry in nil map"))[B.Node.keyFor(q)]={k:q,v:d};}$s=-1;return d;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.nodeSize};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.nodeSize=function(a,b){return this.$val.nodeSize(a,b);};AB.ptr.prototype.bodySize=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;d=a.Pos();e=a.Rbrace;if(!(new C.Pos(d).IsValid()&&new C.Pos(e).IsValid())){f=false;$s=3;continue s;}g=c.lineFor(d);$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}h=c.lineFor(e);$s=5;case 5:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}f=!((g===h));case 3:if(f){$s=1;continue;}$s=2;continue;case 1:$s=-1;return b+1>>0;case 2:if(a.List.$length>5){$s=-1;return b+1>>0;}i=c.posFor(e);$s=6;case 6:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=c.commentSizeBefore($clone(i,C.Position));$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=a.List;m=0;case 8:if(!(m<l.$length)){$s=9;continue;}n=m;o=((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]);if(k>b){$s=9;continue;}if(n>0){k=k+(2)>>0;}p=c.nodeSize(o,b);$s=10;case 10:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}k=k+(p)>>0;m++;$s=8;continue;case 9:$s=-1;return k;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.bodySize};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.bodySize=function(a,b){return this.$val.bodySize(a,b);};AB.ptr.prototype.funcBody=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);d=[d];d[0]=this;if(c===CH.nil){$s=-1;return;}$deferred.push([(function(d){return function(e){var $ptr,e;d[0].level=e;};})(d),[d[0].level]]);d[0].level=0;e=d[0].bodySize(c,100);$s=3;case 3:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}if((a+e>>0)<=100){$s=1;continue;}$s=2;continue;case 1:$r=d[0].print(new AQ([new Y(b),new C.Pos(c.Lbrace),new C.Token(51)]));$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(c.List.$length>0){$s=5;continue;}$s=6;continue;case 5:$r=d[0].print(new AQ([new Y(32)]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=c.List;g=0;case 8:if(!(g<f.$length)){$s=9;continue;}h=g;i=((g<0||g>=f.$length)?($throwRuntimeError("index out of range"),undefined):f.$array[f.$offset+g]);if(h>0){$s=10;continue;}$s=11;continue;case 10:$r=d[0].print(new AQ([new C.Token(57),new Y(32)]));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 11:$r=d[0].stmt(i,h===(c.List.$length-1>>0));$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}g++;$s=8;continue;case 9:$r=d[0].print(new AQ([new Y(32)]));$s=14;case 14:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 6:$r=d[0].print(new AQ([new Z(2),new C.Pos(c.Rbrace),new C.Token(56),new Z(2)]));$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 2:if(!((b===0))){$s=16;continue;}$s=17;continue;case 16:$r=d[0].print(new AQ([new Y(32)]));$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:$r=d[0].block(c,1);$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AB.ptr.prototype.funcBody};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AB.prototype.funcBody=function(a,b,c){return this.$val.funcBody(a,b,c);};AB.ptr.prototype.distanceFrom=function(a){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(new C.Pos(a).IsValid()&&b.pos.IsValid()){$s=1;continue;}$s=2;continue;case 1:c=b.posFor(a);$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=$clone(c,C.Position);if(d.Line===b.pos.Line){$s=-1;return b.pos.Column-d.Column>>0;}case 2:$s=-1;return 1073741824;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.distanceFrom};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.distanceFrom=function(a){return this.$val.distanceFrom(a);};AB.ptr.prototype.funcDecl=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=b.setComment(a.Doc);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}c=a.Pos();$s=2;case 2:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$r=b.print(new AQ([new C.Pos(c),new C.Token(71),new Y(32)]));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(!(a.Recv===AV.nil)){$s=4;continue;}$s=5;continue;case 4:$r=b.parameters(a.Recv);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.print(new AQ([new Y(32)]));$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 5:$r=b.expr(a.Name);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.signature(a.Type.Params,a.Type.Results);$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}d=a.Pos();$s=10;case 10:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=b.distanceFrom(d);$s=11;case 11:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$r=b.funcBody(e,11,a.Body);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.funcDecl};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.funcDecl=function(a){return this.$val.funcDecl(a);};AB.ptr.prototype.decl=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=a;if($assertType(c,CV,true)[1]){$s=1;continue;}if($assertType(c,CW,true)[1]){$s=2;continue;}if($assertType(c,CX,true)[1]){$s=3;continue;}$s=4;continue;case 1:d=c.$val;$r=b.print(new AQ([new C.Pos(d.Pos()),new $String("BadDecl")]));$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 2:e=c.$val;$r=b.genDecl(e);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 3:f=c.$val;$r=b.funcDecl(f);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=5;continue;case 4:g=c;$panic(new $String("unreachable"));case 5:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.decl};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.decl=function(a){return this.$val.decl(a);};X=function(a){var $ptr,a,b,c,d,e;b=0;b=0;c=a;if($assertType(c,CW,true)[1]){d=c.$val;b=d.Tok;}else if($assertType(c,CX,true)[1]){e=c.$val;b=71;}return b;};AB.ptr.prototype.declList=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=0;d=a;e=0;case 1:if(!(e<d.$length)){$s=2;continue;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);g=c;c=X(f);if(b.output.$length>0){$s=3;continue;}$s=4;continue;case 3:h=1;if(!((g===c))||!(AI(f)===AR.nil)){h=2;}i=f.Pos();$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=b.lineFor(i);$s=6;case 6:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=b.linebreak(j,h,0,false);$s=7;case 7:if($c){$c=false;k=k.$blk();}if(k&&k.$blk!==undefined){break s;}k;case 4:$r=b.decl(f);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}e++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.declList};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.declList=function(a){return this.$val.declList(a);};AB.ptr.prototype.file=function(a){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;$r=b.setComment(a.Doc);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.print(new AQ([new C.Pos(a.Pos()),new C.Token(78),new Y(32)]));$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.expr(a.Name);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.declList(a.Decls);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=b.print(new AQ([new Y(10)]));$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.file};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.file=function(a){return this.$val.file(a);};AB.ptr.prototype.init=function(a,b,c){var $ptr,a,b,c,d;d=this;AM.copy(d.Config,a);d.fset=b;C.Position.copy(d.pos,new C.Position.ptr("",0,1,1));C.Position.copy(d.out,new C.Position.ptr("",0,1,1));d.wsbuf=$makeSlice(CY,0,16);d.nodeSizes=c;d.cachedPos=-1;};AB.prototype.init=function(a,b,c){return this.$val.init(a,b,c);};AB.ptr.prototype.internalError=function(a){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(false){$s=1;continue;}$s=2;continue;case 1:c=$clone(b.pos,C.Position).String();$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=H.Print(new AQ([new $String(c+": ")]));$s=4;case 4:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}d;e=H.Println(a);$s=5;case 5:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}e;$panic(new $String("go/printer"));case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.internalError};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.internalError=function(a){return this.$val.internalError(a);};AB.ptr.prototype.commentsHaveNewline=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.lineFor((0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]).Pos());$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}d=c;e=a;f=0;case 2:if(!(f<e.$length)){$s=3;continue;}g=f;h=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);if(!(g>0)){i=false;$s=6;continue s;}j=b.lineFor(((g<0||g>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+g]).Pos());$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=!((j===d));case 6:if(i){$s=4;continue;}$s=5;continue;case 4:$s=-1;return true;case 5:k=h.Text;if(k.length>=2&&((k.charCodeAt(1)===47)||E.Contains(k,"\n"))){$s=-1;return true;}f++;$s=2;continue;case 3:$unused(d);$s=-1;return false;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.commentsHaveNewline};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.commentsHaveNewline=function(a){return this.$val.commentsHaveNewline(a);};AB.ptr.prototype.nextComment=function(){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:a=this;case 1:if(!(a.commentInfo.cindex<a.comments.$length)){$s=2;continue;}d=(b=a.comments,c=a.commentInfo.cindex,((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]));a.commentInfo.cindex=a.commentInfo.cindex+(1)>>0;e=d.List;if(e.$length>0){$s=3;continue;}$s=4;continue;case 3:a.commentInfo.comment=d;f=a.posFor((0>=e.$length?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+0]).Pos());$s=5;case 5:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}a.commentInfo.commentOffset=f.Offset;g=a.commentsHaveNewline(e);$s=6;case 6:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}a.commentInfo.commentNewline=g;$s=-1;return;case 4:$s=1;continue;case 2:a.commentInfo.commentOffset=1073741824;$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.nextComment};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.nextComment=function(){return this.$val.nextComment();};AB.ptr.prototype.commentBefore=function(a){var $ptr,a,b;b=this;return b.commentInfo.commentOffset<a.Offset&&(!b.impliedSemi||!b.commentInfo.commentNewline);};AB.prototype.commentBefore=function(a){return this.$val.commentBefore(a);};AB.ptr.prototype.commentSizeBefore=function(a){var $ptr,a,b,c,d,e,f,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=[b];b[0]=this;$deferred.push([(function(b){return function(c){var $ptr,c;AA.copy(b[0].commentInfo,c);};})(b),[$clone(b[0].commentInfo,AA)]]);c=0;case 1:if(!(b[0].commentBefore($clone(a,C.Position)))){$s=2;continue;}d=b[0].commentInfo.comment.List;e=0;while(true){if(!(e<d.$length)){break;}f=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);c=c+(f.Text.length)>>0;e++;}$r=b[0].nextComment();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:$s=-1;return c;}return;}}catch(err){$err=err;$s=-1;return 0;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AB.ptr.prototype.commentSizeBefore};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AB.prototype.commentSizeBefore=function(a){return this.$val.commentSizeBefore(a);};AB.ptr.prototype.recordLine=function(a){var $ptr,a,b;b=this;b.linePtr=a;};AB.prototype.recordLine=function(a){return this.$val.recordLine(a);};AB.ptr.prototype.linesFrom=function(a){var $ptr,a,b;b=this;return b.out.Line-a>>0;};AB.prototype.linesFrom=function(a){return this.$val.linesFrom(a);};AB.ptr.prototype.posFor=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=b.fset.Position(a);$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}$s=-1;return c;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.posFor};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.posFor=function(a){return this.$val.posFor(a);};AB.ptr.prototype.lineFor=function(a){var $ptr,a,b,c,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!((a===b.cachedPos))){$s=1;continue;}$s=2;continue;case 1:b.cachedPos=a;c=b.fset.Position(a);$s=3;case 3:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b.cachedLine=c.Line;case 2:$s=-1;return b.cachedLine;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.lineFor};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.lineFor=function(a){return this.$val.lineFor(a);};AB.ptr.prototype.atLineBegin=function(a){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;if(!((((b.Config.Mode&8)>>>0)===0))&&a.IsValid()&&(!((b.out.Line===a.Line))||!(b.out.Filename===a.Filename))){$s=1;continue;}$s=2;continue;case 1:b.output=$append(b.output,255);c=b.output;d=H.Sprintf("//line %s:%d\n",new AQ([new $String(a.Filename),new $Int(a.Line)]));$s=3;case 3:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}e=d;b.output=$appendSlice(c,e);b.output=$append(b.output,255);b.out.Filename=a.Filename;b.out.Line=a.Line;case 2:f=b.Config.Indent+b.indent>>0;g=0;while(true){if(!(g<f)){break;}b.output=$append(b.output,9);g=g+(1)>>0;}b.pos.Offset=b.pos.Offset+(f)>>0;b.pos.Column=b.pos.Column+(f)>>0;b.out.Column=b.out.Column+(f)>>0;$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.atLineBegin};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.atLineBegin=function(a){return this.$val.atLineBegin(a);};AB.ptr.prototype.writeByte=function(a,b){var $ptr,a,b,c,d,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=this;if(c.out.Column===1){$s=1;continue;}$s=2;continue;case 1:$r=c.atLineBegin($clone(c.pos,C.Position));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:d=0;while(true){if(!(d<b)){break;}c.output=$append(c.output,a);d=d+(1)>>0;}c.pos.Offset=c.pos.Offset+(b)>>0;if((a===10)||(a===12)){c.pos.Line=c.pos.Line+(b)>>0;c.out.Line=c.out.Line+(b)>>0;c.pos.Column=1;c.out.Column=1;$s=-1;return;}c.pos.Column=c.pos.Column+(b)>>0;c.out.Column=c.out.Column+(b)>>0;$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.writeByte};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.writeByte=function(a,b){return this.$val.writeByte(a,b);};AB.ptr.prototype.writeString=function(a,b,c){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;if(d.out.Column===1){$s=1;continue;}$s=2;continue;case 1:$r=d.atLineBegin($clone(a,C.Position));$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 2:if(a.IsValid()){C.Position.copy(d.pos,a);}if(c){d.output=$append(d.output,255);}if(false){$s=4;continue;}$s=5;continue;case 4:e=d.output;f=H.Sprintf("/*%s*/",new AQ([new a.constructor.elem(a)]));$s=6;case 6:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}g=f;d.output=$appendSlice(e,g);case 5:d.output=$appendSlice(d.output,b);h=0;i=0;j=0;while(true){if(!(j<b.length)){break;}if(b.charCodeAt(j)===10){h=h+(1)>>0;i=j;}j=j+(1)>>0;}d.pos.Offset=d.pos.Offset+(b.length)>>0;if(h>0){d.pos.Line=d.pos.Line+(h)>>0;d.out.Line=d.out.Line+(h)>>0;k=b.length-i>>0;d.pos.Column=k;d.out.Column=k;}else{d.pos.Column=d.pos.Column+(b.length)>>0;d.out.Column=d.out.Column+(b.length)>>0;}if(c){d.output=$append(d.output,255);}C.Position.copy(d.last,d.pos);$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.writeString};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.writeString=function(a,b,c){return this.$val.writeString(a,b,c);};AB.ptr.prototype.writeCommentPrefix=function(a,b,c,d,e){var $ptr,a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:f=this;if(f.output.$length===0){$s=-1;return;}if(a.IsValid()&&!(a.Filename===f.last.Filename)){$s=1;continue;}$s=2;continue;case 1:$r=f.writeByte(12,2);$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 2:if((a.Line===f.last.Line)&&(c===AZ.nil||!((c.Text.charCodeAt(1)===47)))){$s=4;continue;}$s=5;continue;case 4:g=false;if(c===AZ.nil){$s=7;continue;}$s=8;continue;case 7:h=0;i=f.wsbuf;j=0;case 9:if(!(j<i.$length)){$s=10;continue;}k=j;l=((j<0||j>=i.$length)?($throwRuntimeError("index out of range"),undefined):i.$array[i.$offset+j]);m=l;if(m===(32)){(n=f.wsbuf,((k<0||k>=n.$length)?($throwRuntimeError("index out of range"),undefined):n.$array[n.$offset+k]=0));j++;$s=9;continue;}else if(m===(11)){g=true;j++;$s=9;continue;}else if(m===(62)){j++;$s=9;continue;}case 11:h=k;$s=10;continue;$s=9;continue;case 10:$r=f.writeWhitespace(h);$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 8:if(!g){$s=13;continue;}$s=14;continue;case 13:o=9;if(a.Line===b.Line){o=32;}$r=f.writeByte(o,1);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 14:$s=6;continue;case 5:p=false;q=0;r=f.wsbuf;s=0;case 16:if(!(s<r.$length)){$s=17;continue;}t=s;u=((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]);v=u;if((v===(32))||(v===(11))){(w=f.wsbuf,((t<0||t>=w.$length)?($throwRuntimeError("index out of range"),undefined):w.$array[w.$offset+t]=0));s++;$s=16;continue;}else if(v===(62)){s++;$s=16;continue;}else if(v===(60)){if((t+1>>0)<f.wsbuf.$length&&((x=f.wsbuf,y=t+1>>0,((y<0||y>=x.$length)?($throwRuntimeError("index out of range"),undefined):x.$array[x.$offset+y]))===60)){s++;$s=16;continue;}if(!((e===56))&&(a.Column===b.Column)){s++;$s=16;continue;}}else if((v===(10))||(v===(12))){(z=f.wsbuf,((t<0||t>=z.$length)?($throwRuntimeError("index out of range"),undefined):z.$array[z.$offset+t]=0));p=c===AZ.nil;}case 18:q=t;$s=17;continue;$s=16;continue;case 17:$r=f.writeWhitespace(q);$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}aa=0;if(a.IsValid()&&f.last.IsValid()){aa=a.Line-f.last.Line>>0;if(aa<0){aa=0;}}if((f.indent===0)&&p){aa=aa+(1)>>0;}if((aa===0)&&!(c===AZ.nil)&&(c.Text.charCodeAt(1)===47)){aa=1;}if(aa>0){$s=20;continue;}$s=21;continue;case 20:$r=f.writeByte(12,AG(aa));$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 21:case 6:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.writeCommentPrefix};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.writeCommentPrefix=function(a,b,c,d,e){return this.$val.writeCommentPrefix(a,b,c,d,e);};AC=function(a){var $ptr,a,b;b=0;while(true){if(!(b<a.length)){break;}if(a.charCodeAt(b)>32){return false;}b=b+(1)>>0;}return true;};AD=function(a,b){var $ptr,a,b,c;c=0;while(true){if(!(c<a.length&&c<b.length&&(a.charCodeAt(c)===b.charCodeAt(c))&&(a.charCodeAt(c)<=32||(a.charCodeAt(c)===42)))){break;}c=c+(1)>>0;}return $substring(a,0,c);};AE=function(a){var $ptr,a,b,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=E.TrimRightFunc(a,F.IsSpace);$s=1;case 1:if($c){$c=false;b=b.$blk();}if(b&&b.$blk!==undefined){break s;}$s=-1;return b;}return;}if($f===undefined){$f={$blk:AE};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.$s=$s;$f.$r=$r;return $f;};AF=function(a){var $ptr,a,aa,ab,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z;if(a.$length<=1){return;}b="";c=false;if(a.$length>2){d=$subslice(a,1,(a.$length-1>>0));e=0;while(true){if(!(e<d.$length)){break;}f=e;g=((e<0||e>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+e]);if(AC(g)){(h=1+f>>0,((h<0||h>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+h]=""));}else{if(!c){b=g;c=true;}b=AD(b,g);}e++;}}if(!c){j=(i=a.$length-1>>0,((i<0||i>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+i]));b=AD(j,j);}k=false;l=E.Index(b,"*");if(l>=0){if(l>0&&(b.charCodeAt((l-1>>0))===32)){l=l-(1)>>0;}b=$substring(b,0,l);k=true;}else{m=(0>=a.$length?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+0]);if(AC($substring(m,2))){n=b.length;o=0;while(true){if(!(o<3&&n>0&&(b.charCodeAt((n-1>>0))===32))){break;}n=n-(1)>>0;o=o+(1)>>0;}if((n===b.length)&&n>0&&(b.charCodeAt((n-1>>0))===9)){n=n-(1)>>0;}b=$substring(b,0,n);}else{p=$makeSlice(AP,m.length);q=2;while(true){if(!(q<m.length&&m.charCodeAt(q)<=32)){break;}((q<0||q>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+q]=m.charCodeAt(q));q=q+(1)>>0;}if(q>2&&((2>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+2])===9)){p=$subslice(p,2,q);}else{r=32;s=32;(0>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+0]=r);(1>=p.$length?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+1]=s);p=$subslice(p,0,q);}b=E.TrimSuffix(b,($bytesToString(p)));}}u=(t=a.$length-1>>0,((t<0||t>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+t]));v="*/";w=E.Index(u,v);if(AC($substring(u,0,w))){if(k){v=" */";}(x=a.$length-1>>0,((x<0||x>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+x]=b+v));}else{b=AD(b,u);}y=a;z=0;while(true){if(!(z<y.$length)){break;}aa=z;ab=((z<0||z>=y.$length)?($throwRuntimeError("index out of range"),undefined):y.$array[y.$offset+z]);if(aa>0&&!(ab==="")){((aa<0||aa>=a.$length)?($throwRuntimeError("index out of range"),undefined):a.$array[a.$offset+aa]=$substring(ab,b.length));}z++;}};AB.ptr.prototype.writeComment=function(a){var $ptr,a,aa,ab,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$deferred,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$deferred=$f.$deferred;$r=$f.$r;}var $err=null;try{s:while(true){switch($s){case 0:$deferred=[];$deferred.index=$curGoroutine.deferStack.length;$curGoroutine.deferStack.push($deferred);b=[b];c=[c];d=[d];e=[e];f=[f];f[0]=this;g=a.Text;h=f[0].posFor(a.Pos());$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}i=$clone(h,C.Position);if(E.HasPrefix(g,"//line ")&&(!i.IsValid()||(i.Column===1))){$s=2;continue;}$s=3;continue;case 2:j=E.TrimSpace($substring(g,7));$s=4;case 4:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}d[0]=j;b[0]=E.LastIndex(d[0],":");if(b[0]>=0){k=D.Atoi($substring(d[0],(b[0]+1>>0)));e[0]=k[0];l=k[1];if($interfaceIsEqual(l,$ifaceNil)&&e[0]>0){c[0]=f[0].indent;f[0].indent=0;$deferred.push([(function(b,c,d,e,f){return function(){var $ptr;f[0].pos.Filename=$substring(d[0],0,b[0]);f[0].pos.Line=e[0];f[0].pos.Column=1;f[0].indent=c[0];};})(b,c,d,e,f),[]]);}}case 3:if(g.charCodeAt(1)===47){$s=5;continue;}$s=6;continue;case 5:m=$clone(i,C.Position);n=AE(g);$s=7;case 7:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}o=n;$r=f[0].writeString(m,o,true);$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return;case 6:p=E.Split(g,"\n");if(i.IsValid()&&(i.Column===1)&&f[0].indent>0){q=$subslice(p,1);r=0;while(true){if(!(r<q.$length)){break;}s=r;t=((r<0||r>=q.$length)?($throwRuntimeError("index out of range"),undefined):q.$array[q.$offset+r]);(u=1+s>>0,((u<0||u>=p.$length)?($throwRuntimeError("index out of range"),undefined):p.$array[p.$offset+u]=" "+t));r++;}}AF(p);v=p;w=0;case 9:if(!(w<v.$length)){$s=10;continue;}x=w;y=((w<0||w>=v.$length)?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+w]);if(x>0){$s=11;continue;}$s=12;continue;case 11:$r=f[0].writeByte(12,1);$s=13;case 13:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}C.Position.copy(i,f[0].pos);case 12:if(y.length>0){$s=14;continue;}$s=15;continue;case 14:z=$clone(i,C.Position);aa=AE(y);$s=16;case 16:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}ab=aa;$r=f[0].writeString(z,ab,true);$s=17;case 17:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 15:w++;$s=9;continue;case 10:$s=-1;return;}return;}}catch(err){$err=err;$s=-1;}finally{$callDeferred($deferred,$err);if($curGoroutine.asleep){if($f===undefined){$f={$blk:AB.ptr.prototype.writeComment};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$deferred=$deferred;$f.$r=$r;return $f;}}};AB.prototype.writeComment=function(a){return this.$val.writeComment(a);};AB.ptr.prototype.writeCommentSuffix=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=false;c=false;d=this;e=d.wsbuf;f=0;while(true){if(!(f<e.$length)){break;}g=f;h=((f<0||f>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+f]);i=h;if((i===(32))||(i===(11))){(j=d.wsbuf,((g<0||g>=j.$length)?($throwRuntimeError("index out of range"),undefined):j.$array[j.$offset+g]=0));}else if((i===(62))||(i===(60))){}else if((i===(10))||(i===(12))){if(a){a=false;b=true;}else{if(h===12){c=true;}(k=d.wsbuf,((g<0||g>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+g]=0));}}f++;}$r=d.writeWhitespace(d.wsbuf.$length);$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if(a){$s=2;continue;}$s=3;continue;case 2:$r=d.writeByte(10,1);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b=true;case 3:$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.writeCommentSuffix};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.writeCommentSuffix=function(a){return this.$val.writeCommentSuffix(a);};AB.ptr.prototype.containsLinebreak=function(){var $ptr,a,b,c,d;a=this;b=a.wsbuf;c=0;while(true){if(!(c<b.$length)){break;}d=((c<0||c>=b.$length)?($throwRuntimeError("index out of range"),undefined):b.$array[b.$offset+c]);if((d===10)||(d===12)){return true;}c++;}return false;};AB.prototype.containsLinebreak=function(){return this.$val.containsLinebreak();};AB.ptr.prototype.intersperseComments=function(a,b){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=false;d=false;e=this;f=AZ.nil;case 1:if(!(e.commentBefore($clone(a,C.Position)))){$s=2;continue;}g=e.commentInfo.comment.List;h=0;case 3:if(!(h<g.$length)){$s=4;continue;}i=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);j=e.posFor(i.Pos());$s=5;case 5:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}$r=e.writeCommentPrefix($clone(j,C.Position),$clone(a,C.Position),f,i,b);$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=e.writeComment(i);$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}f=i;h++;$s=3;continue;case 4:$r=e.nextComment();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=1;continue;case 2:if(!(f===AZ.nil)){$s=9;continue;}$s=10;continue;case 9:k=false;if(!(((e.mode&1)===0)&&(f.Text.charCodeAt(1)===42))){l=false;$s=13;continue s;}m=e.lineFor(f.Pos());$s=14;case 14:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}l=m===a.Line;case 13:if(l&&!((b===52))&&(!((b===54))||(e.prevOpen===49))&&(!((b===55))||(e.prevOpen===50))){$s=11;continue;}$s=12;continue;case 11:if(e.containsLinebreak()&&((e.mode&2)===0)&&(e.level===0)){$s=15;continue;}$s=16;continue;case 15:k=true;$s=17;continue;case 16:$r=e.writeByte(32,1);$s=18;case 18:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 17:case 12:if((f.Text.charCodeAt(1)===47)||(b===1)||(b===56)&&((e.mode&2)===0)){k=true;}o=e.writeCommentSuffix(k);$s=19;case 19:if($c){$c=false;o=o.$blk();}if(o&&o.$blk!==undefined){break s;}n=o;c=n[0];d=n[1];$s=-1;return[c,d];case 10:$r=e.internalError(new AQ([new $String("intersperseComments called without pending comments")]));$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.intersperseComments};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.intersperseComments=function(a,b){return this.$val.intersperseComments(a,b);};AB.ptr.prototype.writeWhitespace=function(a){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=0;case 1:if(!(c<a)){$s=2;continue;}e=(d=b.wsbuf,((c<0||c>=d.$length)?($throwRuntimeError("index out of range"),undefined):d.$array[d.$offset+c]));f=e;if(f===(0)){$s=4;continue;}if(f===(62)){$s=5;continue;}if(f===(60)){$s=6;continue;}if((f===(10))||(f===(12))){$s=7;continue;}$s=8;continue;case 4:$s=9;continue;case 5:b.indent=b.indent+(1)>>0;$s=9;continue;case 6:b.indent=b.indent-(1)>>0;if(b.indent<0){$s=10;continue;}$s=11;continue;case 10:$r=b.internalError(new AQ([new $String("negative indentation:"),new $Int(b.indent)]));$s=12;case 12:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.indent=0;case 11:$s=9;continue;case 7:if((c+1>>0)<a&&((g=b.wsbuf,h=c+1>>0,((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]))===60)){$s=13;continue;}$s=14;continue;case 13:i=60;j=12;(k=b.wsbuf,((c<0||c>=k.$length)?($throwRuntimeError("index out of range"),undefined):k.$array[k.$offset+c]=i));(l=b.wsbuf,m=c+1>>0,((m<0||m>=l.$length)?($throwRuntimeError("index out of range"),undefined):l.$array[l.$offset+m]=j));c=c-(1)>>0;c=c+(1)>>0;$s=1;continue;case 14:$r=b.writeByte(((e<<24>>>24)),1);$s=15;case 15:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=9;continue;case 8:$r=b.writeByte(((e<<24>>>24)),1);$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 9:case 3:c=c+(1)>>0;$s=1;continue;case 2:n=$copySlice(b.wsbuf,$subslice(b.wsbuf,a));b.wsbuf=$subslice(b.wsbuf,0,n);$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.writeWhitespace};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.writeWhitespace=function(a){return this.$val.writeWhitespace(a);};AG=function(a){var $ptr,a;if(a>2){a=2;}return a;};AH=function(a,b){var $ptr,a,b,c,d;c=false;d=a;if(d===(5)){c=b===46;}else if(d===(12)){c=b===43;}else if(d===(13)){c=b===45;}else if(d===(15)){c=b===42;}else if(d===(40)){c=(b===45)||(b===60);}else if(d===(17)){c=(b===38)||(b===94);}return c;};AB.ptr.prototype.print=function(a){var $ptr,a,aa,ab,ac,ad,ae,af,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=a;d=0;case 1:if(!(d<c.$length)){$s=2;continue;}e=((d<0||d>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+d]);f="";g=false;h=false;i=b.lastTok;if(i===(0)){}else if((i===(49))||(i===(50))){b.prevOpen=b.lastTok;}else{b.prevOpen=0;}j=e;if($assertType(j,Z,true)[1]){$s=3;continue;}if($assertType(j,Y,true)[1]){$s=4;continue;}if($assertType(j,AW,true)[1]){$s=5;continue;}if($assertType(j,AY,true)[1]){$s=6;continue;}if($assertType(j,C.Token,true)[1]){$s=7;continue;}if($assertType(j,C.Pos,true)[1]){$s=8;continue;}if($assertType(j,$String,true)[1]){$s=9;continue;}$s=10;continue;case 3:k=j.$val;b.mode=(b.mode^(k))>>0;d++;$s=1;continue;$s=11;continue;case 4:l=j.$val;if(l===0){$s=12;continue;}$s=13;continue;case 12:d++;$s=1;continue;case 13:s=b.wsbuf.$length;if(s===b.wsbuf.$capacity){$s=14;continue;}$s=15;continue;case 14:$r=b.writeWhitespace(s);$s=16;case 16:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}s=0;case 15:b.wsbuf=$subslice(b.wsbuf,0,(s+1>>0));(t=b.wsbuf,((s<0||s>=t.$length)?($throwRuntimeError("index out of range"),undefined):t.$array[t.$offset+s]=l));if((l===10)||(l===12)){b.impliedSemi=false;}b.lastTok=0;d++;$s=1;continue;$s=11;continue;case 5:m=j.$val;f=m.Name;h=true;b.lastTok=4;$s=11;continue;case 6:n=j.$val;f=n.Value;g=true;h=true;b.lastTok=n.Kind;$s=11;continue;case 7:o=j.$val;u=new C.Token(o).String();if(AH(b.lastTok,u.charCodeAt(0))){$s=17;continue;}$s=18;continue;case 17:if(!((b.wsbuf.$length===0))){$s=19;continue;}$s=20;continue;case 19:$r=b.internalError(new AQ([new $String("whitespace buffer not empty")]));$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 20:b.wsbuf=$subslice(b.wsbuf,0,1);(v=b.wsbuf,(0>=v.$length?($throwRuntimeError("index out of range"),undefined):v.$array[v.$offset+0]=32));case 18:f=u;w=o;if((w===(61))||(w===(65))||(w===(69))||(w===(80))||(w===(37))||(w===(38))||(w===(54))||(w===(55))||(w===(56))){h=true;}b.lastTok=o;$s=11;continue;case 8:p=j.$val;if(new C.Pos(p).IsValid()){$s=22;continue;}$s=23;continue;case 22:x=b.posFor(p);$s=24;case 24:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}C.Position.copy(b.pos,x);case 23:d++;$s=1;continue;$s=11;continue;case 9:q=j.$val;f=q;g=true;h=true;b.lastTok=9;$s=11;continue;case 10:r=j;y=H.Fprintf(J.Stderr,"print: unsupported argument %v (%T)\n",new AQ([e,e]));$s=25;case 25:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}y;$panic(new $String("go/printer type"));case 11:z=$clone(b.pos,C.Position);ab=b.flush($clone(z,C.Position),b.lastTok);$s=26;case 26:if($c){$c=false;ab=ab.$blk();}if(ab&&ab.$blk!==undefined){break s;}aa=ab;ac=aa[0];ad=aa[1];if(!b.impliedSemi){$s=27;continue;}$s=28;continue;case 27:ae=AG(z.Line-b.pos.Line>>0);if(ac&&(ae===2)){ae=1;}if(ae>0){$s=29;continue;}$s=30;continue;case 29:af=10;if(ad){af=12;}$r=b.writeByte(af,ae);$s=31;case 31:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}h=false;case 30:case 28:if(!(b.linePtr===BB.nil)){b.linePtr.$set(b.out.Line);b.linePtr=BB.nil;}$r=b.writeString($clone(z,C.Position),f,g);$s=32;case 32:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}b.impliedSemi=h;d++;$s=1;continue;case 2:$s=-1;return;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.print};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.print=function(a){return this.$val.print(a);};AB.ptr.prototype.flush=function(a,b){var $ptr,a,b,c,d,e,f,g,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=false;d=false;e=this;if(e.commentBefore($clone(a,C.Position))){$s=1;continue;}$s=2;continue;case 1:g=e.intersperseComments($clone(a,C.Position),b);$s=4;case 4:if($c){$c=false;g=g.$blk();}if(g&&g.$blk!==undefined){break s;}f=g;c=f[0];d=f[1];$s=3;continue;case 2:$r=e.writeWhitespace(e.wsbuf.$length);$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:$s=-1;return[c,d];}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.flush};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.flush=function(a,b){return this.$val.flush(a,b);};AI=function(a){var $ptr,a,b,c,d,e,f,g,h,i;b=a;if($assertType(b,CZ,true)[1]){c=b.$val;return c.Doc;}else if($assertType(b,CS,true)[1]){d=b.$val;return d.Doc;}else if($assertType(b,CR,true)[1]){e=b.$val;return e.Doc;}else if($assertType(b,CT,true)[1]){f=b.$val;return f.Doc;}else if($assertType(b,CW,true)[1]){g=b.$val;return g.Doc;}else if($assertType(b,CX,true)[1]){h=b.$val;return h.Doc;}else if($assertType(b,DA,true)[1]){i=b.$val;return i.Doc;}return AR.nil;};AB.ptr.prototype.printNode=function(a){var $ptr,a,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;ae=$f.ae;af=$f.af;ag=$f.ag;ah=$f.ah;ai=$f.ai;aj=$f.aj;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=this;c=AS.nil;d=$assertType(a,DB,true);e=d[0];f=d[1];if(f){a=e.Node;c=e.Comments;}if(!(c===AS.nil)){$s=1;continue;}$s=2;continue;case 1:g=$assertType(a,B.Node,true);h=g[0];i=g[1];if(!i){$s=4;continue;}$s=5;continue;case 4:$s=6;continue;case 5:j=h.Pos();$s=7;case 7:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}k=j;l=h.End();$s=8;case 8:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=l;n=AI(h);if(!(n===AR.nil)){k=n.Pos();}o=0;while(true){if(!(o<c.$length&&((o<0||o>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+o]).End()<k)){break;}o=o+(1)>>0;}p=o;while(true){if(!(p<c.$length&&((p<0||p>=c.$length)?($throwRuntimeError("index out of range"),undefined):c.$array[c.$offset+p]).Pos()<m)){break;}p=p+(1)>>0;}if(o<p){b.comments=$subslice(c,o,p);}$s=3;continue;case 2:q=$assertType(a,DA,true);r=q[0];s=q[1];if(s){b.comments=r.Comments;}case 3:b.useNodeComments=b.comments===AS.nil;$r=b.nextComment();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}t=a;if($assertType(t,B.Expr,true)[1]){$s=10;continue;}if($assertType(t,B.Stmt,true)[1]){$s=11;continue;}if($assertType(t,B.Decl,true)[1]){$s=12;continue;}if($assertType(t,B.Spec,true)[1]){$s=13;continue;}if($assertType(t,DC,true)[1]){$s=14;continue;}if($assertType(t,DD,true)[1]){$s=15;continue;}if($assertType(t,DA,true)[1]){$s=16;continue;}$s=17;continue;case 10:u=t;$r=b.expr(u);$s=19;case 19:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 11:v=t;ac=$assertType(v,BW,true);ad=ac[1];if(ad){b.indent=1;}$r=b.stmt(v,false);$s=20;case 20:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 12:w=t;$r=b.decl(w);$s=21;case 21:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 13:x=t;$r=b.spec(x,1,false);$s=22;case 22:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 14:y=t.$val;ae=y;af=0;while(true){if(!(af<ae.$length)){break;}ag=((af<0||af>=ae.$length)?($throwRuntimeError("index out of range"),undefined):ae.$array[ae.$offset+af]);ah=$assertType(ag,BW,true);ai=ah[1];if(ai){b.indent=1;}af++;}$r=b.stmtList(y,0,false);$s=23;case 23:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 15:z=t.$val;$r=b.declList(z);$s=24;case 24:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 16:aa=t.$val;$r=b.file(aa);$s=25;case 25:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$s=18;continue;case 17:ab=t;$s=6;continue;case 18:$s=-1;return $ifaceNil;case 6:aj=H.Errorf("go/printer: unsupported node type %T",new AQ([a]));$s=26;case 26:if($c){$c=false;aj=aj.$blk();}if(aj&&aj.$blk!==undefined){break s;}$s=-1;return aj;$s=-1;return $ifaceNil;}return;}if($f===undefined){$f={$blk:AB.ptr.prototype.printNode};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.ae=ae;$f.af=af;$f.ag=ag;$f.ah=ah;$f.ai=ai;$f.aj=aj;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AB.prototype.printNode=function(a){return this.$val.printNode(a);};AJ.ptr.prototype.resetSpace=function(){var $ptr,a;a=this;a.state=0;a.space=$subslice(a.space,0,0);};AJ.prototype.resetSpace=function(){return this.$val.resetSpace();};AJ.ptr.prototype.Write=function(a){var $ptr,a,aa,ab,ac,ad,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;ab=$f.ab;ac=$f.ac;ad=$f.ad;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=0;c=$ifaceNil;d=this;e=0;f=0;g=a;h=0;case 1:if(!(h<g.$length)){$s=2;continue;}b=h;f=((h<0||h>=g.$length)?($throwRuntimeError("index out of range"),undefined):g.$array[g.$offset+h]);if(f===11){f=9;}i=d.state;if(i===(0)){$s=4;continue;}if(i===(1)){$s=5;continue;}if(i===(2)){$s=6;continue;}$s=7;continue;case 4:j=f;if((j===(9))||(j===(32))){$s=10;continue;}if((j===(10))||(j===(12))){$s=11;continue;}if(j===(255)){$s=12;continue;}$s=13;continue;case 10:d.space=$append(d.space,f);$s=14;continue;case 11:d.resetSpace();l=d.output.Write(AK);$s=15;case 15:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}k=l;c=k[1];$s=14;continue;case 12:n=d.output.Write(d.space);$s=16;case 16:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;c=m[1];d.state=1;e=b+1>>0;$s=14;continue;case 13:p=d.output.Write(d.space);$s=17;case 17:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;c=o[1];d.state=2;e=b;case 14:case 9:$s=8;continue;case 5:if(f===255){$s=18;continue;}$s=19;continue;case 18:r=d.output.Write($subslice(a,e,b));$s=20;case 20:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}q=r;c=q[1];d.resetSpace();case 19:$s=8;continue;case 6:s=f;if((s===(9))||(s===(32))){$s=22;continue;}if((s===(10))||(s===(12))){$s=23;continue;}if(s===(255)){$s=24;continue;}$s=25;continue;case 22:u=d.output.Write($subslice(a,e,b));$s=26;case 26:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;c=t[1];d.resetSpace();d.space=$append(d.space,f);$s=25;continue;case 23:w=d.output.Write($subslice(a,e,b));$s=27;case 27:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}v=w;c=v[1];d.resetSpace();if($interfaceIsEqual(c,$ifaceNil)){$s=28;continue;}$s=29;continue;case 28:y=d.output.Write(AK);$s=30;case 30:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}x=y;c=x[1];case 29:$s=25;continue;case 24:aa=d.output.Write($subslice(a,e,b));$s=31;case 31:if($c){$c=false;aa=aa.$blk();}if(aa&&aa.$blk!==undefined){break s;}z=aa;c=z[1];d.state=1;e=b+1>>0;case 25:case 21:$s=8;continue;case 7:$panic(new $String("unreachable"));case 8:case 3:if(!($interfaceIsEqual(c,$ifaceNil))){$s=-1;return[b,c];}h++;$s=1;continue;case 2:b=a.$length;ab=d.state;if((ab===(1))||(ab===(2))){$s=33;continue;}$s=34;continue;case 33:ad=d.output.Write($subslice(a,e,b));$s=35;case 35:if($c){$c=false;ad=ad.$blk();}if(ad&&ad.$blk!==undefined){break s;}ac=ad;c=ac[1];d.resetSpace();case 34:case 32:$s=-1;return[b,c];}return;}if($f===undefined){$f={$blk:AJ.ptr.prototype.Write};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.ab=ab;$f.ac=ac;$f.ad=ad;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};AJ.prototype.Write=function(a){return this.$val.Write(a);};AM.ptr.prototype.fprint=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=$ifaceNil;f=this;g=new AB.ptr(new AM.ptr(0,0,0),DE.nil,AP.nil,0,0,0,false,0,0,CY.nil,new C.Position.ptr("",0,0,0),new C.Position.ptr("",0,0,0),new C.Position.ptr("",0,0,0),BB.nil,AS.nil,false,new AA.ptr(0,AR.nil,0,false),false,0,0);g.init(f,b,d);h=g.printNode(c);$s=1;case 1:if($c){$c=false;h=h.$blk();}if(h&&h.$blk!==undefined){break s;}e=h;if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return e;}g.impliedSemi=false;i=g.flush(new C.Position.ptr("",1073741824,1073741824,0),1);$s=2;case 2:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}i;a=new AJ.ptr(a,0,AP.nil);if(((f.Mode&1)>>>0)===0){j=f.Tabwidth;k=9;if(!((((f.Mode&4)>>>0)===0))){k=32;}l=8;if(!((((f.Mode&2)>>>0)===0))){j=0;l=(l|(16))>>>0;}a=K.NewWriter(a,j,f.Tabwidth,1,k,l);}n=a.Write(g.output);$s=3;case 3:if($c){$c=false;n=n.$blk();}if(n&&n.$blk!==undefined){break s;}m=n;e=m[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=-1;return e;}o=$assertType(a,DF,true);p=o[0];if(!(p===DF.nil)){$s=4;continue;}$s=5;continue;case 4:q=p.Flush();$s=6;case 6:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}e=q;case 5:$s=-1;return e;}return;}if($f===undefined){$f={$blk:AM.ptr.prototype.fprint};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.$s=$s;$f.$r=$r;return $f;};AM.prototype.fprint=function(a,b,c,d){return this.$val.fprint(a,b,c,d);};AM.ptr.prototype.Fprint=function(a,b,c){var $ptr,a,b,c,d,e,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:d=this;e=d.fprint(a,b,c,{});$s=1;case 1:if($c){$c=false;e=e.$blk();}if(e&&e.$blk!==undefined){break s;}$s=-1;return e;}return;}if($f===undefined){$f={$blk:AM.ptr.prototype.Fprint};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.$s=$s;$f.$r=$r;return $f;};AM.prototype.Fprint=function(a,b,c){return this.$val.Fprint(a,b,c);};DJ.methods=[{prop:"linebreak",name:"linebreak",pkg:"go/printer",typ:$funcType([$Int,$Int,Y,$Bool],[$Bool],false)},{prop:"setComment",name:"setComment",pkg:"go/printer",typ:$funcType([AR],[],false)},{prop:"identList",name:"identList",pkg:"go/printer",typ:$funcType([AX,$Bool],[],false)},{prop:"exprList",name:"exprList",pkg:"go/printer",typ:$funcType([C.Pos,AT,$Int,L,C.Pos],[],false)},{prop:"parameters",name:"parameters",pkg:"go/printer",typ:$funcType([AV],[],false)},{prop:"signature",name:"signature",pkg:"go/printer",typ:$funcType([AV,AV],[],false)},{prop:"isOneLineFieldList",name:"isOneLineFieldList",pkg:"go/printer",typ:$funcType([DG],[$Bool],false)},{prop:"setLineComment",name:"setLineComment",pkg:"go/printer",typ:$funcType([$String],[],false)},{prop:"fieldList",name:"fieldList",pkg:"go/printer",typ:$funcType([AV,$Bool,$Bool],[],false)},{prop:"binaryExpr",name:"binaryExpr",pkg:"go/printer",typ:$funcType([BD,$Int,$Int,$Int],[],false)},{prop:"expr1",name:"expr1",pkg:"go/printer",typ:$funcType([B.Expr,$Int,$Int],[],false)},{prop:"possibleSelectorExpr",name:"possibleSelectorExpr",pkg:"go/printer",typ:$funcType([B.Expr,$Int,$Int],[$Bool],false)},{prop:"selectorExpr",name:"selectorExpr",pkg:"go/printer",typ:$funcType([BJ,$Int,$Bool],[$Bool],false)},{prop:"expr0",name:"expr0",pkg:"go/printer",typ:$funcType([B.Expr,$Int],[],false)},{prop:"expr",name:"expr",pkg:"go/printer",typ:$funcType([B.Expr],[],false)},{prop:"stmtList",name:"stmtList",pkg:"go/printer",typ:$funcType([DC,$Int,$Bool],[],false)},{prop:"block",name:"block",pkg:"go/printer",typ:$funcType([CH,$Int],[],false)},{prop:"controlClause",name:"controlClause",pkg:"go/printer",typ:$funcType([$Bool,B.Stmt,B.Expr,B.Stmt],[],false)},{prop:"indentList",name:"indentList",pkg:"go/printer",typ:$funcType([AT],[$Bool],false)},{prop:"stmt",name:"stmt",pkg:"go/printer",typ:$funcType([B.Stmt,$Bool],[],false)},{prop:"valueSpec",name:"valueSpec",pkg:"go/printer",typ:$funcType([CR,$Bool],[],false)},{prop:"spec",name:"spec",pkg:"go/printer",typ:$funcType([B.Spec,$Int,$Bool],[],false)},{prop:"genDecl",name:"genDecl",pkg:"go/printer",typ:$funcType([CW],[],false)},{prop:"nodeSize",name:"nodeSize",pkg:"go/printer",typ:$funcType([B.Node,$Int],[$Int],false)},{prop:"bodySize",name:"bodySize",pkg:"go/printer",typ:$funcType([CH,$Int],[$Int],false)},{prop:"funcBody",name:"funcBody",pkg:"go/printer",typ:$funcType([$Int,Y,CH],[],false)},{prop:"distanceFrom",name:"distanceFrom",pkg:"go/printer",typ:$funcType([C.Pos],[$Int],false)},{prop:"funcDecl",name:"funcDecl",pkg:"go/printer",typ:$funcType([CX],[],false)},{prop:"decl",name:"decl",pkg:"go/printer",typ:$funcType([B.Decl],[],false)},{prop:"declList",name:"declList",pkg:"go/printer",typ:$funcType([DD],[],false)},{prop:"file",name:"file",pkg:"go/printer",typ:$funcType([DA],[],false)},{prop:"init",name:"init",pkg:"go/printer",typ:$funcType([DH,DE,DI],[],false)},{prop:"internalError",name:"internalError",pkg:"go/printer",typ:$funcType([AQ],[],true)},{prop:"commentsHaveNewline",name:"commentsHaveNewline",pkg:"go/printer",typ:$funcType([BA],[$Bool],false)},{prop:"nextComment",name:"nextComment",pkg:"go/printer",typ:$funcType([],[],false)},{prop:"commentBefore",name:"commentBefore",pkg:"go/printer",typ:$funcType([C.Position],[$Bool],false)},{prop:"commentSizeBefore",name:"commentSizeBefore",pkg:"go/printer",typ:$funcType([C.Position],[$Int],false)},{prop:"recordLine",name:"recordLine",pkg:"go/printer",typ:$funcType([BB],[],false)},{prop:"linesFrom",name:"linesFrom",pkg:"go/printer",typ:$funcType([$Int],[$Int],false)},{prop:"posFor",name:"posFor",pkg:"go/printer",typ:$funcType([C.Pos],[C.Position],false)},{prop:"lineFor",name:"lineFor",pkg:"go/printer",typ:$funcType([C.Pos],[$Int],false)},{prop:"atLineBegin",name:"atLineBegin",pkg:"go/printer",typ:$funcType([C.Position],[],false)},{prop:"writeByte",name:"writeByte",pkg:"go/printer",typ:$funcType([$Uint8,$Int],[],false)},{prop:"writeString",name:"writeString",pkg:"go/printer",typ:$funcType([C.Position,$String,$Bool],[],false)},{prop:"writeCommentPrefix",name:"writeCommentPrefix",pkg:"go/printer",typ:$funcType([C.Position,C.Position,AZ,AZ,C.Token],[],false)},{prop:"writeComment",name:"writeComment",pkg:"go/printer",typ:$funcType([AZ],[],false)},{prop:"writeCommentSuffix",name:"writeCommentSuffix",pkg:"go/printer",typ:$funcType([$Bool],[$Bool,$Bool],false)},{prop:"containsLinebreak",name:"containsLinebreak",pkg:"go/printer",typ:$funcType([],[$Bool],false)},{prop:"intersperseComments",name:"intersperseComments",pkg:"go/printer",typ:$funcType([C.Position,C.Token],[$Bool,$Bool],false)},{prop:"writeWhitespace",name:"writeWhitespace",pkg:"go/printer",typ:$funcType([$Int],[],false)},{prop:"print",name:"print",pkg:"go/printer",typ:$funcType([AQ],[],true)},{prop:"flush",name:"flush",pkg:"go/printer",typ:$funcType([C.Position,C.Token],[$Bool,$Bool],false)},{prop:"printNode",name:"printNode",pkg:"go/printer",typ:$funcType([$emptyInterface],[$error],false)}];DK.methods=[{prop:"resetSpace",name:"resetSpace",pkg:"go/printer",typ:$funcType([],[],false)},{prop:"Write",name:"Write",pkg:"",typ:$funcType([AP],[$Int,$error],false)}];DH.methods=[{prop:"fprint",name:"fprint",pkg:"go/printer",typ:$funcType([I.Writer,DE,$emptyInterface,DI],[$error],false)},{prop:"Fprint",name:"Fprint",pkg:"",typ:$funcType([I.Writer,DE,$emptyInterface],[$error],false)}];AA.init("go/printer",[{prop:"cindex",name:"cindex",exported:false,typ:$Int,tag:""},{prop:"comment",name:"comment",exported:false,typ:AR,tag:""},{prop:"commentOffset",name:"commentOffset",exported:false,typ:$Int,tag:""},{prop:"commentNewline",name:"commentNewline",exported:false,typ:$Bool,tag:""}]);AB.init("go/printer",[{prop:"Config",name:"",exported:true,typ:AM,tag:""},{prop:"fset",name:"fset",exported:false,typ:DE,tag:""},{prop:"output",name:"output",exported:false,typ:AP,tag:""},{prop:"indent",name:"indent",exported:false,typ:$Int,tag:""},{prop:"level",name:"level",exported:false,typ:$Int,tag:""},{prop:"mode",name:"mode",exported:false,typ:Z,tag:""},{prop:"impliedSemi",name:"impliedSemi",exported:false,typ:$Bool,tag:""},{prop:"lastTok",name:"lastTok",exported:false,typ:C.Token,tag:""},{prop:"prevOpen",name:"prevOpen",exported:false,typ:C.Token,tag:""},{prop:"wsbuf",name:"wsbuf",exported:false,typ:CY,tag:""},{prop:"pos",name:"pos",exported:false,typ:C.Position,tag:""},{prop:"out",name:"out",exported:false,typ:C.Position,tag:""},{prop:"last",name:"last",exported:false,typ:C.Position,tag:""},{prop:"linePtr",name:"linePtr",exported:false,typ:BB,tag:""},{prop:"comments",name:"comments",exported:false,typ:AS,tag:""},{prop:"useNodeComments",name:"useNodeComments",exported:false,typ:$Bool,tag:""},{prop:"commentInfo",name:"",exported:false,typ:AA,tag:""},{prop:"nodeSizes",name:"nodeSizes",exported:false,typ:DI,tag:""},{prop:"cachedPos",name:"cachedPos",exported:false,typ:C.Pos,tag:""},{prop:"cachedLine",name:"cachedLine",exported:false,typ:$Int,tag:""}]);AJ.init("go/printer",[{prop:"output",name:"output",exported:false,typ:I.Writer,tag:""},{prop:"state",name:"state",exported:false,typ:$Int,tag:""},{prop:"space",name:"space",exported:false,typ:AP,tag:""}]);AM.init("",[{prop:"Mode",name:"Mode",exported:true,typ:AL,tag:""},{prop:"Tabwidth",name:"Tabwidth",exported:true,typ:$Int,tag:""},{prop:"Indent",name:"Indent",exported:true,typ:$Int,tag:""}]);AN.init("",[{prop:"Node",name:"Node",exported:true,typ:$emptyInterface,tag:""},{prop:"Comments",name:"Comments",exported:true,typ:AS,tag:""}]);$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=I.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=J.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=K.$init();$s=9;case 9:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=10;case 10:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=11;case 11:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}AK=(new AP($stringToBytes("\n")));}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["go/format"]=(function(){var $pkg={},$init,A,B,C,D,E,F,G,H,P,R,S,I,K,M,N,O;A=$packages["bytes"];B=$packages["fmt"];C=$packages["go/ast"];D=$packages["go/parser"];E=$packages["go/printer"];F=$packages["go/token"];G=$packages["io"];H=$packages["strings"];P=$ptrType(C.File);R=$sliceType($Uint8);S=$arrayType($Uint8,64);K=function(a){var $ptr,a,b,c,d,e,f,g,h,i,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:b=F.NewFileSet();d=M(b,"",a,true);$s=1;case 1:if($c){$c=false;d=d.$blk();}if(d&&d.$blk!==undefined){break s;}c=d;e=c[0];f=c[1];g=c[2];h=c[3];if(!($interfaceIsEqual(h,$ifaceNil))){$s=-1;return[R.nil,h];}if(f===$throwNilPointerError){$s=2;continue;}$s=3;continue;case 2:$r=C.SortImports(b,e);$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}case 3:i=N(b,e,f,g,a,$clone(I,E.Config));$s=5;case 5:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}$s=-1;return i;}return;}if($f===undefined){$f={$blk:K};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.$s=$s;$f.$r=$r;return $f;};$pkg.Source=K;M=function(a,b,c,d){var $ptr,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:e=P.nil;f=$throwNilPointerError;g=0;h=$ifaceNil;j=D.ParseFile(a,b,c,4);$s=1;case 1:if($c){$c=false;j=j.$blk();}if(j&&j.$blk!==undefined){break s;}i=j;e=i[0];h=i[1];if($interfaceIsEqual(h,$ifaceNil)||!d){k=true;$s=4;continue s;}l=h.Error();$s=5;case 5:if($c){$c=false;l=l.$blk();}if(l&&l.$blk!==undefined){break s;}m=H.Contains(l,"expected 'package'");$s=6;case 6:if($c){$c=false;m=m.$blk();}if(m&&m.$blk!==undefined){break s;}k=!m;case 4:if(k){$s=2;continue;}$s=3;continue;case 2:$s=-1;return[e,f,g,h];case 3:n=$appendSlice((new R($stringToBytes("package p;"))),c);p=D.ParseFile(a,b,n,4);$s=7;case 7:if($c){$c=false;p=p.$blk();}if(p&&p.$blk!==undefined){break s;}o=p;e=o[0];h=o[1];if($interfaceIsEqual(h,$ifaceNil)){$s=8;continue;}$s=9;continue;case 8:f=(function $b(q,r){var $ptr,q,r,s,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;q=$f.q;r=$f.r;s=$f.s;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:q=$subslice(q,(r+10>>0));s=A.TrimSpace(q);$s=1;case 1:if($c){$c=false;s=s.$blk();}if(s&&s.$blk!==undefined){break s;}$s=-1;return s;}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.q=q;$f.r=r;$f.s=s;$f.$s=$s;$f.$r=$r;return $f;});$s=-1;return[e,f,g,h];case 9:q=h.Error();$s=12;case 12:if($c){$c=false;q=q.$blk();}if(q&&q.$blk!==undefined){break s;}r=H.Contains(q,"expected declaration");$s=13;case 13:if($c){$c=false;r=r.$blk();}if(r&&r.$blk!==undefined){break s;}if(!r){$s=10;continue;}$s=11;continue;case 10:$s=-1;return[e,f,g,h];case 11:s=$append($appendSlice((new R($stringToBytes("package p; func _() {"))),c),10,10,125);u=D.ParseFile(a,b,s,4);$s=14;case 14:if($c){$c=false;u=u.$blk();}if(u&&u.$blk!==undefined){break s;}t=u;e=t[0];h=t[1];if($interfaceIsEqual(h,$ifaceNil)){f=(function $b(v,w){var $ptr,v,w,x,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;v=$f.v;w=$f.w;x=$f.x;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:if(w<0){w=0;}v=$subslice(v,(($imul(2,w))+21>>0));v=$subslice(v,0,(v.$length-2>>0));x=A.TrimSpace(v);$s=1;case 1:if($c){$c=false;x=x.$blk();}if(x&&x.$blk!==undefined){break s;}$s=-1;return x;}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.v=v;$f.w=w;$f.x=x;$f.$s=$s;$f.$r=$r;return $f;});g=-1;}$s=-1;return[e,f,g,h];}return;}if($f===undefined){$f={$blk:M};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.$s=$s;$f.$r=$r;return $f;};N=function(a,b,c,d,e,f){var $ptr,a,aa,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;aa=$f.aa;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;g=$f.g;h=$f.h;i=$f.i;j=$f.j;k=$f.k;l=$f.l;m=$f.m;n=$f.n;o=$f.o;p=$f.p;q=$f.q;r=$f.r;s=$f.s;t=$f.t;u=$f.u;v=$f.v;w=$f.w;x=$f.x;y=$f.y;z=$f.z;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:g=[g];h=[h];if(c===$throwNilPointerError){$s=1;continue;}$s=2;continue;case 1:g[0]=new A.Buffer.ptr(R.nil,0,S.zero(),0);i=f.Fprint(g[0],a,b);$s=3;case 3:if($c){$c=false;i=i.$blk();}if(i&&i.$blk!==undefined){break s;}j=i;if(!($interfaceIsEqual(j,$ifaceNil))){$s=-1;return[R.nil,j];}$s=-1;return[g[0].Bytes(),$ifaceNil];case 2:k=0;l=0;m=k;n=l;while(true){if(!(n<e.$length&&O(((n<0||n>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+n])))){break;}if(((n<0||n>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+n])===10){m=n+1>>0;}n=n+(1)>>0;}o=R.nil;o=$appendSlice(o,$subslice(e,0,m));p=0;q=false;r=$subslice(e,m,n);s=0;while(true){if(!(s<r.$length)){break;}t=((s<0||s>=r.$length)?($throwRuntimeError("index out of range"),undefined):r.$array[r.$offset+s]);u=t;if(u===(32)){q=true;}else if(u===(9)){p=p+(1)>>0;}s++;}if((p===0)&&q){p=1;}v=0;while(true){if(!(v<p)){break;}o=$append(o,9);v=v+(1)>>0;}f.Indent=p+d>>0;h[0]=new A.Buffer.ptr(R.nil,0,S.zero(),0);w=f.Fprint(h[0],a,b);$s=4;case 4:if($c){$c=false;w=w.$blk();}if(w&&w.$blk!==undefined){break s;}x=w;if(!($interfaceIsEqual(x,$ifaceNil))){$s=-1;return[R.nil,x];}y=c(h[0].Bytes(),f.Indent);$s=5;case 5:if($c){$c=false;y=y.$blk();}if(y&&y.$blk!==undefined){break s;}z=y;if(z.$length===0){$s=-1;return[e,$ifaceNil];}o=$appendSlice(o,z);m=e.$length;while(true){if(!(m>0&&O((aa=m-1>>0,((aa<0||aa>=e.$length)?($throwRuntimeError("index out of range"),undefined):e.$array[e.$offset+aa]))))){break;}m=m-(1)>>0;}$s=-1;return[$appendSlice(o,$subslice(e,m)),$ifaceNil];}return;}if($f===undefined){$f={$blk:N};}$f.$ptr=$ptr;$f.a=a;$f.aa=aa;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.g=g;$f.h=h;$f.i=i;$f.j=j;$f.k=k;$f.l=l;$f.m=m;$f.n=n;$f.o=o;$f.p=p;$f.q=q;$f.r=r;$f.s=s;$f.t=t;$f.u=u;$f.v=v;$f.w=w;$f.x=x;$f.y=y;$f.z=z;$f.$s=$s;$f.$r=$r;return $f;};O=function(a){var $ptr,a;return(a===32)||(a===9)||(a===10)||(a===13);};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=A.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=B.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=C.$init();$s=3;case 3:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=D.$init();$s=4;case 4:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=E.$init();$s=5;case 5:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=F.$init();$s=6;case 6:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=G.$init();$s=7;case 7:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=H.$init();$s=8;case 8:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}I=new E.Config.ptr(6,8,0);}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$packages["main"]=(function(){var $pkg={},$init,B,A,D,E,C;B=$packages["github.com/gopherjs/gopherjs/js"];A=$packages["go/format"];D=$sliceType($Uint8);E=$funcType([$String],[$String],false);C=function(){var $ptr;$global.gofmt=$externalize((function $b(a){var $ptr,a,b,c,d,e,f,$s,$r;$s=0;var $f,$c=false;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$ptr=$f.$ptr;a=$f.a;b=$f.b;c=$f.c;d=$f.d;e=$f.e;f=$f.f;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:c=A.Source((new D($stringToBytes(a))));$s=1;case 1:if($c){$c=false;c=c.$blk();}if(c&&c.$blk!==undefined){break s;}b=c;d=b[0];e=b[1];if(!($interfaceIsEqual(e,$ifaceNil))){$s=2;continue;}$s=3;continue;case 2:f=e.Error();$s=4;case 4:if($c){$c=false;f=f.$blk();}if(f&&f.$blk!==undefined){break s;}$s=-1;return f;case 3:$s=-1;return($bytesToString(d));}return;}if($f===undefined){$f={$blk:$b};}$f.$ptr=$ptr;$f.a=a;$f.b=b;$f.c=c;$f.d=d;$f.e=e;$f.f=f;$f.$s=$s;$f.$r=$r;return $f;}),E);};$init=function(){$pkg.$init=function(){};var $f,$c=false,$s=0,$r;if(this!==undefined&&this.$blk!==undefined){$f=this;$c=true;$s=$f.$s;$r=$f.$r;}s:while(true){switch($s){case 0:$r=B.$init();$s=1;case 1:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}$r=A.$init();$s=2;case 2:if($c){$c=false;$r=$r.$blk();}if($r&&$r.$blk!==undefined){break s;}if($pkg===$mainPkg){C();$mainFinished=true;}}return;}if($f===undefined){$f={$blk:$init};}$f.$s=$s;$f.$r=$r;return $f;};$pkg.$init=$init;return $pkg;})();
$synthesizeMethods();
var $mainPkg = $packages["main"];
$packages["runtime"].$init();
$go($mainPkg.$init, []);
$flushConsole();
}).call(this);
//# sourceMappingURL=gofmtjs.js.map