armory/tools/armorui/krom/krom.js
2017-07-25 17:37:46 +02:00

1 line
403 KiB
JavaScript

function $extend(e,t){function a(){}a.prototype=e;var i=new a;for(var r in t)i[r]=t[r];return t.toString!==Object.prototype.toString&&(i.toString=t.toString),i}function $iterator(e){return e instanceof Array?function(){return HxOverrides.iter(e)}:"function"==typeof e.iterator?$bind(e,e.iterator):e.iterator}function $bind(e,t){if(null==t)return null;null==t.__id__&&(t.__id__=$fid++);var a;return null==e.hx__closures__?e.hx__closures__={}:a=e.hx__closures__[t.__id__],null==a&&((a=function(){return a.method.apply(a.scope,arguments)}).scope=e,a.method=t,e.hx__closures__[t.__id__]=a),a}var $hx_exports="undefined"!=typeof exports?exports:"undefined"!=typeof window?window:"undefined"!=typeof self?self:this;$hx_exports.kha=$hx_exports.kha||{},$hx_exports.kha.input=$hx_exports.kha.input||{},$hx_exports.kha._Color=$hx_exports.kha._Color||{};var $global="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,$hxClasses=$hxClasses||{},$estr=function(){return js_Boot.__string_rec(this,"")},Elements=$hxClasses.Elements=function(e){this.hradio=zui_Handle.global.nest(6,null),this.hwin=zui_Handle.global.nest(0,null),this.selectedElem=-1,this.dragAsset=null,this.assetId=0,this.assetNames=[],this.drag=!1,this.bg=null,this.canvas=e,kha_Assets.loadEverything($bind(this,this.loaded))};Elements.__name__=!0,Elements.prototype={ui:null,cui:null,bg:null,canvas:null,drag:null,assetNames:null,assetId:null,dragAsset:null,loaded:function(){var e=this,t=Reflect.copy(zui_Themes.dark);t.FILL_WINDOW_BG=!0,this.ui=new zui_Zui({font:kha_Assets.fonts.DroidSans,theme:t,color_wheel:kha_Assets.images.color_wheel}),this.cui=new zui_Zui({font:kha_Assets.fonts.DroidSans,autoNotifyInput:!1}),kha_System.notifyOnDropFiles(function(t){t=StringTools.rtrim(t),e.importAsset(t)}),kha_System.notifyOnRender($bind(this,this.render)),kha_Scheduler.addTimeTask($bind(this,this.update),0,.016666666666666666)},importAsset:function(e){var t=this;(StringTools.endsWith(e,".jpg")||StringTools.endsWith(e,".png")||StringTools.endsWith(e,".hdr"))&&kha_LoaderImpl.loadImageFromDescription({files:[e]},function(a){var i=e.split("/"),r=i[i.length-1],s={name:r,file:e,image:a,id:t.assetId++};t.canvas.assets.push(s),t.assetNames.push(r),t.hwin.redraws=2})},makeElem:function(e){var t="",a=100;return 0==e?(t="Text",a=48):2==e?t="Button":1==e&&(t="Image"),{id:zui_Canvas.getElementId(this.canvas),type:e,name:t,event:"",x:0,y:0,width:150,height:a,text:t,asset:"",color:16777215,anchor:0,children:[]}},getEnumTexts:function(){return this.assetNames.length>0?this.assetNames:[""]},getAssetIndex:function(e){for(var t=0,a=this.canvas.assets.length;t<a;){var i=t++;if(e==this.canvas.assets[i].name)return i}return 0},selectedElem:null,hwin:null,hradio:null,render:function(e){if(null==this.bg){var t=kha_System.windowWidth(),a=kha_System.windowHeight();this.bg=kha_Image.createRenderTarget(t,a),this.bg.get_g2().begin(!0,-15461356);for(var i=0,r=1+(a/40|0);i<r;){var s=i++;this.bg.get_g2().set_color(-13619152),this.bg.get_g2().drawLine(0,40*s,t,40*s),this.bg.get_g2().set_color(-14671840),this.bg.get_g2().drawLine(0,40*s+20,t,40*s+20)}for(var n=0,_=1+(t/40|0);n<_;){var o=n++;this.bg.get_g2().set_color(-13619152),this.bg.get_g2().drawLine(40*o,0,40*o,a),this.bg.get_g2().set_color(-14671840),this.bg.get_g2().drawLine(40*o+20,0,40*o+20,a)}this.bg.get_g2().set_color(-1),this.canvas.x=40,this.canvas.y=40,this.bg.get_g2().drawRect(this.canvas.x,this.canvas.y,this.canvas.width,this.canvas.height,1),this.bg.get_g2().end()}var h=e.get_g2();h.begin(),h.set_color(-1),h.drawImage(this.bg,0,0),h.set_font(kha_Assets.fonts.DroidSans),h.set_fontSize(40);var l=this.canvas.name+", "+this.canvas.width+"x"+this.canvas.height,u=h.get_font().width(40,l),c=h.get_font().height(40);if(h.set_color(-1),h.drawString(l,kha_System.windowWidth()-u-30-240,kha_System.windowHeight()-c-10),zui_Canvas.draw(this.cui,this.canvas,h),this.selectedElem>=0&&this.selectedElem<this.canvas.elements.length){var d=this.canvas.elements[this.selectedElem];h.set_color(-1),h.drawRect(this.canvas.x+d.x,this.canvas.y+d.y,d.width,d.height,1),h.drawRect(this.canvas.x+d.x-3,this.canvas.y+d.y-3,6,6,1),h.drawRect(this.canvas.x+d.x-3+d.width/2,this.canvas.y+d.y-3,6,6,1),h.drawRect(this.canvas.x+d.x-3+d.width,this.canvas.y+d.y-3,6,6,1),h.drawRect(this.canvas.x+d.x-3,this.canvas.y+d.y-3+d.height/2,6,6,1),h.drawRect(this.canvas.x+d.x-3+d.width,this.canvas.y+d.y-3+d.height/2,6,6,1),h.drawRect(this.canvas.x+d.x-3,this.canvas.y+d.y-3+d.height,6,6,1),h.drawRect(this.canvas.x+d.x-3+d.width/2,this.canvas.y+d.y-3+d.height,6,6,1),h.drawRect(this.canvas.x+d.x-3+d.width,this.canvas.y+d.y-3+d.height,6,6,1)}if(h.end(),this.ui.begin(h),this.ui.window(this.hwin,kha_System.windowWidth()-240,0,240,kha_System.windowHeight(),!1)){if(this.ui.button("Save")&&(this.canvas.x=0,this.canvas.y=0,Krom.fileSaveBytes(Main.prefs.path,haxe_io_Bytes.ofString(JSON.stringify(this.canvas)).b.bufferValue),this.canvas.x=40,this.canvas.y=40),this.ui.panel(zui_Handle.global.nest(1,{selected:!1}),"CANVAS")){this.ui.button("New")&&(this.canvas.elements=[],this.selectedElem=-1);var p=this.ui,g=zui_Handle.global.nest(2,{text:this.canvas.name});this.canvas.name=p.textInput(g,"Name",2),this.ui.row([.5,.5]);var f=this.ui.textInput(zui_Handle.global.nest(3,{text:this.canvas.width+""}),"Width",2),v=this.ui.textInput(zui_Handle.global.nest(4,{text:this.canvas.height+""}),"Height",2);this.canvas.width=Std.parseInt(f),this.canvas.height=Std.parseInt(v)}if(this.ui.separator(),this.ui.panel(zui_Handle.global.nest(5,{selected:!0}),"TREE")){if(this.ui.row([.3333333333333333,.3333333333333333,.3333333333333333]),this.ui.button("Text")){var k=this.makeElem(0);this.canvas.elements.push(k),this.hradio.position=this.canvas.elements.length-1}if(this.ui.button("Image")){var m=this.makeElem(1);this.canvas.elements.push(m),this.hradio.position=this.canvas.elements.length-1}if(this.ui.button("Button")){var b=this.makeElem(2);this.canvas.elements.push(b),this.hradio.position=this.canvas.elements.length-1}for(var S=this.canvas.elements.length-1;S>=0;){var y=this.canvas.elements[S];this.ui.radio(this.hradio,S,y.name)&&(this.selectedElem=S),--S}this.ui.row([.3333333333333333,.3333333333333333,.3333333333333333]);var x=this.ui.t.BUTTON_BG_COL,B=this.ui.t.BUTTON_BG_COL_HOVER,T=this.ui.t.BUTTON_BG_COL_PRESSED;this.ui.t.BUTTON_BG_COL=-13355978,this.ui.t.BUTTON_BG_COL_HOVER=-12303290,this.ui.t.BUTTON_BG_COL_PRESSED=-13619152;var w=this.canvas.elements;if(this.ui.button("Up")&&this.selectedElem<w.length-1){var E=this.canvas.elements[this.selectedElem];this.canvas.elements[this.selectedElem]=this.canvas.elements[this.selectedElem+1],this.canvas.elements[this.selectedElem+1]=E,this.selectedElem++,this.hradio.position=this.selectedElem}if(this.ui.button("Down")&&this.selectedElem>0){var I=this.canvas.elements[this.selectedElem];this.canvas.elements[this.selectedElem]=this.canvas.elements[this.selectedElem-1],this.canvas.elements[this.selectedElem-1]=I,this.selectedElem--,this.hradio.position=this.selectedElem}this.ui.button("Remove")&&(w.splice(this.selectedElem,1),this.selectedElem==w.length?this.selectedElem--:this.selectedElem<0&&this.selectedElem++,this.hradio.position=this.selectedElem),this.ui.t.BUTTON_BG_COL=x,this.ui.t.BUTTON_BG_COL_HOVER=B,this.ui.t.BUTTON_BG_COL_PRESSED=T}if(this.ui.separator(),this.ui.panel(zui_Handle.global.nest(7,{selected:!0}),"PROPERTIES")&&this.selectedElem>=0){var C=this.canvas.elements[this.selectedElem],A=C.id;this.ui.row([.5,.5]),C.name=this.ui.textInput(zui_Handle.global.nest(8,null).nest(A,{text:C.name}),"Name",2),C.event=this.ui.textInput(zui_Handle.global.nest(9,null).nest(A,{text:C.event}),"Event",2),this.ui.row([.5,.5]);var L=C.x+"",R=zui_Handle.global.nest(10,null).nest(A,{text:L}),$=C.y+"",F=zui_Handle.global.nest(11,null).nest(A,{text:$});R.text=C.x+"",F.text=C.y+"";var V=this.ui.textInput(R,"X",2),N=this.ui.textInput(F,"Y",2);C.x=parseFloat(V),C.y=parseFloat(N),this.ui.row([.5,.5]);var P=C.width+"",M=this.ui.textInput(zui_Handle.global.nest(12,null).nest(A,{text:P}),"Width",2),O=C.height+"",D=this.ui.textInput(zui_Handle.global.nest(13,null).nest(A,{text:O}),"Height",2);C.width=0|parseFloat(M),C.height=0|parseFloat(D),C.text=this.ui.textInput(zui_Handle.global.nest(14,null).nest(A,{text:C.text}),"Text",2),C.anchor=this.ui.combo(zui_Handle.global.nest(15,null).nest(A),["None","Top-Left","Top-Center","Top-Right"],"Anchor",!0,2);var U=this.ui.combo(zui_Handle.global.nest(16,null).nest(A,{position:this.getAssetIndex(C.asset)}),this.getEnumTexts(),"Asset",!0,2);C.asset=this.getEnumTexts()[U],C.color=zui_Ext.colorWheel(this.ui,zui_Handle.global.nest(17,null).nest(A,{color:16777215}),!0,null,!0)}if(this.ui.separator(),this.ui.panel(zui_Handle.global.nest(18,{selected:!0}),"ASSETS"))if(this.canvas.assets.length>0)for(var H=this.canvas.assets.length-1;H>=0;){var G=this.canvas.assets[H];1==this.ui.image(G.image)&&(this.dragAsset=G),this.ui.row([.875,.125]),G.name=this.ui.textInput(zui_Handle.global.nest(19,null).nest(G.id,{text:G.name}),"",2),this.assetNames[H]=G.name,this.ui.button("X")&&(G.image.unload(),this.canvas.assets.splice(H,1),this.assetNames.splice(H,1)),--H}else this.ui.text("(Drag & drop assets)",1,-15395563),this.ui.text("(.png .jpg .hdr)",1,-15395563)}if(this.ui.end(),h.begin(!1),null!=this.dragAsset){var W=128/this.dragAsset.image.get_width(),z=this.dragAsset.image.get_height()*W;h.drawScaledImage(this.dragAsset.image,this.ui.inputX,this.ui.inputY,128,z)}h.end()},acceptDrag:function(e){var t=this.makeElem(1);t.asset=this.assetNames[e],t.x=this.ui.inputX-this.canvas.x,t.y=this.ui.inputY-this.canvas.y,this.canvas.elements.push(t),this.hradio.position=this.canvas.elements.length-1},update:function(){if(this.ui.inputReleased&&null!=this.dragAsset){if(this.ui.inputX<kha_System.windowWidth()-240){for(var e=0,t=0,a=this.canvas.assets.length;t<a;){var i=t++;if(this.canvas.assets[i]==this.dragAsset){e=i;break}}this.acceptDrag(e)}this.dragAsset=null}if(null==this.dragAsset){if(this.ui.inputStarted&&this.ui.inputDownR)for(var r=0,s=this.canvas.elements.length;r<s;){var n=r++,_=this.canvas.elements[n];if(this.ui.inputX>this.canvas.x+_.x&&this.ui.inputX<this.canvas.x+_.x+_.width&&this.ui.inputY>this.canvas.y+_.y&&this.ui.inputY<this.canvas.y+_.y+_.height){this.selectedElem=this.hradio.position=n;break}}if(this.selectedElem>=0&&this.selectedElem<this.canvas.elements.length){var o=this.canvas.elements[this.selectedElem];this.ui.inputStarted&&this.ui.inputX>this.canvas.x+o.x&&this.ui.inputX<this.canvas.x+o.x+o.width&&this.ui.inputY>this.canvas.y+o.y&&this.ui.inputY<this.canvas.y+o.y+o.height&&(this.drag=!0),this.ui.inputReleased&&this.drag&&(this.drag=!1),this.drag&&(this.hwin.redraws=2,o.x+=this.ui.inputDX,o.y+=this.ui.inputDY)}}},__class__:Elements};var HxOverrides=$hxClasses.HxOverrides=function(){};HxOverrides.__name__=!0,HxOverrides.strDate=function(e){switch(e.length){case 8:var t=e.split(":"),a=new Date;return a.setTime(0),a.setUTCHours(t[0]),a.setUTCMinutes(t[1]),a.setUTCSeconds(t[2]),a;case 10:var i=e.split("-");return new Date(i[0],i[1]-1,i[2],0,0,0);case 19:var r=e.split(" "),s=r[0].split("-"),n=r[1].split(":");return new Date(s[0],s[1]-1,s[2],n[0],n[1],n[2]);default:throw new js__$Boot_HaxeError("Invalid date format : "+e)}},HxOverrides.cca=function(e,t){var a=e.charCodeAt(t);if(a==a)return a},HxOverrides.substr=function(e,t,a){if(null==a)a=e.length;else if(a<0){if(0!=t)return"";a=e.length+a}return e.substr(t,a)},HxOverrides.remove=function(e,t){var a=e.indexOf(t);return-1!=a&&(e.splice(a,1),!0)},HxOverrides.iter=function(e){return{cur:0,arr:e,hasNext:function(){return this.cur<this.arr.length},next:function(){return this.arr[this.cur++]}}};var Lambda=$hxClasses.Lambda=function(){};Lambda.__name__=!0,Lambda.array=function(e){for(var t=[],a=$iterator(e)();a.hasNext();){var i=a.next();t.push(i)}return t};var List=$hxClasses.List=function(){this.length=0};List.__name__=!0,List.prototype={h:null,q:null,length:null,add:function(e){var t=new _$List_ListNode(e,null);null==this.h?this.h=t:this.q.next=t,this.q=t,this.length++},iterator:function(){return new _$List_ListIterator(this.h)},__class__:List};var _$List_ListNode=$hxClasses["_List.ListNode"]=function(e,t){this.item=e,this.next=t};_$List_ListNode.__name__=!0,_$List_ListNode.prototype={item:null,next:null,__class__:_$List_ListNode};var _$List_ListIterator=$hxClasses["_List.ListIterator"]=function(e){this.head=e};_$List_ListIterator.__name__=!0,_$List_ListIterator.prototype={head:null,hasNext:function(){return null!=this.head},next:function(){var e=this.head.item;return this.head=this.head.next,e},__class__:_$List_ListIterator};var Main=$hxClasses.Main=function(){};Main.__name__=!0,Main.main=function(){var e=kha_DisplayImpl.width(0),t=kha_DisplayImpl.height(0);kha_System.init({title:"ArmorUI",width:e,height:t,resizable:!0},Main.initialized)},Main.initialized=function(){kha_LoaderImpl.loadBlobFromDescription({files:["prefs.json"]},function(e){Main.prefs=JSON.parse(e.toString()),kha_LoaderImpl.loadBlobFromDescription({files:[Main.prefs.path]},function(e){var t=JSON.parse(e.toString());Main.inst=new Elements(t)})})},Math.__name__=!0;var Reflect=$hxClasses.Reflect=function(){};Reflect.__name__=!0,Reflect.field=function(e,t){try{return e[t]}catch(e){return null}},Reflect.fields=function(e){var t=[];if(null!=e){var a=Object.prototype.hasOwnProperty;for(var i in e)"__id__"!=i&&"hx__closures__"!=i&&a.call(e,i)&&t.push(i)}return t},Reflect.isFunction=function(e){return"function"==typeof e&&!(e.__name__||e.__ename__)},Reflect.copy=function(e){for(var t={},a=0,i=Reflect.fields(e);a<i.length;){var r=i[a];++a,t[r]=Reflect.field(e,r)}return t};var Std=$hxClasses.Std=function(){};Std.__name__=!0,Std.string=function(e){return js_Boot.__string_rec(e,"")},Std.parseInt=function(e){var t=parseInt(e,10);return 0!=t||120!=HxOverrides.cca(e,1)&&88!=HxOverrides.cca(e,1)||(t=parseInt(e)),isNaN(t)?null:t};var StringTools=$hxClasses.StringTools=function(){};StringTools.__name__=!0,StringTools.endsWith=function(e,t){var a=t.length,i=e.length;return i>=a&&HxOverrides.substr(e,i-a,a)==t},StringTools.isSpace=function(e,t){var a=HxOverrides.cca(e,t);return a>8&&a<14||32==a},StringTools.rtrim=function(e){for(var t=e.length,a=0;a<t&&StringTools.isSpace(e,t-a-1);)++a;return a>0?HxOverrides.substr(e,0,t-a):e};var Type=$hxClasses.Type=function(){};Type.__name__=!0,Type.resolveClass=function(e){var t=$hxClasses[e];return null!=t&&t.__name__?t:null},Type.resolveEnum=function(e){var t=$hxClasses[e];return null!=t&&t.__ename__?t:null},Type.createEmptyInstance=function(e){function t(){}return t.prototype=e.prototype,new t},Type.createEnum=function(e,t,a){var i=Reflect.field(e,t);if(null==i)throw new js__$Boot_HaxeError("No such constructor "+t);if(Reflect.isFunction(i)){if(null==a)throw new js__$Boot_HaxeError("Constructor "+t+" need parameters");return i.apply(e,a)}if(null!=a&&0!=a.length)throw new js__$Boot_HaxeError("Constructor "+t+" does not need parameters");return i},Type.getInstanceFields=function(e){var t=[];for(var a in e.prototype)t.push(a);return HxOverrides.remove(t,"__class__"),HxOverrides.remove(t,"__properties__"),t};var _$UInt_UInt_$Impl_$=$hxClasses["_UInt.UInt_Impl_"]={};_$UInt_UInt_$Impl_$.__name__=!0,_$UInt_UInt_$Impl_$.gt=function(e,t){var a=e<0;return a!=t<0?a:e>t},_$UInt_UInt_$Impl_$.gte=function(e,t){var a=e<0;return a!=t<0?a:e>=t},_$UInt_UInt_$Impl_$.toFloat=function(e){var t=e;return t<0?4294967296+t:t+0};var haxe_IMap=$hxClasses["haxe.IMap"]=function(){};haxe_IMap.__name__=!0;var haxe__$Int64__$_$_$Int64=$hxClasses["haxe._Int64.___Int64"]=function(e,t){this.high=e,this.low=t};haxe__$Int64__$_$_$Int64.__name__=!0,haxe__$Int64__$_$_$Int64.prototype={high:null,low:null,__class__:haxe__$Int64__$_$_$Int64};var haxe_Log=$hxClasses["haxe.Log"]=function(){};haxe_Log.__name__=!0,haxe_Log.trace=function(e,t){js_Boot.__trace(e,t)};var haxe__$Unserializer_DefaultResolver=$hxClasses["haxe._Unserializer.DefaultResolver"]=function(){};haxe__$Unserializer_DefaultResolver.__name__=!0,haxe__$Unserializer_DefaultResolver.prototype={resolveClass:function(e){return Type.resolveClass(e)},resolveEnum:function(e){return Type.resolveEnum(e)},__class__:haxe__$Unserializer_DefaultResolver};var haxe_Unserializer=$hxClasses["haxe.Unserializer"]=function(e){this.buf=e,this.length=e.length,this.pos=0,this.scache=[],this.cache=[];var t=haxe_Unserializer.DEFAULT_RESOLVER;null==t&&(t=new haxe__$Unserializer_DefaultResolver,haxe_Unserializer.DEFAULT_RESOLVER=t),this.resolver=t};haxe_Unserializer.__name__=!0,haxe_Unserializer.initCodes=function(){for(var e=[],t=0,a=haxe_Unserializer.BASE64.length;t<a;){var i=t++;e[haxe_Unserializer.BASE64.charCodeAt(i)]=i}return e},haxe_Unserializer.run=function(e){return new haxe_Unserializer(e).unserialize()},haxe_Unserializer.prototype={buf:null,pos:null,length:null,cache:null,scache:null,resolver:null,readDigits:function(){for(var e=0,t=!1,a=this.pos;;){var i=this.buf.charCodeAt(this.pos);if(i!=i)break;if(45!=i){if(i<48||i>57)break;e=10*e+(i-48),this.pos++}else{if(this.pos!=a)break;t=!0,this.pos++}}return t&&(e*=-1),e},readFloat:function(){for(var e=this.pos;;){var t=this.buf.charCodeAt(this.pos);if(t!=t)break;if(!(t>=43&&t<58||101==t||69==t))break;this.pos++}return parseFloat(HxOverrides.substr(this.buf,e,this.pos-e))},unserializeObject:function(e){for(;;){if(this.pos>=this.length)throw new js__$Boot_HaxeError("Invalid object");if(103==this.buf.charCodeAt(this.pos))break;var t=this.unserialize();if("string"!=typeof t)throw new js__$Boot_HaxeError("Invalid object key");var a=this.unserialize();e[t]=a}this.pos++},unserializeEnum:function(e,t){if(58!=this.buf.charCodeAt(this.pos++))throw new js__$Boot_HaxeError("Invalid enum format");var a=this.readDigits();if(0==a)return Type.createEnum(e,t);for(var i=[];a-- >0;)i.push(this.unserialize());return Type.createEnum(e,t,i)},unserialize:function(){switch(this.buf.charCodeAt(this.pos++)){case 65:var e=this.unserialize(),t=this.resolver.resolveClass(e);if(null==t)throw new js__$Boot_HaxeError("Class not found "+e);return t;case 66:var a=this.unserialize(),i=this.resolver.resolveEnum(a);if(null==i)throw new js__$Boot_HaxeError("Enum not found "+a);return i;case 67:var r=this.unserialize(),s=this.resolver.resolveClass(r);if(null==s)throw new js__$Boot_HaxeError("Class not found "+r);var n=Type.createEmptyInstance(s);if(this.cache.push(n),n.hxUnserialize(this),103!=this.buf.charCodeAt(this.pos++))throw new js__$Boot_HaxeError("Invalid custom data");return n;case 77:var _=new haxe_ds_ObjectMap;this.cache.push(_);for(this.buf;104!=this.buf.charCodeAt(this.pos);){var o=this.unserialize();_.set(o,this.unserialize())}return this.pos++,_;case 82:var h=this.readDigits();if(h<0||h>=this.scache.length)throw new js__$Boot_HaxeError("Invalid string reference");return this.scache[h];case 97:this.buf;var l=[];for(this.cache.push(l);;){var u=this.buf.charCodeAt(this.pos);if(104==u){this.pos++;break}if(117==u){this.pos++;var c=this.readDigits();l[l.length+c-1]=null}else l.push(this.unserialize())}return l;case 98:var d=new haxe_ds_StringMap;this.cache.push(d);for(this.buf;104!=this.buf.charCodeAt(this.pos);){var p=this.unserialize(),g=this.unserialize();null!=__map_reserved[p]?d.setReserved(p,g):d.h[p]=g}return this.pos++,d;case 99:var f=this.unserialize(),v=this.resolver.resolveClass(f);if(null==v)throw new js__$Boot_HaxeError("Class not found "+f);var k=Type.createEmptyInstance(v);return this.cache.push(k),this.unserializeObject(k),k;case 100:return this.readFloat();case 102:return!1;case 105:return this.readDigits();case 106:var m=this.unserialize(),b=this.resolver.resolveEnum(m);if(null==b)throw new js__$Boot_HaxeError("Enum not found "+m);this.pos++;var S=this.readDigits(),y=b.__constructs__.slice()[S];if(null==y)throw new js__$Boot_HaxeError("Unknown enum index "+m+"@"+S);var x=this.unserializeEnum(b,y);return this.cache.push(x),x;case 107:return NaN;case 108:var B=new List;this.cache.push(B);for(this.buf;104!=this.buf.charCodeAt(this.pos);)B.add(this.unserialize());return this.pos++,B;case 109:return-1/0;case 110:return null;case 111:var T={};return this.cache.push(T),this.unserializeObject(T),T;case 112:return 1/0;case 113:var w=new haxe_ds_IntMap;this.cache.push(w);this.buf;for(var E=this.buf.charCodeAt(this.pos++);58==E;){var I=this.readDigits(),C=this.unserialize();w.h[I]=C,E=this.buf.charCodeAt(this.pos++)}if(104!=E)throw new js__$Boot_HaxeError("Invalid IntMap format");return w;case 114:var A=this.readDigits();if(A<0||A>=this.cache.length)throw new js__$Boot_HaxeError("Invalid reference");return this.cache[A];case 115:var L=this.readDigits(),R=this.buf;if(58!=this.buf.charCodeAt(this.pos++)||this.length-this.pos<L)throw new js__$Boot_HaxeError("Invalid bytes length");var $=haxe_Unserializer.CODES;null==$&&($=haxe_Unserializer.initCodes(),haxe_Unserializer.CODES=$);for(var F=this.pos,V=3&L,N=F+(L-V),P=new haxe_io_Bytes(new ArrayBuffer(3*(L>>2)+(V>=2?V-1:0))),M=0;F<N;){var O=$[R.charCodeAt(F++)],D=$[R.charCodeAt(F++)];P.b[M++]=255&(O<<2|D>>4);var U=$[R.charCodeAt(F++)];P.b[M++]=255&(D<<4|U>>2);var H=$[R.charCodeAt(F++)];P.b[M++]=255&(U<<6|H)}if(V>=2){var G=$[R.charCodeAt(F++)],W=$[R.charCodeAt(F++)];if(P.b[M++]=255&(G<<2|W>>4),3==V){var z=$[R.charCodeAt(F++)];P.b[M++]=255&(W<<4|z>>2)}}return this.pos+=L,this.cache.push(P),P;case 116:return!0;case 118:var j;if(this.buf.charCodeAt(this.pos)>=48&&this.buf.charCodeAt(this.pos)<=57&&this.buf.charCodeAt(this.pos+1)>=48&&this.buf.charCodeAt(this.pos+1)<=57&&this.buf.charCodeAt(this.pos+2)>=48&&this.buf.charCodeAt(this.pos+2)<=57&&this.buf.charCodeAt(this.pos+3)>=48&&this.buf.charCodeAt(this.pos+3)<=57&&45==this.buf.charCodeAt(this.pos+4))j=HxOverrides.strDate(HxOverrides.substr(this.buf,this.pos,19)),this.pos+=19;else{var K=this.readFloat();j=new Date(K)}return this.cache.push(j),j;case 119:var X=this.unserialize(),Y=this.resolver.resolveEnum(X);if(null==Y)throw new js__$Boot_HaxeError("Enum not found "+X);var Z=this.unserializeEnum(Y,this.unserialize());return this.cache.push(Z),Z;case 120:throw js__$Boot_HaxeError.wrap(this.unserialize());case 121:var Q=this.readDigits();if(58!=this.buf.charCodeAt(this.pos++)||this.length-this.pos<Q)throw new js__$Boot_HaxeError("Invalid string length");var J=HxOverrides.substr(this.buf,this.pos,Q);return this.pos+=Q,J=decodeURIComponent(J.split("+").join(" ")),this.scache.push(J),J;case 122:return 0}throw this.pos--,new js__$Boot_HaxeError("Invalid char "+this.buf.charAt(this.pos)+" at position "+this.pos)},__class__:haxe_Unserializer};var haxe_ds_IntMap=$hxClasses["haxe.ds.IntMap"]=function(){this.h={}};haxe_ds_IntMap.__name__=!0,haxe_ds_IntMap.__interfaces__=[haxe_IMap],haxe_ds_IntMap.prototype={h:null,__class__:haxe_ds_IntMap};var haxe_ds_ObjectMap=$hxClasses["haxe.ds.ObjectMap"]=function(){this.h={__keys__:{}}};haxe_ds_ObjectMap.__name__=!0,haxe_ds_ObjectMap.__interfaces__=[haxe_IMap],haxe_ds_ObjectMap.prototype={h:null,set:function(e,t){var a=e.__id__||(e.__id__=++haxe_ds_ObjectMap.count);this.h[a]=t,this.h.__keys__[a]=e},__class__:haxe_ds_ObjectMap};var haxe_ds_StringMap=$hxClasses["haxe.ds.StringMap"]=function(){this.h={}};haxe_ds_StringMap.__name__=!0,haxe_ds_StringMap.__interfaces__=[haxe_IMap],haxe_ds_StringMap.prototype={h:null,rh:null,setReserved:function(e,t){null==this.rh&&(this.rh={}),this.rh["$"+e]=t},getReserved:function(e){return null==this.rh?null:this.rh["$"+e]},existsReserved:function(e){return null!=this.rh&&this.rh.hasOwnProperty("$"+e)},__class__:haxe_ds_StringMap};var haxe_io_Bytes=$hxClasses["haxe.io.Bytes"]=function(e){this.length=e.byteLength,this.b=new Uint8Array(e),this.b.bufferValue=e,e.hxBytes=this,e.bytes=this.b};haxe_io_Bytes.__name__=!0,haxe_io_Bytes.ofString=function(e){for(var t=[],a=0;a<e.length;){var i=e.charCodeAt(a++);55296<=i&&i<=56319&&(i=i-55232<<10|1023&e.charCodeAt(a++)),i<=127?t.push(i):i<=2047?(t.push(192|i>>6),t.push(128|63&i)):i<=65535?(t.push(224|i>>12),t.push(128|i>>6&63),t.push(128|63&i)):(t.push(240|i>>18),t.push(128|i>>12&63),t.push(128|i>>6&63),t.push(128|63&i))}return new haxe_io_Bytes(new Uint8Array(t).buffer)},haxe_io_Bytes.ofData=function(e){var t=e.hxBytes;return null!=t?t:new haxe_io_Bytes(e)},haxe_io_Bytes.prototype={length:null,b:null,data:null,sub:function(e,t){if(e<0||t<0||e+t>this.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);return new haxe_io_Bytes(this.b.buffer.slice(e+this.b.byteOffset,e+this.b.byteOffset+t))},getFloat:function(e){return null==this.data&&(this.data=new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength)),this.data.getFloat32(e,!0)},setInt32:function(e,t){null==this.data&&(this.data=new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength)),this.data.setInt32(e,t,!0)},getString:function(e,t){if(e<0||t<0||e+t>this.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);for(var a="",i=this.b,r=String.fromCharCode,s=e,n=e+t;s<n;){var _=i[s++];if(_<128){if(0==_)break;a+=r(_)}else if(_<224)a+=r((63&_)<<6|127&i[s++]);else if(_<240)a+=r((31&_)<<12|(127&i[s++])<<6|127&i[s++]);else{var o=(15&_)<<18|(127&i[s++])<<12|(127&i[s++])<<6|127&i[s++];a+=r(55232+(o>>10)),a+=r(1023&o|56320)}}return a},toString:function(){return this.getString(0,this.length)},__class__:haxe_io_Bytes};var haxe_io_BytesBuffer=$hxClasses["haxe.io.BytesBuffer"]=function(){this.b=[]};haxe_io_BytesBuffer.__name__=!0,haxe_io_BytesBuffer.prototype={b:null,getBytes:function(){var e=new haxe_io_Bytes(new Uint8Array(this.b).buffer);return this.b=null,e},__class__:haxe_io_BytesBuffer};var haxe_io_Input=$hxClasses["haxe.io.Input"]=function(){};haxe_io_Input.__name__=!0,haxe_io_Input.prototype={bigEndian:null,readByte:function(){throw new js__$Boot_HaxeError("Not implemented")},readBytes:function(e,t,a){var i=a,r=e.b;if(t<0||a<0||t+a>e.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);try{for(;i>0;)r[t]=this.readByte(),++t,--i}catch(e){if(e instanceof js__$Boot_HaxeError&&(e=e.val),!js_Boot.__instanceof(e,haxe_io_Eof))throw e}return a-i},readFullBytes:function(e,t,a){for(;a>0;){var i=this.readBytes(e,t,a);if(0==i)throw new js__$Boot_HaxeError(haxe_io_Error.Blocked);t+=i,a-=i}},read:function(e){for(var t=new haxe_io_Bytes(new ArrayBuffer(e)),a=0;e>0;){var i=this.readBytes(t,a,e);if(0==i)throw new js__$Boot_HaxeError(haxe_io_Error.Blocked);a+=i,e-=i}return t},readInt32:function(){var e=this.readByte(),t=this.readByte(),a=this.readByte(),i=this.readByte();return this.bigEndian?i|a<<8|t<<16|e<<24:e|t<<8|a<<16|i<<24},readString:function(e){var t=new haxe_io_Bytes(new ArrayBuffer(e));return this.readFullBytes(t,0,e),t.toString()},__class__:haxe_io_Input};var haxe_io_BytesInput=$hxClasses["haxe.io.BytesInput"]=function(e,t,a){if(null==t&&(t=0),null==a&&(a=e.length-t),t<0||a<0||t+a>e.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);this.b=e.b,this.pos=t,this.len=a,this.totlen=a};haxe_io_BytesInput.__name__=!0,haxe_io_BytesInput.__super__=haxe_io_Input,haxe_io_BytesInput.prototype=$extend(haxe_io_Input.prototype,{b:null,pos:null,len:null,totlen:null,set_position:function(e){return e<0?e=0:e>this.totlen&&(e=this.totlen),this.len=this.totlen-e,this.pos=e},readByte:function(){if(0==this.len)throw new js__$Boot_HaxeError(new haxe_io_Eof);return this.len--,this.b[this.pos++]},readBytes:function(e,t,a){if(t<0||a<0||t+a>e.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);if(0==this.len&&a>0)throw new js__$Boot_HaxeError(new haxe_io_Eof);this.len<a&&(a=this.len);for(var i=this.b,r=e.b,s=0,n=a;s<n;){var _=s++;r[t+_]=i[this.pos+_]}return this.pos+=a,this.len-=a,a},__class__:haxe_io_BytesInput});var haxe_io_Output=$hxClasses["haxe.io.Output"]=function(){};haxe_io_Output.__name__=!0,haxe_io_Output.prototype={bigEndian:null,writeByte:function(e){throw new js__$Boot_HaxeError("Not implemented")},writeBytes:function(e,t,a){if(t<0||a<0||t+a>e.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);for(var i=e.b,r=a;r>0;)this.writeByte(i[t]),++t,--r;return a},write:function(e){for(var t=e.length,a=0;t>0;){var i=this.writeBytes(e,a,t);if(0==i)throw new js__$Boot_HaxeError(haxe_io_Error.Blocked);a+=i,t-=i}},writeFloat:function(e){this.writeInt32(haxe_io_FPHelper.floatToI32(e))},writeInt32:function(e){this.bigEndian?(this.writeByte(e>>>24),this.writeByte(e>>16&255),this.writeByte(e>>8&255),this.writeByte(255&e)):(this.writeByte(255&e),this.writeByte(e>>8&255),this.writeByte(e>>16&255),this.writeByte(e>>>24))},__class__:haxe_io_Output};var haxe_io_BytesOutput=$hxClasses["haxe.io.BytesOutput"]=function(){this.b=new haxe_io_BytesBuffer};haxe_io_BytesOutput.__name__=!0,haxe_io_BytesOutput.__super__=haxe_io_Output,haxe_io_BytesOutput.prototype=$extend(haxe_io_Output.prototype,{b:null,writeByte:function(e){this.b.b.push(e)},writeBytes:function(e,t,a){var i=this.b;if(t<0||a<0||t+a>e.length)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);i.b;for(var r=e.b,s=t,n=t+a;s<n;){var _=s++;i.b.push(r[_])}return a},getBytes:function(){return this.b.getBytes()},__class__:haxe_io_BytesOutput});var haxe_io_Eof=$hxClasses["haxe.io.Eof"]=function(){};haxe_io_Eof.__name__=!0,haxe_io_Eof.prototype={toString:function(){return"Eof"},__class__:haxe_io_Eof};var haxe_io_Error=$hxClasses["haxe.io.Error"]={__ename__:!0,__constructs__:["Blocked","Overflow","OutsideBounds","Custom"]};haxe_io_Error.Blocked=["Blocked",0],haxe_io_Error.Blocked.toString=$estr,haxe_io_Error.Blocked.__enum__=haxe_io_Error,haxe_io_Error.Overflow=["Overflow",1],haxe_io_Error.Overflow.toString=$estr,haxe_io_Error.Overflow.__enum__=haxe_io_Error,haxe_io_Error.OutsideBounds=["OutsideBounds",2],haxe_io_Error.OutsideBounds.toString=$estr,haxe_io_Error.OutsideBounds.__enum__=haxe_io_Error,haxe_io_Error.Custom=function(e){var t=["Custom",3,e];return t.__enum__=haxe_io_Error,t.toString=$estr,t};var haxe_io_FPHelper=$hxClasses["haxe.io.FPHelper"]=function(){};haxe_io_FPHelper.__name__=!0,haxe_io_FPHelper.i32ToFloat=function(e){var t=1-(e>>>31<<1),a=e>>>23&255,i=8388607&e;return 0==i&&0==a?0:t*(1+Math.pow(2,-23)*i)*Math.pow(2,a-127)},haxe_io_FPHelper.floatToI32=function(e){if(0==e)return 0;var t=e<0?-e:e,a=Math.floor(Math.log(t)/.6931471805599453);a<-127?a=-127:a>128&&(a=128);var i=Math.round(8388608*(t/Math.pow(2,a)-1));return 8388608==i&&a<128&&(i=0,++a),(e<0?-2147483648:0)|a+127<<23|i},haxe_io_FPHelper.i64ToDouble=function(e,t){var a=1-(t>>>31<<1),i=(t>>20&2047)-1023,r=4294967296*(1048575&t)+2147483648*(e>>>31)+(2147483647&e);return 0==r&&-1023==i?0:a*(1+Math.pow(2,-52)*r)*Math.pow(2,i)},haxe_io_FPHelper.doubleToI64=function(e){var t=haxe_io_FPHelper.i64tmp;if(0==e)t.low=0,t.high=0;else if(isFinite(e)){var a=e<0?-e:e,i=Math.floor(Math.log(a)/.6931471805599453),r=Math.round(4503599627370496*(a/Math.pow(2,i)-1)),s=0|r,n=r/4294967296|0;t.low=s,t.high=(e<0?-2147483648:0)|i+1023<<20|n}else e>0?(t.low=0,t.high=2146435072):(t.low=0,t.high=-1048576);return t};var js__$Boot_HaxeError=$hxClasses["js._Boot.HaxeError"]=function(e){Error.call(this),this.val=e,this.message=String(e),Error.captureStackTrace&&Error.captureStackTrace(this,js__$Boot_HaxeError)};js__$Boot_HaxeError.__name__=!0,js__$Boot_HaxeError.wrap=function(e){return e instanceof Error?e:new js__$Boot_HaxeError(e)},js__$Boot_HaxeError.__super__=Error,js__$Boot_HaxeError.prototype=$extend(Error.prototype,{val:null,__class__:js__$Boot_HaxeError});var js_Boot=$hxClasses["js.Boot"]=function(){};js_Boot.__name__=!0,js_Boot.__unhtml=function(e){return e.split("&").join("&amp;").split("<").join("&lt;").split(">").join("&gt;")},js_Boot.__trace=function(e,t){var a=null!=t?t.fileName+":"+t.lineNumber+": ":"";if(a+=js_Boot.__string_rec(e,""),null!=t&&null!=t.customParams)for(var i=0,r=t.customParams;i<r.length;){var s=r[i];++i,a+=","+js_Boot.__string_rec(s,"")}var n;"undefined"!=typeof document&&null!=(n=document.getElementById("haxe:trace"))?n.innerHTML+=js_Boot.__unhtml(a)+"<br/>":"undefined"!=typeof console&&null!=console.log&&console.log(a)},js_Boot.getClass=function(e){if(e instanceof Array&&null==e.__enum__)return Array;var t=e.__class__;if(null!=t)return t;var a=js_Boot.__nativeClassName(e);return null!=a?js_Boot.__resolveNativeClass(a):null},js_Boot.__string_rec=function(e,t){if(null==e)return"null";if(t.length>=5)return"<...>";var a=typeof e;switch("function"==a&&(e.__name__||e.__ename__)&&(a="object"),a){case"function":return"<function>";case"object":if(e instanceof Array){if(e.__enum__){if(2==e.length)return e[0];var i=e[0]+"(";t+="\t";for(var r=2,s=e.length;r<s;){var n=r++;i+=2!=n?","+js_Boot.__string_rec(e[n],t):js_Boot.__string_rec(e[n],t)}return i+")"}var _="[";t+="\t";for(var o=0,h=e.length;o<h;){var l=o++;_+=(l>0?",":"")+js_Boot.__string_rec(e[l],t)}return _+="]"}var u;try{u=e.toString}catch(e){return"???"}if(null!=u&&u!=Object.toString&&"function"==typeof u){var c=e.toString();if("[object Object]"!=c)return c}var d=null,p="{\n";t+="\t";var g=null!=e.hasOwnProperty;for(var d in e)g&&!e.hasOwnProperty(d)||"prototype"!=d&&"__class__"!=d&&"__super__"!=d&&"__interfaces__"!=d&&"__properties__"!=d&&(2!=p.length&&(p+=", \n"),p+=t+d+" : "+js_Boot.__string_rec(e[d],t));return t=t.substring(1),p+="\n"+t+"}";case"string":return e;default:return String(e)}},js_Boot.__interfLoop=function(e,t){if(null==e)return!1;if(e==t)return!0;var a=e.__interfaces__;if(null!=a)for(var i=0,r=a.length;i<r;){var s=a[i++];if(s==t||js_Boot.__interfLoop(s,t))return!0}return js_Boot.__interfLoop(e.__super__,t)},js_Boot.__instanceof=function(e,t){if(null==t)return!1;switch(t){case Array:return e instanceof Array&&null==e.__enum__;case Bool:return"boolean"==typeof e;case Dynamic:return!0;case Float:return"number"==typeof e;case Int:return"number"==typeof e&&(0|e)===e;case String:return"string"==typeof e;default:if(null==e)return!1;if("function"==typeof t){if(e instanceof t)return!0;if(js_Boot.__interfLoop(js_Boot.getClass(e),t))return!0}else if("object"==typeof t&&js_Boot.__isNativeObj(t)&&e instanceof t)return!0;return t==Class&&null!=e.__name__||(t==Enum&&null!=e.__ename__||e.__enum__==t)}},js_Boot.__cast=function(e,t){if(js_Boot.__instanceof(e,t))return e;throw new js__$Boot_HaxeError("Cannot cast "+Std.string(e)+" to "+Std.string(t))},js_Boot.__nativeClassName=function(e){var t=js_Boot.__toStr.call(e).slice(8,-1);return"Object"==t||"Function"==t||"Math"==t||"JSON"==t?null:t},js_Boot.__isNativeObj=function(e){return null!=js_Boot.__nativeClassName(e)},js_Boot.__resolveNativeClass=function(e){return $global[e]};var js_html_compat_ArrayBuffer=$hxClasses["js.html.compat.ArrayBuffer"]=function(e){if(e instanceof Array&&null==e.__enum__)this.a=e,this.byteLength=e.length;else{var t=e;this.a=[];for(var a=0,i=t;a<i;){var r=a++;this.a[r]=0}this.byteLength=t}};js_html_compat_ArrayBuffer.__name__=!0,js_html_compat_ArrayBuffer.sliceImpl=function(e,t){var a=new Uint8Array(this,e,null==t?null:t-e),i=new ArrayBuffer(a.byteLength);return new Uint8Array(i).set(a),i},js_html_compat_ArrayBuffer.prototype={byteLength:null,a:null,slice:function(e,t){return new js_html_compat_ArrayBuffer(this.a.slice(e,t))},__class__:js_html_compat_ArrayBuffer};var js_html_compat_DataView=$hxClasses["js.html.compat.DataView"]=function(e,t,a){if(this.buf=e,this.offset=null==t?0:t,this.length=null==a?e.byteLength-this.offset:a,this.offset<0||this.length<0||this.offset+this.length>e.byteLength)throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds);this.byteLength=this.length,this.byteOffset=this.offset,this.buffer=this.buf};js_html_compat_DataView.__name__=!0,js_html_compat_DataView.prototype={buf:null,offset:null,length:null,byteLength:null,byteOffset:null,buffer:null,getInt8:function(e){var t=this.buf.a[this.offset+e];return t>=128?t-256:t},getUint8:function(e){return this.buf.a[this.offset+e]},getInt16:function(e,t){var a=this.getUint16(e,t);return a>=32768?a-65536:a},getUint16:function(e,t){return t?this.buf.a[this.offset+e]|this.buf.a[this.offset+e+1]<<8:this.buf.a[this.offset+e]<<8|this.buf.a[this.offset+e+1]},getInt32:function(e,t){var a=this.offset+e,i=this.buf.a[a++],r=this.buf.a[a++],s=this.buf.a[a++],n=this.buf.a[a++];return t?i|r<<8|s<<16|n<<24:n|s<<8|r<<16|i<<24},getUint32:function(e,t){var a=this.getInt32(e,t);return a<0?a+4294967296:a},getFloat32:function(e,t){return haxe_io_FPHelper.i32ToFloat(this.getInt32(e,t))},getFloat64:function(e,t){var a=this.getInt32(e,t),i=this.getInt32(e+4,t);return haxe_io_FPHelper.i64ToDouble(t?a:i,t?i:a)},setInt8:function(e,t){this.buf.a[e+this.offset]=t<0?t+128&255:255&t},setUint8:function(e,t){this.buf.a[e+this.offset]=255&t},setInt16:function(e,t,a){this.setUint16(e,t<0?t+65536:t,a)},setUint16:function(e,t,a){var i=e+this.offset;a?(this.buf.a[i]=255&t,this.buf.a[i++]=t>>8&255):(this.buf.a[i++]=t>>8&255,this.buf.a[i]=255&t)},setInt32:function(e,t,a){this.setUint32(e,t,a)},setUint32:function(e,t,a){var i=e+this.offset;a?(this.buf.a[i++]=255&t,this.buf.a[i++]=t>>8&255,this.buf.a[i++]=t>>16&255,this.buf.a[i++]=t>>>24):(this.buf.a[i++]=t>>>24,this.buf.a[i++]=t>>16&255,this.buf.a[i++]=t>>8&255,this.buf.a[i++]=255&t)},setFloat32:function(e,t,a){this.setUint32(e,haxe_io_FPHelper.floatToI32(t),a)},setFloat64:function(e,t,a){var i=haxe_io_FPHelper.doubleToI64(t);a?(this.setUint32(e,i.low),this.setUint32(e,i.high)):(this.setUint32(e,i.high),this.setUint32(e,i.low))},__class__:js_html_compat_DataView};var js_html_compat_Float32Array=$hxClasses["js.html.compat.Float32Array"]=function(){};js_html_compat_Float32Array.__name__=!0,js_html_compat_Float32Array._new=function(e,t,a){var i;if("number"==typeof e){i=[];for(var r=0,s=e;r<s;)i[r++]=0;i.byteLength=i.length<<2,i.byteOffset=0;for(var n=[],_=0,o=i.length<<2;_<o;){_++;n.push(0)}i.buffer=new js_html_compat_ArrayBuffer(n)}else if(js_Boot.__instanceof(e,js_html_compat_ArrayBuffer)){var h=e;null==t&&(t=0),null==a&&(a=h.byteLength-t>>2),i=[];for(var l=0,u=a;l<u;){l++;var c=h.a[t++]|h.a[t++]<<8|h.a[t++]<<16|h.a[t++]<<24;i.push(haxe_io_FPHelper.i32ToFloat(c))}i.byteLength=i.length<<2,i.byteOffset=t,i.buffer=h}else{if(!(e instanceof Array&&null==e.__enum__))throw new js__$Boot_HaxeError("TODO "+Std.string(e));i=e.slice();for(var d=[],p=0;p<i.length;){var g=i[p];++p;var f=haxe_io_FPHelper.floatToI32(g);d.push(255&f),d.push(f>>8&255),d.push(f>>16&255),d.push(f>>>24)}i.byteLength=i.length<<2,i.byteOffset=0,i.buffer=new js_html_compat_ArrayBuffer(d)}return i.subarray=js_html_compat_Float32Array._subarray,i.set=js_html_compat_Float32Array._set,i},js_html_compat_Float32Array._set=function(e,t){if(js_Boot.__instanceof(e.buffer,js_html_compat_ArrayBuffer)){var a=e;if(e.byteLength+t>this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var i=0,r=e.byteLength;i<r;){var s=i++;this[s+t]=a[s]}}else{if(!(e instanceof Array&&null==e.__enum__))throw new js__$Boot_HaxeError("TODO");var n=e;if(n.length+t>this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var _=0,o=n.length;_<o;){var h=_++;this[h+t]=n[h]}}},js_html_compat_Float32Array._subarray=function(e,t){var a=js_html_compat_Float32Array._new(this.slice(e,t));return a.byteOffset=4*e,a};var js_html_compat_Uint8Array=$hxClasses["js.html.compat.Uint8Array"]=function(){};js_html_compat_Uint8Array.__name__=!0,js_html_compat_Uint8Array._new=function(e,t,a){var i;if("number"==typeof e){i=[];for(var r=0,s=e;r<s;)i[r++]=0;i.byteLength=i.length,i.byteOffset=0,i.buffer=new js_html_compat_ArrayBuffer(i)}else if(js_Boot.__instanceof(e,js_html_compat_ArrayBuffer)){var n=e;null==t&&(t=0),null==a&&(a=n.byteLength-t),(i=0==t?n.a:n.a.slice(t,t+a)).byteLength=i.length,i.byteOffset=t,i.buffer=n}else{if(!(e instanceof Array&&null==e.__enum__))throw new js__$Boot_HaxeError("TODO "+Std.string(e));(i=e.slice()).byteLength=i.length,i.byteOffset=0,i.buffer=new js_html_compat_ArrayBuffer(i)}return i.subarray=js_html_compat_Uint8Array._subarray,i.set=js_html_compat_Uint8Array._set,i},js_html_compat_Uint8Array._set=function(e,t){if(js_Boot.__instanceof(e.buffer,js_html_compat_ArrayBuffer)){var a=e;if(e.byteLength+t>this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var i=0,r=e.byteLength;i<r;){var s=i++;this[s+t]=a[s]}}else{if(!(e instanceof Array&&null==e.__enum__))throw new js__$Boot_HaxeError("TODO");var n=e;if(n.length+t>this.byteLength)throw new js__$Boot_HaxeError("set() outside of range");for(var _=0,o=n.length;_<o;){var h=_++;this[h+t]=n[h]}}},js_html_compat_Uint8Array._subarray=function(e,t){var a=js_html_compat_Uint8Array._new(this.slice(e,t));return a.byteOffset=e,a};var kha__$Assets_ImageList=$hxClasses["kha._Assets.ImageList"]=function(){this.names=["color_wheel"],this.color_wheelDescription={files:["color_wheel.png"],original_height:270,type:"image",original_width:360,name:"color_wheel"},this.color_wheelName="color_wheel",this.color_wheel=null};kha__$Assets_ImageList.__name__=!0,kha__$Assets_ImageList.prototype={color_wheel:null,color_wheelName:null,color_wheelDescription:null,color_wheelLoad:function(e){kha_Assets.loadImage("color_wheel",function(t){e()})},color_wheelUnload:function(){this.color_wheel.unload(),this.color_wheel=null},names:null,__class__:kha__$Assets_ImageList};var kha__$Assets_SoundList=$hxClasses["kha._Assets.SoundList"]=function(){this.names=[]};kha__$Assets_SoundList.__name__=!0,kha__$Assets_SoundList.prototype={names:null,__class__:kha__$Assets_SoundList};var kha__$Assets_BlobList=$hxClasses["kha._Assets.BlobList"]=function(){this.names=[]};kha__$Assets_BlobList.__name__=!0,kha__$Assets_BlobList.prototype={names:null,__class__:kha__$Assets_BlobList};var kha__$Assets_FontList=$hxClasses["kha._Assets.FontList"]=function(){this.names=["DroidSans"],this.DroidSansDescription={files:["DroidSans.ttf"],type:"font",name:"DroidSans"},this.DroidSansName="DroidSans",this.DroidSans=null};kha__$Assets_FontList.__name__=!0,kha__$Assets_FontList.prototype={DroidSans:null,DroidSansName:null,DroidSansDescription:null,DroidSansLoad:function(e){kha_Assets.loadFont("DroidSans",function(t){e()})},DroidSansUnload:function(){this.DroidSans.unload(),this.DroidSans=null},names:null,__class__:kha__$Assets_FontList};var kha__$Assets_VideoList=$hxClasses["kha._Assets.VideoList"]=function(){this.names=[]};kha__$Assets_VideoList.__name__=!0,kha__$Assets_VideoList.prototype={names:null,__class__:kha__$Assets_VideoList};var kha_Assets=$hxClasses["kha.Assets"]=function(){};kha_Assets.__name__=!0,kha_Assets.loadEverything=function(e){for(var t=0,a=0,i=Type.getInstanceFields(kha__$Assets_BlobList);a<i.length;){var r=i[a];++a,StringTools.endsWith(r,"Load")&&(t+=1)}for(var s=0,n=Type.getInstanceFields(kha__$Assets_ImageList);s<n.length;){var _=n[s];++s,StringTools.endsWith(_,"Load")&&(t+=1)}for(var o=0,h=Type.getInstanceFields(kha__$Assets_SoundList);o<h.length;){var l=h[o];++o,StringTools.endsWith(l,"Load")&&(t+=1)}for(var u=0,c=Type.getInstanceFields(kha__$Assets_FontList);u<c.length;){var d=c[u];++u,StringTools.endsWith(d,"Load")&&(t+=1)}for(var p=0,g=Type.getInstanceFields(kha__$Assets_VideoList);p<g.length;){var f=g[p];++p,StringTools.endsWith(f,"Load")&&(t+=1)}if(0!=t){for(var v=t,k=0,m=Type.getInstanceFields(kha__$Assets_BlobList);k<m.length;){var b=m[k];++k,StringTools.endsWith(b,"Load")&&Reflect.field(kha_Assets.blobs,b)(function(){v-=1,kha_Assets.progress=1-v/t,0==v&&e()})}for(var S=0,y=Type.getInstanceFields(kha__$Assets_ImageList);S<y.length;){var x=y[S];++S,StringTools.endsWith(x,"Load")&&Reflect.field(kha_Assets.images,x)(function(){v-=1,kha_Assets.progress=1-v/t,0==v&&e()})}for(var B=0,T=Type.getInstanceFields(kha__$Assets_SoundList);B<T.length;){var w=[T[B]];++B,StringTools.endsWith(w[0],"Load")&&Reflect.field(kha_Assets.sounds,w[0])(function(a){return function(){Reflect.field(kha_Assets.sounds,a[0].substring(0,a[0].length-4)).uncompress(function(){v-=1,kha_Assets.progress=1-v/t,0==v&&e()})}}(w))}for(var E=0,I=Type.getInstanceFields(kha__$Assets_FontList);E<I.length;){var C=I[E];++E,StringTools.endsWith(C,"Load")&&Reflect.field(kha_Assets.fonts,C)(function(){v-=1,kha_Assets.progress=1-v/t,0==v&&e()})}for(var A=0,L=Type.getInstanceFields(kha__$Assets_VideoList);A<L.length;){var R=L[A];++A,StringTools.endsWith(R,"Load")&&Reflect.field(kha_Assets.videos,R)(function(){v-=1,kha_Assets.progress=1-v/t,0==v&&e()})}}else e()},kha_Assets.loadImage=function(e,t){var a=Reflect.field(kha_Assets.images,e+"Description");kha_LoaderImpl.loadImageFromDescription(a,function(a){kha_Assets.images[e]=a,t(a)})},kha_Assets.loadImageFromPath=function(e,t,a){var i={files:[e],readable:t};kha_LoaderImpl.loadImageFromDescription(i,a)},kha_Assets.get_imageFormats=function(){return kha_LoaderImpl.getImageFormats()},kha_Assets.loadBlob=function(e,t){var a=Reflect.field(kha_Assets.blobs,e+"Description");kha_LoaderImpl.loadBlobFromDescription(a,function(a){kha_Assets.blobs[e]=a,t(a)})},kha_Assets.loadBlobFromPath=function(e,t){var a={files:[e]};kha_LoaderImpl.loadBlobFromDescription(a,t)},kha_Assets.loadSound=function(e,t){var a=Reflect.field(kha_Assets.sounds,e+"Description");kha_LoaderImpl.loadSoundFromDescription(a,function(a){kha_Assets.sounds[e]=a,t(a)})},kha_Assets.loadSoundFromPath=function(e,t){var a={files:[e]};kha_LoaderImpl.loadSoundFromDescription(a,t)},kha_Assets.get_soundFormats=function(){return kha_LoaderImpl.getSoundFormats()},kha_Assets.loadFont=function(e,t){var a=Reflect.field(kha_Assets.fonts,e+"Description");kha_LoaderImpl.loadFontFromDescription(a,function(a){kha_Assets.fonts[e]=a,t(a)})},kha_Assets.loadFontFromPath=function(e,t){var a={files:[e]};kha_LoaderImpl.loadFontFromDescription(a,t)},kha_Assets.get_fontFormats=function(){return["ttf"]},kha_Assets.loadVideo=function(e,t){var a=Reflect.field(kha_Assets.videos,e+"Description");kha_LoaderImpl.loadVideoFromDescription(a,function(a){kha_Assets.videos[e]=a,t(a)})},kha_Assets.loadVideoFromPath=function(e,t){var a={files:[e]};kha_LoaderImpl.loadVideoFromDescription(a,t)},kha_Assets.get_videoFormats=function(){return kha_LoaderImpl.getVideoFormats()};var kha_Canvas=$hxClasses["kha.Canvas"]=function(){};kha_Canvas.__name__=!0,kha_Canvas.prototype={get_width:null,get_height:null,get_g1:null,get_g2:null,get_g4:null,width:null,height:null,g1:null,g2:null,g4:null,__class__:kha_Canvas};var kha__$Color_Color_$Impl_$=$hxClasses["kha._Color.Color_Impl_"]=$hx_exports.kha._Color.Color_Impl_={};kha__$Color_Color_$Impl_$.__name__=!0,kha__$Color_Color_$Impl_$.fromValue=function(e){return kha__$Color_Color_$Impl_$._new(e)},kha__$Color_Color_$Impl_$.fromBytes=function(e,t,a,i){return null==i&&(i=255),kha__$Color_Color_$Impl_$._new(i<<24|e<<16|t<<8|a)},kha__$Color_Color_$Impl_$.fromFloats=function(e,t,a,i){return null==i&&(i=1),kha__$Color_Color_$Impl_$._new((255*i|0)<<24|(255*e|0)<<16|(255*t|0)<<8|255*a|0)},kha__$Color_Color_$Impl_$.fromString=function(e){if(7!=e.length&&9!=e.length||35!=e.charCodeAt(0))throw new js__$Boot_HaxeError("Invalid Color string: '"+e+"'");var t=Std.parseInt("0x"+HxOverrides.substr(e,1,null));return 7==e.length&&(t+=-16777216),kha__$Color_Color_$Impl_$._new(t)},kha__$Color_Color_$Impl_$._new=function(e){return e},kha__$Color_Color_$Impl_$.get_value=function(e){return e},kha__$Color_Color_$Impl_$.set_value=function(e,t){return t},kha__$Color_Color_$Impl_$.get_Rb=function(e){return(16711680&e)>>>16},kha__$Color_Color_$Impl_$.get_Gb=function(e){return(65280&e)>>>8},kha__$Color_Color_$Impl_$.get_Bb=function(e){return 255&e},kha__$Color_Color_$Impl_$.get_Ab=function(e){return e>>>24},kha__$Color_Color_$Impl_$.set_Rb=function(e,t){return e=e>>>24<<24|t<<16|(65280&e)>>>8<<8|255&e,t},kha__$Color_Color_$Impl_$.set_Gb=function(e,t){return e=e>>>24<<24|(16711680&e)>>>16<<16|t<<8|255&e,t},kha__$Color_Color_$Impl_$.set_Bb=function(e,t){return e=e>>>24<<24|(16711680&e)>>>16<<16|(65280&e)>>>8<<8|t,t},kha__$Color_Color_$Impl_$.set_Ab=function(e,t){return e=t<<24|(16711680&e)>>>16<<16|(65280&e)>>>8<<8|255&e,t},kha__$Color_Color_$Impl_$.get_R=function(e){return.00392156862745098*((16711680&e)>>>16)},kha__$Color_Color_$Impl_$.get_G=function(e){return.00392156862745098*((65280&e)>>>8)},kha__$Color_Color_$Impl_$.get_B=function(e){return.00392156862745098*(255&e)},kha__$Color_Color_$Impl_$.get_A=function(e){return.00392156862745098*(e>>>24)},kha__$Color_Color_$Impl_$.set_R=function(e,t){return e=(.00392156862745098*(e>>>24)*255|0)<<24|(255*t|0)<<16|(.00392156862745098*((65280&e)>>>8)*255|0)<<8|.00392156862745098*(255&e)*255|0,t},kha__$Color_Color_$Impl_$.set_G=function(e,t){return e=(.00392156862745098*(e>>>24)*255|0)<<24|(.00392156862745098*((16711680&e)>>>16)*255|0)<<16|(255*t|0)<<8|.00392156862745098*(255&e)*255|0,t},kha__$Color_Color_$Impl_$.set_B=function(e,t){return e=(.00392156862745098*(e>>>24)*255|0)<<24|(.00392156862745098*((16711680&e)>>>16)*255|0)<<16|(.00392156862745098*((65280&e)>>>8)*255|0)<<8|255*t|0,t},kha__$Color_Color_$Impl_$.set_A=function(e,t){return e=(255*t|0)<<24|(.00392156862745098*((16711680&e)>>>16)*255|0)<<16|(.00392156862745098*((65280&e)>>>8)*255|0)<<8|.00392156862745098*(255&e)*255|0,t};var kha_Display=$hxClasses["kha.Display"]=function(){};kha_Display.__name__=!0,kha_Display.width=function(e){return kha_DisplayImpl.width(e)},kha_Display.height=function(e){return kha_DisplayImpl.height(e)},kha_Display.x=function(e){return kha_DisplayImpl.x(e)},kha_Display.y=function(e){return kha_DisplayImpl.y(e)},kha_Display.isPrimary=function(e){return kha_DisplayImpl.isPrimary(e)},kha_Display.get_count=function(){return kha_DisplayImpl.count()};var kha_DisplayImpl=$hxClasses["kha.DisplayImpl"]=function(){};kha_DisplayImpl.__name__=!0,kha_DisplayImpl.count=function(){return Krom.displayCount()},kha_DisplayImpl.width=function(e){return Krom.displayWidth(e)},kha_DisplayImpl.height=function(e){return Krom.displayHeight(e)},kha_DisplayImpl.x=function(e){return Krom.displayX(e)},kha_DisplayImpl.y=function(e){return Krom.displayY(e)},kha_DisplayImpl.isPrimary=function(e){return Krom.displayIsPrimary(e)};var kha_Resource=$hxClasses["kha.Resource"]=function(){};kha_Resource.__name__=!0,kha_Resource.prototype={unload:null,__class__:kha_Resource};var kha_Font=$hxClasses["kha.Font"]=function(){};kha_Font.__name__=!0,kha_Font.__interfaces__=[kha_Resource],kha_Font.prototype={height:null,width:null,baseline:null,__class__:kha_Font};var kha_FontStyle=$hxClasses["kha.FontStyle"]=function(e,t,a){this.bold=e,this.italic=t,this.underlined=a};kha_FontStyle.__name__=!0,kha_FontStyle.prototype={bold:null,italic:null,underlined:null,getBold:function(){return this.bold},getItalic:function(){return this.italic},getUnderlined:function(){return this.underlined},__class__:kha_FontStyle};var kha_Framebuffer=$hxClasses["kha.Framebuffer"]=function(e,t,a,i){this.windowId=e,this.graphics1=t,this.graphics2=a,this.graphics4=i};kha_Framebuffer.__name__=!0,kha_Framebuffer.__interfaces__=[kha_Canvas],kha_Framebuffer.prototype={windowId:null,graphics1:null,graphics2:null,graphics4:null,init:function(e,t,a){this.graphics1=e,this.graphics2=t,this.graphics4=a},g1:null,get_g1:function(){return this.graphics1},g2:null,get_g2:function(){return this.graphics2},g4:null,get_g4:function(){return this.graphics4},width:null,get_width:function(){return kha_System.windowWidth(this.windowId)},height:null,get_height:function(){return kha_System.windowHeight(this.windowId)},__class__:kha_Framebuffer};var kha_Image=$hxClasses["kha.Image"]=function(e){this.pixels=null,this.bytes=null,this.texture_=e};kha_Image.__name__=!0,kha_Image.__interfaces__=[kha_Resource,kha_Canvas],kha_Image.getRenderTargetFormat=function(e){switch(e[1]){case 0:return 0;case 1:return 5;case 2:return 3;case 3:return 4;case 4:return 1;case 5:return 2;case 6:return 6}},kha_Image.getDepthBufferBits=function(e){switch(e){case 0:return-1;case 1:case 2:case 3:return 24;case 4:return 32;case 5:return 16}},kha_Image.getStencilBufferBits=function(e){switch(e){case 0:case 1:return-1;case 2:case 3:case 4:return 8;case 5:return 0}},kha_Image.getTextureFormat=function(e){switch(e[1]){case 0:return 0;case 2:return 3;case 4:return 4;case 5:return 5;case 6:return 7;default:return 1}},kha_Image._fromTexture=function(e){return new kha_Image(e)},kha_Image.fromBytes=function(e,t,a,i,r){null==i&&(i=kha_graphics4_TextureFormat.RGBA32);var s=new kha_Image(null);return s.format=i,s.texture_=Krom.createTextureFromBytes(e.b.bufferValue,t,a,kha_Image.getTextureFormat(i),!0),s},kha_Image.create=function(e,t,a,i){null==a&&(a=kha_graphics4_TextureFormat.RGBA32);var r=new kha_Image(null);return r.format=a,r.texture_=Krom.createTexture(e,t,kha_Image.getTextureFormat(a)),r},kha_Image.create3D=function(e,t,a,i,r){null==i&&(i=kha_graphics4_TextureFormat.RGBA32);var s=new kha_Image(null);return s.format=i,s.texture_=Krom.createTexture3D(e,t,a,kha_Image.getTextureFormat(i)),s},kha_Image.createRenderTarget=function(e,t,a,i,r,s){null==s&&(s=0),null==r&&(r=1),null==i&&(i=0),null==a&&(a=kha_graphics4_TextureFormat.RGBA32);var n=new kha_Image(null);return n.format=a,n.renderTarget_=Krom.createRenderTarget(e,t,kha_Image.getDepthBufferBits(i),kha_Image.getRenderTargetFormat(a),kha_Image.getStencilBufferBits(i),s),n},kha_Image.get_maxSize=function(){return 4096},kha_Image.get_nonPow2Supported=function(){return!0},kha_Image.formatByteSize=function(e){switch(e[1]){case 0:return 4;case 1:return 1;case 2:return 16;case 3:return 2;case 4:return 8;case 5:return 4;case 6:return 2}},kha_Image.prototype={texture_:null,renderTarget_:null,format:null,readable:null,graphics1:null,graphics2:null,graphics4:null,isOpaque:function(e,t){return!1},at:function(e,t){return-16777216},unload:function(){Krom.unloadImage(this),this.texture_=null,this.renderTarget_=null},bytes:null,lock:function(e){return null==e&&(e=0),this.bytes=new haxe_io_Bytes(new ArrayBuffer(this.format==kha_graphics4_TextureFormat.RGBA32?4*this.get_width()*this.get_height():this.get_width()*this.get_height())),this.bytes},unlock:function(){Krom.unlockTexture(this.texture_,this.bytes.b.bufferValue)},pixels:null,getPixels:function(){return null==this.renderTarget_?null:(null==this.pixels&&(this.pixels=new haxe_io_Bytes(new ArrayBuffer(kha_Image.formatByteSize(this.format)*this.get_width()*this.get_height()))),Krom.getRenderTargetPixels(this.renderTarget_,this.pixels.b.bufferValue),this.pixels)},generateMipmaps:function(e){Krom.generateMipmaps(this.texture_,e)},setMipmaps:function(e){Krom.setMipmaps(this.texture_,e)},setDepthStencilFrom:function(e){Krom.setDepthStencilFrom(this.renderTarget_,e.renderTarget_)},clear:function(e,t,a,i,r,s,n){Krom.clearTexture(this.texture_,e,t,a,i,r,s,n)},width:null,get_width:function(){return null==this.texture_?this.renderTarget_.width:this.texture_.width},height:null,get_height:function(){return null==this.texture_?this.renderTarget_.height:this.texture_.height},depth:null,get_depth:function(){return null!=this.texture_?this.texture_.depth:1},realWidth:null,get_realWidth:function(){return null==this.texture_?this.renderTarget_.width:this.texture_.realWidth},realHeight:null,get_realHeight:function(){return null==this.texture_?this.renderTarget_.height:this.texture_.realHeight},g1:null,get_g1:function(){return null==this.graphics1&&(this.graphics1=new kha_graphics2_Graphics1(this)),this.graphics1},g2:null,get_g2:function(){return null==this.graphics2&&(this.graphics2=new kha_graphics4_Graphics2(this)),this.graphics2},g4:null,get_g4:function(){return null==this.graphics4&&(this.graphics4=new kha_krom_Graphics(this)),this.graphics4},__class__:kha_Image};var kha_AlignedQuad=$hxClasses["kha.AlignedQuad"]=function(){};kha_AlignedQuad.__name__=!0,kha_AlignedQuad.prototype={x0:null,y0:null,s0:null,t0:null,x1:null,y1:null,s1:null,t1:null,xadvance:null,__class__:kha_AlignedQuad};var kha_KravurImage=$hxClasses["kha.KravurImage"]=function(e,t,a,i,r,s,n,_){this.mySize=e,this.width=r,this.height=s,this.chars=n,this.baseline=t;for(var o=0;o<n.length;){var h=n[o];++o,h.yoff+=this.baseline}this.texture=kha_Image.create(r,s,kha_graphics4_TextureFormat.L8);for(var l=this.texture.lock(),u=0,c=0,d=s;c<d;){c++;for(var p=0,g=r;p<g;){p++;var f=_.readU8(u);l.b[u]=255&f,++u}}this.texture.unlock()};kha_KravurImage.__name__=!0,kha_KravurImage.prototype={mySize:null,chars:null,texture:null,width:null,height:null,baseline:null,getTexture:function(){return this.texture},getBakedQuad:function(e,t,a){if(e>=this.chars.length)return null;var i=1/this.width,r=1/this.height,s=this.chars[e];if(null==s)return null;var n=Math.round(t+s.xoff),_=Math.round(a+s.yoff),o=new kha_AlignedQuad;return o.x0=n,o.y0=_,o.x1=n+s.x1-s.x0,o.y1=_+s.y1-s.y0,o.s0=s.x0*i,o.t0=s.y0*r,o.s1=s.x1*i,o.t1=s.y1*r,o.xadvance=s.xadvance,o},getCharWidth:function(e){return e<32?0:e-32>=this.chars.length?0:this.chars[e-32].xadvance},getHeight:function(){return this.mySize},stringWidth:function(e){for(var t=new String(e),a=0,i=0,r=t.length;i<r;){var s=i++;a+=this.getCharWidth(HxOverrides.cca(t,s))}return a},getBaselinePosition:function(){return this.baseline},__class__:kha_KravurImage};var kha_Kravur=$hxClasses["kha.Kravur"]=function(e){this.images=new haxe_ds_IntMap,this.blob=e};kha_Kravur.__name__=!0,kha_Kravur.__interfaces__=[kha_Font],kha_Kravur.prototype={blob:null,images:null,_get:function(e,t){if(!this.images.h.hasOwnProperty(e)){if(null==t){t=[];for(var a=32;a<256;){var i=a++;t.push(i)}}for(var r=64,s=32,n=t.length,_=new Array(n),o=0,h=_.length;o<h;)_[o++]=new kha_graphics2_truetype_Stbtt_$bakedchar;for(var l=null,u=-1;u<0;)s<r?s*=2:r*=2,l=kha_internal_BytesBlob.alloc(r*s),u=kha_graphics2_truetype_StbTruetype.stbtt_BakeFontBitmap(this.blob,0,e,l,r,s,t,_);var c=new kha_graphics2_truetype_Stbtt_$fontinfo;kha_graphics2_truetype_StbTruetype.stbtt_InitFont(c,this.blob,0);var d=kha_graphics2_truetype_StbTruetype.stbtt_GetFontVMetrics(c),p=kha_graphics2_truetype_StbTruetype.stbtt_ScaleForPixelHeight(c,e),g=Math.round(d.ascent*p),f=Math.round(d.descent*p),v=Math.round(d.lineGap*p),k=new kha_KravurImage(0|e,g,f,v,r,s,_,l);return this.images.h[e]=k,k}return this.images.h[e]},height:function(e){return this._get(e).getHeight()},width:function(e,t){return this._get(e).stringWidth(t)},baseline:function(e){return this._get(e).getBaselinePosition()},unload:function(){this.blob=null,this.images=null},__class__:kha_Kravur};var kha_LoaderImpl=$hxClasses["kha.LoaderImpl"]=function(){};kha_LoaderImpl.__name__=!0,kha_LoaderImpl.getImageFormats=function(){return["png","jpg"]},kha_LoaderImpl.loadImageFromDescription=function(e,t){var a=Object.prototype.hasOwnProperty.call(e,"readable")&&e.readable;t(kha_Image._fromTexture(Krom.loadImage(e.files[0],a)))},kha_LoaderImpl.getSoundFormats=function(){return["wav","ogg"]},kha_LoaderImpl.loadSoundFromDescription=function(e,t){t(new kha_krom_Sound(haxe_io_Bytes.ofData(Krom.loadSound(e.files[0]))))},kha_LoaderImpl.getVideoFormats=function(){return["webm"]},kha_LoaderImpl.loadVideoFromDescription=function(e,t){},kha_LoaderImpl.loadBlobFromDescription=function(e,t){t(new kha_internal_BytesBlob(haxe_io_Bytes.ofData(Krom.loadBlob(e.files[0]))))},kha_LoaderImpl.loadFontFromDescription=function(e,t){kha_LoaderImpl.loadBlobFromDescription(e,function(e){t(new kha_Kravur(e))})};var kha_TimeTask=$hxClasses["kha.TimeTask"]=function(){};kha_TimeTask.__name__=!0,kha_TimeTask.prototype={task:null,start:null,period:null,duration:null,next:null,id:null,groupId:null,active:null,paused:null,__class__:kha_TimeTask};var kha_FrameTask=$hxClasses["kha.FrameTask"]=function(e,t,a){this.task=e,this.priority=t,this.id=a,this.active=!0,this.paused=!1};kha_FrameTask.__name__=!0,kha_FrameTask.prototype={task:null,priority:null,id:null,active:null,paused:null,__class__:kha_FrameTask};var kha_Scheduler=$hxClasses["kha.Scheduler"]=function(){};kha_Scheduler.__name__=!0,kha_Scheduler.init=function(){kha_Scheduler.deltas=[];for(var e=0,t=kha_Scheduler.DIF_COUNT;e<t;){var a=e++;kha_Scheduler.deltas[a]=0}kha_Scheduler.stopped=!0,kha_Scheduler.frame_tasks_sorted=!0,kha_Scheduler.current=kha_Scheduler.lastTime=kha_Scheduler.realTime(),kha_Scheduler.currentFrameTaskId=0,kha_Scheduler.currentTimeTaskId=0,kha_Scheduler.currentGroupId=0,kha_Scheduler.timeTasks=[],kha_Scheduler.pausedTimeTasks=[],kha_Scheduler.outdatedTimeTasks=[],kha_Scheduler.timeTasksScratchpad=[],kha_Scheduler.frameTasks=[],kha_Scheduler.toDeleteFrame=[]},kha_Scheduler.start=function(e){null==e&&(e=!1),kha_Scheduler.vsync=kha_System.get_vsync();var t=kha_System.get_refreshRate();t>=57&&t<=63&&(t=60),kha_Scheduler.onedifhz=1/t,kha_Scheduler.stopped=!1,kha_Scheduler.resetTime(),kha_Scheduler.lastTime=kha_Scheduler.realTime()-kha_Scheduler.startTime;for(var a=0,i=kha_Scheduler.DIF_COUNT;a<i;){var r=a++;kha_Scheduler.deltas[r]=0}if(e){for(var s=0,n=kha_Scheduler.timeTasks;s<n.length;){var _=n[s];++s,_.paused=!1}for(var o=0,h=kha_Scheduler.frameTasks;o<h.length;){var l=h[o];++o,l.paused=!1}}},kha_Scheduler.stop=function(){kha_Scheduler.stopped=!0},kha_Scheduler.isStopped=function(){return kha_Scheduler.stopped},kha_Scheduler.warpTimeTasks=function(e,t){for(var a=0;a<t.length;){var i=t[a];if(++a,i.start>=e)i.next=i.start;else if(i.period>0){var r=e-i.start,s=Math.ceil(r/i.period);i.next=i.start+s*i.period}}},kha_Scheduler.back=function(e){if(!(e>=kha_Scheduler.lastTime)){kha_Scheduler.current=e,kha_Scheduler.lastTime=e,kha_Scheduler.warpTimeTasks(e,kha_Scheduler.outdatedTimeTasks),kha_Scheduler.warpTimeTasks(e,kha_Scheduler.timeTasks);for(var t=0,a=kha_Scheduler.outdatedTimeTasks;t<a.length;){var i=a[t];++t,i.next>=e&&kha_Scheduler.timeTasksScratchpad.push(i)}for(var r=0,s=kha_Scheduler.timeTasksScratchpad;r<s.length;){var n=s[r];++r,HxOverrides.remove(kha_Scheduler.outdatedTimeTasks,n)}for(var _=0,o=kha_Scheduler.timeTasksScratchpad;_<o.length;){var h=o[_];++_,kha_Scheduler.insertSorted(kha_Scheduler.timeTasks,h)}for(;kha_Scheduler.timeTasksScratchpad.length>0;)HxOverrides.remove(kha_Scheduler.timeTasksScratchpad,kha_Scheduler.timeTasksScratchpad[0]);for(var l=0,u=kha_Scheduler.outdatedTimeTasks;l<u.length;){var c=u[l];++l,c.next<e-1&&kha_Scheduler.timeTasksScratchpad.push(c)}for(var d=0,p=kha_Scheduler.timeTasksScratchpad;d<p.length;){var g=p[d];++d,HxOverrides.remove(kha_Scheduler.outdatedTimeTasks,g)}for(;kha_Scheduler.timeTasksScratchpad.length>0;)HxOverrides.remove(kha_Scheduler.timeTasksScratchpad,kha_Scheduler.timeTasksScratchpad[0])}},kha_Scheduler.executeFrame=function(){var e=kha_Scheduler.realTime()-kha_Scheduler.startTime-kha_Scheduler.lastTime,t=kha_Scheduler.current;if(!(e<0)){if(e>kha_Scheduler.maxframetime)kha_Scheduler.startTime+=e-kha_Scheduler.maxframetime,t+=e=kha_Scheduler.maxframetime;else if(kha_Scheduler.vsync){for(var a=kha_Scheduler.onedifhz;a<e-kha_Scheduler.onedifhz;)a+=kha_Scheduler.onedifhz;e=a;for(var i=0,r=kha_Scheduler.DIF_COUNT-2;i<r;){var s=i++;e+=kha_Scheduler.deltas[s],kha_Scheduler.deltas[s]=kha_Scheduler.deltas[s+1]}e+=kha_Scheduler.deltas[kha_Scheduler.DIF_COUNT-2],e/=kha_Scheduler.DIF_COUNT,kha_Scheduler.deltas[kha_Scheduler.DIF_COUNT-2]=a,t+=e}else{for(var n=0,_=kha_Scheduler.DIF_COUNT-1;n<_;){var o=n++;kha_Scheduler.deltas[o]=kha_Scheduler.deltas[o+1]}kha_Scheduler.deltas[kha_Scheduler.DIF_COUNT-1]=e;for(var h=0,l=0,u=kha_Scheduler.DIF_COUNT;l<u;){var c=l++;h+=kha_Scheduler.deltas[c]}t+=h/=kha_Scheduler.DIF_COUNT}kha_Scheduler.lastTime=t,kha_Scheduler.stopped||(kha_Scheduler.current=t);for(var d=0,p=kha_Scheduler.pausedTimeTasks;d<p.length;){var g=p[d];++d,g.next+=e}if(kha_Scheduler.stopped)for(var f=0,v=kha_Scheduler.timeTasks;f<v.length;){var k=v[f];++f,k.next+=e}for(;kha_Scheduler.timeTasks.length>0&&(kha_Scheduler.activeTimeTask=kha_Scheduler.timeTasks[0],kha_Scheduler.activeTimeTask.next<=t);)kha_Scheduler.activeTimeTask.next+=kha_Scheduler.activeTimeTask.period,HxOverrides.remove(kha_Scheduler.timeTasks,kha_Scheduler.activeTimeTask),kha_Scheduler.activeTimeTask.active&&kha_Scheduler.activeTimeTask.task()?kha_Scheduler.activeTimeTask.period>0&&(0==kha_Scheduler.activeTimeTask.duration||kha_Scheduler.activeTimeTask.duration>=kha_Scheduler.activeTimeTask.start+kha_Scheduler.activeTimeTask.next)?kha_Scheduler.insertSorted(kha_Scheduler.timeTasks,kha_Scheduler.activeTimeTask):kha_Scheduler.archiveTimeTask(kha_Scheduler.activeTimeTask,t):(kha_Scheduler.activeTimeTask.active=!1,kha_Scheduler.archiveTimeTask(kha_Scheduler.activeTimeTask,t));kha_Scheduler.activeTimeTask=null,kha_Scheduler.sortFrameTasks();for(var m=0,b=kha_Scheduler.frameTasks;m<b.length;){var S=b[m];++m,kha_Scheduler.stopped||S.paused||!S.active||S.task()||(S.active=!1)}for(var y=0,x=kha_Scheduler.frameTasks;y<x.length;){var B=x[y];++y,B.active||kha_Scheduler.toDeleteFrame.push(B)}for(;kha_Scheduler.toDeleteFrame.length>0;)HxOverrides.remove(kha_Scheduler.frameTasks,kha_Scheduler.toDeleteFrame.pop())}},kha_Scheduler.archiveTimeTask=function(e,t){},kha_Scheduler.time=function(){return kha_Scheduler.current},kha_Scheduler.realTime=function(){return kha_System.get_time()},kha_Scheduler.resetTime=function(){var e=kha_System.get_time(),t=e-kha_Scheduler.startTime;kha_Scheduler.startTime=e;for(var a=0,i=kha_Scheduler.timeTasks;a<i.length;){var r=i[a];++a,r.start-=t,r.next-=t}for(var s=0,n=kha_Scheduler.DIF_COUNT;s<n;){var _=s++;kha_Scheduler.deltas[_]=0}kha_Scheduler.current=0,kha_Scheduler.lastTime=0},kha_Scheduler.addBreakableFrameTask=function(e,t){return kha_Scheduler.frameTasks.push(new kha_FrameTask(e,t,++kha_Scheduler.currentFrameTaskId)),kha_Scheduler.frame_tasks_sorted=!1,kha_Scheduler.currentFrameTaskId},kha_Scheduler.addFrameTask=function(e,t){return kha_Scheduler.addBreakableFrameTask(function(){return e(),!0},t)},kha_Scheduler.pauseFrameTask=function(e,t){for(var a=0,i=kha_Scheduler.frameTasks;a<i.length;){var r=i[a];if(++a,r.id==e){r.paused=t;break}}},kha_Scheduler.removeFrameTask=function(e){for(var t=0,a=kha_Scheduler.frameTasks;t<a.length;){var i=a[t];if(++t,i.id==e){i.active=!1;break}}},kha_Scheduler.generateGroupId=function(){return++kha_Scheduler.currentGroupId},kha_Scheduler.addBreakableTimeTaskToGroup=function(e,t,a,i,r){null==r&&(r=0),null==i&&(i=0);var s=new kha_TimeTask;return s.active=!0,s.task=t,s.id=++kha_Scheduler.currentTimeTaskId,s.groupId=e,s.start=kha_Scheduler.current+a,s.period=0,0!=i&&(s.period=i),s.duration=0,0!=r&&(s.duration=s.start+r),s.next=s.start,kha_Scheduler.insertSorted(kha_Scheduler.timeTasks,s),s.id},kha_Scheduler.addTimeTaskToGroup=function(e,t,a,i,r){return null==r&&(r=0),null==i&&(i=0),kha_Scheduler.addBreakableTimeTaskToGroup(e,function(){return t(),!0},a,i,r)},kha_Scheduler.addBreakableTimeTask=function(e,t,a,i){return null==i&&(i=0),null==a&&(a=0),kha_Scheduler.addBreakableTimeTaskToGroup(0,e,t,a,i)},kha_Scheduler.addTimeTask=function(e,t,a,i){return null==i&&(i=0),null==a&&(a=0),kha_Scheduler.addTimeTaskToGroup(0,e,t,a,i)},kha_Scheduler.getTimeTask=function(e){if(null!=kha_Scheduler.activeTimeTask&&kha_Scheduler.activeTimeTask.id==e)return kha_Scheduler.activeTimeTask;for(var t=0,a=kha_Scheduler.timeTasks;t<a.length;){var i=a[t];if(++t,i.id==e)return i}for(var r=0,s=kha_Scheduler.pausedTimeTasks;r<s.length;){var n=s[r];if(++r,n.id==e)return n}return null},kha_Scheduler.pauseTimeTask=function(e,t){var a=kha_Scheduler.getTimeTask(e);null!=a&&kha_Scheduler.pauseRunningTimeTask(a,t),null!=kha_Scheduler.activeTimeTask&&kha_Scheduler.activeTimeTask.id==e&&(kha_Scheduler.activeTimeTask.paused=t)},kha_Scheduler.pauseRunningTimeTask=function(e,t){e.paused=t,t?(HxOverrides.remove(kha_Scheduler.timeTasks,e),kha_Scheduler.pausedTimeTasks.push(e)):(kha_Scheduler.insertSorted(kha_Scheduler.timeTasks,e),HxOverrides.remove(kha_Scheduler.pausedTimeTasks,e))},kha_Scheduler.pauseTimeTasks=function(e,t){for(var a=0,i=kha_Scheduler.timeTasks;a<i.length;){var r=i[a];++a,r.groupId==e&&kha_Scheduler.pauseRunningTimeTask(r,t)}null!=kha_Scheduler.activeTimeTask&&kha_Scheduler.activeTimeTask.groupId==e&&(kha_Scheduler.activeTimeTask.paused=t)},kha_Scheduler.removeTimeTask=function(e){var t=kha_Scheduler.getTimeTask(e);null!=t&&(t.active=!1,HxOverrides.remove(kha_Scheduler.timeTasks,t))},kha_Scheduler.removeTimeTasks=function(e){for(var t=0,a=kha_Scheduler.timeTasks;t<a.length;){var i=a[t];++t,i.groupId==e&&(i.active=!1,kha_Scheduler.timeTasksScratchpad.push(i))}for(var r=0,s=kha_Scheduler.timeTasksScratchpad;r<s.length;){var n=s[r];++r,HxOverrides.remove(kha_Scheduler.timeTasks,n)}for(;kha_Scheduler.timeTasksScratchpad.length>0;)HxOverrides.remove(kha_Scheduler.timeTasksScratchpad,kha_Scheduler.timeTasksScratchpad[0]);null!=kha_Scheduler.activeTimeTask&&kha_Scheduler.activeTimeTask.groupId==e&&(kha_Scheduler.activeTimeTask.active=!1)},kha_Scheduler.numTasksInSchedule=function(){return kha_Scheduler.timeTasks.length+kha_Scheduler.frameTasks.length},kha_Scheduler.insertSorted=function(e,t){for(var a=0,i=e.length;a<i;){var r=a++;if(e[r].next>t.next)return void e.splice(r,0,t)}e.push(t)},kha_Scheduler.sortFrameTasks=function(){kha_Scheduler.frame_tasks_sorted||(kha_Scheduler.frameTasks.sort(function(e,t){return e.priority>t.priority?1:e.priority<t.priority?-1:0}),kha_Scheduler.frame_tasks_sorted=!0)};var kha_ScreenRotation=$hxClasses["kha.ScreenRotation"]={__ename__:!0,__constructs__:["RotationNone","Rotation90","Rotation180","Rotation270"]};kha_ScreenRotation.RotationNone=["RotationNone",0],kha_ScreenRotation.RotationNone.toString=$estr,kha_ScreenRotation.RotationNone.__enum__=kha_ScreenRotation,kha_ScreenRotation.Rotation90=["Rotation90",1],kha_ScreenRotation.Rotation90.toString=$estr,kha_ScreenRotation.Rotation90.__enum__=kha_ScreenRotation,kha_ScreenRotation.Rotation180=["Rotation180",2],kha_ScreenRotation.Rotation180.toString=$estr,kha_ScreenRotation.Rotation180.__enum__=kha_ScreenRotation,kha_ScreenRotation.Rotation270=["Rotation270",3],kha_ScreenRotation.Rotation270.toString=$estr,kha_ScreenRotation.Rotation270.__enum__=kha_ScreenRotation;var kha_Shaders=$hxClasses["kha.Shaders"]=function(){};kha_Shaders.__name__=!0,kha_Shaders.init=function(){for(var e=[],t=0;t<1;){var a=t++,i=Reflect.field(kha_Shaders,"painter_colored_fragData"+a),r=haxe_Unserializer.run(i);e.push(kha_internal_BytesBlob.fromBytes(r))}kha_Shaders.painter_colored_frag=new kha_graphics4_FragmentShader(e,["painter-colored.frag.glsl"]);for(var s=[],n=0;n<1;){var _=n++,o=Reflect.field(kha_Shaders,"painter_colored_vertData"+_),h=haxe_Unserializer.run(o);s.push(kha_internal_BytesBlob.fromBytes(h))}kha_Shaders.painter_colored_vert=new kha_graphics4_VertexShader(s,["painter-colored.vert.glsl"]);for(var l=[],u=0;u<1;){var c=u++,d=Reflect.field(kha_Shaders,"painter_image_fragData"+c),p=haxe_Unserializer.run(d);l.push(kha_internal_BytesBlob.fromBytes(p))}kha_Shaders.painter_image_frag=new kha_graphics4_FragmentShader(l,["painter-image.frag.glsl"]);for(var g=[],f=0;f<1;){var v=f++,k=Reflect.field(kha_Shaders,"painter_image_vertData"+v),m=haxe_Unserializer.run(k);g.push(kha_internal_BytesBlob.fromBytes(m))}kha_Shaders.painter_image_vert=new kha_graphics4_VertexShader(g,["painter-image.vert.glsl"]);for(var b=[],S=0;S<1;){var y=S++,x=Reflect.field(kha_Shaders,"painter_text_fragData"+y),B=haxe_Unserializer.run(x);b.push(kha_internal_BytesBlob.fromBytes(B))}kha_Shaders.painter_text_frag=new kha_graphics4_FragmentShader(b,["painter-text.frag.glsl"]);for(var T=[],w=0;w<1;){var E=w++,I=Reflect.field(kha_Shaders,"painter_text_vertData"+E),C=haxe_Unserializer.run(I);T.push(kha_internal_BytesBlob.fromBytes(C))}kha_Shaders.painter_text_vert=new kha_graphics4_VertexShader(T,["painter-text.vert.glsl"]);for(var A=[],L=0;L<1;){var R=L++,$=Reflect.field(kha_Shaders,"painter_video_fragData"+R),F=haxe_Unserializer.run($);A.push(kha_internal_BytesBlob.fromBytes(F))}kha_Shaders.painter_video_frag=new kha_graphics4_FragmentShader(A,["painter-video.frag.glsl"]);for(var V=[],N=0;N<1;){var P=N++,M=Reflect.field(kha_Shaders,"painter_video_vertData"+P),O=haxe_Unserializer.run(M);V.push(kha_internal_BytesBlob.fromBytes(O))}kha_Shaders.painter_video_vert=new kha_graphics4_VertexShader(V,["painter-video.vert.glsl"])};var kha_Sound=$hxClasses["kha.Sound"]=function(){};kha_Sound.__name__=!0,kha_Sound.__interfaces__=[kha_Resource],kha_Sound.prototype={compressedData:null,uncompressedData:null,uncompress:function(e){var t=new haxe_io_BytesOutput,a=kha_audio2_ogg_vorbis_Reader.readAll(this.compressedData,t,!0),i=t.getBytes(),r=i.length/4|0;if(1==a.channel){var s=new Array(2*r);this.uncompressedData=s;for(var n=0,_=r;n<_;){var o=n++;this.uncompressedData[2*o]=i.getFloat(4*o),this.uncompressedData[2*o+1]=i.getFloat(4*o)}}else{var h=new Array(r);this.uncompressedData=h;for(var l=0,u=r;l<u;){var c=l++;this.uncompressedData[c]=i.getFloat(4*c)}}this.compressedData=null,e()},unload:function(){this.compressedData=null,this.uncompressedData=null},__class__:kha_Sound};var kha_System=$hxClasses["kha.System"]=function(){};kha_System.__name__=!0,kha_System.init=function(e,t){null==e.title&&(e.title="Kha"),null==e.width&&(e.width=800),null==e.height&&(e.height=600),null==e.samplesPerPixel&&(e.samplesPerPixel=1),null==e.vSync&&(e.vSync=!0),null==e.windowMode&&(e.windowMode=kha_WindowMode.Window),null==e.resizable&&(e.resizable=!1),null==e.maximizable&&(e.maximizable=!1),null==e.minimizable&&(e.minimizable=!0),kha_System.theTitle=e.title,kha_SystemImpl.init(e,t)},kha_System.initEx=function(e,t,a,i){kha_System.theTitle=e,kha_SystemImpl.initEx(e,t,a,i)},kha_System.get_title=function(){return kha_System.theTitle},kha_System.notifyOnRender=function(e,t){for(null==t&&(t=0);t>=kha_System.renderListeners.length;)kha_System.renderListeners.push([]);kha_System.renderListeners[t].push(e)},kha_System.removeRenderListener=function(e,t){null==t&&(t=0),HxOverrides.remove(kha_System.renderListeners[t],e)},kha_System.notifyOnApplicationState=function(e,t,a,i,r){null!=e&&kha_System.foregroundListeners.push(e),null!=t&&kha_System.resumeListeners.push(t),null!=a&&kha_System.pauseListeners.push(a),null!=i&&kha_System.backgroundListeners.push(i),null!=r&&kha_System.shutdownListeners.push(r)},kha_System.notifyOnDropFiles=function(e){kha_System.dropFilesListeners.push(e)},kha_System.render=function(e,t){if(0!=kha_System.renderListeners.length)for(var a=0,i=kha_System.renderListeners[e];a<i.length;){var r=i[a];++a,r(t)}},kha_System.foreground=function(){for(var e=0,t=kha_System.foregroundListeners;e<t.length;){var a=t[e];++e,a()}},kha_System.resume=function(){for(var e=0,t=kha_System.resumeListeners;e<t.length;){var a=t[e];++e,a()}},kha_System.pause=function(){for(var e=0,t=kha_System.pauseListeners;e<t.length;){var a=t[e];++e,a()}},kha_System.background=function(){for(var e=0,t=kha_System.backgroundListeners;e<t.length;){var a=t[e];++e,a()}},kha_System.shutdown=function(){for(var e=0,t=kha_System.shutdownListeners;e<t.length;){var a=t[e];++e,a()}},kha_System.dropFiles=function(e){for(var t=0,a=kha_System.dropFilesListeners;t<a.length;){var i=a[t];++t,i(e)}},kha_System.get_time=function(){return kha_SystemImpl.getTime()},kha_System.windowWidth=function(e){return null==e&&(e=0),kha_SystemImpl.windowWidth(e)},kha_System.windowHeight=function(e){return null==e&&(e=0),kha_SystemImpl.windowHeight(e)},kha_System.screenDpi=function(){return kha_SystemImpl.screenDpi()},kha_System.get_screenRotation=function(){return kha_SystemImpl.getScreenRotation()},kha_System.get_vsync=function(){return kha_SystemImpl.getVsync()},kha_System.get_refreshRate=function(){return kha_SystemImpl.getRefreshRate()},kha_System.get_systemId=function(){return kha_SystemImpl.getSystemId()},kha_System.requestShutdown=function(){kha_SystemImpl.requestShutdown()},kha_System.changeResolution=function(e,t){kha_SystemImpl.changeResolution(e,t)},kha_System.loadUrl=function(e){kha_SystemImpl.loadUrl(e)};var kha_SystemImpl=$hxClasses["kha.SystemImpl"]=function(){};kha_SystemImpl.__name__=!0,kha_SystemImpl.renderCallback=function(){kha_Scheduler.executeFrame(),kha_System.render(0,kha_SystemImpl.framebuffer)},kha_SystemImpl.dropFilesCallback=function(e){kha_System.dropFiles(e)},kha_SystemImpl.keyboardDownCallback=function(e){kha_SystemImpl.keyboard.sendDownEvent(e)},kha_SystemImpl.keyboardUpCallback=function(e){kha_SystemImpl.keyboard.sendUpEvent(e)},kha_SystemImpl.keyboardPressCallback=function(e){kha_SystemImpl.keyboard.sendPressEvent(String.fromCharCode(e))},kha_SystemImpl.mouseDownCallback=function(e,t,a){kha_SystemImpl.mouse.sendDownEvent(0,e,t,a)},kha_SystemImpl.mouseUpCallback=function(e,t,a){kha_SystemImpl.mouse.sendUpEvent(0,e,t,a)},kha_SystemImpl.mouseMoveCallback=function(e,t,a,i){kha_SystemImpl.mouse.sendMoveEvent(0,e,t,a,i)},kha_SystemImpl.mouseWheelCallback=function(e){kha_SystemImpl.mouse.sendWheelEvent(0,e)},kha_SystemImpl.gamepadAxisCallback=function(e,t,a){kha_SystemImpl.gamepads[e].sendAxisEvent(t,a)},kha_SystemImpl.gamepadButtonCallback=function(e,t,a){kha_SystemImpl.gamepads[e].sendButtonEvent(t,a)},kha_SystemImpl.audioCallback=function(e){var t=new Array(e);kha_SystemImpl.audioOutputData=t,kha_audio2_Audio._callCallback(e);for(var a=0,i=e;a<i;){var r=a++,s=kha_audio2_Audio._readSample();kha_SystemImpl.audioOutputData[r]=s}for(var n=0,_=e;n<_;){var o=n++;Krom.writeAudioBuffer(kha_SystemImpl.audioOutputData[o])}},kha_SystemImpl.init=function(e,t){Krom.init(e.title,e.width,e.height,e.samplesPerPixel,e.vSync,kha_SystemImpl.translateWindowMode(e.windowMode),e.resizable,e.maximizable,e.minimizable),kha_SystemImpl.start=Krom.getTime(),haxe_Log.trace=function(e,t){Krom.log(e)},kha_Scheduler.init(),kha_Shaders.init();var a=new kha_krom_Graphics;kha_SystemImpl.framebuffer=new kha_Framebuffer(0,null,null,a),kha_SystemImpl.framebuffer.init(new kha_graphics2_Graphics1(kha_SystemImpl.framebuffer),new kha_graphics4_Graphics2(kha_SystemImpl.framebuffer),a),Krom.setCallback(kha_SystemImpl.renderCallback),Krom.setDropFilesCallback(kha_SystemImpl.dropFilesCallback),kha_SystemImpl.keyboard=new kha_input_Keyboard,kha_SystemImpl.mouse=new kha_input_Mouse,kha_SystemImpl.gamepads=[];for(var i=0,r=kha_SystemImpl.maxGamepads;i<r;){var s=i++;kha_SystemImpl.gamepads[s]=new kha_input_Gamepad(s)}Krom.setKeyboardDownCallback(kha_SystemImpl.keyboardDownCallback),Krom.setKeyboardUpCallback(kha_SystemImpl.keyboardUpCallback),Krom.setKeyboardPressCallback(kha_SystemImpl.keyboardPressCallback),Krom.setMouseDownCallback(kha_SystemImpl.mouseDownCallback),Krom.setMouseUpCallback(kha_SystemImpl.mouseUpCallback),Krom.setMouseMoveCallback(kha_SystemImpl.mouseMoveCallback),Krom.setMouseWheelCallback(kha_SystemImpl.mouseWheelCallback),Krom.setGamepadAxisCallback(kha_SystemImpl.gamepadAxisCallback),Krom.setGamepadButtonCallback(kha_SystemImpl.gamepadButtonCallback),kha_audio2_Audio._init(),kha_audio2_Audio1._init(),Krom.setAudioCallback(kha_SystemImpl.audioCallback),kha_Scheduler.start(),t()},kha_SystemImpl.initEx=function(e,t,a,i){},kha_SystemImpl.translateWindowMode=function(e){if(null==e)return 0;switch(e[1]){case 0:return 0;case 1:return 1;case 2:return 2}},kha_SystemImpl.getScreenRotation=function(){return kha_ScreenRotation.RotationNone},kha_SystemImpl.getTime=function(){return Krom.getTime()-kha_SystemImpl.start},kha_SystemImpl.windowWidth=function(e){return Krom.windowWidth(e)},kha_SystemImpl.windowHeight=function(e){return Krom.windowHeight(e)},kha_SystemImpl.screenDpi=function(){return Krom.screenDpi()},kha_SystemImpl.getVsync=function(){return!0},kha_SystemImpl.getRefreshRate=function(){return 60},kha_SystemImpl.getSystemId=function(){return Krom.systemId()},kha_SystemImpl.requestShutdown=function(){Krom.requestShutdown()},kha_SystemImpl.getMouse=function(e){return kha_SystemImpl.mouse},kha_SystemImpl.getKeyboard=function(e){return kha_SystemImpl.keyboard},kha_SystemImpl.lockMouse=function(){},kha_SystemImpl.unlockMouse=function(){},kha_SystemImpl.canLockMouse=function(){return!1},kha_SystemImpl.isMouseLocked=function(){return!1},kha_SystemImpl.notifyOfMouseLockChange=function(e,t){},kha_SystemImpl.removeFromMouseLockChange=function(e,t){},kha_SystemImpl.unload=function(){},kha_SystemImpl.canSwitchFullscreen=function(){return!1},kha_SystemImpl.isFullscreen=function(){return!1},kha_SystemImpl.requestFullscreen=function(){},kha_SystemImpl.exitFullscreen=function(){},kha_SystemImpl.changeResolution=function(e,t){},kha_SystemImpl.setKeepScreenOn=function(e){},kha_SystemImpl.loadUrl=function(e){},kha_SystemImpl.getGamepadId=function(e){return"unkown"},kha_SystemImpl.prototype={notifyOfFullscreenChange:function(e,t){},removeFromFullscreenChange:function(e,t){},__class__:kha_SystemImpl};var kha_Video=$hxClasses["kha.Video"]=function(){};kha_Video.__name__=!0,kha_Video.__interfaces__=[kha_Resource],kha_Video.prototype={width:function(){return 100},height:function(){return 100},play:function(e){null==e&&(e=!1)},pause:function(){},stop:function(){},getLength:function(){return 0},getCurrentPos:function(){return 0},get_position:function(){return 0},set_position:function(e){return 0},getVolume:function(){return 1},setVolume:function(e){},isFinished:function(){return this.getCurrentPos()>=this.getLength()},unload:function(){},__class__:kha_Video};var kha_WindowMode=$hxClasses["kha.WindowMode"]={__ename__:!0,__constructs__:["Window","BorderlessWindow","Fullscreen"]};kha_WindowMode.Window=["Window",0],kha_WindowMode.Window.toString=$estr,kha_WindowMode.Window.__enum__=kha_WindowMode,kha_WindowMode.BorderlessWindow=["BorderlessWindow",1],kha_WindowMode.BorderlessWindow.toString=$estr,kha_WindowMode.BorderlessWindow.__enum__=kha_WindowMode,kha_WindowMode.Fullscreen=["Fullscreen",2],kha_WindowMode.Fullscreen.toString=$estr,kha_WindowMode.Fullscreen.__enum__=kha_WindowMode;var kha_Position=$hxClasses["kha.Position"]={__ename__:!0,__constructs__:["Center","Fixed"]};kha_Position.Center=["Center",0],kha_Position.Center.toString=$estr,kha_Position.Center.__enum__=kha_Position,kha_Position.Fixed=function(e){var t=["Fixed",1,e];return t.__enum__=kha_Position,t.toString=$estr,t};var kha_TargetDisplay=$hxClasses["kha.TargetDisplay"]={__ename__:!0,__constructs__:["Primary","ById"]};kha_TargetDisplay.Primary=["Primary",0],kha_TargetDisplay.Primary.toString=$estr,kha_TargetDisplay.Primary.__enum__=kha_TargetDisplay,kha_TargetDisplay.ById=function(e){var t=["ById",1,e];return t.__enum__=kha_TargetDisplay,t.toString=$estr,t};var kha_RendererOptions=$hxClasses["kha.RendererOptions"]=function(e,t,a){this.textureFormat=e,this.depthStencilFormat=t,this.samplesPerPixel=a};kha_RendererOptions.__name__=!0,kha_RendererOptions.prototype={textureFormat:null,depthStencilFormat:null,samplesPerPixel:null,__class__:kha_RendererOptions};var kha_WindowedModeOptions=$hxClasses["kha.WindowedModeOptions"]=function(e,t,a){this.minimizable=e,this.maximizable=t,this.resizable=a};kha_WindowedModeOptions.__name__=!0,kha_WindowedModeOptions.prototype={minimizable:null,maximizable:null,resizable:null,__class__:kha_WindowedModeOptions};var kha_WindowOptions=$hxClasses["kha.WindowOptions"]=function(e,t,a,i,r,s,n,_,o){this.width=e,this.height=t,this.mode=a,this.title=i,this.x=r,this.y=s,this.targetDisplay=n,this.rendererOptions=_,this.windowedModeOptions=o};kha_WindowOptions.__name__=!0,kha_WindowOptions.prototype={width:null,height:null,mode:null,title:null,x:null,y:null,targetDisplay:null,rendererOptions:null,windowedModeOptions:null,__class__:kha_WindowOptions};var kha_arrays__$Float32Array_Float32Array_$Impl_$=$hxClasses["kha.arrays._Float32Array.Float32Array_Impl_"]={};kha_arrays__$Float32Array_Float32Array_$Impl_$.__name__=!0,kha_arrays__$Float32Array_Float32Array_$Impl_$._new=function(e){return new Float32Array(e)},kha_arrays__$Float32Array_Float32Array_$Impl_$.get_length=function(e){return e.length},kha_arrays__$Float32Array_Float32Array_$Impl_$.set=function(e,t,a){return e[t]=a},kha_arrays__$Float32Array_Float32Array_$Impl_$.get=function(e,t){return e[t]},kha_arrays__$Float32Array_Float32Array_$Impl_$.data=function(e){return e},kha_arrays__$Float32Array_Float32Array_$Impl_$.arrayRead=function(e,t){return e[t]},kha_arrays__$Float32Array_Float32Array_$Impl_$.arrayWrite=function(e,t,a){return e[t]=a},kha_arrays__$Float32Array_Float32Array_$Impl_$.subarray=function(e,t,a){return e.subarray(t,a)};var kha_arrays__$Uint32Array_Uint32Array_$Impl_$=$hxClasses["kha.arrays._Uint32Array.Uint32Array_Impl_"]={};kha_arrays__$Uint32Array_Uint32Array_$Impl_$.__name__=!0,kha_arrays__$Uint32Array_Uint32Array_$Impl_$._new=function(e){return new Uint32Array(e)},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.get_length=function(e){return e.length},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.set=function(e,t,a){return e[t]=a},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.get=function(e,t){return e[t]},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.data=function(e){return e},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.arrayRead=function(e,t){return e[t]},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.arrayWrite=function(e,t,a){return e[t]=a},kha_arrays__$Uint32Array_Uint32Array_$Impl_$.subarray=function(e,t,a){return e.subarray(t,a)};var kha_audio1_AudioChannel=$hxClasses["kha.audio1.AudioChannel"]=function(){};kha_audio1_AudioChannel.__name__=!0,kha_audio1_AudioChannel.prototype={play:null,pause:null,stop:null,length:null,get_length:null,position:null,get_position:null,get_volume:null,set_volume:null,finished:null,get_finished:null,__class__:kha_audio1_AudioChannel};var kha_audio2_Audio=$hxClasses["kha.audio2.Audio"]=function(){};kha_audio2_Audio.__name__=!0,kha_audio2_Audio._init=function(){kha_audio2_Audio.buffer=new kha_audio2_Buffer(8192,2,44100)},kha_audio2_Audio._callCallback=function(e){if(null!=kha_audio2_Audio.buffer)if(null!=kha_audio2_Audio.audioCallback)kha_audio2_Audio.audioCallback(e,kha_audio2_Audio.buffer);else for(var t=0,a=e;t<a;){t++;kha_audio2_Audio.buffer.data[kha_audio2_Audio.buffer.writeLocation]=0,kha_audio2_Audio.buffer.writeLocation+=1,kha_audio2_Audio.buffer.writeLocation>=kha_audio2_Audio.buffer.size&&(kha_audio2_Audio.buffer.writeLocation=0)}},kha_audio2_Audio._readSample=function(){if(null==kha_audio2_Audio.buffer)return 0;var e=kha_audio2_Audio.buffer.data[kha_audio2_Audio.buffer.readLocation];return kha_audio2_Audio.buffer.readLocation+=1,kha_audio2_Audio.buffer.readLocation>=kha_audio2_Audio.buffer.size&&(kha_audio2_Audio.buffer.readLocation=0),e},kha_audio2_Audio.play=function(e,t){return null==t&&(t=!1),null},kha_audio2_Audio.stream=function(e,t){return null==t&&(t=!1),null};var kha_audio2_Audio1=$hxClasses["kha.audio2.Audio1"]=function(){};kha_audio2_Audio1.__name__=!0,kha_audio2_Audio1._init=function(){var e=new Array(16);kha_audio2_Audio1.soundChannels=e;var t=new Array(16);kha_audio2_Audio1.streamChannels=t;var a=new Array(16);kha_audio2_Audio1.internalSoundChannels=a;var i=new Array(16);kha_audio2_Audio1.internalStreamChannels=i;var r=new Array(512);kha_audio2_Audio1.sampleCache1=r;var s=new Array(512);kha_audio2_Audio1.sampleCache2=s,kha_audio2_Audio.audioCallback=kha_audio2_Audio1.mix},kha_audio2_Audio1.max=function(e,t){return e>t?e:t},kha_audio2_Audio1.min=function(e,t){return e<t?e:t},kha_audio2_Audio1.mix=function(e,t){if(kha_audio2_Audio1.sampleCache1.length<e){var a=new Array(e);kha_audio2_Audio1.sampleCache1=a;var i=new Array(e);kha_audio2_Audio1.sampleCache2=i}for(var r=0,s=e;r<s;){var n=r++;kha_audio2_Audio1.sampleCache2[n]=0}for(var _=0;_<16;){var o=_++;kha_audio2_Audio1.internalSoundChannels[o]=kha_audio2_Audio1.soundChannels[o]}for(var h=0;h<16;){var l=h++;kha_audio2_Audio1.internalStreamChannels[l]=kha_audio2_Audio1.streamChannels[l]}for(var u=0,c=kha_audio2_Audio1.internalSoundChannels;u<c.length;){var d=c[u];if(++u,null!=d&&!d.get_finished()){d.nextSamples(kha_audio2_Audio1.sampleCache1,e,t.samplesPerSecond);for(var p=0,g=e;p<g;){var f=p++,v=f,k=kha_audio2_Audio1.sampleCache2,m=kha_audio2_Audio1.sampleCache1[f]*d.get_volume();k[v]=k[v]+m}}}for(var b=0,S=kha_audio2_Audio1.internalStreamChannels;b<S.length;){var y=S[b];if(++b,null!=y&&!y.get_finished()){y.nextSamples(kha_audio2_Audio1.sampleCache1,e,t.samplesPerSecond);for(var x=0,B=e;x<B;){var T=x++,w=T,E=kha_audio2_Audio1.sampleCache2,I=kha_audio2_Audio1.sampleCache1[T]*y.get_volume();E[w]=E[w]+I}}}for(var C=0,A=e;C<A;){var L=C++,R=kha_audio2_Audio1.sampleCache2[L],$=R<1?R:1;t.data[t.writeLocation]=$>-1?$:-1,t.writeLocation+=1,t.writeLocation>=t.size&&(t.writeLocation=0)}},kha_audio2_Audio1.play=function(e,t){null==t&&(t=!1);for(var a=null,i=0;i<16;){var r=i++;if(null==kha_audio2_Audio1.soundChannels[r]||kha_audio2_Audio1.soundChannels[r].get_finished()){(a=new kha_audio2_AudioChannel(t)).data=e.uncompressedData,kha_audio2_Audio1.soundChannels[r]=a;break}}return a},kha_audio2_Audio1._playAgain=function(e){for(var t=0;t<16;){var a=t++;if(null==kha_audio2_Audio1.soundChannels[a]||kha_audio2_Audio1.soundChannels[a].get_finished()||kha_audio2_Audio1.soundChannels[a]==e){kha_audio2_Audio1.soundChannels[a]=e;break}}},kha_audio2_Audio1.stream=function(e,t){null==t&&(t=!1);var a=kha_audio2_Audio.stream(e,t);if(null!=a)return a;for(var i=null,r=0;r<16;){var s=r++;if(null==kha_audio2_Audio1.streamChannels[s]||kha_audio2_Audio1.streamChannels[s].get_finished()){i=new kha_audio2_StreamChannel(e.compressedData,t),kha_audio2_Audio1.streamChannels[s]=i;break}}return i};var kha_audio2_AudioChannel=$hxClasses["kha.audio2.AudioChannel"]=function(e){this.paused=!1,this.looping=e,this.myVolume=1,this.myPosition=0};kha_audio2_AudioChannel.__name__=!0,kha_audio2_AudioChannel.__interfaces__=[kha_audio1_AudioChannel],kha_audio2_AudioChannel.prototype={data:null,myVolume:null,myPosition:null,paused:null,looping:null,nextSamples:function(e,t,a){if(this.paused)for(var i=0,r=t;i<r;)e[i++]=0;else{for(var s=0,n=0;s<t;){for(var _=this.data.length-this.myPosition,o=_<t?_:t;n<o;)e[s]=this.data[this.myPosition],++this.myPosition,++n,++s;if(!this.looping)break;n=0,this.myPosition>=this.data.length&&(this.myPosition=0)}for(;s<t;)e[s]=0,++s}},play:function(){this.paused=!1,this.get_finished()&&(this.myPosition=0,kha_audio2_Audio1._playAgain(this))},pause:function(){this.paused=!0},stop:function(){this.myPosition=this.data.length},length:null,get_length:function(){return this.data.length/44100/2},position:null,get_position:function(){return this.myPosition/44100/2},get_volume:function(){return this.myVolume},set_volume:function(e){return this.myVolume=e},finished:null,get_finished:function(){return this.myPosition>=this.data.length},__class__:kha_audio2_AudioChannel};var kha_audio2_Buffer=$hxClasses["kha.audio2.Buffer"]=function(e,t,a){this.size=e;var i=new Array(e);this.data=i,this.channels=t,this.samplesPerSecond=a,this.readLocation=0,this.writeLocation=0};kha_audio2_Buffer.__name__=!0,kha_audio2_Buffer.prototype={channels:null,samplesPerSecond:null,data:null,size:null,readLocation:null,writeLocation:null,__class__:kha_audio2_Buffer};var kha_audio2_StreamChannel=$hxClasses["kha.audio2.StreamChannel"]=function(e,t){this.paused=!1,this.atend=!1,this.myVolume=1,this.loop=t,this.reader=kha_audio2_ogg_vorbis_Reader.openFromBytes(e)};kha_audio2_StreamChannel.__name__=!0,kha_audio2_StreamChannel.__interfaces__=[kha_audio1_AudioChannel],kha_audio2_StreamChannel.prototype={reader:null,atend:null,loop:null,myVolume:null,paused:null,nextSamples:function(e,t,a){if(this.paused)for(var i=0,r=t;i<r;)e[i++]=0;else{var s=2*this.reader.read(e,t/2|0,2,a,!0);if(s<t){this.loop?this.reader.set_currentMillisecond(0):this.atend=!0;for(var n=s,_=t;n<_;)e[n++]=0}}},play:function(){this.paused=!1},pause:function(){this.paused=!0},stop:function(){this.atend=!0},length:null,get_length:function(){return this.reader.get_totalMillisecond()/1e3},position:null,get_position:function(){return this.reader.get_currentMillisecond()/1e3},get_volume:function(){return this.myVolume},set_volume:function(e){return this.myVolume=e},finished:null,get_finished:function(){return this.atend},__class__:kha_audio2_StreamChannel};var kha_audio2_ogg_tools_Crc32=$hxClasses["kha.audio2.ogg.tools.Crc32"]=function(){};kha_audio2_ogg_tools_Crc32.__name__=!0,kha_audio2_ogg_tools_Crc32.init=function(){if(null==kha_audio2_ogg_tools_Crc32.table){var e=new Array(256);kha_audio2_ogg_tools_Crc32.table=e;for(var t=0;t<256;){for(var a=t++,i=a<<24,r=0;r<8;){r++;i=i<<1^(_$UInt_UInt_$Impl_$.gte(i,1<<31)?79764919:0)}kha_audio2_ogg_tools_Crc32.table[a]=i}}},kha_audio2_ogg_tools_Crc32.update=function(e,t){return e<<8^kha_audio2_ogg_tools_Crc32.table[t^e>>>24]};var kha_audio2_ogg_tools_MathTools=$hxClasses["kha.audio2.ogg.tools.MathTools"]=function(){};kha_audio2_ogg_tools_MathTools.__name__=!0,kha_audio2_ogg_tools_MathTools.ilog=function(e){var t=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];return e<16384?e<16?t[e]:e<512?5+t[e>>5]:10+t[e>>10]:e<16777216?e<524288?15+t[e>>15]:20+t[e>>20]:e<536870912?25+t[e>>25]:e<-2147483648?30+t[e>>30]:0};var kha_audio2_ogg_tools_Mdct=$hxClasses["kha.audio2.ogg.tools.Mdct"]=function(){};kha_audio2_ogg_tools_Mdct.__name__=!0,kha_audio2_ogg_tools_Mdct.inverseTransform=function(e,t,a,i,r,s){for(var n=t>>1,_=t>>2,o=t>>3,h=new Array(n),l=n-2,u=0,c=0,d=n;c!=d;)h[l+1]=e[c]*a[u]-e[c+2]*a[u+1],h[l]=e[c]*a[u+1]+e[c+2]*a[u],l-=2,u+=2,c+=4;for(c=n-3;l>=0;)h[l+1]=-e[c+2]*a[u]- -e[c]*a[u+1],h[l]=-e[c+2]*a[u+1]+-e[c]*a[u],l-=2,u+=2,c-=4;for(var p=e,g=h,f=n-8,v=_,k=0,m=_,b=0;f>=0;){var S=g[v+1]-g[k+1],y=g[v]-g[k];p[m+1]=g[v+1]+g[k+1],p[m]=g[v]+g[k],p[b+1]=S*a[f+4]-y*a[f+5],p[b]=y*a[f+4]+S*a[f+5],S=g[v+3]-g[k+3],y=g[v+2]-g[k+2],p[m+3]=g[v+3]+g[k+3],p[m+2]=g[v+2]+g[k+2],p[b+3]=S*a[f]-y*a[f+1],p[b+2]=y*a[f]+S*a[f+1],f-=8,m+=4,b+=4,v+=4,k+=4}for(var x=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],B=(t<16384?t<16?x[t]:t<512?5+x[t>>5]:10+x[t>>10]:t<16777216?t<524288?15+x[t>>15]:20+x[t>>20]:t<536870912?25+x[t>>25]:t<-2147483648?30+x[t>>30]:0)-1,T=n-1-0*_,w=T,E=T+-(t>>3),I=0,C=1+(t>>4>>2);--C>0;){var A=p[w]-p[E],L=p[w+-1]-p[E+-1],R=w,$=p;$[R]=$[R]+p[E];var F=w+-1,V=p;V[F]=V[F]+p[E+-1],p[E]=A*a[I]-L*a[I+1],p[E+-1]=L*a[I]+A*a[I+1],I+=8,A=p[w+-2]-p[E+-2],L=p[w+-3]-p[E+-3];var N=w+-2,P=p;P[N]=P[N]+p[E+-2];var M=w+-3,O=p;O[M]=O[M]+p[E+-3],p[E+-2]=A*a[I]-L*a[I+1],p[E+-3]=L*a[I]+A*a[I+1],I+=8,A=p[w+-4]-p[E+-4],L=p[w+-5]-p[E+-5];var D=w+-4,U=p;U[D]=U[D]+p[E+-4];var H=w+-5,G=p;G[H]=G[H]+p[E+-5],p[E+-4]=A*a[I]-L*a[I+1],p[E+-5]=L*a[I]+A*a[I+1],I+=8,A=p[w+-6]-p[E+-6],L=p[w+-7]-p[E+-7];var W=w+-6,z=p;z[W]=z[W]+p[E+-6];var j=w+-7,K=p;K[j]=K[j]+p[E+-7],p[E+-6]=A*a[I]-L*a[I+1],p[E+-7]=L*a[I]+A*a[I+1],I+=8,w-=8,E-=8}for(var X=n-1-_,Y=X,Z=X+-(t>>3),Q=0,J=1+(t>>4>>2);--J>0;){var q=p[Y]-p[Z],ee=p[Y+-1]-p[Z+-1],te=Y,ae=p;ae[te]=ae[te]+p[Z];var ie=Y+-1,re=p;re[ie]=re[ie]+p[Z+-1],p[Z]=q*a[Q]-ee*a[Q+1],p[Z+-1]=ee*a[Q]+q*a[Q+1],Q+=8,q=p[Y+-2]-p[Z+-2],ee=p[Y+-3]-p[Z+-3];var se=Y+-2,ne=p;ne[se]=ne[se]+p[Z+-2];var _e=Y+-3,oe=p;oe[_e]=oe[_e]+p[Z+-3],p[Z+-2]=q*a[Q]-ee*a[Q+1],p[Z+-3]=ee*a[Q]+q*a[Q+1],Q+=8,q=p[Y+-4]-p[Z+-4],ee=p[Y+-5]-p[Z+-5];var he=Y+-4,le=p;le[he]=le[he]+p[Z+-4];var ue=Y+-5,ce=p;ce[ue]=ce[ue]+p[Z+-5],p[Z+-4]=q*a[Q]-ee*a[Q+1],p[Z+-5]=ee*a[Q]+q*a[Q+1],Q+=8,q=p[Y+-6]-p[Z+-6],ee=p[Y+-7]-p[Z+-7];var de=Y+-6,pe=p;pe[de]=pe[de]+p[Z+-6];var ge=Y+-7,fe=p;fe[ge]=fe[ge]+p[Z+-7],p[Z+-6]=q*a[Q]-ee*a[Q+1],p[Z+-7]=ee*a[Q]+q*a[Q+1],Q+=8,Y-=8,Z-=8}for(var ve=n-1-0*o,ke=0,me=ve,be=ve+-(t>>4),Se=1+(t>>5>>2);--Se>0;){var ye=p[me]-p[be],xe=p[me+-1]-p[be+-1],Be=me,Te=p;Te[Be]=Te[Be]+p[be];var we=me+-1,Ee=p;Ee[we]=Ee[we]+p[be+-1],p[be]=ye*a[ke]-xe*a[ke+1],p[be+-1]=xe*a[ke]+ye*a[ke+1],ke+=16,ye=p[me+-2]-p[be+-2],xe=p[me+-3]-p[be+-3];var Ie=me+-2,Ce=p;Ce[Ie]=Ce[Ie]+p[be+-2];var Ae=me+-3,Le=p;Le[Ae]=Le[Ae]+p[be+-3],p[be+-2]=ye*a[ke]-xe*a[ke+1],p[be+-3]=xe*a[ke]+ye*a[ke+1],ke+=16,ye=p[me+-4]-p[be+-4],xe=p[me+-5]-p[be+-5];var Re=me+-4,$e=p;$e[Re]=$e[Re]+p[be+-4];var Fe=me+-5,Ve=p;Ve[Fe]=Ve[Fe]+p[be+-5],p[be+-4]=ye*a[ke]-xe*a[ke+1],p[be+-5]=xe*a[ke]+ye*a[ke+1],ke+=16,ye=p[me+-6]-p[be+-6],xe=p[me+-7]-p[be+-7];var Ne=me+-6,Pe=p;Pe[Ne]=Pe[Ne]+p[be+-6];var Me=me+-7,Oe=p;Oe[Me]=Oe[Me]+p[be+-7],p[be+-6]=ye*a[ke]-xe*a[ke+1],p[be+-7]=xe*a[ke]+ye*a[ke+1],me-=8,be-=8,ke+=16}for(var De=n-1-o,Ue=0,He=De,Ge=De+-(t>>4),We=1+(t>>5>>2);--We>0;){var ze=p[He]-p[Ge],je=p[He+-1]-p[Ge+-1],Ke=He,Xe=p;Xe[Ke]=Xe[Ke]+p[Ge];var Ye=He+-1,Ze=p;Ze[Ye]=Ze[Ye]+p[Ge+-1],p[Ge]=ze*a[Ue]-je*a[Ue+1],p[Ge+-1]=je*a[Ue]+ze*a[Ue+1],Ue+=16,ze=p[He+-2]-p[Ge+-2],je=p[He+-3]-p[Ge+-3];var Qe=He+-2,Je=p;Je[Qe]=Je[Qe]+p[Ge+-2];var qe=He+-3,et=p;et[qe]=et[qe]+p[Ge+-3],p[Ge+-2]=ze*a[Ue]-je*a[Ue+1],p[Ge+-3]=je*a[Ue]+ze*a[Ue+1],Ue+=16,ze=p[He+-4]-p[Ge+-4],je=p[He+-5]-p[Ge+-5];var tt=He+-4,at=p;at[tt]=at[tt]+p[Ge+-4];var it=He+-5,rt=p;rt[it]=rt[it]+p[Ge+-5],p[Ge+-4]=ze*a[Ue]-je*a[Ue+1],p[Ge+-5]=je*a[Ue]+ze*a[Ue+1],Ue+=16,ze=p[He+-6]-p[Ge+-6],je=p[He+-7]-p[Ge+-7];var st=He+-6,nt=p;nt[st]=nt[st]+p[Ge+-6];var _t=He+-7,ot=p;ot[_t]=ot[_t]+p[Ge+-7],p[Ge+-6]=ze*a[Ue]-je*a[Ue+1],p[Ge+-7]=je*a[Ue]+ze*a[Ue+1],He-=8,Ge-=8,Ue+=16}for(var ht=n-1-2*o,lt=0,ut=ht,ct=ht+-(t>>4),dt=1+(t>>5>>2);--dt>0;){var pt=p[ut]-p[ct],gt=p[ut+-1]-p[ct+-1],ft=ut,vt=p;vt[ft]=vt[ft]+p[ct];var kt=ut+-1,mt=p;mt[kt]=mt[kt]+p[ct+-1],p[ct]=pt*a[lt]-gt*a[lt+1],p[ct+-1]=gt*a[lt]+pt*a[lt+1],lt+=16,pt=p[ut+-2]-p[ct+-2],gt=p[ut+-3]-p[ct+-3];var bt=ut+-2,St=p;St[bt]=St[bt]+p[ct+-2];var yt=ut+-3,xt=p;xt[yt]=xt[yt]+p[ct+-3],p[ct+-2]=pt*a[lt]-gt*a[lt+1],p[ct+-3]=gt*a[lt]+pt*a[lt+1],lt+=16,pt=p[ut+-4]-p[ct+-4],gt=p[ut+-5]-p[ct+-5];var Bt=ut+-4,Tt=p;Tt[Bt]=Tt[Bt]+p[ct+-4];var wt=ut+-5,Et=p;Et[wt]=Et[wt]+p[ct+-5],p[ct+-4]=pt*a[lt]-gt*a[lt+1],p[ct+-5]=gt*a[lt]+pt*a[lt+1],lt+=16,pt=p[ut+-6]-p[ct+-6],gt=p[ut+-7]-p[ct+-7];var It=ut+-6,Ct=p;Ct[It]=Ct[It]+p[ct+-6];var At=ut+-7,Lt=p;Lt[At]=Lt[At]+p[ct+-7],p[ct+-6]=pt*a[lt]-gt*a[lt+1],p[ct+-7]=gt*a[lt]+pt*a[lt+1],ut-=8,ct-=8,lt+=16}for(var Rt=n-1-3*o,$t=0,Ft=Rt,Vt=Rt+-(t>>4),Nt=1+(t>>5>>2);--Nt>0;){var Pt=p[Ft]-p[Vt],Mt=p[Ft+-1]-p[Vt+-1],Ot=Ft,Dt=p;Dt[Ot]=Dt[Ot]+p[Vt];var Ut=Ft+-1,Ht=p;Ht[Ut]=Ht[Ut]+p[Vt+-1],p[Vt]=Pt*a[$t]-Mt*a[$t+1],p[Vt+-1]=Mt*a[$t]+Pt*a[$t+1],$t+=16,Pt=p[Ft+-2]-p[Vt+-2],Mt=p[Ft+-3]-p[Vt+-3];var Gt=Ft+-2,Wt=p;Wt[Gt]=Wt[Gt]+p[Vt+-2];var zt=Ft+-3,jt=p;jt[zt]=jt[zt]+p[Vt+-3],p[Vt+-2]=Pt*a[$t]-Mt*a[$t+1],p[Vt+-3]=Mt*a[$t]+Pt*a[$t+1],$t+=16,Pt=p[Ft+-4]-p[Vt+-4],Mt=p[Ft+-5]-p[Vt+-5];var Kt=Ft+-4,Xt=p;Xt[Kt]=Xt[Kt]+p[Vt+-4];var Yt=Ft+-5,Zt=p;Zt[Yt]=Zt[Yt]+p[Vt+-5],p[Vt+-4]=Pt*a[$t]-Mt*a[$t+1],p[Vt+-5]=Mt*a[$t]+Pt*a[$t+1],$t+=16,Pt=p[Ft+-6]-p[Vt+-6],Mt=p[Ft+-7]-p[Vt+-7];var Qt=Ft+-6,Jt=p;Jt[Qt]=Jt[Qt]+p[Vt+-6];var qt=Ft+-7,ea=p;ea[qt]=ea[qt]+p[Vt+-7],p[Vt+-6]=Pt*a[$t]-Mt*a[$t+1],p[Vt+-7]=Mt*a[$t]+Pt*a[$t+1],Ft-=8,Vt-=8,$t+=16}for(var ta=2,aa=B-3>>1;ta<aa;)for(var ia=ta++,ra=t>>ia+2,sa=ra>>1,na=0,_a=1<<ia+1;na<_a;)for(var oa=n-1-ra*na++,ha=1<<ia+3,la=0,ua=oa,ca=oa+-sa,da=1+(t>>ia+4>>2);--da>0;){var pa=p[ua]-p[ca],ga=p[ua+-1]-p[ca+-1],fa=ua,va=p;va[fa]=va[fa]+p[ca];var ka=ua+-1,ma=p;ma[ka]=ma[ka]+p[ca+-1],p[ca]=pa*a[la]-ga*a[la+1],p[ca+-1]=ga*a[la]+pa*a[la+1],la+=ha,pa=p[ua+-2]-p[ca+-2],ga=p[ua+-3]-p[ca+-3];var ba=ua+-2,Sa=p;Sa[ba]=Sa[ba]+p[ca+-2];var ya=ua+-3,xa=p;xa[ya]=xa[ya]+p[ca+-3],p[ca+-2]=pa*a[la]-ga*a[la+1],p[ca+-3]=ga*a[la]+pa*a[la+1],la+=ha,pa=p[ua+-4]-p[ca+-4],ga=p[ua+-5]-p[ca+-5];var Ba=ua+-4,Ta=p;Ta[Ba]=Ta[Ba]+p[ca+-4];var wa=ua+-5,Ea=p;Ea[wa]=Ea[wa]+p[ca+-5],p[ca+-4]=pa*a[la]-ga*a[la+1],p[ca+-5]=ga*a[la]+pa*a[la+1],la+=ha,pa=p[ua+-6]-p[ca+-6],ga=p[ua+-7]-p[ca+-7];var Ia=ua+-6,Ca=p;Ca[Ia]=Ca[Ia]+p[ca+-6];var Aa=ua+-7,La=p;La[Aa]=La[Aa]+p[ca+-7],p[ca+-6]=pa*a[la]-ga*a[la+1],p[ca+-7]=ga*a[la]+pa*a[la+1],ua-=8,ca-=8,la+=ha}for(var Ra=B-3>>1,$a=B-6;Ra<$a;)for(var Fa=Ra++,Va=t>>Fa+2,Na=1<<Fa+3,Pa=Va>>1,Ma=1<<Fa+1,Oa=0,Da=n-1,Ua=(t>>Fa+6)+1;--Ua>0;){for(var Ha=a[Oa],Ga=a[Oa+1],Wa=a[Oa+Na],za=a[Oa+Na+1],ja=a[Oa+2*Na],Ka=a[Oa+2*Na+1],Xa=a[Oa+3*Na],Ya=a[Oa+3*Na+1],Za=Da,Qa=Da+-Pa,Ja=Ma+1;--Ja>0;){var qa=p[Za]-p[Qa],ei=p[Za+-1]-p[Qa+-1];p[Za]=p[Za]+p[Qa],p[Za+-1]=p[Za+-1]+p[Qa+-1],p[Qa]=qa*Ha-ei*Ga,p[Qa+-1]=ei*Ha+qa*Ga,qa=p[Za+-2]-p[Qa+-2],ei=p[Za+-3]-p[Qa+-3],p[Za+-2]=p[Za+-2]+p[Qa+-2],p[Za+-3]=p[Za+-3]+p[Qa+-3],p[Qa+-2]=qa*Wa-ei*za,p[Qa+-3]=ei*Wa+qa*za,qa=p[Za+-4]-p[Qa+-4],ei=p[Za+-5]-p[Qa+-5],p[Za+-4]=p[Za+-4]+p[Qa+-4],p[Za+-5]=p[Za+-5]+p[Qa+-5],p[Qa+-4]=qa*ja-ei*Ka,p[Qa+-5]=ei*ja+qa*Ka,qa=p[Za+-6]-p[Qa+-6],ei=p[Za+-7]-p[Qa+-7],p[Za+-6]=p[Za+-6]+p[Qa+-6],p[Za+-7]=p[Za+-7]+p[Qa+-7],p[Qa+-6]=qa*Xa-ei*Ya,p[Qa+-7]=ei*Xa+qa*Ya,Za-=Va,Qa-=Va}Oa+=4*Na,Da-=8}for(var ti=n-1,ai=a[t>>3],ii=ti,ri=ti-16*(t>>5);ii>ri;){var si=p[ii],ni=p[ii+-8];p[ii+-8]=si-ni,p[ii]=si+ni,si=p[ii+-1],ni=p[ii+-9],p[ii+-9]=si-ni,p[ii+-1]=si+ni;var _i=(si=p[ii+-2])-(ni=p[ii+-10]);p[ii+-2]=si+ni;var oi=(si=p[ii+-3])-(ni=p[ii+-11]);p[ii+-3]=si+ni,p[ii+-10]=(_i+oi)*ai,p[ii+-11]=(oi-_i)*ai,si=p[ii+-4],_i=(ni=p[ii+-12])-si,p[ii+-4]=si+ni,oi=(si=p[ii+-5])-(ni=p[ii+-13]),p[ii+-5]=si+ni,p[ii+-12]=oi,p[ii+-13]=_i,si=p[ii+-6],_i=(ni=p[ii+-14])-si,p[ii+-6]=si+ni,oi=(si=p[ii+-7])-(ni=p[ii+-15]),p[ii+-7]=si+ni,p[ii+-14]=(_i+oi)*ai,p[ii+-15]=(_i-oi)*ai;var hi=p[ii],li=p[ii+-4],ui=hi-li,ci=hi+li,di=(hi=p[ii+-2])+(li=p[ii+-6]),pi=hi-li;p[ii]=ci+di,p[ii+-2]=ci-di;var gi=p[ii+-3]-p[ii+-7];p[ii+-4]=ui+gi,p[ii+-6]=ui-gi;var fi=(hi=p[ii+-1])-(li=p[ii+-5]),vi=hi+li,ki=p[ii+-3]+p[ii+-7];p[ii+-1]=vi+ki,p[ii+-3]=vi-ki,p[ii+-5]=fi-pi,p[ii+-7]=fi+pi;var mi=ii-8,bi=p[mi],Si=p[mi+-4],yi=bi-Si,xi=bi+Si,Bi=(bi=p[mi+-2])+(Si=p[mi+-6]),Ti=bi-Si;p[mi]=xi+Bi,p[mi+-2]=xi-Bi;var wi=p[mi+-3]-p[mi+-7];p[mi+-4]=yi+wi,p[mi+-6]=yi-wi;var Ei=(bi=p[mi+-1])-(Si=p[mi+-5]),Ii=bi+Si,Ci=p[mi+-3]+p[mi+-7];p[mi+-1]=Ii+Ci,p[mi+-3]=Ii-Ci,p[mi+-5]=Ei-Ti,p[mi+-7]=Ei+Ti,ii-=16}for(var Ai=0,Li=_-4,Ri=n-4;Li>=0;){var $i=s[Ai];g[Ri+3]=p[$i],g[Ri+2]=p[$i+1],g[Li+3]=p[$i+2],g[Li+2]=p[$i+3],$i=s[Ai+1],g[Ri+1]=p[$i],g[Ri]=p[$i+1],g[Li+1]=p[$i+2],g[Li]=p[$i+3],Li-=4,Ri-=4,Ai+=2}for(var Fi=0,Vi=0,Ni=n-4;Vi<Ni;){var Pi=g[Vi]-g[Ni+2],Mi=g[Vi+1]+g[Ni+3],Oi=r[Fi+1]*Pi+r[Fi]*Mi,Di=r[Fi+1]*Mi-r[Fi]*Pi,Ui=g[Vi]+g[Ni+2],Hi=g[Vi+1]-g[Ni+3];g[Vi]=Ui+Oi,g[Vi+1]=Hi+Di,g[Ni+2]=Ui-Oi,g[Ni+3]=Di-Hi,Pi=g[Vi+2]-g[Ni],Mi=g[Vi+3]+g[Ni+1],Oi=r[Fi+3]*Pi+r[Fi+2]*Mi,Di=r[Fi+3]*Mi-r[Fi+2]*Pi,Ui=g[Vi+2]+g[Ni],Hi=g[Vi+3]-g[Ni+1],g[Vi+2]=Ui+Oi,g[Vi+3]=Hi+Di,g[Ni]=Ui-Oi,g[Ni+1]=Di-Hi,Fi+=4,Vi+=4,Ni-=4}for(var Gi=n-8,Wi=n-8,zi=0,ji=n-4,Ki=n,Xi=t-4;Wi>=0;){var Yi=h[Wi+6]*i[Gi+7]-h[Wi+7]*i[Gi+6],Zi=-h[Wi+6]*i[Gi+6]-h[Wi+7]*i[Gi+7];e[zi]=Yi,e[ji+3]=-Yi,e[Ki]=Zi,e[Xi+3]=Zi;var Qi=h[Wi+4]*i[Gi+5]-h[Wi+5]*i[Gi+4],Ji=-h[Wi+4]*i[Gi+4]-h[Wi+5]*i[Gi+5];e[zi+1]=Qi,e[ji+2]=-Qi,e[Ki+1]=Ji,e[Xi+2]=Ji,Yi=h[Wi+2]*i[Gi+3]-h[Wi+3]*i[Gi+2],Zi=-h[Wi+2]*i[Gi+2]-h[Wi+3]*i[Gi+3],e[zi+2]=Yi,e[ji+1]=-Yi,e[Ki+2]=Zi,e[Xi+1]=Zi,Qi=h[Wi]*i[Gi+1]-h[Wi+1]*i[Gi],Ji=-h[Wi]*i[Gi]-h[Wi+1]*i[Gi+1],e[zi+3]=Qi,e[ji]=-Qi,e[Ki+3]=Ji,e[Xi]=Ji,Gi-=8,Wi-=8,zi+=4,Ki+=4,ji-=4,Xi-=4}},kha_audio2_ogg_tools_Mdct.step3Iter0Loop=function(e,t,a,i,r){for(var s=a,n=a+i,_=0,o=1+(e>>2);--o>0;){var h=t[s]-t[n],l=t[s+-1]-t[n+-1],u=s,c=t;c[u]=c[u]+t[n];var d=s+-1,p=t;p[d]=p[d]+t[n+-1],t[n]=h*r[_]-l*r[_+1],t[n+-1]=l*r[_]+h*r[_+1],_+=8,h=t[s+-2]-t[n+-2],l=t[s+-3]-t[n+-3];var g=s+-2,f=t;f[g]=f[g]+t[n+-2];var v=s+-3,k=t;k[v]=k[v]+t[n+-3],t[n+-2]=h*r[_]-l*r[_+1],t[n+-3]=l*r[_]+h*r[_+1],_+=8,h=t[s+-4]-t[n+-4],l=t[s+-5]-t[n+-5];var m=s+-4,b=t;b[m]=b[m]+t[n+-4];var S=s+-5,y=t;y[S]=y[S]+t[n+-5],t[n+-4]=h*r[_]-l*r[_+1],t[n+-5]=l*r[_]+h*r[_+1],_+=8,h=t[s+-6]-t[n+-6],l=t[s+-7]-t[n+-7];var x=s+-6,B=t;B[x]=B[x]+t[n+-6];var T=s+-7,w=t;w[T]=w[T]+t[n+-7],t[n+-6]=h*r[_]-l*r[_+1],t[n+-7]=l*r[_]+h*r[_+1],_+=8,s-=8,n-=8}},kha_audio2_ogg_tools_Mdct.step3InnerRLoop=function(e,t,a,i,r,s){for(var n=0,_=a,o=a+i,h=1+(e>>2);--h>0;){var l=t[_]-t[o],u=t[_+-1]-t[o+-1],c=_,d=t;d[c]=d[c]+t[o];var p=_+-1,g=t;g[p]=g[p]+t[o+-1],t[o]=l*r[n]-u*r[n+1],t[o+-1]=u*r[n]+l*r[n+1],n+=s,l=t[_+-2]-t[o+-2],u=t[_+-3]-t[o+-3];var f=_+-2,v=t;v[f]=v[f]+t[o+-2];var k=_+-3,m=t;m[k]=m[k]+t[o+-3],t[o+-2]=l*r[n]-u*r[n+1],t[o+-3]=u*r[n]+l*r[n+1],n+=s,l=t[_+-4]-t[o+-4],u=t[_+-5]-t[o+-5];var b=_+-4,S=t;S[b]=S[b]+t[o+-4];var y=_+-5,x=t;x[y]=x[y]+t[o+-5],t[o+-4]=l*r[n]-u*r[n+1],t[o+-5]=u*r[n]+l*r[n+1],n+=s,l=t[_+-6]-t[o+-6],u=t[_+-7]-t[o+-7];var B=_+-6,T=t;T[B]=T[B]+t[o+-6];var w=_+-7,E=t;E[w]=E[w]+t[o+-7],t[o+-6]=l*r[n]-u*r[n+1],t[o+-7]=u*r[n]+l*r[n+1],_-=8,o-=8,n+=s}},kha_audio2_ogg_tools_Mdct.step3InnerSLoop=function(e,t,a,i,r,s,n,_){for(var o=r[s],h=r[s+1],l=r[s+n],u=r[s+n+1],c=r[s+2*n],d=r[s+2*n+1],p=r[s+3*n],g=r[s+3*n+1],f=a,v=a+i,k=e+1;--k>0;){var m=t[f]-t[v],b=t[f+-1]-t[v+-1];t[f]=t[f]+t[v],t[f+-1]=t[f+-1]+t[v+-1],t[v]=m*o-b*h,t[v+-1]=b*o+m*h,m=t[f+-2]-t[v+-2],b=t[f+-3]-t[v+-3],t[f+-2]=t[f+-2]+t[v+-2],t[f+-3]=t[f+-3]+t[v+-3],t[v+-2]=m*l-b*u,t[v+-3]=b*l+m*u,m=t[f+-4]-t[v+-4],b=t[f+-5]-t[v+-5],t[f+-4]=t[f+-4]+t[v+-4],t[f+-5]=t[f+-5]+t[v+-5],t[v+-4]=m*c-b*d,t[v+-5]=b*c+m*d,m=t[f+-6]-t[v+-6],b=t[f+-7]-t[v+-7],t[f+-6]=t[f+-6]+t[v+-6],t[f+-7]=t[f+-7]+t[v+-7],t[v+-6]=m*p-b*g,t[v+-7]=b*p+m*g,f-=_,v-=_}},kha_audio2_ogg_tools_Mdct.iter54=function(e,t){var a=e[t],i=e[t+-4],r=a-i,s=a+i,n=(a=e[t+-2])+(i=e[t+-6]),_=a-i;e[t]=s+n,e[t+-2]=s-n;var o=e[t+-3]-e[t+-7];e[t+-4]=r+o,e[t+-6]=r-o;var h=(a=e[t+-1])-(i=e[t+-5]),l=a+i,u=e[t+-3]+e[t+-7];e[t+-1]=l+u,e[t+-3]=l-u,e[t+-5]=h-_,e[t+-7]=h+_},kha_audio2_ogg_tools_Mdct.step3InnerSLoopLd654=function(e,t,a,i,r){for(var s=i[r>>3],n=a,_=a-16*e;n>_;){var o=t[n],h=t[n+-8];t[n+-8]=o-h,t[n]=o+h,o=t[n+-1],h=t[n+-9],t[n+-9]=o-h,t[n+-1]=o+h;var l=(o=t[n+-2])-(h=t[n+-10]);t[n+-2]=o+h;var u=(o=t[n+-3])-(h=t[n+-11]);t[n+-3]=o+h,t[n+-10]=(l+u)*s,t[n+-11]=(u-l)*s,o=t[n+-4],l=(h=t[n+-12])-o,t[n+-4]=o+h,u=(o=t[n+-5])-(h=t[n+-13]),t[n+-5]=o+h,t[n+-12]=u,t[n+-13]=l,o=t[n+-6],l=(h=t[n+-14])-o,t[n+-6]=o+h,u=(o=t[n+-7])-(h=t[n+-15]),t[n+-7]=o+h,t[n+-14]=(l+u)*s,t[n+-15]=(l-u)*s;var c=t[n],d=t[n+-4],p=c-d,g=c+d,f=(c=t[n+-2])+(d=t[n+-6]),v=c-d;t[n]=g+f,t[n+-2]=g-f;var k=t[n+-3]-t[n+-7];t[n+-4]=p+k,t[n+-6]=p-k;var m=(c=t[n+-1])-(d=t[n+-5]),b=c+d,S=t[n+-3]+t[n+-7];t[n+-1]=b+S,t[n+-3]=b-S,t[n+-5]=m-v,t[n+-7]=m+v;var y=n-8,x=t[y],B=t[y+-4],T=x-B,w=x+B,E=(x=t[y+-2])+(B=t[y+-6]),I=x-B;t[y]=w+E,t[y+-2]=w-E;var C=t[y+-3]-t[y+-7];t[y+-4]=T+C,t[y+-6]=T-C;var A=(x=t[y+-1])-(B=t[y+-5]),L=x+B,R=t[y+-3]+t[y+-7];t[y+-1]=L+R,t[y+-3]=L-R,t[y+-5]=A-I,t[y+-7]=A+I,n-=16}};var kha_audio2_ogg_vorbis_Reader=$hxClasses["kha.audio2.ogg.vorbis.Reader"]=function(e,t,a){this.seekFunc=t,this.inputLength=a,this.decoder=kha_audio2_ogg_vorbis_VorbisDecoder.start(e),this.decoder.setupSampleNumber(t,a),this.loopStart=this.get_header().comment.get_loopStart(),this.loopLength=this.get_header().comment.get_loopLength()};kha_audio2_ogg_vorbis_Reader.__name__=!0,kha_audio2_ogg_vorbis_Reader.openFromBytes=function(e){var t=new haxe_io_BytesInput(e),a=t;return new kha_audio2_ogg_vorbis_Reader(t,function(e){kha_audio2_ogg_vorbis_Reader.seekBytes(a,e)},e.length)},kha_audio2_ogg_vorbis_Reader.seekBytes=function(e,t){e.set_position(t)},kha_audio2_ogg_vorbis_Reader.readAll=function(e,t,a){null==a&&(a=!1);var i=new haxe_io_BytesInput(e),r=kha_audio2_ogg_vorbis_VorbisDecoder.start(i),s=i;r.setupSampleNumber(function(e){kha_audio2_ogg_vorbis_Reader.seekBytes(s,e)},e.length);for(var n=r.header,_=4096*n.channel,o=new Array(_);;){for(var h=r.read(o,4096,n.channel,n.sampleRate,a),l=0,u=h*n.channel;l<u;){var c=l++;t.writeFloat(o[c])}if(0==h)break;h}return r.header},kha_audio2_ogg_vorbis_Reader.prototype={decoder:null,get_header:function(){return this.decoder.header},get_totalSample:function(){return this.decoder.totalSample},get_totalMillisecond:function(){var e=this.decoder.totalSample,t=this.get_header().sampleRate;return _$UInt_UInt_$Impl_$.toFloat(e)/_$UInt_UInt_$Impl_$.toFloat(t)*1e3},get_currentSample:function(){return this.decoder.currentSample},set_currentSample:function(e){return this.decoder.seek(this.seekFunc,this.inputLength,e),this.decoder.currentSample},get_currentMillisecond:function(){var e=this.get_currentSample(),t=this.get_header().sampleRate;return _$UInt_UInt_$Impl_$.toFloat(e)/_$UInt_UInt_$Impl_$.toFloat(t)*1e3},set_currentMillisecond:function(e){var t=e/1e3,a=this.get_header().sampleRate;return this.set_currentSample(Math.floor(_$UInt_UInt_$Impl_$.toFloat(a)*t)),this.get_currentMillisecond()},loopStart:null,loopLength:null,seekFunc:null,inputLength:null,read:function(e,t,a,i,r){return null==r&&(r=!1),this.decoder.ensurePosition(this.seekFunc),null==t&&(t=this.decoder.totalSample),null==a&&(a=this.get_header().channel),null==i&&(i=this.get_header().sampleRate),this.decoder.read(e,t,a,i,r)},clone:function(){var e=Type.createEmptyInstance(kha_audio2_ogg_vorbis_Reader);return e.seekFunc=this.seekFunc,e.inputLength=this.inputLength,e.decoder=this.decoder.clone(this.seekFunc),e.loopStart=this.loopStart,e.loopLength=this.loopLength,e},sampleToMillisecond:function(e){var t=this.get_header().sampleRate;return _$UInt_UInt_$Impl_$.toFloat(e)/_$UInt_UInt_$Impl_$.toFloat(t)*1e3},millisecondToSample:function(e){var t=e/1e3,a=this.get_header().sampleRate;return Math.floor(_$UInt_UInt_$Impl_$.toFloat(a)*t)},__class__:kha_audio2_ogg_vorbis_Reader};var kha_audio2_ogg_vorbis_VorbisDecodeState=$hxClasses["kha.audio2.ogg.vorbis.VorbisDecodeState"]=function(e){this.nextSeg=0,this.firstDecode=!1,this.bytesInSeg=0,this.validBits=0,this.input=e,this.inputPosition=0,this.page=new kha_audio2_ogg_vorbis_data_Page,kha_audio2_ogg_tools_Crc32.init()};kha_audio2_ogg_vorbis_VorbisDecodeState.__name__=!0,kha_audio2_ogg_vorbis_VorbisDecodeState.prototype={page:null,eof:null,pFirst:null,pLast:null,validBits:null,inputPosition:null,input:null,discardSamplesDeferred:null,segments:null,bytesInSeg:null,channelBuffers:null,channelBufferStart:null,channelBufferEnd:null,currentSample:null,previousWindow:null,previousLength:null,finalY:null,firstDecode:null,nextSeg:null,acc:null,lastSeg:null,lastSegWhich:null,endSegWithKnownLoc:null,knownLocForPacket:null,error:null,currentLoc:null,currentLocValid:null,firstAudioPageOffset:null,setup:function(e,t){this.inputPosition+=1;var a=this.input.readByte();this.inputPosition+=a;for(var i=new Array(a),r=0,s=a;r<s;)i[r++]=this.input.readByte();if(this.segments=i,this.endSegWithKnownLoc=-2,-1!=e||-1!=t)for(var n=a-1;n>=0&&!(this.segments[n]<255);)n>=0&&(this.endSegWithKnownLoc=n,this.knownLocForPacket=e),--n;if(this.firstDecode){for(var _=0,o=new kha_audio2_ogg_vorbis_data_ProbedPage,h=0,l=a;h<l;){var u=h++;_+=this.segments[u]}_+=27+a,o.pageStart=this.firstAudioPageOffset,o.pageEnd=o.pageStart+_,o.firstDecodedSample=0,o.lastDecodedSample=e,this.pFirst=o}this.nextSeg=0},clone:function(e){var t=Type.createEmptyInstance(kha_audio2_ogg_vorbis_VorbisDecodeState);return e(this.inputPosition),t.input=this.input,t.eof=this.eof,t.validBits=this.validBits,t.discardSamplesDeferred=this.discardSamplesDeferred,t.firstDecode=this.firstDecode,t.nextSeg=this.nextSeg,t.bytesInSeg=this.bytesInSeg,t.acc=t.acc,t.lastSeg=this.lastSeg,t.lastSegWhich=this.lastSegWhich,t.currentLoc=this.currentLoc,t.currentLocValid=this.currentLocValid,t.inputPosition=this.inputPosition,t.firstAudioPageOffset=this.firstAudioPageOffset,t.error=this.error,t.segments=this.segments,t.pFirst=this.pFirst,t.pLast=this.pLast,t.page=this.page.clone(),t},next:function(){if(this.lastSeg)return 0;if(-1==this.nextSeg){this.lastSegWhich=this.segments.length-1;try{this.page.start(this)}catch(e){if(e instanceof js__$Boot_HaxeError&&(e=e.val),js_Boot.__instanceof(e,kha_audio2_ogg_vorbis_data_ReaderError))return this.lastSeg=!0,this.error=e,0;throw e}if(0==(1&this.page.flag))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.CONTINUED_PACKET_FLAG_INVALID,null,{fileName:"VorbisDecodeState.hx",lineNumber:171,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"next"}))}var e=this.segments[this.nextSeg++];if(e<255&&(this.lastSeg=!0,this.lastSegWhich=this.nextSeg-1),this.nextSeg>=this.segments.length&&(this.nextSeg=-1),0!=this.bytesInSeg)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisDecodeState.hx",lineNumber:184,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"next"}));return this.bytesInSeg=e,e},startPacket:function(){for(;-1==this.nextSeg;)if(this.page.start(this),0!=(1&this.page.flag))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN,null,{fileName:"VorbisDecodeState.hx",lineNumber:193,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"startPacket"}));this.lastSeg=!1,this.validBits=0,this.bytesInSeg=0},maybeStartPacket:function(){if(-1==this.nextSeg){var e,t=!1;try{this.inputPosition+=1,e=this.input.readByte()}catch(a){if(a instanceof js__$Boot_HaxeError&&(a=a.val),!js_Boot.__instanceof(a,haxe_io_Eof))throw a;t=!0,e=0}if(t)return!1;var a,i,r;if(79==e?(this.inputPosition+=1,r=103!=this.input.readByte()):r=!0,r?i=!0:(this.inputPosition+=1,i=103!=this.input.readByte()),i?a=!0:(this.inputPosition+=1,a=83!=this.input.readByte()),a)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN,null,{fileName:"VorbisDecodeState.hx",lineNumber:218,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"maybeStartPacket"}));this.page.startWithoutCapturePattern(this)}return this.startPacket(),!0},readBits:function(e){if(this.validBits<0)return 0;if(this.validBits<e){if(e>24)return this.readBits(24)+(this.readBits(e-24)<<24);for(0==this.validBits&&(this.acc=0);;){if(0==this.bytesInSeg&&(this.lastSeg||0==this.next())){this.validBits=-1;break}if(this.bytesInSeg--,this.inputPosition+=1,this.acc=this.acc+(this.input.readByte()<<this.validBits),this.validBits+=8,!(this.validBits<e))break}if(this.validBits<0)return 0;var t=this.acc&(1<<e)-1;return this.acc=this.acc>>>e,this.validBits-=e,t}var a=this.acc&(1<<e)-1;return this.acc=this.acc>>>e,this.validBits-=e,a},readPacketRaw:function(){return 0!=this.bytesInSeg||!this.lastSeg&&0!=this.next()?(this.bytesInSeg--,this.inputPosition+=1,this.input.readByte()):-1},readPacket:function(){var e;return 0!=this.bytesInSeg||!this.lastSeg&&0!=this.next()?(this.bytesInSeg--,this.inputPosition+=1,e=this.input.readByte()):e=-1,this.validBits=0,e},flushPacket:function(){for(;0!=this.bytesInSeg||!this.lastSeg&&0!=this.next();)this.bytesInSeg--,this.inputPosition+=1,this.input.readByte()},vorbisValidate:function(){for(var e=new haxe_io_Bytes(new ArrayBuffer(6)),t=0;t<6;){var a,i=t++;0!=this.bytesInSeg||!this.lastSeg&&0!=this.next()?(this.bytesInSeg--,this.inputPosition+=1,a=this.input.readByte()):a=-1,this.validBits=0,e.b[i]=255&a}if("vorbis"!=e.toString())throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"vorbis header",{fileName:"VorbisDecodeState.hx",lineNumber:300,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"vorbisValidate"}))},firstPageValidate:function(){if(1!=this.segments.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"segmentCount",{fileName:"VorbisDecodeState.hx",lineNumber:307,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"firstPageValidate"}));if(30!=this.segments[0])throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"decodeState head",{fileName:"VorbisDecodeState.hx",lineNumber:310,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"firstPageValidate"}))},startFirstDecode:function(){this.firstAudioPageOffset=this.inputPosition,this.firstDecode=!0},capturePattern:function(){var e,t,a;if(this.inputPosition+=1,79==this.input.readByte()?(this.inputPosition+=1,a=103!=this.input.readByte()):a=!0,a?t=!0:(this.inputPosition+=1,t=103!=this.input.readByte()),t?e=!0:(this.inputPosition+=1,e=83!=this.input.readByte()),e)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN,null,{fileName:"VorbisDecodeState.hx",lineNumber:323,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"capturePattern"}))},skip:function(e){this.inputPosition+=e;for(var t=new Array(e),a=0,i=e;a<i;)t[a++]=this.input.readByte()},prepHuffman:function(){if(this.validBits<=24)for(0==this.validBits&&(this.acc=0);;){if(0==this.bytesInSeg&&(this.lastSeg||0==this.next()))return;if(this.bytesInSeg--,this.inputPosition+=1,this.acc=this.acc+(this.input.readByte()<<this.validBits),this.validBits+=8,!(this.validBits<=24))break}},decode:function(e){this.validBits<10&&this.prepHuffman();var t,a=e.fastHuffman[1023&this.acc];if(a>=0){var i=e.codewordLengths[a];this.acc=this.acc>>>i,this.validBits-=i,this.validBits<0?(this.validBits=0,t=-1):t=a}else t=this.decodeScalarRaw(e);return e.sparse&&(t=e.sortedValues[t]),t},decodeRaw:function(e){this.validBits<10&&this.prepHuffman();var t=e.fastHuffman[1023&this.acc];if(t>=0){var a=e.codewordLengths[t];return this.acc=this.acc>>>a,this.validBits-=a,this.validBits<0?(this.validBits=0,-1):t}return this.decodeScalarRaw(e)},isLastByte:function(){return 0==this.bytesInSeg&&this.lastSeg},finishDecodePacket:function(e,t,a){var i=a.left.start,r=!1,s=t>>1;if(this.firstDecode)this.currentLoc=-s,this.discardSamplesDeferred=t-a.right.end,r=!0,this.firstDecode=!1;else if(0!=this.discardSamplesDeferred)a.left.start+=this.discardSamplesDeferred,i=a.left.start,this.discardSamplesDeferred=0;else;if(this.lastSegWhich==this.endSegWithKnownLoc){if(r&&0!=(4&this.page.flag)){var n=this.knownLocForPacket-(t-a.right.end);if(n<this.currentLoc+a.right.end){var _=n<this.currentLoc?0:n-this.currentLoc;return _+=a.left.start,this.currentLoc+=_,{len:_,left:i,right:a.right.start}}}this.currentLoc=this.knownLocForPacket-(s-a.left.start),r=!0}return r&&(this.currentLoc+=a.right.start-a.left.start),{len:a.right.end,left:i,right:a.right.start}},readInt32:function(){return this.inputPosition+=4,this.input.readInt32()},readByte:function(){return this.inputPosition+=1,this.input.readByte()},read:function(e){this.inputPosition+=e;for(var t=new Array(e),a=0,i=e;a<i;)t[a++]=this.input.readByte();return t},readBytes:function(e){return this.inputPosition+=e,this.input.read(e)},readString:function(e){return this.inputPosition+=e,this.input.readString(e)},getSampleNumber:function(e,t){var a=this.inputPosition,i=_$UInt_UInt_$Impl_$.gte(t,65536)&&_$UInt_UInt_$Impl_$.gte(t-65536,this.firstAudioPageOffset)?t-65536:this.firstAudioPageOffset;e(this.inputPosition=i);var r=0,s=!1,n=this.findPage(e,t);switch(n[1]){case 0:var _=n[3];r=n[2],s=_;break;case 1:throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.CANT_FIND_LAST_PAGE,null,{fileName:"VorbisDecodeState.hx",lineNumber:518,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"getSampleNumber"}))}var o=this.inputPosition;try{for(;!s;){e(this.inputPosition=r);var h=this.findPage(e,t);switch(h[1]){case 0:var l=h[3];r=h[2],s=l;break;case 1:throw"__break__"}i=o+1,o=this.inputPosition}}catch(e){if("__break__"!=e)throw e}e(this.inputPosition=o),this.inputPosition+=6;for(var u=new Array(6),c=0;c<6;)u[c++]=this.input.readByte();this.inputPosition+=4;var d=this.input.readInt32();this.inputPosition+=4;var p=this.input.readInt32();if(-1==d&&-1==p||p>0)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.CANT_FIND_LAST_PAGE,null,{fileName:"VorbisDecodeState.hx",lineNumber:552,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"getSampleNumber"}));return this.pLast=new kha_audio2_ogg_vorbis_data_ProbedPage,this.pLast.pageStart=o,this.pLast.pageEnd=r,this.pLast.lastDecodedSample=d,this.pLast.firstDecodedSample=null,this.pLast.afterPreviousPageStart=i,e(this.inputPosition=a),d},forcePageResync:function(){this.nextSeg=-1},setInputOffset:function(e,t){e(this.inputPosition=t)},findPage:function(e,t){try{for(;;)if(this.inputPosition+=1,79==this.input.readByte()){var a=this.inputPosition;if(a-25>t)return kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound;var i,r;if(this.inputPosition+=1,103==this.input.readByte()?(this.inputPosition+=1,r=103!=this.input.readByte()):r=!0,r?i=!0:(this.inputPosition+=1,i=83!=this.input.readByte()),i)continue;var s=new Array(27);s[0]=79,s[1]=103,s[2]=103,s[3]=83;for(var n=4;n<27;){var _=n++;this.inputPosition+=1,s[_]=this.input.readByte()}if(0!=s[4]){e(this.inputPosition=a);continue}for(var o=s[22]+(s[23]<<8)+(s[24]<<16)+(s[25]<<24),h=22;h<26;)s[h++]=0;for(var l=0,u=0;u<27;){var c=u++;l=l<<8^kha_audio2_ogg_tools_Crc32.table[s[c]^l>>>24]}var d=0;try{for(var p=0,g=s[26];p<g;){p++;this.inputPosition+=1;var f=this.input.readByte();l=l<<8^kha_audio2_ogg_tools_Crc32.table[f^l>>>24],d+=f}for(var v=0,k=d;v<k;){v++;this.inputPosition+=1;var m=this.input.readByte();l=l<<8^kha_audio2_ogg_tools_Crc32.table[m^l>>>24]}}catch(e){if(e instanceof js__$Boot_HaxeError&&(e=e.val),js_Boot.__instanceof(e,haxe_io_Eof))return kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound;throw e}if(l==o){var b=this.inputPosition;return e(this.inputPosition=a-1),kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.Found(b,0!=(4&s[5]))}}}catch(e){if(e instanceof js__$Boot_HaxeError&&(e=e.val),js_Boot.__instanceof(e,haxe_io_Eof))return kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound;throw e}},analyzePage:function(e,t){var a=new kha_audio2_ogg_vorbis_data_ProbedPage,i=new Array(255);a.pageStart=this.inputPosition,this.inputPosition+=27;for(var r=new Array(27),s=0;s<27;)r[s++]=this.input.readByte();var n=r;if(79!=n[0]||103!=n[1]||103!=n[2]||83!=n[3])throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisDecodeState.hx",lineNumber:660,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"analyzePage"}));var _=n[26];this.inputPosition+=_;for(var o=new Array(_),h=0,l=_;h<l;)o[h++]=this.input.readByte();for(var u=o,c=0,d=0,p=n[26];d<p;)c+=u[d++];if(a.pageEnd=a.pageStart+27+n[26]+c,a.lastDecodedSample=n[6]+(n[7]<<8)+(n[8]<<16)+(n[9]<<16),0!=(4&n[5]))return a.firstDecodedSample=null,e(this.inputPosition=a.pageStart),a;for(var g=0,f=0==(1&n[5]),v=t.modes.length,k=0,m=n[26];k<m;){var b=k++;if(f){if(0==u[b])return e(this.inputPosition=a.pageStart),null;this.inputPosition+=1;var S=this.input.readByte();if(0!=(1&S))return e(this.inputPosition=a.pageStart),null;S>>=1;var y=v-1,x=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4];if((S&=(1<<(y<16384?y<16?x[y]:y<512?5+x[y>>5]:10+x[y>>10]:y<16777216?y<524288?15+x[y>>15]:20+x[y>>20]:y<536870912?25+x[y>>25]:y<-2147483648?30+x[y>>30]:0))-1)>=v)return e(this.inputPosition=a.pageStart),null;i[g++]=t.modes[S].blockflag;var B=u[b]-1;this.inputPosition+=B;for(var T=new Array(B),w=0,E=B;w<E;)T[w++]=this.input.readByte()}else{var I=u[b];this.inputPosition+=I;for(var C=new Array(I),A=0,L=I;A<L;)C[A++]=this.input.readByte()}f=u[b]<255}var R=0;g>1&&(R+=i[g-1]?t.blocksize1:t.blocksize0);for(var $=g-2;$>=1;)i[--$]?i[$+1]?R+=t.blocksize1>>1:R+=(t.blocksize1-t.blocksize0>>2)+(t.blocksize0>>1):R+=t.blocksize0>>1,--$;return a.firstDecodedSample=a.lastDecodedSample-R,e(this.inputPosition=a.pageStart),a},decodeScalarRaw:function(e){if(this.prepHuffman(),null==e.sortedCodewords&&null==e.codewords)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisDecodeState.hx",lineNumber:787,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"decodeScalarRaw"}));var t=e.codewordLengths,a=e.codewords,i=e.sortedCodewords;if(e.entries>8?null!=i:null!=a){for(var r=this.acc,s=(r=(-16711936&(r=(-252645136&(r=(-858993460&(r=(-1431655766&r)>>>1|(1431655765&r)<<1))>>>2|(858993459&r)<<2))>>>4|(252645135&r)<<4))>>>8|(16711935&r)<<8)>>>16|r<<16,n=0,_=e.sortedEntries;_>1;){var o=n+(_>>1);_$UInt_UInt_$Impl_$.gte(s,i[o])?(n=o,_-=_>>1):_>>=1}e.sparse||(n=e.sortedValues[n]);var h=t[n];return this.validBits>=h?(this.acc=this.acc>>>h,this.validBits-=h,n):(this.validBits=0,-1)}if(e.sparse)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisDecodeState.hx",lineNumber:829,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"decodeScalarRaw"}));for(var l=0,u=e.entries;l<u;){var c=l++,d=t[c];if(255!=d&&a[c]==(this.acc&(1<<d)-1))return this.validBits>=d?(this.acc=this.acc>>>d,this.validBits-=d,c):(this.validBits=0,-1)}return this.error=new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM,null,{fileName:"VorbisDecodeState.hx",lineNumber:846,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"decodeScalarRaw"}),this.validBits=0,-1},__class__:kha_audio2_ogg_vorbis_VorbisDecodeState};var kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult=$hxClasses["kha.audio2.ogg.vorbis._VorbisDecodeState.FindPageResult"]={__ename__:!0,__constructs__:["Found","NotFound"]};kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.Found=function(e,t){var a=["Found",0,e,t];return a.__enum__=kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult,a.toString=$estr,a},kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound=["NotFound",1],kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound.toString=$estr,kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult.NotFound.__enum__=kha_audio2_ogg_vorbis__$VorbisDecodeState_FindPageResult;var kha_audio2_ogg_vorbis_VorbisDecoder=$hxClasses["kha.audio2.ogg.vorbis.VorbisDecoder"]=function(e,t){this.header=e,this.decodeState=t,this.totalSample=null,this.currentSample=0,this.previousLength=0;var a=e.channel,i=new Array(a);this.channelBuffers=i;var r=e.channel,s=new Array(r);this.previousWindow=s;var n=e.channel,_=new Array(n);this.finalY=_;for(var o=0,h=e.channel;o<h;){var l=o++,u=this.channelBuffers,c=e.blocksize1,d=new Array(c);u[l]=d;var p=this.previousWindow,g=e.blocksize1/2|0,f=new Array(g);p[l]=f,this.finalY[l]=[]}var v=new Array(2);this.a=v;var k=new Array(2);this.b=k;var m=new Array(2);this.c=m;var b=new Array(2);this.window=b;var S=new Array(2);this.bitReverseData=S,this.initBlocksize(0,e.blocksize0),this.initBlocksize(1,e.blocksize1)};kha_audio2_ogg_vorbis_VorbisDecoder.__name__=!0,kha_audio2_ogg_vorbis_VorbisDecoder.start=function(e){var t=new kha_audio2_ogg_vorbis_VorbisDecodeState(e),a=kha_audio2_ogg_vorbis_data_Header.read(t),i=new kha_audio2_ogg_vorbis_VorbisDecoder(a,t);return t.startFirstDecode(),i.pumpFirstFrame(),i},kha_audio2_ogg_vorbis_VorbisDecoder.prototype={previousWindow:null,previousLength:null,finalY:null,a:null,b:null,c:null,window:null,bitReverseData:null,channelBuffers:null,channelBufferStart:null,channelBufferEnd:null,header:null,currentSample:null,totalSample:null,decodeState:null,read:function(e,t,a,i,r){var s=this.header.sampleRate;if(0!=(_$UInt_UInt_$Impl_$.toFloat(i)%_$UInt_UInt_$Impl_$.toFloat(s)|0))throw new js__$Boot_HaxeError("Unsupported sampleRate : can't convert "+Std.string(_$UInt_UInt_$Impl_$.toFloat(this.header.sampleRate))+" to "+i);if(a%this.header.channel!=0)throw new js__$Boot_HaxeError("Unsupported channels : can't convert "+this.header.channel+" to "+a);var n=this.header.sampleRate,_=_$UInt_UInt_$Impl_$.toFloat(i)/_$UInt_UInt_$Impl_$.toFloat(n)|0,o=a/this.header.channel|0,h=0,l=Math.floor(t/_);null!=this.totalSample&&l>this.totalSample-this.currentSample&&(l=this.totalSample-this.currentSample);for(var u=0;h<l;){var c=this.channelBufferEnd-this.channelBufferStart;c>=l-h&&(c=l-h);for(var d=this.channelBufferStart,p=this.channelBufferStart+c;d<p;)for(var g=d++,f=0,v=_;f<v;){f++;for(var k=0,m=this.header.channel;k<m;)for(var b=k++,S=0,y=o;S<y;){S++;var x=this.channelBuffers[b][g];x>1?x=1:x<-1&&(x=-1),r&&(e[u]=x,++u)}}if(h+=c,this.channelBufferStart+=c,h==l||0==this.getFrameFloat())break}for(var B=h,T=l;B<T;){B++;for(var w=0,E=_;w<E;){w++;for(var I=0,C=this.header.channel;I<C;){I++;for(var A=0,L=o;A<L;){A++;r&&(e[u]=0,++u)}}}}return this.currentSample+=l,l*_},skipSamples:function(e){var t=0;for(null!=this.totalSample&&e>this.totalSample-this.currentSample&&(e=this.totalSample-this.currentSample);t<e;){var a=this.channelBufferEnd-this.channelBufferStart;if(a>=e-t&&(a=e-t),t+=a,this.channelBufferStart+=a,t==e||0==this.getFrameFloat())break}return this.currentSample+=e,e},setupSampleNumber:function(e,t){null==this.totalSample&&(this.totalSample=this.decodeState.getSampleNumber(e,t))},seek:function(e,t,a){if(this.currentSample!=a){if(null==this.totalSample&&(this.setupSampleNumber(e,t),0==this.totalSample))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.CANT_FIND_LAST_PAGE,null,{fileName:"VorbisDecoder.hx",lineNumber:187,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"seek"}));a<0&&(a=0);var i=this.decodeState.pFirst,r=this.decodeState.pLast;if(a>=r.lastDecodedSample&&(a=r.lastDecodedSample-1),a<i.lastDecodedSample)this.seekFrameFromPage(e,i.pageStart,0,a);else{for(var s=0;i.pageEnd<r.pageStart;){var n=i.pageEnd,_=r.afterPreviousPageStart,o=i.lastDecodedSample,h=r.lastDecodedSample;if(null==o||null==h)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED,null,{fileName:"VorbisDecoder.hx",lineNumber:219,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"seek"}));_$UInt_UInt_$Impl_$.gt(_,n+4e3)&&(_-=4e3);var l=n+Math.floor(_$UInt_UInt_$Impl_$.toFloat(_-n)/_$UInt_UInt_$Impl_$.toFloat(h-o)*(a-o));if(s>=4){var u=n+(_-n>>>1);s>=8?l=u:_$UInt_UInt_$Impl_$.gt(u,l)?l+=u-l>>>1:l=u+(l-u>>>1)}switch(++s,e(this.decodeState.inputPosition=l),this.decodeState.findPage(e,t)[1]){case 0:break;case 1:throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED,null,{fileName:"VorbisDecoder.hx",lineNumber:249,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"seek"}))}var c=this.decodeState.analyzePage(e,this.header);if(null==c)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED,null,{fileName:"VorbisDecoder.hx",lineNumber:255,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"seek"}));c.afterPreviousPageStart=l,c.pageStart!=r.pageStart?a<c.lastDecodedSample?r=c:i=c:r=c}if(!(i.lastDecodedSample<=a&&a<r.lastDecodedSample))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED,null,{fileName:"VorbisDecoder.hx",lineNumber:275,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"seek"}));this.seekFrameFromPage(e,r.pageStart,i.lastDecodedSample,a)}}},seekFrameFromPage:function(e,t,a,i){var r=0,s=a;e(this.decodeState.inputPosition=t),this.decodeState.nextSeg=-1;for(var n=0,_=0,o=null,h=null;;){o=h,h=this.decodeState.clone(e);var l=this.decodeInitial();if(null==l){h=o;break}_=l.left.start,n=l.left.end;var u=0==r?n:_;if(i<s+l.right.start-u)break;for(var c=this.decodeState;0!=c.bytesInSeg||!c.lastSeg&&0!=c.next();)c.bytesInSeg--,c.inputPosition+=1,c.input.readByte();s+=l.right.start-u,++r}this.decodeState=h,e(this.decodeState.inputPosition),this.previousLength=0,this.pumpFirstFrame(),this.currentSample=s,this.skipSamples(i-s)},clone:function(e){var t=Type.createEmptyInstance(kha_audio2_ogg_vorbis_VorbisDecoder);t.currentSample=this.currentSample,t.totalSample=this.totalSample,t.previousLength=this.previousLength,t.channelBufferStart=this.channelBufferStart,t.channelBufferEnd=this.channelBufferEnd,t.a=this.a,t.b=this.b,t.c=this.c,t.window=this.window,t.bitReverseData=this.bitReverseData,t.header=this.header,t.decodeState=this.decodeState.clone(e);var a=this.header.channel,i=new Array(a);t.channelBuffers=i;var r=this.header.channel,s=new Array(r);t.previousWindow=s;var n=this.header.channel,_=new Array(n);t.finalY=_;for(var o=0,h=this.header.channel;o<h;){var l=o++;t.channelBuffers[l]=kha_audio2_ogg_vorbis_VorbisTools.copyVector(this.channelBuffers[l]),t.previousWindow[l]=kha_audio2_ogg_vorbis_VorbisTools.copyVector(this.previousWindow[l]),t.finalY[l]=Lambda.array(this.finalY[l])}return t},ensurePosition:function(e){e(this.decodeState.inputPosition)},getFrameFloat:function(){var e=this.decodePacket();if(null==e)return this.channelBufferStart=this.channelBufferEnd=0,0;var t=this.finishFrame(e);return this.channelBufferStart=e.left,this.channelBufferEnd=e.left+t,t},pumpFirstFrame:function(){this.finishFrame(this.decodePacket())},finishFrame:function(e){var t=e.len,a=e.right,i=e.left;if(0!=this.previousLength)for(var r=this.previousLength,s=this.getWindow(r),n=0,_=this.header.channel;n<_;)for(var o=n++,h=this.channelBuffers[o],l=this.previousWindow[o],u=0,c=r;u<c;){var d=u++;h[i+d]=h[i+d]*s[d]+l[d]*s[r-1-d]}var p=this.previousLength;this.previousLength=t-a;for(var g=0,f=this.header.channel;g<f;)for(var v=g++,k=this.previousWindow[v],m=this.channelBuffers[v],b=0,S=t-a;b<S;){var y=b++;k[y]=m[a+y]}return 0==p?0:(t<a&&(a=t),a-i)},getWindow:function(e){if((e<<=1)==this.header.blocksize0)return this.window[0];if(e==this.header.blocksize1)return this.window[1];throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisDecoder.hx",lineNumber:466,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"getWindow"}))},initBlocksize:function(e,t){var a=t>>1,i=t>>2,r=t>>3,s=this.a,n=new Array(a);s[e]=n;var _=this.b,o=new Array(a);_[e]=o;var h=this.c,l=new Array(i);h[e]=l;var u=this.window,c=new Array(a);u[e]=c;var d=this.bitReverseData,p=new Array(r);d[e]=p,kha_audio2_ogg_vorbis_VorbisTools.computeTwiddleFactors(t,this.a[e],this.b[e],this.c[e]),kha_audio2_ogg_vorbis_VorbisTools.computeWindow(t,this.window[e]),kha_audio2_ogg_vorbis_VorbisTools.computeBitReverse(t,this.bitReverseData[e])},inverseMdct:function(e,t,a){for(var i=a?1:0,r=this.a[i],s=this.b[i],n=this.c[i],_=this.bitReverseData[i],o=t>>1,h=t>>2,l=t>>3,u=new Array(o),c=o-2,d=0,p=0,g=o;p!=g;)u[c+1]=e[p]*r[d]-e[p+2]*r[d+1],u[c]=e[p]*r[d+1]+e[p+2]*r[d],c-=2,d+=2,p+=4;for(p=o-3;c>=0;)u[c+1]=-e[p+2]*r[d]- -e[p]*r[d+1],u[c]=-e[p+2]*r[d+1]+-e[p]*r[d],c-=2,d+=2,p-=4;for(var f=e,v=u,k=o-8,m=h,b=0,S=h,y=0;k>=0;){var x=v[m+1]-v[b+1],B=v[m]-v[b];f[S+1]=v[m+1]+v[b+1],f[S]=v[m]+v[b],f[y+1]=x*r[k+4]-B*r[k+5],f[y]=B*r[k+4]+x*r[k+5],x=v[m+3]-v[b+3],B=v[m+2]-v[b+2],f[S+3]=v[m+3]+v[b+3],f[S+2]=v[m+2]+v[b+2],f[y+3]=x*r[k]-B*r[k+1],f[y+2]=B*r[k]+x*r[k+1],k-=8,S+=4,y+=4,m+=4,b+=4}for(var T=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],w=(t<16384?t<16?T[t]:t<512?5+T[t>>5]:10+T[t>>10]:t<16777216?t<524288?15+T[t>>15]:20+T[t>>20]:t<536870912?25+T[t>>25]:t<-2147483648?30+T[t>>30]:0)-1,E=o-1-0*h,I=E,C=E+-(t>>3),A=0,L=1+(t>>4>>2);--L>0;){var R=f[I]-f[C],$=f[I+-1]-f[C+-1],F=I,V=f;V[F]=V[F]+f[C];var N=I+-1,P=f;P[N]=P[N]+f[C+-1],f[C]=R*r[A]-$*r[A+1],f[C+-1]=$*r[A]+R*r[A+1],A+=8,R=f[I+-2]-f[C+-2],$=f[I+-3]-f[C+-3];var M=I+-2,O=f;O[M]=O[M]+f[C+-2];var D=I+-3,U=f;U[D]=U[D]+f[C+-3],f[C+-2]=R*r[A]-$*r[A+1],f[C+-3]=$*r[A]+R*r[A+1],A+=8,R=f[I+-4]-f[C+-4],$=f[I+-5]-f[C+-5];var H=I+-4,G=f;G[H]=G[H]+f[C+-4];var W=I+-5,z=f;z[W]=z[W]+f[C+-5],f[C+-4]=R*r[A]-$*r[A+1],f[C+-5]=$*r[A]+R*r[A+1],A+=8,R=f[I+-6]-f[C+-6],$=f[I+-7]-f[C+-7];var j=I+-6,K=f;K[j]=K[j]+f[C+-6];var X=I+-7,Y=f;Y[X]=Y[X]+f[C+-7],f[C+-6]=R*r[A]-$*r[A+1],f[C+-7]=$*r[A]+R*r[A+1],A+=8,I-=8,C-=8}for(var Z=o-1-h,Q=Z,J=Z+-(t>>3),q=0,ee=1+(t>>4>>2);--ee>0;){var te=f[Q]-f[J],ae=f[Q+-1]-f[J+-1],ie=Q,re=f;re[ie]=re[ie]+f[J];var se=Q+-1,ne=f;ne[se]=ne[se]+f[J+-1],f[J]=te*r[q]-ae*r[q+1],f[J+-1]=ae*r[q]+te*r[q+1],q+=8,te=f[Q+-2]-f[J+-2],ae=f[Q+-3]-f[J+-3];var _e=Q+-2,oe=f;oe[_e]=oe[_e]+f[J+-2];var he=Q+-3,le=f;le[he]=le[he]+f[J+-3],f[J+-2]=te*r[q]-ae*r[q+1],f[J+-3]=ae*r[q]+te*r[q+1],q+=8,te=f[Q+-4]-f[J+-4],ae=f[Q+-5]-f[J+-5];var ue=Q+-4,ce=f;ce[ue]=ce[ue]+f[J+-4];var de=Q+-5,pe=f;pe[de]=pe[de]+f[J+-5],f[J+-4]=te*r[q]-ae*r[q+1],f[J+-5]=ae*r[q]+te*r[q+1],q+=8,te=f[Q+-6]-f[J+-6],ae=f[Q+-7]-f[J+-7];var ge=Q+-6,fe=f;fe[ge]=fe[ge]+f[J+-6];var ve=Q+-7,ke=f;ke[ve]=ke[ve]+f[J+-7],f[J+-6]=te*r[q]-ae*r[q+1],f[J+-7]=ae*r[q]+te*r[q+1],q+=8,Q-=8,J-=8}for(var me=o-1-0*l,be=0,Se=me,ye=me+-(t>>4),xe=1+(t>>5>>2);--xe>0;){var Be=f[Se]-f[ye],Te=f[Se+-1]-f[ye+-1],we=Se,Ee=f;Ee[we]=Ee[we]+f[ye];var Ie=Se+-1,Ce=f;Ce[Ie]=Ce[Ie]+f[ye+-1],f[ye]=Be*r[be]-Te*r[be+1],f[ye+-1]=Te*r[be]+Be*r[be+1],be+=16,Be=f[Se+-2]-f[ye+-2],Te=f[Se+-3]-f[ye+-3];var Ae=Se+-2,Le=f;Le[Ae]=Le[Ae]+f[ye+-2];var Re=Se+-3,$e=f;$e[Re]=$e[Re]+f[ye+-3],f[ye+-2]=Be*r[be]-Te*r[be+1],f[ye+-3]=Te*r[be]+Be*r[be+1],be+=16,Be=f[Se+-4]-f[ye+-4],Te=f[Se+-5]-f[ye+-5];var Fe=Se+-4,Ve=f;Ve[Fe]=Ve[Fe]+f[ye+-4];var Ne=Se+-5,Pe=f;Pe[Ne]=Pe[Ne]+f[ye+-5],f[ye+-4]=Be*r[be]-Te*r[be+1],f[ye+-5]=Te*r[be]+Be*r[be+1],be+=16,Be=f[Se+-6]-f[ye+-6],Te=f[Se+-7]-f[ye+-7];var Me=Se+-6,Oe=f;Oe[Me]=Oe[Me]+f[ye+-6];var De=Se+-7,Ue=f;Ue[De]=Ue[De]+f[ye+-7],f[ye+-6]=Be*r[be]-Te*r[be+1],f[ye+-7]=Te*r[be]+Be*r[be+1],Se-=8,ye-=8,be+=16}for(var He=o-1-l,Ge=0,We=He,ze=He+-(t>>4),je=1+(t>>5>>2);--je>0;){var Ke=f[We]-f[ze],Xe=f[We+-1]-f[ze+-1],Ye=We,Ze=f;Ze[Ye]=Ze[Ye]+f[ze];var Qe=We+-1,Je=f;Je[Qe]=Je[Qe]+f[ze+-1],f[ze]=Ke*r[Ge]-Xe*r[Ge+1],f[ze+-1]=Xe*r[Ge]+Ke*r[Ge+1],Ge+=16,Ke=f[We+-2]-f[ze+-2],Xe=f[We+-3]-f[ze+-3];var qe=We+-2,et=f;et[qe]=et[qe]+f[ze+-2];var tt=We+-3,at=f;at[tt]=at[tt]+f[ze+-3],f[ze+-2]=Ke*r[Ge]-Xe*r[Ge+1],f[ze+-3]=Xe*r[Ge]+Ke*r[Ge+1],Ge+=16,Ke=f[We+-4]-f[ze+-4],Xe=f[We+-5]-f[ze+-5];var it=We+-4,rt=f;rt[it]=rt[it]+f[ze+-4];var st=We+-5,nt=f;nt[st]=nt[st]+f[ze+-5],f[ze+-4]=Ke*r[Ge]-Xe*r[Ge+1],f[ze+-5]=Xe*r[Ge]+Ke*r[Ge+1],Ge+=16,Ke=f[We+-6]-f[ze+-6],Xe=f[We+-7]-f[ze+-7];var _t=We+-6,ot=f;ot[_t]=ot[_t]+f[ze+-6];var ht=We+-7,lt=f;lt[ht]=lt[ht]+f[ze+-7],f[ze+-6]=Ke*r[Ge]-Xe*r[Ge+1],f[ze+-7]=Xe*r[Ge]+Ke*r[Ge+1],We-=8,ze-=8,Ge+=16}for(var ut=o-1-2*l,ct=0,dt=ut,pt=ut+-(t>>4),gt=1+(t>>5>>2);--gt>0;){var ft=f[dt]-f[pt],vt=f[dt+-1]-f[pt+-1],kt=dt,mt=f;mt[kt]=mt[kt]+f[pt];var bt=dt+-1,St=f;St[bt]=St[bt]+f[pt+-1],f[pt]=ft*r[ct]-vt*r[ct+1],f[pt+-1]=vt*r[ct]+ft*r[ct+1],ct+=16,ft=f[dt+-2]-f[pt+-2],vt=f[dt+-3]-f[pt+-3];var yt=dt+-2,xt=f;xt[yt]=xt[yt]+f[pt+-2];var Bt=dt+-3,Tt=f;Tt[Bt]=Tt[Bt]+f[pt+-3],f[pt+-2]=ft*r[ct]-vt*r[ct+1],f[pt+-3]=vt*r[ct]+ft*r[ct+1],ct+=16,ft=f[dt+-4]-f[pt+-4],vt=f[dt+-5]-f[pt+-5];var wt=dt+-4,Et=f;Et[wt]=Et[wt]+f[pt+-4];var It=dt+-5,Ct=f;Ct[It]=Ct[It]+f[pt+-5],f[pt+-4]=ft*r[ct]-vt*r[ct+1],f[pt+-5]=vt*r[ct]+ft*r[ct+1],ct+=16,ft=f[dt+-6]-f[pt+-6],vt=f[dt+-7]-f[pt+-7];var At=dt+-6,Lt=f;Lt[At]=Lt[At]+f[pt+-6];var Rt=dt+-7,$t=f;$t[Rt]=$t[Rt]+f[pt+-7],f[pt+-6]=ft*r[ct]-vt*r[ct+1],f[pt+-7]=vt*r[ct]+ft*r[ct+1],dt-=8,pt-=8,ct+=16}for(var Ft=o-1-3*l,Vt=0,Nt=Ft,Pt=Ft+-(t>>4),Mt=1+(t>>5>>2);--Mt>0;){var Ot=f[Nt]-f[Pt],Dt=f[Nt+-1]-f[Pt+-1],Ut=Nt,Ht=f;Ht[Ut]=Ht[Ut]+f[Pt];var Gt=Nt+-1,Wt=f;Wt[Gt]=Wt[Gt]+f[Pt+-1],f[Pt]=Ot*r[Vt]-Dt*r[Vt+1],f[Pt+-1]=Dt*r[Vt]+Ot*r[Vt+1],Vt+=16,Ot=f[Nt+-2]-f[Pt+-2],Dt=f[Nt+-3]-f[Pt+-3];var zt=Nt+-2,jt=f;jt[zt]=jt[zt]+f[Pt+-2];var Kt=Nt+-3,Xt=f;Xt[Kt]=Xt[Kt]+f[Pt+-3],f[Pt+-2]=Ot*r[Vt]-Dt*r[Vt+1],f[Pt+-3]=Dt*r[Vt]+Ot*r[Vt+1],Vt+=16,Ot=f[Nt+-4]-f[Pt+-4],Dt=f[Nt+-5]-f[Pt+-5];var Yt=Nt+-4,Zt=f;Zt[Yt]=Zt[Yt]+f[Pt+-4];var Qt=Nt+-5,Jt=f;Jt[Qt]=Jt[Qt]+f[Pt+-5],f[Pt+-4]=Ot*r[Vt]-Dt*r[Vt+1],f[Pt+-5]=Dt*r[Vt]+Ot*r[Vt+1],Vt+=16,Ot=f[Nt+-6]-f[Pt+-6],Dt=f[Nt+-7]-f[Pt+-7];var qt=Nt+-6,ea=f;ea[qt]=ea[qt]+f[Pt+-6];var ta=Nt+-7,aa=f;aa[ta]=aa[ta]+f[Pt+-7],f[Pt+-6]=Ot*r[Vt]-Dt*r[Vt+1],f[Pt+-7]=Dt*r[Vt]+Ot*r[Vt+1],Nt-=8,Pt-=8,Vt+=16}for(var ia=2,ra=w-3>>1;ia<ra;)for(var sa=ia++,na=t>>sa+2,_a=na>>1,oa=0,ha=1<<sa+1;oa<ha;)for(var la=o-1-na*oa++,ua=1<<sa+3,ca=0,da=la,pa=la+-_a,ga=1+(t>>sa+4>>2);--ga>0;){var fa=f[da]-f[pa],va=f[da+-1]-f[pa+-1],ka=da,ma=f;ma[ka]=ma[ka]+f[pa];var ba=da+-1,Sa=f;Sa[ba]=Sa[ba]+f[pa+-1],f[pa]=fa*r[ca]-va*r[ca+1],f[pa+-1]=va*r[ca]+fa*r[ca+1],ca+=ua,fa=f[da+-2]-f[pa+-2],va=f[da+-3]-f[pa+-3];var ya=da+-2,xa=f;xa[ya]=xa[ya]+f[pa+-2];var Ba=da+-3,Ta=f;Ta[Ba]=Ta[Ba]+f[pa+-3],f[pa+-2]=fa*r[ca]-va*r[ca+1],f[pa+-3]=va*r[ca]+fa*r[ca+1],ca+=ua,fa=f[da+-4]-f[pa+-4],va=f[da+-5]-f[pa+-5];var wa=da+-4,Ea=f;Ea[wa]=Ea[wa]+f[pa+-4];var Ia=da+-5,Ca=f;Ca[Ia]=Ca[Ia]+f[pa+-5],f[pa+-4]=fa*r[ca]-va*r[ca+1],f[pa+-5]=va*r[ca]+fa*r[ca+1],ca+=ua,fa=f[da+-6]-f[pa+-6],va=f[da+-7]-f[pa+-7];var Aa=da+-6,La=f;La[Aa]=La[Aa]+f[pa+-6];var Ra=da+-7,$a=f;$a[Ra]=$a[Ra]+f[pa+-7],f[pa+-6]=fa*r[ca]-va*r[ca+1],f[pa+-7]=va*r[ca]+fa*r[ca+1],da-=8,pa-=8,ca+=ua}for(var Fa=w-3>>1,Va=w-6;Fa<Va;)for(var Na=Fa++,Pa=t>>Na+2,Ma=1<<Na+3,Oa=Pa>>1,Da=1<<Na+1,Ua=0,Ha=o-1,Ga=(t>>Na+6)+1;--Ga>0;){for(var Wa=r[Ua],za=r[Ua+1],ja=r[Ua+Ma],Ka=r[Ua+Ma+1],Xa=r[Ua+2*Ma],Ya=r[Ua+2*Ma+1],Za=r[Ua+3*Ma],Qa=r[Ua+3*Ma+1],Ja=Ha,qa=Ha+-Oa,ei=Da+1;--ei>0;){var ti=f[Ja]-f[qa],ai=f[Ja+-1]-f[qa+-1];f[Ja]=f[Ja]+f[qa],f[Ja+-1]=f[Ja+-1]+f[qa+-1],f[qa]=ti*Wa-ai*za,f[qa+-1]=ai*Wa+ti*za,ti=f[Ja+-2]-f[qa+-2],ai=f[Ja+-3]-f[qa+-3],f[Ja+-2]=f[Ja+-2]+f[qa+-2],f[Ja+-3]=f[Ja+-3]+f[qa+-3],f[qa+-2]=ti*ja-ai*Ka,f[qa+-3]=ai*ja+ti*Ka,ti=f[Ja+-4]-f[qa+-4],ai=f[Ja+-5]-f[qa+-5],f[Ja+-4]=f[Ja+-4]+f[qa+-4],f[Ja+-5]=f[Ja+-5]+f[qa+-5],f[qa+-4]=ti*Xa-ai*Ya,f[qa+-5]=ai*Xa+ti*Ya,ti=f[Ja+-6]-f[qa+-6],ai=f[Ja+-7]-f[qa+-7],f[Ja+-6]=f[Ja+-6]+f[qa+-6],f[Ja+-7]=f[Ja+-7]+f[qa+-7],f[qa+-6]=ti*Za-ai*Qa,f[qa+-7]=ai*Za+ti*Qa,Ja-=Pa,qa-=Pa}Ua+=4*Ma,Ha-=8}for(var ii=o-1,ri=r[t>>3],si=ii,ni=ii-16*(t>>5);si>ni;){var _i=f[si],oi=f[si+-8];f[si+-8]=_i-oi,f[si]=_i+oi,_i=f[si+-1],oi=f[si+-9],f[si+-9]=_i-oi,f[si+-1]=_i+oi;var hi=(_i=f[si+-2])-(oi=f[si+-10]);f[si+-2]=_i+oi;var li=(_i=f[si+-3])-(oi=f[si+-11]);f[si+-3]=_i+oi,f[si+-10]=(hi+li)*ri,f[si+-11]=(li-hi)*ri,_i=f[si+-4],hi=(oi=f[si+-12])-_i,f[si+-4]=_i+oi,li=(_i=f[si+-5])-(oi=f[si+-13]),f[si+-5]=_i+oi,f[si+-12]=li,f[si+-13]=hi,_i=f[si+-6],hi=(oi=f[si+-14])-_i,f[si+-6]=_i+oi,li=(_i=f[si+-7])-(oi=f[si+-15]),f[si+-7]=_i+oi,f[si+-14]=(hi+li)*ri,f[si+-15]=(hi-li)*ri;var ui=f[si],ci=f[si+-4],di=ui-ci,pi=ui+ci,gi=(ui=f[si+-2])+(ci=f[si+-6]),fi=ui-ci;f[si]=pi+gi,f[si+-2]=pi-gi;var vi=f[si+-3]-f[si+-7];f[si+-4]=di+vi,f[si+-6]=di-vi;var ki=(ui=f[si+-1])-(ci=f[si+-5]),mi=ui+ci,bi=f[si+-3]+f[si+-7];f[si+-1]=mi+bi,f[si+-3]=mi-bi,f[si+-5]=ki-fi,f[si+-7]=ki+fi;var Si=si-8,yi=f[Si],xi=f[Si+-4],Bi=yi-xi,Ti=yi+xi,wi=(yi=f[Si+-2])+(xi=f[Si+-6]),Ei=yi-xi;f[Si]=Ti+wi,f[Si+-2]=Ti-wi;var Ii=f[Si+-3]-f[Si+-7];f[Si+-4]=Bi+Ii,f[Si+-6]=Bi-Ii;var Ci=(yi=f[Si+-1])-(xi=f[Si+-5]),Ai=yi+xi,Li=f[Si+-3]+f[Si+-7];f[Si+-1]=Ai+Li,f[Si+-3]=Ai-Li,f[Si+-5]=Ci-Ei,f[Si+-7]=Ci+Ei,si-=16}for(var Ri=0,$i=h-4,Fi=o-4;$i>=0;){var Vi=_[Ri];v[Fi+3]=f[Vi],v[Fi+2]=f[Vi+1],v[$i+3]=f[Vi+2],v[$i+2]=f[Vi+3],Vi=_[Ri+1],v[Fi+1]=f[Vi],v[Fi]=f[Vi+1],v[$i+1]=f[Vi+2],v[$i]=f[Vi+3],$i-=4,Fi-=4,Ri+=2}for(var Ni=0,Pi=0,Mi=o-4;Pi<Mi;){var Oi=v[Pi]-v[Mi+2],Di=v[Pi+1]+v[Mi+3],Ui=n[Ni+1]*Oi+n[Ni]*Di,Hi=n[Ni+1]*Di-n[Ni]*Oi,Gi=v[Pi]+v[Mi+2],Wi=v[Pi+1]-v[Mi+3];v[Pi]=Gi+Ui,v[Pi+1]=Wi+Hi,v[Mi+2]=Gi-Ui,v[Mi+3]=Hi-Wi,Oi=v[Pi+2]-v[Mi],Di=v[Pi+3]+v[Mi+1],Ui=n[Ni+3]*Oi+n[Ni+2]*Di,Hi=n[Ni+3]*Di-n[Ni+2]*Oi,Gi=v[Pi+2]+v[Mi],Wi=v[Pi+3]-v[Mi+1],v[Pi+2]=Gi+Ui,v[Pi+3]=Wi+Hi,v[Mi]=Gi-Ui,v[Mi+1]=Hi-Wi,Ni+=4,Pi+=4,Mi-=4}for(var zi=o-8,ji=o-8,Ki=0,Xi=o-4,Yi=o,Zi=t-4;ji>=0;){var Qi=u[ji+6]*s[zi+7]-u[ji+7]*s[zi+6],Ji=-u[ji+6]*s[zi+6]-u[ji+7]*s[zi+7];e[Ki]=Qi,e[Xi+3]=-Qi,e[Yi]=Ji,e[Zi+3]=Ji;var qi=u[ji+4]*s[zi+5]-u[ji+5]*s[zi+4],er=-u[ji+4]*s[zi+4]-u[ji+5]*s[zi+5];e[Ki+1]=qi,e[Xi+2]=-qi,e[Yi+1]=er,e[Zi+2]=er,Qi=u[ji+2]*s[zi+3]-u[ji+3]*s[zi+2],Ji=-u[ji+2]*s[zi+2]-u[ji+3]*s[zi+3],e[Ki+2]=Qi,e[Xi+1]=-Qi,e[Yi+2]=Ji,e[Zi+1]=Ji,qi=u[ji]*s[zi+1]-u[ji+1]*s[zi],er=-u[ji]*s[zi]-u[ji+1]*s[zi+1],e[Ki+3]=qi,e[Xi]=-qi,e[Yi+3]=er,e[Zi]=er,zi-=8,ji-=8,Ki+=4,Yi+=4,Xi-=4,Zi-=4}},decodePacket:function(){var e=this.decodeInitial();return null==e?null:this.decodePacketRest(e)},decodeInitial:function(){for(this.channelBufferStart=this.channelBufferEnd=0;;){if(!this.decodeState.maybeStartPacket())return null;var e,t=this.decodeState;if(t.validBits<0)e=0;else if(t.validBits<1){for(0==t.validBits&&(t.acc=0);;){if(0==t.bytesInSeg&&(t.lastSeg||0==t.next())){t.validBits=-1;break}if(t.bytesInSeg--,t.inputPosition+=1,t.acc=t.acc+(t.input.readByte()<<t.validBits),t.validBits+=8,!(t.validBits<1))break}if(t.validBits<0)e=0;else{var a=1&t.acc;t.acc=t.acc>>>1,t.validBits-=1,e=a}}else{var i=1&t.acc;t.acc=t.acc>>>1,t.validBits-=1,e=i}if(0==e)break;for(;;){var r,s=this.decodeState;if(0!=s.bytesInSeg||!s.lastSeg&&0!=s.next()?(s.bytesInSeg--,s.inputPosition+=1,r=s.input.readByte()):r=-1,s.validBits=0,-1==r)break}}var n,_=this.decodeState,o=this.header.modes.length-1,h=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],l=o<16384?o<16?h[o]:o<512?5+h[o>>5]:10+h[o>>10]:o<16777216?o<524288?15+h[o>>15]:20+h[o>>20]:o<536870912?25+h[o>>25]:o<-2147483648?30+h[o>>30]:0;if(_.validBits<0)n=0;else if(_.validBits<l)if(l>24)n=_.readBits(24)+(_.readBits(l-24)<<24);else{for(0==_.validBits&&(_.acc=0);;){if(0==_.bytesInSeg&&(_.lastSeg||0==_.next())){_.validBits=-1;break}if(_.bytesInSeg--,_.inputPosition+=1,_.acc=_.acc+(_.input.readByte()<<_.validBits),_.validBits+=8,!(_.validBits<l))break}if(_.validBits<0)n=0;else{var u=_.acc&(1<<l)-1;_.acc=_.acc>>>l,_.validBits-=l,n=u}}else{var c=_.acc&(1<<l)-1;_.acc=_.acc>>>l,_.validBits-=l,n=c}if(-1==n||n>=this.header.modes.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED,null,{fileName:"VorbisDecoder.hx",lineNumber:519,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"decodeInitial"}));var d,p,g,f=this.header.modes[n];if(f.blockflag){d=this.header.blocksize1;var v=this.decodeState;if(v.validBits<0)p=0;else if(v.validBits<1){for(0==v.validBits&&(v.acc=0);;){if(0==v.bytesInSeg&&(v.lastSeg||0==v.next())){v.validBits=-1;break}if(v.bytesInSeg--,v.inputPosition+=1,v.acc=v.acc+(v.input.readByte()<<v.validBits),v.validBits+=8,!(v.validBits<1))break}if(v.validBits<0)p=0;else{var k=1&v.acc;v.acc=v.acc>>>1,v.validBits-=1,p=k}}else{var m=1&v.acc;v.acc=v.acc>>>1,v.validBits-=1,p=m}var b=this.decodeState;if(b.validBits<0)g=0;else if(b.validBits<1){for(0==b.validBits&&(b.acc=0);;){if(0==b.bytesInSeg&&(b.lastSeg||0==b.next())){b.validBits=-1;break}if(b.bytesInSeg--,b.inputPosition+=1,b.acc=b.acc+(b.input.readByte()<<b.validBits),b.validBits+=8,!(b.validBits<1))break}if(b.validBits<0)g=0;else{var S=1&b.acc;b.acc=b.acc>>>1,b.validBits-=1,g=S}}else{var y=1&b.acc;b.acc=b.acc>>>1,b.validBits-=1,g=y}}else p=g=0,d=this.header.blocksize0;var x=d>>1;return{mode:n,left:f.blockflag&&0==p?{start:d-this.header.blocksize0>>2,end:d+this.header.blocksize0>>2}:{start:0,end:x},right:f.blockflag&&0==g?{start:3*d-this.header.blocksize0>>2,end:3*d+this.header.blocksize0>>2}:{start:x,end:d}}},decodePacketRest:function(e){for(var t=this.header.modes[e.mode],a=new Array(256),i=new Array(256),r=t.blockflag?this.header.blocksize1:this.header.blocksize0,s=this.header.mapping[t.mapping],n=r>>1,_=[256,128,86,64],o=this.header.codebooks,h=0,l=this.header.channel;h<l;){var u=h++,c=s.chan[u].mux;a[u]=!1;var d=this.header.floorConfig[s.submapFloor[c]];if(0==d.type)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM,null,{fileName:"VorbisDecoder.hx",lineNumber:581,className:"kha.audio2.ogg.vorbis.VorbisDecoder",methodName:"decodePacketRest"}));var p,g=d.floor1,f=this.decodeState;if(f.validBits<0)p=0;else if(f.validBits<1){for(0==f.validBits&&(f.acc=0);;){if(0==f.bytesInSeg&&(f.lastSeg||0==f.next())){f.validBits=-1;break}if(f.bytesInSeg--,f.inputPosition+=1,f.acc=f.acc+(f.input.readByte()<<f.validBits),f.validBits+=8,!(f.validBits<1))break}if(f.validBits<0)p=0;else{var v=1&f.acc;f.acc=f.acc>>>1,f.validBits-=1,p=v}}else{var k=1&f.acc;f.acc=f.acc>>>1,f.validBits-=1,p=k}if(0!=p){var m=[],b=new Array(256),S=_[g.floor1Multiplier-1],y=2;m=this.finalY[u];var x,B=this.decodeState,T=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],w=(S<16384?S<16?T[S]:S<512?5+T[S>>5]:10+T[S>>10]:S<16777216?S<524288?15+T[S>>15]:20+T[S>>20]:S<536870912?25+T[S>>25]:S<-2147483648?30+T[S>>30]:0)-1;if(B.validBits<0)x=0;else if(B.validBits<w)if(w>24)x=B.readBits(24)+(B.readBits(w-24)<<24);else{for(0==B.validBits&&(B.acc=0);;){if(0==B.bytesInSeg&&(B.lastSeg||0==B.next())){B.validBits=-1;break}if(B.bytesInSeg--,B.inputPosition+=1,B.acc=B.acc+(B.input.readByte()<<B.validBits),B.validBits+=8,!(B.validBits<w))break}if(B.validBits<0)x=0;else{var E=B.acc&(1<<w)-1;B.acc=B.acc>>>w,B.validBits-=w,x=E}}else{var I=B.acc&(1<<w)-1;B.acc=B.acc>>>w,B.validBits-=w,x=I}m[0]=x;var C,A=this.decodeState,L=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],R=(S<16384?S<16?L[S]:S<512?5+L[S>>5]:10+L[S>>10]:S<16777216?S<524288?15+L[S>>15]:20+L[S>>20]:S<536870912?25+L[S>>25]:S<-2147483648?30+L[S>>30]:0)-1;if(A.validBits<0)C=0;else if(A.validBits<R)if(R>24)C=A.readBits(24)+(A.readBits(R-24)<<24);else{for(0==A.validBits&&(A.acc=0);;){if(0==A.bytesInSeg&&(A.lastSeg||0==A.next())){A.validBits=-1;break}if(A.bytesInSeg--,A.inputPosition+=1,A.acc=A.acc+(A.input.readByte()<<A.validBits),A.validBits+=8,!(A.validBits<R))break}if(A.validBits<0)C=0;else{var $=A.acc&(1<<R)-1;A.acc=A.acc>>>R,A.validBits-=R,C=$}}else{var F=A.acc&(1<<R)-1;A.acc=A.acc>>>R,A.validBits-=R,C=F}m[1]=C;for(var V=0,N=g.partitions;V<N;){var P=V++,M=g.partitionClassList[P],O=g.classDimensions[M],D=g.classSubclasses[M],U=(1<<D)-1,H=0;if(0!=D){var G=o[g.classMasterbooks[M]],W=this.decodeState;W.validBits<10&&W.prepHuffman();var z,j=G.fastHuffman[1023&W.acc];if(j>=0){var K=G.codewordLengths[j];W.acc=W.acc>>>K,W.validBits-=K,W.validBits<0?(W.validBits=0,z=-1):z=j}else z=W.decodeScalarRaw(G);G.sparse&&(z=G.sortedValues[z]),H=z}for(var X=g.subclassBooks[M],Y=0,Z=O;Y<Z;){Y++;var Q=X[H&U];H>>=D;var J,q=y++;if(Q>=0){var ee=this.decodeState,te=o[Q];ee.validBits<10&&ee.prepHuffman();var ae,ie=te.fastHuffman[1023&ee.acc];if(ie>=0){var re=te.codewordLengths[ie];ee.acc=ee.acc>>>re,ee.validBits-=re,ee.validBits<0?(ee.validBits=0,ae=-1):ae=ie}else ae=ee.decodeScalarRaw(te);te.sparse&&(ae=te.sortedValues[ae]),J=ae}else J=0;m[q]=J}}if(-1==this.decodeState.validBits){a[u]=!0;continue}b[0]=b[1]=!0;for(var se=g.neighbors,ne=g.xlist,_e=2,oe=g.values;_e<oe;){var he=_e++,le=se[he][0],ue=se[he][1],ce=ne[le],de=m[le],pe=m[ue]-de,ge=ne[ue]-ce,fe=Math.abs(pe)*(ne[he]-ce)/ge|0,ve=pe<0?de-fe:de+fe,ke=m[he],me=S-ve,be=me<ve?2*me:2*ve;0!=ke?(b[le]=b[ue]=!0,b[he]=!0,m[he]=ke>=be?me>ve?ke-ve+ve:ve-ke+me-1:0!=(1&ke)?ve-(ke+1>>1):ve+(ke>>1)):(b[he]=!1,m[he]=ve)}for(var Se=0,ye=g.values;Se<ye;){var xe=Se++;b[xe]||(m[xe]=-1)}}else a[u]=!0}for(var Be=0,Te=this.header.channel;Be<Te;){var we=Be++;i[we]=a[we]}for(var Ee=0,Ie=s.couplingSteps;Ee<Ie;){var Ce=Ee++;a[s.chan[Ce].magnitude]&&a[s.chan[Ce].angle]||(a[s.chan[Ce].magnitude]=a[s.chan[Ce].angle]=!1)}for(var Ae=0,Le=s.submaps;Ae<Le;){for(var Re=Ae++,$e=this.header.channel,Fe=new Array($e),Ve=new Array(256),Ne=0,Pe=0,Me=this.header.channel;Pe<Me;){var Oe=Pe++;s.chan[Oe].mux==Re&&(a[Oe]?(Ve[Ne]=!0,Fe[Ne]=null):(Ve[Ne]=!1,Fe[Ne]=this.channelBuffers[Oe]),++Ne)}var De=s.submapResidue[Re];this.header.residueConfig[De].decode(this.decodeState,this.header,Fe,Ne,n,Ve,this.channelBuffers)}for(var Ue=s.couplingSteps,He=r>>1;--Ue>=0;)for(var Ge=this.channelBuffers[s.chan[Ue].magnitude],We=this.channelBuffers[s.chan[Ue].angle],ze=0,je=He;ze<je;){var Ke,Xe,Ye=ze++;Ge[Ye]>0?We[Ye]>0?(Xe=Ge[Ye],Ke=Ge[Ye]-We[Ye]):(Ke=Ge[Ye],Xe=Ge[Ye]+We[Ye]):We[Ye]>0?(Xe=Ge[Ye],Ke=Ge[Ye]+We[Ye]):(Ke=Ge[Ye],Xe=Ge[Ye]-We[Ye]),Ge[Ye]=Xe,We[Ye]=Ke}for(var Ze=0,Qe=this.header.channel;Ze<Qe;){var Je=Ze++;if(i[Je])for(var qe=0,et=He;qe<et;){var tt=qe++;this.channelBuffers[Je][tt]=0}else s.doFloor(this.header.floorConfig,Je,r,this.channelBuffers[Je],this.finalY[Je],null)}for(var at=0,it=this.header.channel;at<it;){var rt=at++;this.inverseMdct(this.channelBuffers[rt],r,t.blockflag)}for(var st=this.decodeState;0!=st.bytesInSeg||!st.lastSeg&&0!=st.next();)st.bytesInSeg--,st.inputPosition+=1,st.input.readByte();return this.decodeState.finishDecodePacket(this.previousLength,r,e)},__class__:kha_audio2_ogg_vorbis_VorbisDecoder};var kha_audio2_ogg_vorbis_VorbisTools=$hxClasses["kha.audio2.ogg.vorbis.VorbisTools"]=function(){};kha_audio2_ogg_vorbis_VorbisTools.__name__=!0,kha_audio2_ogg_vorbis_VorbisTools.assert=function(e,t){if(!e)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",t))},kha_audio2_ogg_vorbis_VorbisTools.neighbors=function(e,t){for(var a=-1,i=65536,r=0,s=0,n=0,_=t;n<_;){var o=n++;e[o]>a&&e[o]<e[t]&&(r=o,a=e[o]),e[o]<i&&e[o]>e[t]&&(s=o,i=e[o])}return{low:r,high:s}},kha_audio2_ogg_vorbis_VorbisTools.floatUnpack=function(e){var t=_$UInt_UInt_$Impl_$.toFloat(2097151&e),a=(2145386496&e)>>>21;return(0!=(-2147483648&e)?-t:t)*Math.pow(2,a-788)},kha_audio2_ogg_vorbis_VorbisTools.bitReverse=function(e){return e=(-1431655766&e)>>>1|(1431655765&e)<<1,e=(-858993460&e)>>>2|(858993459&e)<<2,e=(-252645136&e)>>>4|(252645135&e)<<4,(e=(-16711936&e)>>>8|(16711935&e)<<8)>>>16|e<<16},kha_audio2_ogg_vorbis_VorbisTools.pointCompare=function(e,t){return e.x<t.x?-1:e.x>t.x?1:0},kha_audio2_ogg_vorbis_VorbisTools.uintAsc=function(e,t){return _$UInt_UInt_$Impl_$.gt(t,e)?-1:e==t?0:1},kha_audio2_ogg_vorbis_VorbisTools.lookup1Values=function(e,t){var a=0|Math.exp(Math.log(e)/t);if((0|Math.pow(a+1,t))<=e&&++a,!(Math.pow(a+1,t)>e))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisTools.hx",lineNumber:155,className:"kha.audio2.ogg.vorbis.VorbisTools",methodName:"lookup1Values"}));if((0|Math.pow(a,t))>e)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"VorbisTools.hx",lineNumber:156,className:"kha.audio2.ogg.vorbis.VorbisTools",methodName:"lookup1Values"}));return a},kha_audio2_ogg_vorbis_VorbisTools.computeWindow=function(e,t){for(var a=e>>1,i=0,r=a;i<r;){var s=i++;t[s]=Math.sin(1.5707963267948966*kha_audio2_ogg_vorbis_VorbisTools.square(Math.sin((s+.5)/a*.5*3.141592653589793)))}},kha_audio2_ogg_vorbis_VorbisTools.square=function(e){return e*e},kha_audio2_ogg_vorbis_VorbisTools.computeBitReverse=function(e,t){for(var a=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],i=(e<16384?e<16?a[e]:e<512?5+a[e>>5]:10+a[e>>10]:e<16777216?e<524288?15+a[e>>15]:20+a[e>>20]:e<536870912?25+a[e>>25]:e<-2147483648?30+a[e>>30]:0)-1,r=0,s=e>>3;r<s;){var n=r++,_=n;_=(-16711936&(_=(-252645136&(_=(-858993460&(_=(-1431655766&_)>>>1|(1431655765&_)<<1))>>>2|(858993459&_)<<2))>>>4|(252645135&_)<<4))>>>8|(16711935&_)<<8,t[n]=(_>>>16|_<<16)>>>32-i+3<<2}},kha_audio2_ogg_vorbis_VorbisTools.computeTwiddleFactors=function(e,t,a,i){for(var r=e>>3,s=0,n=0,_=e>>2;n<_;){var o=n++;t[s]=Math.cos(4*o*3.141592653589793/e),t[s+1]=-Math.sin(4*o*3.141592653589793/e),a[s]=.5*Math.cos(3.141592653589793*(s+1)/e/2),a[s+1]=.5*Math.sin(3.141592653589793*(s+1)/e/2),s+=2}for(var h=0,l=0,u=r;l<u;){l++;i[h]=Math.cos(2*(h+1)*3.141592653589793/e),i[h+1]=-Math.sin(2*(h+1)*3.141592653589793/e),h+=2}},kha_audio2_ogg_vorbis_VorbisTools.drawLine=function(e,t,a,i,r,s){if(null==kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable){var n=new Array(32);kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable=n;for(var _=0;_<32;){var o=_++,h=kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable,l=new Array(64);h[o]=l;for(var u=1;u<64;){var c=u++;kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable[o][c]=o/c|0}}}var d,p,g=r-a,f=i-t,v=g<0?-g:g,k=t,m=a,b=0;f<64&&v<32?p=g<0?(d=-kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable[v][f])-1:(d=kha_audio2_ogg_vorbis_VorbisTools.integerDivideTable[v][f])+1:(d=g/f|0,p=g<0?d-1:d+1),v-=(d<0?-d:d)*f,i>s&&(i=s);var S=k,y=e;y[S]=y[S]*kha_audio2_ogg_vorbis_VorbisTools.INVERSE_DB_TABLE[m];for(var x=k+1,B=i;x<B;){var T=x++;(b+=v)>=f?(b-=f,m+=p):m+=d;var w=T,E=e;E[w]=E[w]*kha_audio2_ogg_vorbis_VorbisTools.INVERSE_DB_TABLE[m]}},kha_audio2_ogg_vorbis_VorbisTools.predictPoint=function(e,t,a,i,r){var s=r-i,n=a-t,_=Math.abs(s)*(e-t)/n|0;return s<0?i-_:i+_},kha_audio2_ogg_vorbis_VorbisTools.emptyFloatVector=function(e){return new Array(e)},kha_audio2_ogg_vorbis_VorbisTools.copyVector=function(e){for(var t=e.length,a=new Array(t),i=0,r=e.length;i<r;){var s=i++;a[s]=e[s]}return a};var kha_audio2_ogg_vorbis_data_Codebook=$hxClasses["kha.audio2.ogg.vorbis.data.Codebook"]=function(){};kha_audio2_ogg_vorbis_data_Codebook.__name__=!0,kha_audio2_ogg_vorbis_data_Codebook.read=function(e){var t,a,i,r=new kha_audio2_ogg_vorbis_data_Codebook;if(e.validBits<0)i=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)i=0;else{var s=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,i=s}}else{var n=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,i=n}if(66==i){var _;if(e.validBits<0)_=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)_=0;else{var o=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,_=o}}else{var h=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,_=h}a=67!=_}else a=!0;if(a)t=!0;else{var l;if(e.validBits<0)l=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)l=0;else{var u=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,l=u}}else{var c=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,l=c}t=86!=l}if(t)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Codebook.hx",lineNumber:40,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"read"}));var d;if(e.validBits<0)d=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)d=0;else{var p=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,d=p}}else{var g=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,d=g}var f;if(e.validBits<0)f=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)f=0;else{var v=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,f=v}}else{var k=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,f=k}r.dimensions=(f<<8)+d;var m;if(e.validBits<0)m=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)m=0;else{var b=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,m=b}}else{var S=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,m=S}var y;if(e.validBits<0)y=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)y=0;else{var x=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,y=x}}else{var B=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,y=B}var T;if(e.validBits<0)T=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)T=0;else{var w=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,T=w}}else{var E=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,T=E}r.entries=(T<<16)+(y<<8)+m;var I;if(e.validBits<0)I=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)I=0;else{var C=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,I=C}}else{var A=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,I=A}var L;if(0!=I)L=!1;else{var R;if(e.validBits<0)R=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)R=0;else{var $=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,R=$}}else{var F=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,R=F}L=0!=R}r.sparse=L;var V=r.entries,N=new Array(V);r.sparse||(r.codewordLengths=N);var P=0;if(0!=I){var M,O=0;if(e.validBits<0)M=0;else if(e.validBits<5){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<5))break}if(e.validBits<0)M=0;else{var D=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,M=D}}else{var U=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,M=U}for(var H=M+1;O<r.entries;){var G,W=r.entries-O,z=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],j=W<16384?W<16?z[W]:W<512?5+z[W>>5]:10+z[W>>10]:W<16777216?W<524288?15+z[W>>15]:20+z[W>>20]:W<536870912?25+z[W>>25]:W<-2147483648?30+z[W>>30]:0;if(e.validBits<0)G=0;else if(e.validBits<j)if(j>24)G=e.readBits(24)+(e.readBits(j-24)<<24);else{for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<j))break}if(e.validBits<0)G=0;else{var K=e.acc&(1<<j)-1;e.acc=e.acc>>>j,e.validBits-=j,G=K}}else{var X=e.acc&(1<<j)-1;e.acc=e.acc>>>j,e.validBits-=j,G=X}if(O+G>r.entries)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"codebook entrys",{fileName:"Codebook.hx",lineNumber:67,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"read"}));for(var Y=0,Z=G;Y<Z;)N[O+Y++]=H;O+=G,++H}}else for(var Q=0,J=r.entries;Q<J;){var q,ee=Q++;if(r.sparse)if(e.validBits<0)q=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)q=0;else{var te=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,q=te}}else{var ae=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,q=ae}else q=1;if(0!=q){var ie;if(e.validBits<0)ie=0;else if(e.validBits<5){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<5))break}if(e.validBits<0)ie=0;else{var re=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,ie=re}}else{var se=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,ie=se}N[ee]=ie+1,++P}else N[ee]=255}r.sparse&&P>=r.entries>>2&&(r.codewordLengths=N,r.sparse=!1);var ne;if(r.sparse)ne=P;else{for(var _e=0,oe=0,he=r.entries;oe<he;){var le=N[oe++];le>10&&255!=le&&++_e}ne=_e}r.sortedEntries=ne;var ue=null;if(r.sparse){if(0!=r.sortedEntries){var ce=r.sortedEntries,de=new Array(ce);r.codewordLengths=de;var pe=r.entries,ge=new Array(pe);r.codewords=ge;var fe=r.entries;ue=new Array(fe)}r.entries,r.sortedEntries}else{var ve=r.entries,ke=new Array(ve);r.codewords=ke}if(!r.computeCodewords(N,r.entries,ue))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"compute codewords",{fileName:"Codebook.hx",lineNumber:120,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"read"}));if(0!=r.sortedEntries){r.sortedCodewords=[];var me=r.sortedEntries,be=new Array(me);r.sortedValues=be,r.computeSortedHuffman(N,ue)}r.sparse&&(ue=null,r.codewords=null,N=null),r.computeAcceleratedHuffman();var Se;if(e.validBits<0)Se=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)Se=0;else{var ye=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,Se=ye}}else{var xe=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,Se=xe}if(r.lookupType=Se,r.lookupType>2)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"codebook lookup type",{fileName:"Codebook.hx",lineNumber:143,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"read"}));if(r.lookupType>0){var Be;if(e.validBits<0)Be=0;else if(e.validBits<32)Be=e.readBits(24)+(e.readBits(8)<<24);else{var Te=-1&e.acc;e.acc=e.acc>>>32,e.validBits-=32,Be=Te}var we=_$UInt_UInt_$Impl_$.toFloat(2097151&Be),Ee=(2145386496&Be)>>>21,Ie=0!=(-2147483648&Be)?-we:we;r.minimumValue=Ie*Math.pow(2,Ee-788);var Ce;if(e.validBits<0)Ce=0;else if(e.validBits<32)Ce=e.readBits(24)+(e.readBits(8)<<24);else{var Ae=-1&e.acc;e.acc=e.acc>>>32,e.validBits-=32,Ce=Ae}var Le=_$UInt_UInt_$Impl_$.toFloat(2097151&Ce),Re=(2145386496&Ce)>>>21,$e=0!=(-2147483648&Ce)?-Le:Le;r.deltaValue=$e*Math.pow(2,Re-788);var Fe;if(e.validBits<0)Fe=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)Fe=0;else{var Ve=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,Fe=Ve}}else{var Ne=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,Fe=Ne}r.valueBits=Fe+1;var Pe;if(e.validBits<0)Pe=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)Pe=0;else{var Me=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,Pe=Me}}else{var Oe=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,Pe=Oe}r.sequenceP=0!=Pe,1==r.lookupType?r.lookupValues=kha_audio2_ogg_vorbis_VorbisTools.lookup1Values(r.entries,r.dimensions):r.lookupValues=r.entries*r.dimensions;for(var De=r.lookupValues,Ue=new Array(De),He=0,Ge=r.lookupValues;He<Ge;){var We,ze=He++,je=r.valueBits;if(e.validBits<0)We=0;else if(e.validBits<je)if(je>24)We=e.readBits(24)+(e.readBits(je-24)<<24);else{for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<je))break}if(e.validBits<0)We=0;else{var Ke=e.acc&(1<<je)-1;e.acc=e.acc>>>je,e.validBits-=je,We=Ke}}else{var Xe=e.acc&(1<<je)-1;e.acc=e.acc>>>je,e.validBits-=je,We=Xe}if(-1==We)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"fail lookup",{fileName:"Codebook.hx",lineNumber:161,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"read"}));Ue[ze]=We}var Ye=r.lookupValues,Ze=new Array(Ye);r.multiplicands=Ze;for(var Qe=0,Je=r.lookupValues;Qe<Je;){var qe=Qe++;r.multiplicands[qe]=Ue[qe]*r.deltaValue+r.minimumValue}if(2==r.lookupType&&r.sequenceP){for(var et=1,tt=r.lookupValues;et<tt;){var at=et++;r.multiplicands[at]=r.multiplicands[at-1]}r.sequenceP=!1}}return r},kha_audio2_ogg_vorbis_data_Codebook.prototype={dimensions:null,entries:null,codewordLengths:null,minimumValue:null,deltaValue:null,valueBits:null,lookupType:null,sequenceP:null,sparse:null,lookupValues:null,multiplicands:null,codewords:null,fastHuffman:null,sortedCodewords:null,sortedValues:null,sortedEntries:null,addEntry:function(e,t,a,i,r){this.sparse?(this.codewords[a]=e,this.codewordLengths[a]=i,r[a]=t):this.codewords[t]=e},includeInSort:function(e){if(this.sparse){if(255==e)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"Codebook.hx",lineNumber:201,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"includeInSort"}));return!0}return 255!=e&&e>10},computeCodewords:function(e,t,a){for(var i=new Array(32),r=0;r<32;)i[r++]=0;for(var s=0;s<t&&!(e[s]<255);)++s;if(s==t){if(0!=this.sortedEntries)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"Codebook.hx",lineNumber:228,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"computeCodewords"}));return!0}var n=0,_=n++;this.sparse?(this.codewords[_]=0,this.codewordLengths[_]=e[s],a[_]=s):this.codewords[s]=0;for(var o=0;++o<=e[s];)i[o]=1<<32-o;for(o=s;++o<t;){var h=e[o];if(255!=h){for(;h>0&&0==i[h];)--h;if(0==h)return!1;var l=i[h];i[h]=0;var u=l,c=(u=(-16711936&(u=(-252645136&(u=(-858993460&(u=(-1431655766&u)>>>1|(1431655765&u)<<1))>>>2|(858993459&u)<<2))>>>4|(252645135&u)<<4))>>>8|(16711935&u)<<8)>>>16|u<<16,d=n++;if(this.sparse?(this.codewords[d]=c,this.codewordLengths[d]=e[o],a[d]=o):this.codewords[o]=c,h!=e[o])for(var p=e[o];p>h;){if(0!=i[p])throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"Codebook.hx",lineNumber:272,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"computeCodewords"}));i[p]=l+(1<<32-p),--p}}}return!0},computeSortedHuffman:function(e,t){if(this.sparse)for(var a=0,i=this.sortedEntries;a<i;){var r=a++,s=this.codewords[r];s=(-16711936&(s=(-252645136&(s=(-858993460&(s=(-1431655766&s)>>>1|(1431655765&s)<<1))>>>2|(858993459&s)<<2))>>>4|(252645135&s)<<4))>>>8|(16711935&s)<<8,this.sortedCodewords[r]=s>>>16|s<<16}else{for(var n=0,_=0,o=this.entries;_<o;){var h,l=_++,u=e[l];if(this.sparse){if(255==u)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"Codebook.hx",lineNumber:201,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"includeInSort"}));h=!0}else h=255!=u&&u>10;if(h){var c=this.codewords[l];c=(-16711936&(c=(-252645136&(c=(-858993460&(c=(-1431655766&c)>>>1|(1431655765&c)<<1))>>>2|(858993459&c)<<2))>>>4|(252645135&c)<<4))>>>8|(16711935&c)<<8,this.sortedCodewords[n++]=c>>>16|c<<16}}if(n!=this.sortedEntries)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"Codebook.hx",lineNumber:296,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"computeSortedHuffman"}))}this.sortedCodewords[this.sortedEntries]=-1,this.sortedCodewords.sort(kha_audio2_ogg_vorbis_VorbisTools.uintAsc);for(var d=0,p=this.sparse?this.sortedEntries:this.entries;d<p;){var g,f=d++,v=this.sparse?e[t[f]]:e[f];if(this.sparse){if(255==v)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER,"",{fileName:"Codebook.hx",lineNumber:201,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"includeInSort"}));g=!0}else g=255!=v&&v>10;if(g){for(var k=this.codewords[f],m=(k=(-16711936&(k=(-252645136&(k=(-858993460&(k=(-1431655766&k)>>>1|(1431655765&k)<<1))>>>2|(858993459&k)<<2))>>>4|(252645135&k)<<4))>>>8|(16711935&k)<<8)>>>16|k<<16,b=0,S=this.sortedEntries;S>1;){var y=b+(S>>1);_$UInt_UInt_$Impl_$.gte(m,this.sortedCodewords[y])?(b=y,S-=S>>1):S>>=1}this.sparse?(this.sortedValues[b]=t[f],this.codewordLengths[b]=v):this.sortedValues[b]=f}}},computeAcceleratedHuffman:function(){var e=new Array(1024);this.fastHuffman=e,this.fastHuffman[0]=-1;for(var t=0;t<1024;){var a=t++;this.fastHuffman[a]=-1}for(var i=0,r=this.sparse?this.sortedEntries:this.entries;i<r;){var s=i++;if(this.codewordLengths[s]<=10){var n;if(this.sparse){var _=this.sortedCodewords[s];n=(_=(-16711936&(_=(-252645136&(_=(-858993460&(_=(-1431655766&_)>>>1|(1431655765&_)<<1))>>>2|(858993459&_)<<2))>>>4|(252645135&_)<<4))>>>8|(16711935&_)<<8)>>>16|_<<16}else n=this.codewords[s];for(;n<1024;)this.fastHuffman[n]=s,n+=1<<this.codewordLengths[s]}}},codebookDecode:function(e,t,a,i){e.validBits<10&&e.prepHuffman();var r,s=this.fastHuffman[1023&e.acc];if(s>=0){var n=this.codewordLengths[s];e.acc=e.acc>>>n,e.validBits-=n,e.validBits<0?(e.validBits=0,r=-1):r=s}else r=e.decodeScalarRaw(this);this.sparse&&(r=this.sortedValues[r]);var _=r,o=this.lookupValues,h=this.sequenceP,l=this.multiplicands,u=this.minimumValue;if(_<0)return!1;if(i>this.dimensions&&(i=this.dimensions),1==this.lookupType){for(var c=1,d=0,p=0,g=i;p<g;){var f=p++,v=l[_$UInt_UInt_$Impl_$.toFloat(_/c|0)%_$UInt_UInt_$Impl_$.toFloat(o)|0]+d,k=a+f,m=t;m[k]=m[k]+v,h&&(d=v+u),c*=o}return!0}if(_*=this.dimensions,h)for(var b=0,S=0,y=i;S<y;){var x=S++,B=l[_+x]+b,T=a+x,w=t;w[T]=w[T]+B,b=B+u}else for(var E=0,I=i;E<I;){var C=E++,A=a+C,L=t;L[A]=L[A]+(l[_+C]+0)}return!0},codebookDecodeStep:function(e,t,a,i,r){e.validBits<10&&e.prepHuffman();var s,n=this.fastHuffman[1023&e.acc];if(n>=0){var _=this.codewordLengths[n];e.acc=e.acc>>>_,e.validBits-=_,e.validBits<0?(e.validBits=0,s=-1):s=n}else s=e.decodeScalarRaw(this);this.sparse&&(s=this.sortedValues[s]);var o=s,h=0;if(o<0)return!1;i>this.dimensions&&(i=this.dimensions);var l=this.lookupValues,u=this.sequenceP,c=this.multiplicands;if(1==this.lookupType){for(var d=1,p=0,g=i;p<g;){var f=p++,v=c[_$UInt_UInt_$Impl_$.toFloat(o/d|0)%_$UInt_UInt_$Impl_$.toFloat(l)|0]+h,k=a+f*r,m=t;m[k]=m[k]+v,u&&(h=v),d*=l}return!0}o*=this.dimensions;for(var b=0,S=i;b<S;){var y=b++,x=c[o+y]+h,B=a+y*r,T=t;T[B]=T[B]+x,u&&(h=x)}return!0},decodeStart:function(e){e.validBits<10&&e.prepHuffman();var t,a=this.fastHuffman[1023&e.acc];if(a>=0){var i=this.codewordLengths[a];e.acc=e.acc>>>i,e.validBits-=i,e.validBits<0?(e.validBits=0,t=-1):t=a}else t=e.decodeScalarRaw(this);return this.sparse&&(t=this.sortedValues[t]),t},decodeDeinterleaveRepeat:function(e,t,a,i,r,s,n){var _=this.dimensions;if(0==this.lookupType)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM,null,{fileName:"Codebook.hx",lineNumber:488,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"decodeDeinterleaveRepeat"}));for(var o=this.multiplicands,h=this.sequenceP,l=this.lookupValues;n>0;){var u=0;e.validBits<10&&e.prepHuffman();var c,d=this.fastHuffman[1023&e.acc];if(d>=0){var p=this.codewordLengths[d];e.acc=e.acc>>>p,e.validBits-=p,e.validBits<0?(e.validBits=0,c=-1):c=d}else c=e.decodeScalarRaw(this);this.sparse&&(c=this.sortedValues[c]);var g=c;if(g<0){if(0==e.bytesInSeg&&e.lastSeg)return null;throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM,null,{fileName:"Codebook.hx",lineNumber:503,className:"kha.audio2.ogg.vorbis.data.Codebook",methodName:"decodeDeinterleaveRepeat"}))}if(i+r*a+_>s*a&&(_=s*a-(r*a-i)),1==this.lookupType){var f=1;if(h)for(var v=0,k=_;v<k;){v++;var m=o[_$UInt_UInt_$Impl_$.toFloat(g/f|0)%_$UInt_UInt_$Impl_$.toFloat(l)|0]+u,b=r,S=t[i];S[b]=S[b]+m,++i==a&&(i=0,++r),u=m,f*=l}else for(var y=0,x=_;y<x;){y++;var B=o[_$UInt_UInt_$Impl_$.toFloat(g/f|0)%_$UInt_UInt_$Impl_$.toFloat(l)|0]+u,T=r,w=t[i];w[T]=w[T]+B,++i==a&&(i=0,++r),f*=l}}else if(g*=this.dimensions,h)for(var E=0,I=_;E<I;){var C=o[g+E++]+u,A=r,L=t[i];L[A]=L[A]+C,++i==a&&(i=0,++r),u=C}else for(var R=0,$=_;R<$;){var F=o[g+R++]+u,V=r,N=t[i];N[V]=N[V]+F,++i==a&&(i=0,++r)}n-=_}return{cInter:i,pInter:r}},residueDecode:function(e,t,a,i,r){if(0==r)for(var s=i/this.dimensions|0,n=0,_=s;n<_;){var o=n++;if(!this.codebookDecodeStep(e,t,a+o,i-a-o,s))return!1}else for(var h=0;h<i;){if(!this.codebookDecode(e,t,a,i-h))return!1;h+=this.dimensions,a+=this.dimensions}return!0},__class__:kha_audio2_ogg_vorbis_data_Codebook};var kha_audio2_ogg_vorbis_data_Comment=$hxClasses["kha.audio2.ogg.vorbis.data.Comment"]=function(){this.data=new haxe_ds_StringMap};kha_audio2_ogg_vorbis_data_Comment.__name__=!0,kha_audio2_ogg_vorbis_data_Comment.prototype={data:null,get_title:function(){return this.getString("title")},get_loopStart:function(){return Std.parseInt(this.getString("loopstart"))},get_loopLength:function(){return Std.parseInt(this.getString("looplength"))},get_version:function(){return this.getString("version")},get_album:function(){return this.getString("album")},get_organization:function(){return this.getString("organization")},get_tracknumber:function(){return this.getString("tracknumber")},get_performer:function(){return this.getString("performer")},get_copyright:function(){return this.getString("copyright")},get_license:function(){return this.getString("license")},get_artist:function(){return this.getString("artist")},get_description:function(){return this.getString("description")},get_genre:function(){return this.getString("genre")},get_date:function(){return this.getString("date")},get_location:function(){return this.getString("location")},get_contact:function(){return this.getString("contact")},get_isrc:function(){return this.getString("isrc")},get_artists:function(){return this.getArray("artist")},add:function(e,t){e=e.toLowerCase();var a=this.data;if(null!=__map_reserved[e]?a.existsReserved(e):a.h.hasOwnProperty(e)){var i=this.data;(null!=__map_reserved[e]?i.getReserved(e):i.h[e]).push(t)}else{var r=[t],s=this.data;null!=__map_reserved[e]?s.setReserved(e,r):s.h[e]=r}},getString:function(e){e=e.toLowerCase();var t=this.data;if(null!=__map_reserved[e]?t.existsReserved(e):t.h.hasOwnProperty(e)){var a=this.data;return(null!=__map_reserved[e]?a.getReserved(e):a.h[e])[0]}return null},getArray:function(e){e=e.toLowerCase();var t=this.data;if(null!=__map_reserved[e]?t.existsReserved(e):t.h.hasOwnProperty(e)){var a=this.data;return null!=__map_reserved[e]?a.getReserved(e):a.h[e]}return null},__class__:kha_audio2_ogg_vorbis_data_Comment};var kha_audio2_ogg_vorbis_data_Floor=$hxClasses["kha.audio2.ogg.vorbis.data.Floor"]=function(){};kha_audio2_ogg_vorbis_data_Floor.__name__=!0,kha_audio2_ogg_vorbis_data_Floor.read=function(e,t){var a,i=new kha_audio2_ogg_vorbis_data_Floor;if(e.validBits<0)a=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)a=0;else{var r=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,a=r}}else{var s=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,a=s}if(i.type=a,i.type>1)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Floor.hx",lineNumber:28,className:"kha.audio2.ogg.vorbis.data.Floor",methodName:"read"}));if(0==i.type){var n,_=i.floor0=new kha_audio2_ogg_vorbis_data_Floor0;if(e.validBits<0)n=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)n=0;else{var o=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,n=o}}else{var h=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,n=h}_.order=n;var l;if(e.validBits<0)l=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)l=0;else{var u=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,l=u}}else{var c=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,l=c}_.rate=l;var d;if(e.validBits<0)d=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)d=0;else{var p=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,d=p}}else{var g=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,d=g}_.barkMapSize=d;var f;if(e.validBits<0)f=0;else if(e.validBits<6){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)f=0;else{var v=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,f=v}}else{var k=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,f=k}_.amplitudeBits=f;var m;if(e.validBits<0)m=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)m=0;else{var b=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,m=b}}else{var S=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,m=S}_.amplitudeOffset=m;var y;if(e.validBits<0)y=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)y=0;else{var x=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,y=x}}else{var B=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,y=B}_.numberOfBooks=y+1;for(var T=0,w=_.numberOfBooks;T<w;){var E,I=T++,C=_.bookList;if(e.validBits<0)E=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)E=0;else{var A=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,E=A}}else{var L=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,E=L}C[I]=E}throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.FEATURE_NOT_SUPPORTED,null,{fileName:"Floor.hx",lineNumber:41,className:"kha.audio2.ogg.vorbis.data.Floor",methodName:"read"}))}var R,$=[],F=i.floor1=new kha_audio2_ogg_vorbis_data_Floor1,V=-1;if(e.validBits<0)R=0;else if(e.validBits<5){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<5))break}if(e.validBits<0)R=0;else{var N=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,R=N}}else{var P=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,R=P}F.partitions=R;var M=F.partitions,O=new Array(M);F.partitionClassList=O;for(var D=0,U=F.partitions;D<U;){var H,G=D++,W=F.partitionClassList;if(e.validBits<0)H=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)H=0;else{var z=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,H=z}}else{var j=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,H=j}W[G]=H,F.partitionClassList[G]>V&&(V=F.partitionClassList[G])}var K=new Array(V+1);F.classDimensions=K;var X=new Array(V+1);F.classMasterbooks=X;var Y=new Array(V+1);F.classSubclasses=Y;var Z=new Array(V+1);F.subclassBooks=Z;for(var Q=0,J=V+1;Q<J;){var q,ee=Q++,te=F.classDimensions;if(e.validBits<0)q=0;else if(e.validBits<3){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<3))break}if(e.validBits<0)q=0;else{var ae=7&e.acc;e.acc=e.acc>>>3,e.validBits-=3,q=ae}}else{var ie=7&e.acc;e.acc=e.acc>>>3,e.validBits-=3,q=ie}te[ee]=q+1;var re,se=F.classSubclasses;if(e.validBits<0)re=0;else if(e.validBits<2){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<2))break}if(e.validBits<0)re=0;else{var ne=3&e.acc;e.acc=e.acc>>>2,e.validBits-=2,re=ne}}else{var _e=3&e.acc;e.acc=e.acc>>>2,e.validBits-=2,re=_e}if(se[ee]=re,0!=F.classSubclasses[ee]){var oe,he=F.classMasterbooks;if(e.validBits<0)oe=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)oe=0;else{var le=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,oe=le}}else{var ue=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,oe=ue}if(he[ee]=oe,F.classMasterbooks[ee]>=t.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Floor.hx",lineNumber:64,className:"kha.audio2.ogg.vorbis.data.Floor",methodName:"read"}))}var ce=1<<F.classSubclasses[ee],de=F.subclassBooks,pe=new Array(ce);de[ee]=pe;for(var ge=0,fe=ce;ge<fe;){var ve,ke=ge++,me=F.subclassBooks[ee];if(e.validBits<0)ve=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)ve=0;else{var be=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,ve=be}}else{var Se=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,ve=Se}if(me[ke]=ve-1,F.subclassBooks[ee][ke]>=t.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Floor.hx",lineNumber:73,className:"kha.audio2.ogg.vorbis.data.Floor",methodName:"read"}))}}var ye;if(e.validBits<0)ye=0;else if(e.validBits<2){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<2))break}if(e.validBits<0)ye=0;else{var xe=3&e.acc;e.acc=e.acc>>>2,e.validBits-=2,ye=xe}}else{var Be=3&e.acc;e.acc=e.acc>>>2,e.validBits-=2,ye=Be}F.floor1Multiplier=ye+1;var Te;if(e.validBits<0)Te=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)Te=0;else{var we=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,Te=we}}else{var Ee=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,Te=Ee}F.rangebits=Te;var Ie=new Array(250);F.xlist=Ie,F.xlist[0]=0,F.xlist[1]=1<<F.rangebits,F.values=2;for(var Ce=0,Ae=F.partitions;Ce<Ae;)for(var Le=Ce++,Re=F.partitionClassList[Le],$e=0,Fe=F.classDimensions[Re];$e<Fe;){$e++;var Ve,Ne=F.xlist,Pe=F.values,Me=F.rangebits;if(e.validBits<0)Ve=0;else if(e.validBits<Me)if(Me>24)Ve=e.readBits(24)+(e.readBits(Me-24)<<24);else{for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<Me))break}if(e.validBits<0)Ve=0;else{var Oe=e.acc&(1<<Me)-1;e.acc=e.acc>>>Me,e.validBits-=Me,Ve=Oe}}else{var De=e.acc&(1<<Me)-1;e.acc=e.acc>>>Me,e.validBits-=Me,Ve=De}Ne[Pe]=Ve,F.values++}for(var Ue=0,He=F.values;Ue<He;){var Ge=Ue++;$.push(new kha_audio2_ogg_vorbis_data_IntPoint),$[Ge].x=F.xlist[Ge],$[Ge].y=Ge}$.sort(kha_audio2_ogg_vorbis_VorbisTools.pointCompare);var We=F.values,ze=new Array(We);F.sortedOrder=ze;for(var je=0,Ke=F.values;je<Ke;){var Xe=je++;F.sortedOrder[Xe]=$[Xe].y}var Ye=F.values,Ze=new Array(Ye);F.neighbors=Ze;for(var Qe=2,Je=F.values;Qe<Je;){for(var qe,et,tt=Qe++,at=F.xlist,it=-1,rt=65536,st=0,nt=0,_t=0,ot=tt;_t<ot;){var ht=_t++;at[ht]>it&&at[ht]<at[tt]&&(st=ht,it=at[ht]),at[ht]<rt&&at[ht]>at[tt]&&(nt=ht,rt=at[ht])}qe=st,et=nt;var lt=F.neighbors,ut=F.values,ct=new Array(ut);lt[tt]=ct,F.neighbors[tt][0]=qe,F.neighbors[tt][1]=et}return i},kha_audio2_ogg_vorbis_data_Floor.prototype={floor0:null,floor1:null,type:null,__class__:kha_audio2_ogg_vorbis_data_Floor};var kha_audio2_ogg_vorbis_data_Floor0=$hxClasses["kha.audio2.ogg.vorbis.data.Floor0"]=function(){};kha_audio2_ogg_vorbis_data_Floor0.__name__=!0,kha_audio2_ogg_vorbis_data_Floor0.prototype={order:null,rate:null,barkMapSize:null,amplitudeBits:null,amplitudeOffset:null,numberOfBooks:null,bookList:null,__class__:kha_audio2_ogg_vorbis_data_Floor0};var kha_audio2_ogg_vorbis_data_Floor1=$hxClasses["kha.audio2.ogg.vorbis.data.Floor1"]=function(){};kha_audio2_ogg_vorbis_data_Floor1.__name__=!0,kha_audio2_ogg_vorbis_data_Floor1.prototype={partitions:null,partitionClassList:null,classDimensions:null,classSubclasses:null,classMasterbooks:null,subclassBooks:null,xlist:null,sortedOrder:null,neighbors:null,floor1Multiplier:null,rangebits:null,values:null,__class__:kha_audio2_ogg_vorbis_data_Floor1};var kha_audio2_ogg_vorbis_data_Header=$hxClasses["kha.audio2.ogg.vorbis.data.Header"]=function(){};kha_audio2_ogg_vorbis_data_Header.__name__=!0,kha_audio2_ogg_vorbis_data_Header.read=function(e){var t=e.page;if(t.start(e),0==(2&t.flag))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"not firstPage",{fileName:"Header.hx",lineNumber:46,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(0!=(4&t.flag))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"lastPage",{fileName:"Header.hx",lineNumber:49,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(0!=(1&t.flag))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"continuedPacket",{fileName:"Header.hx",lineNumber:52,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(e.firstPageValidate(),e.inputPosition+=1,1!=e.input.readByte())throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"decodeState head",{fileName:"Header.hx",lineNumber:57,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));for(var a=new haxe_io_Bytes(new ArrayBuffer(6)),i=0;i<6;){var r,s=i++;0!=e.bytesInSeg||!e.lastSeg&&0!=e.next()?(e.bytesInSeg--,e.inputPosition+=1,r=e.input.readByte()):r=-1,e.validBits=0,a.b[s]=255&r}if("vorbis"!=a.toString())throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"vorbis header",{fileName:"VorbisDecodeState.hx",lineNumber:300,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"vorbisValidate"}));e.inputPosition+=4;var n=e.input.readInt32();if(0!=n)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"vorbis version : "+n,{fileName:"Header.hx",lineNumber:66,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));var _=new kha_audio2_ogg_vorbis_data_Header;if(e.inputPosition+=1,_.channel=e.input.readByte(),0==_.channel)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"no channel",{fileName:"Header.hx",lineNumber:73,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(_.channel>16)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.TOO_MANY_CHANNELS,"too many channels",{fileName:"Header.hx",lineNumber:75,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(e.inputPosition+=4,_.sampleRate=e.input.readInt32(),0==_.sampleRate)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,"no sampling rate",{fileName:"Header.hx",lineNumber:80,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));e.inputPosition+=4,_.maximumBitRate=e.input.readInt32(),e.inputPosition+=4,_.nominalBitRate=e.input.readInt32(),e.inputPosition+=4,_.minimumBitRate=e.input.readInt32(),e.inputPosition+=1;var o=e.input.readByte(),h=15&o,l=o>>4;if(_.blocksize0=1<<h,_.blocksize1=1<<l,h<6||h>13)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:93,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(l<6||l>13)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:96,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(h>l)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:99,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));e.inputPosition+=1;var u=e.input.readByte();if(0==(1&u))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE,null,{fileName:"Header.hx",lineNumber:105,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));e.page.start(e),e.startPacket();for(var c=0,d=new haxe_io_BytesOutput;;){if(0==(c=e.next()))break;e.inputPosition+=c,d.write(e.input.read(c)),e.bytesInSeg=0}var p=new haxe_io_BytesInput(d.getBytes());p.readByte(),p.read(6);var g=p.readInt32();_.vendor=p.readString(g),_.comment=new kha_audio2_ogg_vorbis_data_Comment;for(var f=0,v=p.readInt32();f<v;){f++;var k=p.readInt32(),m=p.readString(k),b=m.indexOf("=");-1!=b&&_.comment.add(m.substring(0,b),m.substring(b+1))}if(0==(1&p.readByte()))throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:141,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));e.startPacket();var S;if(0!=e.bytesInSeg||!e.lastSeg&&0!=e.next()?(e.bytesInSeg--,e.inputPosition+=1,S=e.input.readByte()):S=-1,e.validBits=0,5!=S)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"setup packet",{fileName:"Header.hx",lineNumber:149,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));for(var y=new haxe_io_Bytes(new ArrayBuffer(6)),x=0;x<6;){var B,T=x++;0!=e.bytesInSeg||!e.lastSeg&&0!=e.next()?(e.bytesInSeg--,e.inputPosition+=1,B=e.input.readByte()):B=-1,e.validBits=0,y.b[T]=255&B}if("vorbis"!=y.toString())throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"vorbis header",{fileName:"VorbisDecodeState.hx",lineNumber:300,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"vorbisValidate"}));var w;if(e.validBits<0)w=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)w=0;else{var E=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,w=E}}else{var I=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,w=I}var C=w+1,A=new Array(C);_.codebooks=A;for(var L=0,R=C;L<R;){var $=L++;_.codebooks[$]=kha_audio2_ogg_vorbis_data_Codebook.read(e)}var F;if(e.validBits<0)F=0;else if(e.validBits<6){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)F=0;else{var V=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,F=V}}else{var N=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,F=N}for(var P=0,M=u=F+1;P<M;){var O;P++;if(e.validBits<0)O=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)O=0;else{var D=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,O=D}}else{var U=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,O=U}if(0!=O)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:165,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}))}var H;if(e.validBits<0)H=0;else if(e.validBits<6){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)H=0;else{var G=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,H=G}}else{var W=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,H=W}var z=H+1,j=new Array(z);_.floorConfig=j;for(var K=0,X=z;K<X;){var Y=K++;_.floorConfig[Y]=kha_audio2_ogg_vorbis_data_Floor.read(e,_.codebooks)}var Z;if(e.validBits<0)Z=0;else if(e.validBits<6){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)Z=0;else{var Q=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,Z=Q}}else{var J=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,Z=J}var q=Z+1,ee=new Array(q);_.residueConfig=ee;for(var te=0,ae=q;te<ae;){var ie=te++;_.residueConfig[ie]=kha_audio2_ogg_vorbis_data_Residue.read(e,_.codebooks)}var re;if(e.validBits<0)re=0;else if(e.validBits<6){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)re=0;else{var se=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,re=se}}else{var ne=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,re=ne}var _e=re+1,oe=new Array(_e);_.mapping=oe;for(var he=0,le=_e;he<le;){var ue=he++,ce=kha_audio2_ogg_vorbis_data_Mapping.read(e,_.channel);_.mapping[ue]=ce;for(var de=0,pe=ce.submaps;de<pe;){var ge=de++;if(ce.submapFloor[ge]>=_.floorConfig.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:191,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}));if(ce.submapResidue[ge]>=_.residueConfig.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:194,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}))}}var fe;if(e.validBits<0)fe=0;else if(e.validBits<6){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)fe=0;else{var ve=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,fe=ve}}else{var ke=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,fe=ke}var me=fe+1,be=new Array(me);_.modes=be;for(var Se=0,ye=me;Se<ye;){var xe=Se++,Be=kha_audio2_ogg_vorbis_data_Mode.read(e);if(_.modes[xe]=Be,Be.mapping>=_.mapping.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Header.hx",lineNumber:205,className:"kha.audio2.ogg.vorbis.data.Header",methodName:"read"}))}for(;0!=e.bytesInSeg||!e.lastSeg&&0!=e.next();)e.bytesInSeg--,e.inputPosition+=1,e.input.readByte();return _},kha_audio2_ogg_vorbis_data_Header.prototype={maximumBitRate:null,nominalBitRate:null,minimumBitRate:null,sampleRate:null,channel:null,blocksize0:null,blocksize1:null,codebooks:null,floorConfig:null,residueConfig:null,mapping:null,modes:null,comment:null,vendor:null,__class__:kha_audio2_ogg_vorbis_data_Header};var kha_audio2_ogg_vorbis_data_IntPoint=$hxClasses["kha.audio2.ogg.vorbis.data.IntPoint"]=function(){};kha_audio2_ogg_vorbis_data_IntPoint.__name__=!0,kha_audio2_ogg_vorbis_data_IntPoint.prototype={x:null,y:null,__class__:kha_audio2_ogg_vorbis_data_IntPoint};var kha_audio2_ogg_vorbis_data_Mapping=$hxClasses["kha.audio2.ogg.vorbis.data.Mapping"]=function(){};kha_audio2_ogg_vorbis_data_Mapping.__name__=!0,kha_audio2_ogg_vorbis_data_Mapping.read=function(e,t){var a,i=new kha_audio2_ogg_vorbis_data_Mapping;if(e.validBits<0)a=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)a=0;else{var r=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,a=r}}else{var s=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,a=s}if(0!=a)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,"mapping type "+a,{fileName:"Mapping.hx",lineNumber:22,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}));var n=new Array(t);i.chan=n;for(var _=0,o=t;_<o;){var h=_++;i.chan[h]=new kha_audio2_ogg_vorbis_data_MappingChannel}var l;if(e.validBits<0)l=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)l=0;else{var u=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,l=u}}else{var c=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,l=c}if(0!=l){var d;if(e.validBits<0)d=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)d=0;else{var p=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,d=p}}else{var g=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,d=g}i.submaps=d+1}else i.submaps=1;var f;if(e.validBits<0)f=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)f=0;else{var v=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,f=v}}else{var k=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,f=k}if(0!=f){var m;if(e.validBits<0)m=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)m=0;else{var b=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,m=b}}else{var S=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,m=S}i.couplingSteps=m+1;for(var y=0,x=i.couplingSteps;y<x;){var B,T=y++,w=i.chan[T],E=t-1,I=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],C=E<16384?E<16?I[E]:E<512?5+I[E>>5]:10+I[E>>10]:E<16777216?E<524288?15+I[E>>15]:20+I[E>>20]:E<536870912?25+I[E>>25]:E<-2147483648?30+I[E>>30]:0;if(e.validBits<0)B=0;else if(e.validBits<C)if(C>24)B=e.readBits(24)+(e.readBits(C-24)<<24);else{for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<C))break}if(e.validBits<0)B=0;else{var A=e.acc&(1<<C)-1;e.acc=e.acc>>>C,e.validBits-=C,B=A}}else{var L=e.acc&(1<<C)-1;e.acc=e.acc>>>C,e.validBits-=C,B=L}w.magnitude=B;var R,$=i.chan[T],F=t-1,V=[0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4],N=F<16384?F<16?V[F]:F<512?5+V[F>>5]:10+V[F>>10]:F<16777216?F<524288?15+V[F>>15]:20+V[F>>20]:F<536870912?25+V[F>>25]:F<-2147483648?30+V[F>>30]:0;if(e.validBits<0)R=0;else if(e.validBits<N)if(N>24)R=e.readBits(24)+(e.readBits(N-24)<<24);else{for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<N))break}if(e.validBits<0)R=0;else{var P=e.acc&(1<<N)-1;e.acc=e.acc>>>N,e.validBits-=N,R=P}}else{var M=e.acc&(1<<N)-1;e.acc=e.acc>>>N,e.validBits-=N,R=M}if($.angle=R,i.chan[T].magnitude>=t)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mapping.hx",lineNumber:46,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}));if(i.chan[T].angle>=t)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mapping.hx",lineNumber:49,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}));if(i.chan[T].magnitude==i.chan[T].angle)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mapping.hx",lineNumber:52,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}))}}else i.couplingSteps=0;var O;if(e.validBits<0)O=0;else if(e.validBits<2){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<2))break}if(e.validBits<0)O=0;else{var D=3&e.acc;e.acc=e.acc>>>2,e.validBits-=2,O=D}}else{var U=3&e.acc;e.acc=e.acc>>>2,e.validBits-=2,O=U}if(0!=O)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mapping.hx",lineNumber:61,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}));if(i.submaps>1)for(var H=0,G=t;H<G;){var W,z=H++,j=i.chan[z];if(e.validBits<0)W=0;else if(e.validBits<4){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<4))break}if(e.validBits<0)W=0;else{var K=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,W=K}}else{var X=15&e.acc;e.acc=e.acc>>>4,e.validBits-=4,W=X}if(j.mux=W,i.chan[z].mux>=i.submaps)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mapping.hx",lineNumber:67,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"read"}))}else for(var Y=0,Z=t;Y<Z;){var Q=Y++;i.chan[Q].mux=0}var J=i.submaps,q=new Array(J);i.submapFloor=q;var ee=i.submaps,te=new Array(ee);i.submapResidue=te;for(var ae=0,ie=i.submaps;ae<ie;){var re=ae++;if(e.validBits>=0)if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits>=0){e.acc;e.acc=e.acc>>>8,e.validBits-=8}}else{e.acc;e.acc=e.acc>>>8,e.validBits-=8}var se,ne=i.submapFloor;if(e.validBits<0)se=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)se=0;else{var _e=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,se=_e}}else{var oe=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,se=oe}ne[re]=se;var he,le=i.submapResidue;if(e.validBits<0)he=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)he=0;else{var ue=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,he=ue}}else{var ce=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,he=ce}le[re]=he}return i},kha_audio2_ogg_vorbis_data_Mapping.prototype={couplingSteps:null,chan:null,submaps:null,submapFloor:null,submapResidue:null,doFloor:function(e,t,a,i,r,s){var n=a>>1,_=this.chan[t].mux,o=e[this.submapFloor[_]];if(0==o.type)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM,null,{fileName:"Mapping.hx",lineNumber:94,className:"kha.audio2.ogg.vorbis.data.Mapping",methodName:"doFloor"}));for(var h=o.floor1,l=0,u=r[0]*h.floor1Multiplier,c=1,d=h.values;c<d;){var p=c++,g=h.sortedOrder[p];if(r[g]>=0){var f=r[g]*h.floor1Multiplier,v=h.xlist[g];kha_audio2_ogg_vorbis_VorbisTools.drawLine(i,l,u,v,f,n),l=v,u=f}}if(l<n)for(var k=l,m=n;k<m;){var b=k++,S=i;S[b]=S[b]*kha_audio2_ogg_vorbis_VorbisTools.INVERSE_DB_TABLE[u]}},__class__:kha_audio2_ogg_vorbis_data_Mapping};var kha_audio2_ogg_vorbis_data_MappingChannel=$hxClasses["kha.audio2.ogg.vorbis.data.MappingChannel"]=function(){};kha_audio2_ogg_vorbis_data_MappingChannel.__name__=!0,kha_audio2_ogg_vorbis_data_MappingChannel.prototype={magnitude:null,angle:null,mux:null,__class__:kha_audio2_ogg_vorbis_data_MappingChannel};var kha_audio2_ogg_vorbis_data_Mode=$hxClasses["kha.audio2.ogg.vorbis.data.Mode"]=function(){};kha_audio2_ogg_vorbis_data_Mode.__name__=!0,kha_audio2_ogg_vorbis_data_Mode.read=function(e){var t,a=new kha_audio2_ogg_vorbis_data_Mode;if(e.validBits<0)t=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)t=0;else{var i=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,t=i}}else{var r=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,t=r}a.blockflag=0!=t;var s;if(e.validBits<0)s=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)s=0;else{var n=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,s=n}}else{var _=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,s=_}a.windowtype=s;var o;if(e.validBits<0)o=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)o=0;else{var h=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,o=h}}else{var l=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,o=l}a.transformtype=o;var u;if(e.validBits<0)u=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)u=0;else{var c=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,u=c}}else{var d=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,u=d}if(a.mapping=u,0!=a.windowtype)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mode.hx",lineNumber:22,className:"kha.audio2.ogg.vorbis.data.Mode",methodName:"read"}));if(0!=a.transformtype)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Mode.hx",lineNumber:25,className:"kha.audio2.ogg.vorbis.data.Mode",methodName:"read"}));return a},kha_audio2_ogg_vorbis_data_Mode.prototype={blockflag:null,mapping:null,windowtype:null,transformtype:null,__class__:kha_audio2_ogg_vorbis_data_Mode};var kha_audio2_ogg_vorbis_data_Page=$hxClasses["kha.audio2.ogg.vorbis.data.Page"]=function(){};kha_audio2_ogg_vorbis_data_Page.__name__=!0,kha_audio2_ogg_vorbis_data_Page.prototype={flag:null,clone:function(){var e=new kha_audio2_ogg_vorbis_data_Page;return e.flag=this.flag,e},start:function(e){var t,a,i;if(e.inputPosition+=1,79==e.input.readByte()?(e.inputPosition+=1,i=103!=e.input.readByte()):i=!0,i?a=!0:(e.inputPosition+=1,a=103!=e.input.readByte()),a?t=!0:(e.inputPosition+=1,t=83!=e.input.readByte()),t)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN,null,{fileName:"VorbisDecodeState.hx",lineNumber:323,className:"kha.audio2.ogg.vorbis.VorbisDecodeState",methodName:"capturePattern"}));this.startWithoutCapturePattern(e)},startWithoutCapturePattern:function(e){e.inputPosition+=1;var t=e.input.readByte();if(0!=t)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM_STRUCTURE_VERSION,""+t,{fileName:"Page.hx",lineNumber:34,className:"kha.audio2.ogg.vorbis.data.Page",methodName:"startWithoutCapturePattern"}));e.inputPosition+=1,this.flag=e.input.readByte(),e.inputPosition+=4;var a=e.input.readInt32();e.inputPosition+=4;var i=e.input.readInt32();e.inputPosition+=4,e.input.readInt32(),e.inputPosition+=4,e.input.readInt32(),e.inputPosition+=4,e.input.readInt32(),e.setup(a,i)},__class__:kha_audio2_ogg_vorbis_data_Page};var kha_audio2_ogg_vorbis_data_PageFlag=$hxClasses["kha.audio2.ogg.vorbis.data.PageFlag"]=function(){};kha_audio2_ogg_vorbis_data_PageFlag.__name__=!0;var kha_audio2_ogg_vorbis_data_ProbedPage=$hxClasses["kha.audio2.ogg.vorbis.data.ProbedPage"]=function(){};kha_audio2_ogg_vorbis_data_ProbedPage.__name__=!0,kha_audio2_ogg_vorbis_data_ProbedPage.prototype={pageStart:null,pageEnd:null,afterPreviousPageStart:null,firstDecodedSample:null,lastDecodedSample:null,__class__:kha_audio2_ogg_vorbis_data_ProbedPage};var kha_audio2_ogg_vorbis_data_ReaderError=$hxClasses["kha.audio2.ogg.vorbis.data.ReaderError"]=function(e,t,a){null==t&&(t=""),this.type=e,this.message=t,this.posInfos=a};kha_audio2_ogg_vorbis_data_ReaderError.__name__=!0,kha_audio2_ogg_vorbis_data_ReaderError.prototype={type:null,message:null,posInfos:null,__class__:kha_audio2_ogg_vorbis_data_ReaderError};var kha_audio2_ogg_vorbis_data_ReaderErrorType=$hxClasses["kha.audio2.ogg.vorbis.data.ReaderErrorType"]={__ename__:!0,__constructs__:["NEED_MORE_DATA","INVALID_API_MIXING","OUTOFMEM","FEATURE_NOT_SUPPORTED","TOO_MANY_CHANNELS","FILE_OPEN_FAILURE","SEEK_WITHOUT_LENGTH","UNEXPECTED_EOF","SEEK_INVALID","INVALID_SETUP","INVALID_STREAM","MISSING_CAPTURE_PATTERN","INVALID_STREAM_STRUCTURE_VERSION","CONTINUED_PACKET_FLAG_INVALID","INCORRECT_STREAM_SERIAL_NUMBER","INVALID_FIRST_PAGE","BAD_PACKET_TYPE","CANT_FIND_LAST_PAGE","SEEK_FAILED","OTHER"]};kha_audio2_ogg_vorbis_data_ReaderErrorType.NEED_MORE_DATA=["NEED_MORE_DATA",0],kha_audio2_ogg_vorbis_data_ReaderErrorType.NEED_MORE_DATA.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.NEED_MORE_DATA.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_API_MIXING=["INVALID_API_MIXING",1],kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_API_MIXING.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_API_MIXING.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.OUTOFMEM=["OUTOFMEM",2],kha_audio2_ogg_vorbis_data_ReaderErrorType.OUTOFMEM.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.OUTOFMEM.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.FEATURE_NOT_SUPPORTED=["FEATURE_NOT_SUPPORTED",3],kha_audio2_ogg_vorbis_data_ReaderErrorType.FEATURE_NOT_SUPPORTED.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.FEATURE_NOT_SUPPORTED.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.TOO_MANY_CHANNELS=["TOO_MANY_CHANNELS",4],kha_audio2_ogg_vorbis_data_ReaderErrorType.TOO_MANY_CHANNELS.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.TOO_MANY_CHANNELS.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.FILE_OPEN_FAILURE=["FILE_OPEN_FAILURE",5],kha_audio2_ogg_vorbis_data_ReaderErrorType.FILE_OPEN_FAILURE.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.FILE_OPEN_FAILURE.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_WITHOUT_LENGTH=["SEEK_WITHOUT_LENGTH",6],kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_WITHOUT_LENGTH.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_WITHOUT_LENGTH.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.UNEXPECTED_EOF=["UNEXPECTED_EOF",7],kha_audio2_ogg_vorbis_data_ReaderErrorType.UNEXPECTED_EOF.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.UNEXPECTED_EOF.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_INVALID=["SEEK_INVALID",8],kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_INVALID.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_INVALID.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP=["INVALID_SETUP",9],kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM=["INVALID_STREAM",10],kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN=["MISSING_CAPTURE_PATTERN",11],kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.MISSING_CAPTURE_PATTERN.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM_STRUCTURE_VERSION=["INVALID_STREAM_STRUCTURE_VERSION",12],kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM_STRUCTURE_VERSION.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_STREAM_STRUCTURE_VERSION.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.CONTINUED_PACKET_FLAG_INVALID=["CONTINUED_PACKET_FLAG_INVALID",13],kha_audio2_ogg_vorbis_data_ReaderErrorType.CONTINUED_PACKET_FLAG_INVALID.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.CONTINUED_PACKET_FLAG_INVALID.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INCORRECT_STREAM_SERIAL_NUMBER=["INCORRECT_STREAM_SERIAL_NUMBER",14],kha_audio2_ogg_vorbis_data_ReaderErrorType.INCORRECT_STREAM_SERIAL_NUMBER.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INCORRECT_STREAM_SERIAL_NUMBER.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE=["INVALID_FIRST_PAGE",15],kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_FIRST_PAGE.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.BAD_PACKET_TYPE=["BAD_PACKET_TYPE",16],kha_audio2_ogg_vorbis_data_ReaderErrorType.BAD_PACKET_TYPE.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.BAD_PACKET_TYPE.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.CANT_FIND_LAST_PAGE=["CANT_FIND_LAST_PAGE",17],kha_audio2_ogg_vorbis_data_ReaderErrorType.CANT_FIND_LAST_PAGE.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.CANT_FIND_LAST_PAGE.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED=["SEEK_FAILED",18],kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.SEEK_FAILED.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType,kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER=["OTHER",19],kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER.toString=$estr,kha_audio2_ogg_vorbis_data_ReaderErrorType.OTHER.__enum__=kha_audio2_ogg_vorbis_data_ReaderErrorType;var kha_audio2_ogg_vorbis_data_Residue=$hxClasses["kha.audio2.ogg.vorbis.data.Residue"]=function(){};kha_audio2_ogg_vorbis_data_Residue.__name__=!0,kha_audio2_ogg_vorbis_data_Residue.read=function(e,t){var a,i=new kha_audio2_ogg_vorbis_data_Residue;if(e.validBits<0)a=0;else if(e.validBits<16){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<16))break}if(e.validBits<0)a=0;else{var r=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,a=r}}else{var s=65535&e.acc;e.acc=e.acc>>>16,e.validBits-=16,a=s}if(i.type=a,i.type>2)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Residue.hx",lineNumber:29,className:"kha.audio2.ogg.vorbis.data.Residue",methodName:"read"}));var n,_=new Array(64);if(e.validBits<0)n=0;else if(e.validBits<24){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<24))break}if(e.validBits<0)n=0;else{var o=16777215&e.acc;e.acc=e.acc>>>24,e.validBits-=24,n=o}}else{var h=16777215&e.acc;e.acc=e.acc>>>24,e.validBits-=24,n=h}i.begin=n;var l;if(e.validBits<0)l=0;else if(e.validBits<24){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<24))break}if(e.validBits<0)l=0;else{var u=16777215&e.acc;e.acc=e.acc>>>24,e.validBits-=24,l=u}}else{var c=16777215&e.acc;e.acc=e.acc>>>24,e.validBits-=24,l=c}i.end=l;var d;if(e.validBits<0)d=0;else if(e.validBits<24){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<24))break}if(e.validBits<0)d=0;else{var p=16777215&e.acc;e.acc=e.acc>>>24,e.validBits-=24,d=p}}else{var g=16777215&e.acc;e.acc=e.acc>>>24,e.validBits-=24,d=g}i.partSize=d+1;var f;if(e.validBits<0)f=0;else if(e.validBits<6){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<6))break}if(e.validBits<0)f=0;else{var v=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,f=v}}else{var k=63&e.acc;e.acc=e.acc>>>6,e.validBits-=6,f=k}var m,b=i.classifications=f+1;if(e.validBits<0)m=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)m=0;else{var S=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,m=S}}else{var y=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,m=y}i.classbook=m;for(var x=0,B=i.classifications;x<B;){var T,w=x++,E=0;if(e.validBits<0)T=0;else if(e.validBits<3){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<3))break}if(e.validBits<0)T=0;else{var I=7&e.acc;e.acc=e.acc>>>3,e.validBits-=3,T=I}}else{var C=7&e.acc;e.acc=e.acc>>>3,e.validBits-=3,T=C}var A;if(e.validBits<0)A=0;else if(e.validBits<1){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<1))break}if(e.validBits<0)A=0;else{var L=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,A=L}}else{var R=1&e.acc;e.acc=e.acc>>>1,e.validBits-=1,A=R}if(0!=A)if(e.validBits<0)E=0;else if(e.validBits<5){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<5))break}if(e.validBits<0)E=0;else{var $=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,E=$}}else{var F=31&e.acc;e.acc=e.acc>>>5,e.validBits-=5,E=F}_[w]=8*E+T}var V=i.classifications,N=new Array(V);i.residueBooks=N;for(var P=0,M=i.classifications;P<M;){var O=P++,D=i.residueBooks,U=new Array(8);D[O]=U;for(var H=0;H<8;){var G=H++;if(0!=(_[O]&1<<G)){var W,z=i.residueBooks[O];if(e.validBits<0)W=0;else if(e.validBits<8){for(0==e.validBits&&(e.acc=0);;){if(0==e.bytesInSeg&&(e.lastSeg||0==e.next())){e.validBits=-1;break}if(e.bytesInSeg--,e.inputPosition+=1,e.acc=e.acc+(e.input.readByte()<<e.validBits),e.validBits+=8,!(e.validBits<8))break}if(e.validBits<0)W=0;else{var j=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,W=j}}else{var K=255&e.acc;e.acc=e.acc>>>8,e.validBits-=8,W=K}if(z[G]=W,i.residueBooks[O][G]>=t.length)throw new js__$Boot_HaxeError(new kha_audio2_ogg_vorbis_data_ReaderError(kha_audio2_ogg_vorbis_data_ReaderErrorType.INVALID_SETUP,null,{fileName:"Residue.hx",lineNumber:55,className:"kha.audio2.ogg.vorbis.data.Residue",methodName:"read"}))}else i.residueBooks[O][G]=-1}}var X=t[i.classbook].entries,Y=t[i.classbook].dimensions,Z=new Array(X);i.classdata=Z;for(var Q=0,J=X;Q<J;)for(var q=Q++,ee=q,te=Y,ae=i.classdata,ie=new Array(Y),re=ae[q]=ie;--te>=0;)re[te]=ee%b,ee=ee/b|0;return i},kha_audio2_ogg_vorbis_data_Residue.prototype={begin:null,end:null,partSize:null,classifications:null,classbook:null,classdata:null,residueBooks:null,type:null,decode:function(e,t,a,i,r,s,n){for(var _=t.codebooks,o=_[this.classbook].dimensions,h=this.end-this.begin,l=this.partSize,u=_$UInt_UInt_$Impl_$.toFloat(h)/_$UInt_UInt_$Impl_$.toFloat(l)|0,c=t.channel*u+1,d=new Array(c),p=0,g=i;p<g;){var f=p++;if(!s[f])for(var v=a[f],k=0,m=v.length;k<m;)v[k++]=0}if(2!=this.type||1==i)for(var b=0;b<8;)for(var S=b++,y=0;y<u;){if(0==S)for(var x=0,B=i;x<B;){var T=x++;if(!s[T]){var w=_[this.classbook];e.validBits<10&&e.prepHuffman();var E,I=w.fastHuffman[1023&e.acc];if(I>=0){var C=w.codewordLengths[I];e.acc=e.acc>>>C,e.validBits-=C,e.validBits<0?(e.validBits=0,E=-1):E=I}else E=e.decodeScalarRaw(w);w.sparse&&(E=w.sortedValues[E]);var A=E;if(-1==A)return;for(var L=o;--L>=0;)d[T*u+L+y]=A%this.classifications,A=A/this.classifications|0}}for(var R=0,$=o;R<$;){R++;if(y>=u)break;for(var F=0,V=i;F<V;){var N=F++;if(!s[N]){var P=d[N*u+y],M=this.residueBooks[P][S];if(M>=0){var O=a[N],D=this.begin+y*l,U=l;if(!_[M].residueDecode(e,O,D,U,this.type))return}}}++y}}else{for(var H=0,G=i;H<G;){var W=H++;if(!s[W])break;if(W==i-1)return}for(var z=0;z<8;){var j=z++,K=0;if(2==i)for(;K<u;){var X=this.begin+K*l,Y=1&X,Z=X>>>1;if(0==j){var Q=_[this.classbook];e.validBits<10&&e.prepHuffman();var J,q=Q.fastHuffman[1023&e.acc];if(q>=0){var ee=Q.codewordLengths[q];e.acc=e.acc>>>ee,e.validBits-=ee,e.validBits<0?(e.validBits=0,J=-1):J=q}else J=e.decodeScalarRaw(Q);Q.sparse&&(J=Q.sortedValues[J]);var te=J;if(-1==te)return;for(var ae=o;--ae>=0;)d[ae+K]=te%this.classifications,te=te/this.classifications|0}for(var ie=0,re=o;ie<re;){ie++;if(K>=u)break;var se=this.begin+K*l,ne=d[K],_e=this.residueBooks[ne][j];if(_e>=0){var oe=_[_e].decodeDeinterleaveRepeat(e,a,i,Y,Z,r,l);if(null==oe)return;Y=oe.cInter,Z=oe.pInter}else Y=1&(se+=l),Z=se>>>1;++K}}else if(1==i)for(;K<u;){var he=0,le=this.begin+K*l;if(0==j){var ue=_[this.classbook];e.validBits<10&&e.prepHuffman();var ce,de=ue.fastHuffman[1023&e.acc];if(de>=0){var pe=ue.codewordLengths[de];e.acc=e.acc>>>pe,e.validBits-=pe,e.validBits<0?(e.validBits=0,ce=-1):ce=de}else ce=e.decodeScalarRaw(ue);ue.sparse&&(ce=ue.sortedValues[ce]);var ge=ce;if(-1==ge)return;for(var fe=o;--fe>=0;)d[fe+K]=ge%this.classifications,ge=ge/this.classifications|0}for(var ve=0,ke=o;ve<ke;){ve++;if(K>=u)break;var me=this.begin+K*l,be=this.residueBooks[d[K]][j];if(be>=0){var Se=_[be].decodeDeinterleaveRepeat(e,a,i,he,le,r,l);if(null==Se)return;he=Se.cInter,le=Se.pInter}else he=0,le=me+=l;++K}}else for(;K<u;){var ye=this.begin+K*l,xe=_$UInt_UInt_$Impl_$.toFloat(ye)%_$UInt_UInt_$Impl_$.toFloat(i)|0,Be=_$UInt_UInt_$Impl_$.toFloat(ye)/_$UInt_UInt_$Impl_$.toFloat(i)|0;if(0==j){var Te=_[this.classbook];e.validBits<10&&e.prepHuffman();var we,Ee=Te.fastHuffman[1023&e.acc];if(Ee>=0){var Ie=Te.codewordLengths[Ee];e.acc=e.acc>>>Ie,e.validBits-=Ie,e.validBits<0?(e.validBits=0,we=-1):we=Ee}else we=e.decodeScalarRaw(Te);Te.sparse&&(we=Te.sortedValues[we]);var Ce=we;if(-1==Ce)return;for(var Ae=o;--Ae>=0;)d[Ae+K]=Ce%this.classifications,Ce=Ce/this.classifications|0}for(var Le=0,Re=o;Le<Re;){Le++;if(K>=u)break;var $e=this.begin+K*l,Fe=this.residueBooks[d[K]][j];if(Fe>=0){var Ve=_[Fe].decodeDeinterleaveRepeat(e,a,i,xe,Be,r,l);if(null==Ve)return;xe=Ve.cInter,Be=Ve.pInter}else $e+=l,xe=_$UInt_UInt_$Impl_$.toFloat($e)%_$UInt_UInt_$Impl_$.toFloat(i)|0,Be=_$UInt_UInt_$Impl_$.toFloat($e)/_$UInt_UInt_$Impl_$.toFloat(i)|0;++K}}}}},__class__:kha_audio2_ogg_vorbis_data_Residue};var kha_audio2_ogg_vorbis_data_Setting=$hxClasses["kha.audio2.ogg.vorbis.data.Setting"]=function(){};kha_audio2_ogg_vorbis_data_Setting.__name__=!0;var kha_graphics1_Graphics=$hxClasses["kha.graphics1.Graphics"]=function(){};kha_graphics1_Graphics.__name__=!0,kha_graphics1_Graphics.prototype={begin:null,end:null,setPixel:null,__class__:kha_graphics1_Graphics};var kha_graphics2_Graphics=$hxClasses["kha.graphics2.Graphics"]=function(){this.transformations=[],this.transformations.push(new kha_math_FastMatrix3(1,0,0,0,1,0,0,0,1)),this.opacities=[],this.opacities.push(1),this.myFontSize=12,this.myFontGlyphs=[];for(var e=32;e<256;){var t=e++;this.myFontGlyphs.push(t)}this.pipe=null};kha_graphics2_Graphics.__name__=!0,kha_graphics2_Graphics.prototype={begin:function(e,t){null==e&&(e=!0)},end:function(){},flush:function(){},clear:function(e){},drawImage:function(e,t,a){this.drawSubImage(e,t,a,0,0,e.get_width(),e.get_height())},drawSubImage:function(e,t,a,i,r,s,n){this.drawScaledSubImage(e,i,r,s,n,t,a,s,n)},drawScaledImage:function(e,t,a,i,r){this.drawScaledSubImage(e,0,0,e.get_width(),e.get_height(),t,a,i,r)},drawScaledSubImage:function(e,t,a,i,r,s,n,_,o){},drawRect:function(e,t,a,i,r){null==r&&(r=1)},fillRect:function(e,t,a,i){},drawString:function(e,t,a){},drawLine:function(e,t,a,i,r){null==r&&(r=1)},drawVideo:function(e,t,a,i,r){},fillTriangle:function(e,t,a,i,r,s){},get_imageScaleQuality:function(){return kha_graphics2_ImageScaleQuality.Low},set_imageScaleQuality:function(e){return kha_graphics2_ImageScaleQuality.High},get_mipmapScaleQuality:function(){return kha_graphics2_ImageScaleQuality.Low},set_mipmapScaleQuality:function(e){return kha_graphics2_ImageScaleQuality.High},get_color:function(){return-16777216},set_color:function(e){return-16777216},get_font:function(){return null},set_font:function(e){return null},get_fontSize:function(){return this.myFontSize},set_fontSize:function(e){return this.myFontSize=e},get_fontGlyphs:function(){return this.myFontGlyphs},set_fontGlyphs:function(e){return this.myFontGlyphs=e},pushTransformation:function(e){var t=new kha_math_FastMatrix3(1,0,0,0,1,0,0,0,1);t._00=e._00,t._10=e._10,t._20=e._20,t._01=e._01,t._11=e._11,t._21=e._21,t._02=e._02,t._12=e._12,t._22=e._22,this.setTransformation(t),this.transformations.push(t)},popTransformation:function(){var e=this.transformations.pop();return this.setTransformation(this.transformations[this.transformations.length-1]),e},get_transformation:function(){return this.transformations[this.transformations.length-1]},set_transformation:function(e){this.setTransformation(e);var t=this.transformations[this.transformations.length-1];return t._00=e._00,t._10=e._10,t._20=e._20,t._01=e._01,t._11=e._11,t._21=e._21,t._02=e._02,t._12=e._12,t._22=e._22,e},translation:function(e,t){var a,i;i=e,a=t;var r=this.transformations[this.transformations.length-1];return new kha_math_FastMatrix3(1*r._00+0*r._01+i*r._02,1*r._10+0*r._11+i*r._12,1*r._20+0*r._21+i*r._22,0*r._00+1*r._01+a*r._02,0*r._10+1*r._11+a*r._12,0*r._20+1*r._21+a*r._22,0*r._00+0*r._01+1*r._02,0*r._10+0*r._11+1*r._12,0*r._20+0*r._21+1*r._22)},translate:function(e,t){var a,i;i=e,a=t;var r=this.transformations[this.transformations.length-1],s=new kha_math_FastMatrix3(1*r._00+0*r._01+i*r._02,1*r._10+0*r._11+i*r._12,1*r._20+0*r._21+i*r._22,0*r._00+1*r._01+a*r._02,0*r._10+1*r._11+a*r._12,0*r._20+1*r._21+a*r._22,0*r._00+0*r._01+1*r._02,0*r._10+0*r._11+1*r._12,0*r._20+0*r._21+1*r._22);this.setTransformation(s);var n=this.transformations[this.transformations.length-1];n._00=s._00,n._10=s._10,n._20=s._20,n._01=s._01,n._11=s._11,n._21=s._21,n._02=s._02,n._12=s._12,n._22=s._22},pushTranslation:function(e,t){var a,i;i=e,a=t;var r=this.transformations[this.transformations.length-1];this.pushTransformation(new kha_math_FastMatrix3(1*r._00+0*r._01+i*r._02,1*r._10+0*r._11+i*r._12,1*r._20+0*r._21+i*r._22,0*r._00+1*r._01+a*r._02,0*r._10+1*r._11+a*r._12,0*r._20+1*r._21+a*r._22,0*r._00+0*r._01+1*r._02,0*r._10+0*r._11+1*r._12,0*r._20+0*r._21+1*r._22))},rotation:function(e,t,a){var i,r,s,n,_,o,h,l,u,c,d,p,g,f,v,k,m,b,S;S=t,b=a;var y,x,B,T=Math.cos(e);x=-Math.sin(e);var w,E;u=1*(m=1*T+0*(B=Math.sin(e))+0*S)+0*(f=1*x+0*(y=Math.cos(e))+0*S)+0*(d=0+1*S),o=0*m+1*f+0*d,s=m*(E=-t)+f*(w=-a)+1*d,l=1*(k=0*T+1*B+0*b)+0*(g=0*x+1*y+0*b)+0*(c=0+1*b),_=0*k+1*g+0*c,r=k*E+g*w+1*c,h=1*(v=0*T+0*B+0)+0*(p=0*x+0*y+0)+0,n=0*v+1*p+0,i=v*E+p*w+1;var I=this.transformations[this.transformations.length-1];return new kha_math_FastMatrix3(u*I._00+o*I._01+s*I._02,u*I._10+o*I._11+s*I._12,u*I._20+o*I._21+s*I._22,l*I._00+_*I._01+r*I._02,l*I._10+_*I._11+r*I._12,l*I._20+_*I._21+r*I._22,h*I._00+n*I._01+i*I._02,h*I._10+n*I._11+i*I._12,h*I._20+n*I._21+i*I._22)},rotate:function(e,t,a){var i,r,s,n,_,o,h,l,u,c,d,p,g,f,v,k,m,b,S,y,x,B,T,w,E,I,C,A;A=t,C=a;var L,R,$,F=Math.cos(e);R=-Math.sin(e);var V,N;b=1*(I=1*F+0*($=Math.sin(e))+0*A)+0*(T=1*R+0*(L=Math.cos(e))+0*A)+0*(y=0+1*A),v=0*I+1*T+0*y,p=I*(N=-t)+T*(V=-a)+1*y,m=1*(E=0*F+1*$+0*C)+0*(B=0*R+1*L+0*C)+0*(S=0+1*C),f=0*E+1*B+0*S,d=E*N+B*V+1*S,k=1*(w=0*F+0*$+0)+0*(x=0*R+0*L+0)+0,g=0*w+1*x+0,c=w*N+x*V+1;var P=this.transformations[this.transformations.length-1];u=b*P._00+v*P._01+p*P._02,o=b*P._10+v*P._11+p*P._12,s=b*P._20+v*P._21+p*P._22,l=m*P._00+f*P._01+d*P._02,_=m*P._10+f*P._11+d*P._12,r=m*P._20+f*P._21+d*P._22,h=k*P._00+g*P._01+c*P._02,n=k*P._10+g*P._11+c*P._12,i=k*P._20+g*P._21+c*P._22,this.transformations[this.transformations.length-1]._00=u,this.transformations[this.transformations.length-1]._01=l,this.transformations[this.transformations.length-1]._02=h,this.transformations[this.transformations.length-1]._10=o,this.transformations[this.transformations.length-1]._11=_,this.transformations[this.transformations.length-1]._12=n,this.transformations[this.transformations.length-1]._20=s,this.transformations[this.transformations.length-1]._21=r,this.transformations[this.transformations.length-1]._22=i},pushRotation:function(e,t,a){var i,r,s,n,_,o,h,l,u,c,d,p,g,f,v,k,m,b,S;S=t,b=a;var y,x,B,T=Math.cos(e);x=-Math.sin(e);var w,E;u=1*(m=1*T+0*(B=Math.sin(e))+0*S)+0*(f=1*x+0*(y=Math.cos(e))+0*S)+0*(d=0+1*S),o=0*m+1*f+0*d,s=m*(E=-t)+f*(w=-a)+1*d,l=1*(k=0*T+1*B+0*b)+0*(g=0*x+1*y+0*b)+0*(c=0+1*b),_=0*k+1*g+0*c,r=k*E+g*w+1*c,h=1*(v=0*T+0*B+0)+0*(p=0*x+0*y+0)+0,n=0*v+1*p+0,i=v*E+p*w+1;var I=this.transformations[this.transformations.length-1];this.pushTransformation(new kha_math_FastMatrix3(u*I._00+o*I._01+s*I._02,u*I._10+o*I._11+s*I._12,u*I._20+o*I._21+s*I._22,l*I._00+_*I._01+r*I._02,l*I._10+_*I._11+r*I._12,l*I._20+_*I._21+r*I._22,h*I._00+n*I._01+i*I._02,h*I._10+n*I._11+i*I._12,h*I._20+n*I._21+i*I._22))},pushOpacity:function(e){this.setOpacity(e),this.opacities.push(e)},popOpacity:function(){var e=this.opacities.pop();return this.setOpacity(this.get_opacity()),e},get_opacity:function(){return this.opacities[this.opacities.length-1]},set_opacity:function(e){return this.setOpacity(e),this.opacities[this.opacities.length-1]=e},scissor:function(e,t,a,i){},disableScissor:function(){},pipe:null,get_pipeline:function(){return this.pipe},set_pipeline:function(e){return this.setPipeline(e),this.pipe=e},transformations:null,opacities:null,myFontSize:null,myFontGlyphs:null,setTransformation:function(e){},setOpacity:function(e){},setPipeline:function(e){},__class__:kha_graphics2_Graphics};var kha_graphics2_Graphics1=$hxClasses["kha.graphics2.Graphics1"]=function(e){this.canvas=e};kha_graphics2_Graphics1.__name__=!0,kha_graphics2_Graphics1.__interfaces__=[kha_graphics1_Graphics],kha_graphics2_Graphics1.prototype={canvas:null,texture:null,pixels:null,begin:function(){null==this.texture&&(this.texture=kha_Image.create(this.canvas.get_width(),this.canvas.get_height(),kha_graphics4_TextureFormat.RGBA32,kha_graphics4_Usage.ReadableUsage)),this.pixels=this.texture.lock()},end:function(){this.texture.unlock(),this.canvas.get_g2().begin(),this.canvas.get_g2().drawImage(this.texture,0,0),this.canvas.get_g2().end()},setPixel:function(e,t,a){this.pixels.setInt32(t*this.texture.get_realWidth()*4+4*e,a)},__class__:kha_graphics2_Graphics1};var kha_graphics2_ImageScaleQuality=$hxClasses["kha.graphics2.ImageScaleQuality"]={__ename__:!0,__constructs__:["Low","High"]};kha_graphics2_ImageScaleQuality.Low=["Low",0],kha_graphics2_ImageScaleQuality.Low.toString=$estr,kha_graphics2_ImageScaleQuality.Low.__enum__=kha_graphics2_ImageScaleQuality,kha_graphics2_ImageScaleQuality.High=["High",1],kha_graphics2_ImageScaleQuality.High.toString=$estr,kha_graphics2_ImageScaleQuality.High.__enum__=kha_graphics2_ImageScaleQuality;var kha_graphics2_truetype_VectorOfIntPointer=$hxClasses["kha.graphics2.truetype.VectorOfIntPointer"]=function(){};kha_graphics2_truetype_VectorOfIntPointer.__name__=!0,kha_graphics2_truetype_VectorOfIntPointer.prototype={value:null,__class__:kha_graphics2_truetype_VectorOfIntPointer};var kha_graphics2_truetype_Stbtt_$temp_$rect=$hxClasses["kha.graphics2.truetype.Stbtt_temp_rect"]=function(){};kha_graphics2_truetype_Stbtt_$temp_$rect.__name__=!0,kha_graphics2_truetype_Stbtt_$temp_$rect.prototype={x0:null,y0:null,x1:null,y1:null,__class__:kha_graphics2_truetype_Stbtt_$temp_$rect};var kha_graphics2_truetype_Stbtt_$temp_$glyph_$h_$metrics=$hxClasses["kha.graphics2.truetype.Stbtt_temp_glyph_h_metrics"]=function(){};kha_graphics2_truetype_Stbtt_$temp_$glyph_$h_$metrics.__name__=!0,kha_graphics2_truetype_Stbtt_$temp_$glyph_$h_$metrics.prototype={advanceWidth:null,leftSideBearing:null,__class__:kha_graphics2_truetype_Stbtt_$temp_$glyph_$h_$metrics};var kha_graphics2_truetype_Stbtt_$temp_$font_$v_$metrics=$hxClasses["kha.graphics2.truetype.Stbtt_temp_font_v_metrics"]=function(){};kha_graphics2_truetype_Stbtt_$temp_$font_$v_$metrics.__name__=!0,kha_graphics2_truetype_Stbtt_$temp_$font_$v_$metrics.prototype={ascent:null,descent:null,lineGap:null,__class__:kha_graphics2_truetype_Stbtt_$temp_$font_$v_$metrics};var kha_graphics2_truetype_Stbtt_$temp_$region=$hxClasses["kha.graphics2.truetype.Stbtt_temp_region"]=function(){};kha_graphics2_truetype_Stbtt_$temp_$region.__name__=!0,kha_graphics2_truetype_Stbtt_$temp_$region.prototype={width:null,height:null,xoff:null,yoff:null,__class__:kha_graphics2_truetype_Stbtt_$temp_$region};var kha_graphics2_truetype_Stbtt_$bakedchar=$hxClasses["kha.graphics2.truetype.Stbtt_bakedchar"]=function(){};kha_graphics2_truetype_Stbtt_$bakedchar.__name__=!0,kha_graphics2_truetype_Stbtt_$bakedchar.prototype={x0:null,y0:null,x1:null,y1:null,xoff:null,yoff:null,xadvance:null,__class__:kha_graphics2_truetype_Stbtt_$bakedchar};var kha_graphics2_truetype_Stbtt_$aligned_$quad=$hxClasses["kha.graphics2.truetype.Stbtt_aligned_quad"]=function(){};kha_graphics2_truetype_Stbtt_$aligned_$quad.__name__=!0,kha_graphics2_truetype_Stbtt_$aligned_$quad.prototype={x0:null,y0:null,s0:null,t0:null,x1:null,y1:null,s1:null,t1:null,__class__:kha_graphics2_truetype_Stbtt_$aligned_$quad};var kha_graphics2_truetype_Stbtt_$packedchar=$hxClasses["kha.graphics2.truetype.Stbtt_packedchar"]=function(){};kha_graphics2_truetype_Stbtt_$packedchar.__name__=!0,kha_graphics2_truetype_Stbtt_$packedchar.prototype={x0:null,y0:null,x1:null,y1:null,xoff:null,yoff:null,xadvance:null,xoff2:null,yoff2:null,__class__:kha_graphics2_truetype_Stbtt_$packedchar};var kha_graphics2_truetype_Stbtt_$pack_$range=$hxClasses["kha.graphics2.truetype.Stbtt_pack_range"]=function(){};kha_graphics2_truetype_Stbtt_$pack_$range.__name__=!0,kha_graphics2_truetype_Stbtt_$pack_$range.prototype={font_size:null,first_unicode_codepoint_in_range:null,array_of_unicode_codepoints:null,num_chars:null,chardata_for_range:null,h_oversample:null,v_oversample:null,__class__:kha_graphics2_truetype_Stbtt_$pack_$range};var kha_graphics2_truetype_Stbtt_$pack_$context=$hxClasses["kha.graphics2.truetype.Stbtt_pack_context"]=function(){};kha_graphics2_truetype_Stbtt_$pack_$context.__name__=!0,kha_graphics2_truetype_Stbtt_$pack_$context.prototype={width:null,height:null,stride_in_bytes:null,padding:null,h_oversample:null,v_oversample:null,pixels:null,__class__:kha_graphics2_truetype_Stbtt_$pack_$context};var kha_graphics2_truetype_Stbtt_$fontinfo=$hxClasses["kha.graphics2.truetype.Stbtt_fontinfo"]=function(){};kha_graphics2_truetype_Stbtt_$fontinfo.__name__=!0,kha_graphics2_truetype_Stbtt_$fontinfo.prototype={data:null,fontstart:null,numGlyphs:null,loca:null,head:null,glyf:null,hhea:null,hmtx:null,kern:null,index_map:null,indexToLocFormat:null,__class__:kha_graphics2_truetype_Stbtt_$fontinfo};var kha_graphics2_truetype_Stbtt_$vertex=$hxClasses["kha.graphics2.truetype.Stbtt_vertex"]=function(){};kha_graphics2_truetype_Stbtt_$vertex.__name__=!0,kha_graphics2_truetype_Stbtt_$vertex.prototype={x:null,y:null,cx:null,cy:null,type:null,padding:null,__class__:kha_graphics2_truetype_Stbtt_$vertex};var kha_graphics2_truetype_Stbtt_$_$bitmap=$hxClasses["kha.graphics2.truetype.Stbtt__bitmap"]=function(){};kha_graphics2_truetype_Stbtt_$_$bitmap.__name__=!0,kha_graphics2_truetype_Stbtt_$_$bitmap.prototype={w:null,h:null,stride:null,pixels:null,pixels_offset:null,__class__:kha_graphics2_truetype_Stbtt_$_$bitmap};var kha_graphics2_truetype_Stbtt_$_$edge=$hxClasses["kha.graphics2.truetype.Stbtt__edge"]=function(){};kha_graphics2_truetype_Stbtt_$_$edge.__name__=!0,kha_graphics2_truetype_Stbtt_$_$edge.prototype={x0:null,y0:null,x1:null,y1:null,invert:null,__class__:kha_graphics2_truetype_Stbtt_$_$edge};var kha_graphics2_truetype_Stbtt_$_$active_$edge=$hxClasses["kha.graphics2.truetype.Stbtt__active_edge"]=function(){};kha_graphics2_truetype_Stbtt_$_$active_$edge.__name__=!0,kha_graphics2_truetype_Stbtt_$_$active_$edge.prototype={next:null,fx:null,fdx:null,fdy:null,direction:null,sy:null,ey:null,__class__:kha_graphics2_truetype_Stbtt_$_$active_$edge};var kha_graphics2_truetype_Stbtt_$_$point=$hxClasses["kha.graphics2.truetype.Stbtt__point"]=function(){};kha_graphics2_truetype_Stbtt_$_$point.__name__=!0,kha_graphics2_truetype_Stbtt_$_$point.prototype={x:null,y:null,__class__:kha_graphics2_truetype_Stbtt_$_$point};var kha_graphics2_truetype_StbTruetype=$hxClasses["kha.graphics2.truetype.StbTruetype"]=function(){};kha_graphics2_truetype_StbTruetype.__name__=!0,kha_graphics2_truetype_StbTruetype.STBTT_assert=function(e){if(!e)throw new js__$Boot_HaxeError("Error")},kha_graphics2_truetype_StbTruetype.STBTT_POINT_SIZE=function(e){return-e},kha_graphics2_truetype_StbTruetype.ttBYTE=function(e,t){return null==t&&(t=0),e.readU8(t)},kha_graphics2_truetype_StbTruetype.ttCHAR=function(e,t){null==t&&(t=0);var a=e.readU8(t);return a>=128?a-256:a},kha_graphics2_truetype_StbTruetype.ttUSHORT=function(e,t){null==t&&(t=0);var a=e.readU8(t);return e.readU8(t+1)|a<<8},kha_graphics2_truetype_StbTruetype.ttSHORT=function(e,t){null==t&&(t=0);var a=e.readU8(t),i=e.readU8(t+1)|a<<8;return 0!=(32768&i)?i-65536:i},kha_graphics2_truetype_StbTruetype.ttULONG=function(e,t){null==t&&(t=0);var a=e.readU8(t),i=e.readU8(t+1),r=e.readU8(t+2);return e.readU8(t+3)|r<<8|i<<16|a<<24},kha_graphics2_truetype_StbTruetype.ttLONG=function(e,t){null==t&&(t=0);var a=e.readU8(t),i=e.readU8(t+1),r=e.readU8(t+2);return e.readU8(t+3)|r<<8|i<<16|a<<24},kha_graphics2_truetype_StbTruetype.ttFixed=function(e,t){null==t&&(t=0);var a=e.readU8(t),i=e.readU8(t+1),r=e.readU8(t+2);return e.readU8(t+3)|r<<8|i<<16|a<<24},kha_graphics2_truetype_StbTruetype.stbtt_tag4=function(e,t,a,i,r,s){return e.readU8(t)==a&&e.readU8(t+1)==i&&e.readU8(t+2)==r&&e.readU8(t+3)==s},kha_graphics2_truetype_StbTruetype.stbtt_tag=function(e,t,a){var i=HxOverrides.cca(a,0),r=HxOverrides.cca(a,1),s=HxOverrides.cca(a,2),n=HxOverrides.cca(a,3);return e.readU8(t)==i&&e.readU8(t+1)==r&&e.readU8(t+2)==s&&e.readU8(t+3)==n},kha_graphics2_truetype_StbTruetype.stbtt__isfont=function(e){var t=HxOverrides.cca("1",0);if(e.readU8(0)==t&&0==e.readU8(1)&&0==e.readU8(2)&&0==e.readU8(3))return!0;var a=HxOverrides.cca("typ1",0),i=HxOverrides.cca("typ1",1),r=HxOverrides.cca("typ1",2),s=HxOverrides.cca("typ1",3);if(e.readU8(0)==a&&e.readU8(1)==i&&e.readU8(2)==r&&e.readU8(3)==s)return!0;var n=HxOverrides.cca("OTTO",0),_=HxOverrides.cca("OTTO",1),o=HxOverrides.cca("OTTO",2),h=HxOverrides.cca("OTTO",3);return e.readU8(0)==n&&e.readU8(1)==_&&e.readU8(2)==o&&e.readU8(3)==h||0==e.readU8(0)&&1==e.readU8(1)&&0==e.readU8(2)&&0==e.readU8(3)},kha_graphics2_truetype_StbTruetype.stbtt__find_table=function(e,t,a){for(var i=t+4,r=e.readU8(i),s=t+12,n=0,_=e.readU8(i+1)|r<<8;n<_;){var o=s+16*n++,h=HxOverrides.cca(a,0),l=HxOverrides.cca(a,1),u=HxOverrides.cca(a,2),c=HxOverrides.cca(a,3);if(e.readU8(o)==h&&e.readU8(o+1)==l&&e.readU8(o+2)==u&&e.readU8(o+3)==c){var d=o+8,p=e.readU8(d),g=e.readU8(d+1),f=e.readU8(d+2);return e.readU8(d+3)|f<<8|g<<16|p<<24}}return 0},kha_graphics2_truetype_StbTruetype.stbtt_GetFontOffsetForIndex=function(e,t){if(kha_graphics2_truetype_StbTruetype.stbtt__isfont(e))return 0==t?0:-1;var a=HxOverrides.cca("ttcf",0),i=HxOverrides.cca("ttcf",1),r=HxOverrides.cca("ttcf",2),s=HxOverrides.cca("ttcf",3);if(e.readU8(0)==a&&e.readU8(1)==i&&e.readU8(2)==r&&e.readU8(3)==s){var n,_=e.readU8(4),o=e.readU8(5),h=e.readU8(6);if(65536!=(e.readU8(7)|h<<8|o<<16|_<<24)){var l=e.readU8(4),u=e.readU8(5),c=e.readU8(6);n=131072==(e.readU8(7)|c<<8|u<<16|l<<24)}else n=!0;if(n){var d=e.readU8(8),p=e.readU8(9),g=e.readU8(10);if(t>=(e.readU8(11)|g<<8|p<<16|d<<24))return-1;var f=12+4*t,v=e.readU8(f),k=e.readU8(f+1),m=e.readU8(f+2);return e.readU8(f+3)|m<<8|k<<16|v<<24}}return-1},kha_graphics2_truetype_StbTruetype.stbtt_InitFont=function(e,t,a){var i,r,s;if(e.data=t,e.fontstart=a,i=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"cmap"),e.loca=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"loca"),e.head=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"head"),e.glyf=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"glyf"),e.hhea=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"hhea"),e.hmtx=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"hmtx"),e.kern=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"kern"),0==i||0==e.loca||0==e.head||0==e.glyf||0==e.hhea||0==e.hmtx)return!1;if(0!=(r=kha_graphics2_truetype_StbTruetype.stbtt__find_table(t,a,"maxp"))){var n=r+4,_=t.readU8(n),o=t.readU8(n+1);e.numGlyphs=o|_<<8}else e.numGlyphs=65535;var h=i+2,l=t.readU8(h);s=t.readU8(h+1)|l<<8,e.index_map=0;for(var u=0,c=s;u<c;){var d=i+4+8*u++,p=t.readU8(d);switch(t.readU8(d+1)|p<<8){case 0:var g=d+4,f=t.readU8(g),v=t.readU8(g+1),k=t.readU8(g+2),m=t.readU8(g+3);e.index_map=i+(m|k<<8|v<<16|f<<24);break;case 3:var b=d+2,S=t.readU8(b);switch(t.readU8(b+1)|S<<8){case 1:case 10:var y=d+4,x=t.readU8(y),B=t.readU8(y+1),T=t.readU8(y+2),w=t.readU8(y+3);e.index_map=i+(w|T<<8|B<<16|x<<24)}}}if(0==e.index_map)return!1;var E=e.head+50,I=t.readU8(E),C=t.readU8(E+1);return e.indexToLocFormat=C|I<<8,!0},kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex=function(e,t){var a=e.data,i=e.index_map,r=a.readU8(i),s=a.readU8(i+1)|r<<8;if(0==s){var n=i+2,_=a.readU8(n);return t<(a.readU8(n+1)|_<<8)-6?a.readU8(i+6+t):0}if(6==s){var o=i+6,h=a.readU8(o),l=a.readU8(o+1)|h<<8,u=i+8,c=a.readU8(u),d=a.readU8(u+1)|c<<8;if(t>=l&&t<l+d){var p=i+10+2*(t-l),g=a.readU8(p);return a.readU8(p+1)|g<<8}return 0}if(2==s)throw new js__$Boot_HaxeError("Error");if(4==s){var f=i+6,v=a.readU8(f),k=(a.readU8(f+1)|v<<8)>>1,m=i+8,b=a.readU8(m),S=(a.readU8(m+1)|b<<8)>>1,y=i+10,x=a.readU8(y),B=a.readU8(y+1)|x<<8,T=i+12,w=a.readU8(T),E=(a.readU8(T+1)|w<<8)>>1,I=i+14,C=I;if(t>65535)return 0;var A=C+2*E,L=a.readU8(A);for(t>=(a.readU8(A+1)|L<<8)&&(C+=2*E),C-=2;0!=B;){var R=C+2*(S>>=1),$=a.readU8(R);t>(a.readU8(R+1)|$<<8)&&(C+=2*S),--B}var F,V,N=(C+=2)-I>>1,P=I+2*N,M=a.readU8(P);if(t>(a.readU8(P+1)|M<<8))throw new js__$Boot_HaxeError("Error");var O=i+14+2*k+2+2*N,D=a.readU8(O);if(V=a.readU8(O+1)|D<<8,t<V)return 0;var U=i+14+6*k+2+2*N,H=a.readU8(U);if(0==(F=a.readU8(U+1)|H<<8)){var G=i+14+4*k+2+2*N,W=a.readU8(G),z=a.readU8(G+1)|W<<8;return t+(0!=(32768&z)?z-65536:z)}var j=F+2*(t-V)+i+14+6*k+2+2*N,K=a.readU8(j);return a.readU8(j+1)|K<<8}if(12==s||13==s){var X,Y,Z=i+12,Q=a.readU8(Z),J=a.readU8(Z+1),q=a.readU8(Z+2);for(X=0,Y=a.readU8(Z+3)|q<<8|J<<16|Q<<24;X<Y;){var ee=X+(Y-X>>1),te=i+16+12*ee,ae=a.readU8(te),ie=a.readU8(te+1),re=a.readU8(te+2),se=a.readU8(te+3)|re<<8|ie<<16|ae<<24,ne=i+16+12*ee+4,_e=a.readU8(ne),oe=a.readU8(ne+1),he=a.readU8(ne+2),le=a.readU8(ne+3)|he<<8|oe<<16|_e<<24;if(t<se)Y=ee;else{if(!(t>le)){var ue=i+16+12*ee+8,ce=a.readU8(ue),de=a.readU8(ue+1),pe=a.readU8(ue+2),ge=a.readU8(ue+3)|pe<<8|de<<16|ce<<24;return 12==s?ge+t-se:ge}X=ee+1}}return 0}throw new js__$Boot_HaxeError("Error")},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointShape=function(e,t){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphShape(e,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,t))},kha_graphics2_truetype_StbTruetype.stbtt_setvertex=function(e,t,a,i,r,s){e.type=t,e.x=a,e.y=i,e.cx=r,e.cy=s},kha_graphics2_truetype_StbTruetype.stbtt__GetGlyfOffset=function(e,t){var a,i;if(t>=e.numGlyphs)return-1;if(e.indexToLocFormat>=2)return-1;if(0==e.indexToLocFormat){var r=e.glyf,s=e.data,n=e.loca+2*t,_=s.readU8(n);a=r+2*(s.readU8(n+1)|_<<8);var o=e.glyf,h=e.data,l=e.loca+2*t+2,u=h.readU8(l);i=o+2*(h.readU8(l+1)|u<<8)}else{var c=e.glyf,d=e.data,p=e.loca+4*t,g=d.readU8(p),f=d.readU8(p+1),v=d.readU8(p+2);a=c+(d.readU8(p+3)|v<<8|f<<16|g<<24);var k=e.glyf,m=e.data,b=e.loca+4*t+4,S=m.readU8(b),y=m.readU8(b+1),x=m.readU8(b+2);i=k+(m.readU8(b+3)|x<<8|y<<16|S<<24)}return a==i?-1:a},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBox=function(e,t,a){var i=kha_graphics2_truetype_StbTruetype.stbtt__GetGlyfOffset(e,t);if(i<0)return!1;var r=e.data,s=i+2,n=r.readU8(s),_=r.readU8(s+1)|n<<8;a.x0=0!=(32768&_)?_-65536:_;var o=e.data,h=i+4,l=o.readU8(h),u=o.readU8(h+1)|l<<8;a.y0=0!=(32768&u)?u-65536:u;var c=e.data,d=i+6,p=c.readU8(d),g=c.readU8(d+1)|p<<8;a.x1=0!=(32768&g)?g-65536:g;var f=e.data,v=i+8,k=f.readU8(v),m=f.readU8(v+1)|k<<8;return a.y1=0!=(32768&m)?m-65536:m,!0},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBox=function(e,t,a){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBox(e,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,t),a)},kha_graphics2_truetype_StbTruetype.stbtt_IsGlyphEmpty=function(e,t){var a=kha_graphics2_truetype_StbTruetype.stbtt__GetGlyfOffset(e,t);if(a<0)return!0;var i=e.data,r=i.readU8(a),s=i.readU8(a+1)|r<<8;return 0==(0!=(32768&s)?s-65536:s)},kha_graphics2_truetype_StbTruetype.stbtt__close_shape=function(e,t,a,i,r,s,n,_,o,h){return i?(a&&kha_graphics2_truetype_StbTruetype.stbtt_setvertex(e[t++],3,o+n>>1,h+_>>1,o,h),kha_graphics2_truetype_StbTruetype.stbtt_setvertex(e[t++],3,r,s,n,_)):a?kha_graphics2_truetype_StbTruetype.stbtt_setvertex(e[t++],3,r,s,o,h):kha_graphics2_truetype_StbTruetype.stbtt_setvertex(e[t++],2,r,s,0,0),t},kha_graphics2_truetype_StbTruetype.copyVertices=function(e,t,a,i){for(var r=0,s=i;r<s;){var n=r++;t[a+n]=e[n]}},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphShape=function(e,t){var a,i,r=e.data,s=null,n=0,_=kha_graphics2_truetype_StbTruetype.stbtt__GetGlyfOffset(e,t);if(_<0)return null;var o=r.readU8(_),h=r.readU8(_+1)|o<<8;if((a=0!=(32768&h)?h-65536:h)>0){var l,u,c,d,p,g,f,v,k,m,b,S,y,x=0,B=0,T=0,w=0,E=!1,I=!1,C=0;i=r.sub(_+10,r.get_length()-(_+10));var A=_+10+2*a,L=r.readU8(A);u=r.readU8(A+1)|L<<8,y=r.sub(_+10+2*a+2+u,r.get_length()-(_+10+2*a+2+u));var R=2*a-2,$=i.readU8(R);if(c=(d=1+(i.readU8(R+1)|$<<8))+2*a,null==(s=new Array(c)))return null;for(var F=0,V=s.length;F<V;)s[F++]=new kha_graphics2_truetype_Stbtt_$vertex;T=0,l=0,w=c-d;for(var N=0,P=d;N<P;){var M=N++;0==l?0!=(8&(x=y.readU8(C++)))&&(l=y.readU8(C++)):--l,s[w+M].type=x}p=0;for(var O=0,D=d;O<D;){var U=O++;if(0!=(2&(x=s[w+U].type))){var H=y.readU8(C++);p+=0!=(16&x)?H:-H}else if(0==(16&x)){var G=y.readU8(C),W=y.readU8(C+1)|G<<8;p+=0!=(32768&W)?W-65536:W,C+=2}s[w+U].x=p}g=0;for(var z=0,j=d;z<j;){var K=z++;if(0!=(4&(x=s[w+K].type))){var X=y.readU8(C++);g+=0!=(32&x)?X:-X}else if(0==(32&x)){var Y=y.readU8(C),Z=y.readU8(C+1)|Y<<8;g+=0!=(32768&Z)?Z-65536:Z,C+=2}s[w+K].y=g}n=0,k=m=f=v=b=S=0;for(var Q=0;Q<d;){if(x=s[w+Q].type,p=s[w+Q].x,g=s[w+Q].y,T==Q){0!=Q&&(n=kha_graphics2_truetype_StbTruetype.stbtt__close_shape(s,n,E,I,k,m,b,S,f,v)),(I=0==(1&x))?(b=p,S=g,0==(1&s[w+Q+1].type)?(k=p+s[w+Q+1].x>>1,m=g+s[w+Q+1].y>>1):(k=s[w+Q+1].x,m=s[w+Q+1].y,++Q)):(k=p,m=g),kha_graphics2_truetype_StbTruetype.stbtt_setvertex(s[n++],1,k,m,0,0),E=!1;var J=2*B,q=i.readU8(J);T=1+(i.readU8(J+1)|q<<8),++B}else 0==(1&x)?(E&&kha_graphics2_truetype_StbTruetype.stbtt_setvertex(s[n++],3,f+p>>1,v+g>>1,f,v),f=p,v=g,E=!0):(E?kha_graphics2_truetype_StbTruetype.stbtt_setvertex(s[n++],3,p,g,f,v):kha_graphics2_truetype_StbTruetype.stbtt_setvertex(s[n++],2,p,g,0,0),E=!1);++Q}n=kha_graphics2_truetype_StbTruetype.stbtt__close_shape(s,n,E,I,k,m,b,S,f,v)}else if(-1==a){var ee=1,te=r.sub(_+10,r.get_length()-(_+10)),ae=0;for(n=0,s=null;0!=ee;){var ie,re,se,ne,_e=0,oe=null,he=null,le=1,ue=0,ce=0,de=1,pe=0,ge=0,fe=te.readU8(ae),ve=te.readU8(ae+1)|fe<<8;ie=0!=(32768&ve)?ve-65536:ve,ae+=2;var ke=te.readU8(ae),me=te.readU8(ae+1)|ke<<8;if(re=0!=(32768&me)?me-65536:me,ae+=2,0==(2&ie))throw new js__$Boot_HaxeError("Error");if(0!=(1&ie)){var be=te.readU8(ae),Se=te.readU8(ae+1)|be<<8;pe=0!=(32768&Se)?Se-65536:Se,ae+=2;var ye=te.readU8(ae),xe=te.readU8(ae+1)|ye<<8;ge=0!=(32768&xe)?xe-65536:xe,ae+=2}else{var Be=te.readU8(ae);pe=Be>=128?Be-256:Be,++ae;var Te=te.readU8(ae);ge=Te>=128?Te-256:Te,++ae}if(0!=(8&ie)){var we=te.readU8(ae),Ee=te.readU8(ae+1)|we<<8;le=de=(0!=(32768&Ee)?Ee-65536:Ee)/16384,ae+=2,ue=ce=0}else if(0!=(64&ie)){var Ie=te.readU8(ae),Ce=te.readU8(ae+1)|Ie<<8;le=(0!=(32768&Ce)?Ce-65536:Ce)/16384,ae+=2,ue=ce=0;var Ae=te.readU8(ae),Le=te.readU8(ae+1)|Ae<<8;de=(0!=(32768&Le)?Le-65536:Le)/16384,ae+=2}else if(0!=(128&ie)){var Re=te.readU8(ae),$e=te.readU8(ae+1)|Re<<8;le=(0!=(32768&$e)?$e-65536:$e)/16384,ae+=2;var Fe=te.readU8(ae),Ve=te.readU8(ae+1)|Fe<<8;ue=(0!=(32768&Ve)?Ve-65536:Ve)/16384,ae+=2;var Ne=te.readU8(ae),Pe=te.readU8(ae+1)|Ne<<8;ce=(0!=(32768&Pe)?Pe-65536:Pe)/16384,ae+=2;var Me=te.readU8(ae),Oe=te.readU8(ae+1)|Me<<8;de=(0!=(32768&Oe)?Oe-65536:Oe)/16384,ae+=2}if(se=Math.sqrt(le*le+ue*ue),ne=Math.sqrt(ce*ce+de*de),oe=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphShape(e,re),(_e=null==oe?0:oe.length)>0){for(var De=0,Ue=_e;De<Ue;){var He,Ge,We=oe[De++];He=We.x,Ge=We.y,We.x=se*(le*He+ce*Ge+pe)|0,We.y=ne*(ue*He+de*Ge+ge)|0,He=We.cx,Ge=We.cy,We.cx=se*(le*He+ce*Ge+pe)|0,We.cy=ne*(ue*He+de*Ge+ge)|0}if(null==(he=new Array(n+_e)))return null;n>0&&kha_graphics2_truetype_StbTruetype.copyVertices(s,he,0,n),kha_graphics2_truetype_StbTruetype.copyVertices(oe,he,n,_e),s=he,n+=_e}ee=32&ie}}else if(a<0)throw new js__$Boot_HaxeError("Error");if(null==s)return null;if(s.length<n)throw new js__$Boot_HaxeError("Error");if(n<s.length){var ze=new Array(n);return kha_graphics2_truetype_StbTruetype.copyVertices(s,ze,0,n),ze}return s},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphHMetrics=function(e,t){var a=e.data,i=e.hhea+34,r=a.readU8(i),s=a.readU8(i+1)|r<<8,n=new kha_graphics2_truetype_Stbtt_$temp_$glyph_$h_$metrics;if(t<s){var _=e.data,o=e.hmtx+4*t,h=_.readU8(o),l=_.readU8(o+1)|h<<8;n.advanceWidth=0!=(32768&l)?l-65536:l;var u=e.data,c=e.hmtx+4*t+2,d=u.readU8(c),p=u.readU8(c+1)|d<<8;n.leftSideBearing=0!=(32768&p)?p-65536:p}else{var g=e.data,f=e.hmtx+4*(s-1),v=g.readU8(f),k=g.readU8(f+1)|v<<8;n.advanceWidth=0!=(32768&k)?k-65536:k;var m=e.data,b=e.hmtx+4*s+2*(t-s),S=m.readU8(b),y=m.readU8(b+1)|S<<8;n.leftSideBearing=0!=(32768&y)?y-65536:y}return n},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphKernAdvance=function(e,t,a){var i,r,s,n,_,o=e.data.sub(e.kern,e.data.get_length()-e.kern);if(0==e.kern)return 0;var h=o.readU8(2);if((o.readU8(3)|h<<8)<1)return 0;var l=o.readU8(8);if(1!=(o.readU8(9)|l<<8))return 0;s=0;var u=o.readU8(10);for(n=(o.readU8(11)|u<<8)-1,i=t<<16|a;s<=n;){var c=18+6*(_=s+n>>1),d=o.readU8(c),p=o.readU8(c+1),g=o.readU8(c+2);if(r=o.readU8(c+3)|g<<8|p<<16|d<<24,i<r)n=_-1;else{if(!(i>r)){var f=22+6*_,v=o.readU8(f),k=o.readU8(f+1)|v<<8;return 0!=(32768&k)?k-65536:k}s=_+1}}return 0},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointKernAdvance=function(e,t,a){return 0==e.kern?0:kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphKernAdvance(e,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,t),kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,a))},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointHMetrics=function(e,t){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphHMetrics(e,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,t))},kha_graphics2_truetype_StbTruetype.stbtt_GetFontVMetrics=function(e){var t=new kha_graphics2_truetype_Stbtt_$temp_$font_$v_$metrics,a=e.data,i=e.hhea+4,r=a.readU8(i),s=a.readU8(i+1)|r<<8;t.ascent=0!=(32768&s)?s-65536:s;var n=e.data,_=e.hhea+6,o=n.readU8(_),h=n.readU8(_+1)|o<<8;t.descent=0!=(32768&h)?h-65536:h;var l=e.data,u=e.hhea+8,c=l.readU8(u),d=l.readU8(u+1)|c<<8;return t.lineGap=0!=(32768&d)?d-65536:d,t},kha_graphics2_truetype_StbTruetype.stbtt_GetFontBoundingBox=function(e){var t=new kha_graphics2_truetype_Stbtt_$temp_$rect,a=e.data,i=e.head+36,r=a.readU8(i),s=a.readU8(i+1)|r<<8;t.x0=0!=(32768&s)?s-65536:s;var n=e.data,_=e.head+38,o=n.readU8(_),h=n.readU8(_+1)|o<<8;t.y0=0!=(32768&h)?h-65536:h;var l=e.data,u=e.head+40,c=l.readU8(u),d=l.readU8(u+1)|c<<8;t.x1=0!=(32768&d)?d-65536:d;var p=e.data,g=e.head+42,f=p.readU8(g),v=p.readU8(g+1)|f<<8;return t.y1=0!=(32768&v)?v-65536:v,t},kha_graphics2_truetype_StbTruetype.stbtt_ScaleForPixelHeight=function(e,t){var a=e.data,i=e.hhea+4,r=a.readU8(i),s=a.readU8(i+1)|r<<8,n=e.data,_=e.hhea+6,o=n.readU8(_),h=n.readU8(_+1)|o<<8;return t/((0!=(32768&s)?s-65536:s)-(0!=(32768&h)?h-65536:h))},kha_graphics2_truetype_StbTruetype.stbtt_ScaleForMappingEmToPixels=function(e,t){var a=e.data,i=e.head+18,r=a.readU8(i);return t/(a.readU8(i+1)|r<<8)},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBoxSubpixel=function(e,t,a,i,r,s){var n=new kha_graphics2_truetype_Stbtt_$temp_$rect;if(kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBox(e,t,n)){var _=n.x0,o=n.x1,h=n.y0,l=n.y1;n.x0=Math.floor(_*a+r),n.y0=Math.floor(-l*i+s),n.x1=Math.ceil(o*a+r),n.y1=Math.ceil(-h*i+s)}else n.x0=0,n.y0=0,n.x1=0,n.y1=0;return n},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBox=function(e,t,a,i){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBoxSubpixel(e,t,a,i,0,0)},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmapBoxSubpixel=function(e,t,a,i,r,s){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBoxSubpixel(e,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,t),a,i,r,s)},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmapBox=function(e,t,a,i){return kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmapBoxSubpixel(e,t,a,i,0,0)},kha_graphics2_truetype_StbTruetype.stbtt__new_active=function(e,t,a,i){var r=new kha_graphics2_truetype_Stbtt_$_$active_$edge,s=(e[t].x1-e[t].x0)/(e[t].y1-e[t].y0);return null==r?r:(r.fdx=s,r.fdy=0!=s?1/s:0,r.fx=e[t].x0+s*(i-e[t].y0),r.fx-=a,r.direction=e[t].invert?1:-1,r.sy=e[t].y0,r.ey=e[t].y1,r.next=null,r)},kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge=function(e,t,a,i,r,s,n,_){if(s!=_){if(!(s<_))throw new js__$Boot_HaxeError("Error");if(!(i.sy<=i.ey))throw new js__$Boot_HaxeError("Error");if(!(s>i.ey||_<i.sy)){if(s<i.sy&&(r+=(n-r)*(i.sy-s)/(_-s),s=i.sy),_>i.ey&&(n+=(n-r)*(i.ey-_)/(_-s),_=i.ey),r==a){if(!(n<=a+1))throw new js__$Boot_HaxeError("Error")}else if(r==a+1){if(!(n>=a))throw new js__$Boot_HaxeError("Error")}else if(r<=a){if(!(n<=a))throw new js__$Boot_HaxeError("Error")}else if(r>=a+1){if(!(n>=a+1))throw new js__$Boot_HaxeError("Error")}else if(!(n>=a&&n<=a+1))throw new js__$Boot_HaxeError("Error");if(r<=a&&n<=a){var o=t+a,h=e;h[o]=h[o]+i.direction*(_-s)}else if(!(r>=a+1&&n>=a+1)){if(!(r>=a&&r<=a+1&&n>=a&&n<=a+1))throw new js__$Boot_HaxeError("Error");var l=t+a,u=e;u[l]=u[l]+i.direction*(_-s)*(1-(r-a+(n-a))/2)}}}},kha_graphics2_truetype_StbTruetype.stbtt__fill_active_edges_new=function(e,t,a,i,r,s){for(var n=s+1;null!=r;){if(!(r.ey>=s))throw new js__$Boot_HaxeError("Error");if(0==r.fdx){var _=r.fx;_<i&&(_>=0?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,0|_,r,_,s,_,n),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(t,a-1,_+1|0,r,_,s,_,n)):kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(t,a-1,0,r,_,s,_,n))}else{var o,h,l,u,c=r.fx,d=r.fdx,p=c+d,g=r.fdy;if(!(r.sy<=n&&r.ey>=s))throw new js__$Boot_HaxeError("Error");if(r.sy>s?(o=c+d*(r.sy-s),l=r.sy):(o=c,l=s),r.ey<n?(h=c+d*(r.ey-s),u=r.ey):(h=p,u=n),o>=0&&h>=0&&o<i&&h<i)if((0|o)==(0|h)){var f,v=0|o;if(f=u-l,!(v>=0&&v<i))throw new js__$Boot_HaxeError("Error");var k=v,m=e;m[k]=m[k]+r.direction*(1-(o-v+(h-v))/2)*f;var b=a+v,S=t;S[b]=S[b]+r.direction*f}else{var y,x,B,T,w,E;if(o>h){var I;I=l=n-(l-s),l=u=n-(u-s),u=I,I=h,h=o,o=I,d=-d,g=-g,I=c,c=p,p=I}x=0|h,B=((y=0|o)+1-c)*g+s,E=(w=r.direction)*(B-l);var C=y,A=e;A[C]=A[C]+E*(1-(o-y+(y+1-y))/2),T=w*g;for(var L=y+1,R=x;L<R;){var $=L++,F=e;F[$]=F[$]+(E+T/2),E+=T}if(B+=g*(x-(y+1)),!(Math.abs(E)<=1.01))throw new js__$Boot_HaxeError("Error");var V=x,N=e;N[V]=N[V]+(E+w*(1-(x-x+(h-x))/2)*(u-B));var P=a+x,M=t;M[P]=M[P]+w*(u-l)}else for(var O=0,D=i;O<D;){var U,H,G=O++,W=s,z=G,j=G+1,K=p,X=n;U=(G-c)/d+s,H=(G+1-c)/d+s,c<z&&K>j?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,c,W,z,U),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,z,U,j,H),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,j,H,K,X)):K<z&&c>j?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,c,W,j,H),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,j,H,z,U),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,z,U,K,X)):c<z&&K>z?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,c,W,z,U),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,z,U,K,X)):K<z&&c>z?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,c,W,z,U),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,z,U,K,X)):c<j&&K>j?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,c,W,j,H),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,j,H,K,X)):K<j&&c>j?(kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,c,W,j,H),kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,j,H,K,X)):kha_graphics2_truetype_StbTruetype.stbtt__handle_clipped_edge(e,0,G,r,c,W,K,X)}}r=r.next}},kha_graphics2_truetype_StbTruetype.stbtt__rasterize_sorted_edges=function(e,t,a,i,r,s){var n,_,o,h=null,l=0,u=0,c=0;if(e.w>64){var d=2*e.w+1;_=new Array(d)}else _=new Array(129);for(o=_,u=e.w,n=s,t[c+a].y0=s+e.h+1;l<e.h;){var p,g,f=n+0,v=n+1;p=h,g=null;for(var k=0,m=e.w;k<m;)_[k++]=0;for(var b=0,S=e.w+1;b<S;)o[u+b++]=0;for(;null!=p;){var y=p;if(y.ey<=f){if(null==g?(h=y.next,p=y.next):(g.next=y.next,p=y.next),0==y.direction)throw new js__$Boot_HaxeError("Error");y.direction=0}else g=p,p=p.next}for(;t[c].y0<=v;){if(t[c].y0!=t[c].y1){var x=kha_graphics2_truetype_StbTruetype.stbtt__new_active(t,c,r,f);if(!(x.ey>=f))throw new js__$Boot_HaxeError("Error");x.next=h,h=x}++c}null!=h&&kha_graphics2_truetype_StbTruetype.stbtt__fill_active_edges_new(_,o,u+1,e.w,h,f);for(var B=0,T=0,w=e.w;T<w;){var E,I,C=T++;B+=o[u+C],E=_[C]+B,(I=0|(E=255*Math.abs(E)+.5))>255&&(I=255),e.pixels.writeU8(e.pixels_offset+l*e.stride+C,I)}for(g=null,p=h;null!=p;){var A=p;A.fx+=A.fdx,g=p,p=p.next}++n,++l}},kha_graphics2_truetype_StbTruetype.STBTT__COMPARE=function(e,t){return e.y0<t.y0},kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_ins_sort=function(e,t){for(var a,i=1,r=t;i<r;){var s=i++,n=e[s],_=n;for(a=s;a>0;){var o=e[a-1];if(!kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(_,o))break;e[a]=e[a-1],--a}s!=a&&(e[a]=n)}},kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_quicksort=function(e,t,a){for(;a>12;){var i,r,s,n,_,o;if(n=a>>1,r=kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(e[t],e[t+n]),s=kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(e[t+n],e[t+a-1]),r!=s){var h;i=e[t+(h=kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(e[t],e[t+a-1])==s?0:a-1)],e[t+h]=e[t+n],e[t+n]=i}for(i=e[t],e[t]=e[t+n],e[t+n]=i,_=1,o=a-1;;){for(;kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(e[t+_],e[t]);)++_;for(;kha_graphics2_truetype_StbTruetype.STBTT__COMPARE(e[t],e[t+o]);)--o;if(_>=o)break;i=e[t+_],e[t+_]=e[t+o],e[t+o]=i,++_,--o}o<a-_?(kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_quicksort(e,t,o),t+=_,a-=_):(kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_quicksort(e,t+_,a-_),a=o)}},kha_graphics2_truetype_StbTruetype.stbtt__sort_edges=function(e,t){kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_quicksort(e,0,t),kha_graphics2_truetype_StbTruetype.stbtt__sort_edges_ins_sort(e,t)},kha_graphics2_truetype_StbTruetype.stbtt__rasterize=function(e,t,a,i,r,s,n,_,o,h,l){var u,c,d,p,g=l?-s:s;c=0;for(var f=0,v=i;f<v;)c+=a[f++];if(null!=(u=new Array(c+1))){for(var k=0,m=u.length;k<m;)u[k++]=new kha_graphics2_truetype_Stbtt_$_$edge;c=0,p=0;for(var b=0,S=i;b<S;){var y=b++,x=t,B=0+p;p+=a[y],d=a[y]-1;for(var T=0,w=a[y];T<w;){var E=T++,I=E,C=d;x[B+d].y!=x[B+E].y?(u[c].invert=!1,(l?x[B+d].y>x[B+E].y:x[B+d].y<x[B+E].y)&&(u[c].invert=!0,I=d,C=E),u[c].x0=x[B+I].x*r+n,u[c].y0=1*(x[B+I].y*g+_),u[c].x1=x[B+C].x*r+n,u[c].y1=1*(x[B+C].y*g+_),++c,d=E):d=E}}kha_graphics2_truetype_StbTruetype.stbtt__sort_edges(u,c),kha_graphics2_truetype_StbTruetype.stbtt__rasterize_sorted_edges(e,u,c,1,o,h)}},kha_graphics2_truetype_StbTruetype.stbtt__add_point=function(e,t,a,i){null!=e&&(e[t].x=a,e[t].y=i)},kha_graphics2_truetype_StbTruetype.stbtt__tesselate_curve=function(e,t,a,i,r,s,n,_,o,h){var l=(a+2*r+n)/4,u=(i+2*s+_)/4,c=(a+n)/2-l,d=(i+_)/2-u;return h>16?1:(c*c+d*d>o?(kha_graphics2_truetype_StbTruetype.stbtt__tesselate_curve(e,t,a,i,(a+r)/2,(i+s)/2,l,u,o,h+1),kha_graphics2_truetype_StbTruetype.stbtt__tesselate_curve(e,t,l,u,(r+n)/2,(s+_)/2,n,_,o,h+1)):(kha_graphics2_truetype_StbTruetype.stbtt__add_point(e,t.value,n,_),t.value+=1),1)},kha_graphics2_truetype_StbTruetype.stbtt_FlattenCurves=function(e,t,a,i,r){for(var s=null,n=0,_=a*a,o=0,h=0,l=0,u=t;l<u;)1==e[l++].type&&++o;if(r.value=o,0==o)return null;var c=new Array(o);if(i.value=c,null==i.value)return r.value=0,null;for(var d=0;d<2;){var p=0,g=0;if(1==d++){if(null==(s=new Array(n)))return i.value=null,r.value=0,null;for(var f=0,v=s.length;f<v;)s[f++]=new kha_graphics2_truetype_Stbtt_$_$point}n=0,o=-1;for(var k=0,m=t;k<m;){var b=k++;switch(e[b].type){case 1:o>=0&&(i.value[o]=n-h),++o,h=n,p=e[b].x,g=e[b].y,kha_graphics2_truetype_StbTruetype.stbtt__add_point(s,n++,p,g);break;case 2:p=e[b].x,g=e[b].y,kha_graphics2_truetype_StbTruetype.stbtt__add_point(s,n++,p,g);break;case 3:var S={value:n};kha_graphics2_truetype_StbTruetype.stbtt__tesselate_curve(s,S,p,g,e[b].cx,e[b].cy,e[b].x,e[b].y,_,0),n=S.value,p=e[b].x,g=e[b].y}}i.value[o]=n-h}return s},kha_graphics2_truetype_StbTruetype.stbtt_Rasterize=function(e,t,a,i,r,s,n,_,o,h,l){var u=r>s?s:r,c=0,d=null,p={value:c},g=new kha_graphics2_truetype_VectorOfIntPointer,f=kha_graphics2_truetype_StbTruetype.stbtt_FlattenCurves(a,i,t/u,g,p);c=p.value,d=g.value,null!=f&&kha_graphics2_truetype_StbTruetype.stbtt__rasterize(e,f,d,c,r,s,n,_,o,h,l)},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapSubpixel=function(e,t,a,i,r,s,n){var _,o,h,l,u=new kha_graphics2_truetype_Stbtt_$_$bitmap,c=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphShape(e,s),d=c.length;if(0==t&&(t=a),0==a){if(0==t)return null;a=t}var p=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBoxSubpixel(e,s,t,a,i,r);return _=p.x0,o=p.y0,h=p.x1,l=p.y1,u.w=h-_,u.h=l-o,u.pixels=null,n.width=u.w,n.height=u.h,n.xoff=_,n.yoff=o,0!=u.w&&0!=u.h&&(u.pixels=kha_internal_BytesBlob.alloc(u.w*u.h),null!=u.pixels&&(u.stride=u.w,kha_graphics2_truetype_StbTruetype.stbtt_Rasterize(u,.35,c,d,t,a,i,r,_,o,!0))),u.pixels},kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmap=function(e,t,a,i,r){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapSubpixel(e,t,a,0,0,i,r)},kha_graphics2_truetype_StbTruetype.stbtt_MakeGlyphBitmapSubpixel=function(e,t,a,i,r,s,n,_,o,h,l){var u=0,c=0,d=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphShape(e,l),p=null==d?0:d.length,g=new kha_graphics2_truetype_Stbtt_$_$bitmap,f=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBoxSubpixel(e,l,n,_,o,h);u=f.x0,c=f.y0,g.pixels=t,g.pixels_offset=a,g.w=i,g.h=r,g.stride=s,0!=g.w&&0!=g.h&&kha_graphics2_truetype_StbTruetype.stbtt_Rasterize(g,.35,d,p,n,_,o,h,u,c,!0)},kha_graphics2_truetype_StbTruetype.stbtt_MakeGlyphBitmap=function(e,t,a,i,r,s,n,_,o){kha_graphics2_truetype_StbTruetype.stbtt_MakeGlyphBitmapSubpixel(e,t,a,i,r,s,n,_,0,0,o)},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmapSubpixel=function(e,t,a,i,r,s,n){return kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapSubpixel(e,t,a,i,r,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,s),n)},kha_graphics2_truetype_StbTruetype.stbtt_MakeCodepointBitmapSubpixel=function(e,t,a,i,r,s,n,_,o,h,l){kha_graphics2_truetype_StbTruetype.stbtt_MakeGlyphBitmapSubpixel(e,t,a,i,r,s,n,_,o,h,kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(e,l))},kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmap=function(e,t,a,i,r){return kha_graphics2_truetype_StbTruetype.stbtt_GetCodepointBitmapSubpixel(e,t,a,0,0,i,r)},kha_graphics2_truetype_StbTruetype.stbtt_MakeCodepointBitmap=function(e,t,a,i,r,s,n,_,o){kha_graphics2_truetype_StbTruetype.stbtt_MakeCodepointBitmapSubpixel(e,t,a,i,r,s,n,_,0,0,o)},kha_graphics2_truetype_StbTruetype.stbtt_BakeFontBitmap=function(e,t,a,i,r,s,n,_){var o,h,l,u,c=new kha_graphics2_truetype_Stbtt_$fontinfo;if(!kha_graphics2_truetype_StbTruetype.stbtt_InitFont(c,e,t))return-1;for(var d=0,p=r*s;d<p;){var g=d++;i.writeU8(g,0)}h=l=1,u=1,o=kha_graphics2_truetype_StbTruetype.stbtt_ScaleForPixelHeight(c,a);for(var f=0,v=0;v<n.length;){var k=n[v];++v;var m,b,S,y,x,B,T,w=kha_graphics2_truetype_StbTruetype.stbtt_FindGlyphIndex(c,k),E=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphHMetrics(c,w);m=E.advanceWidth,E.leftSideBearing;var I=kha_graphics2_truetype_StbTruetype.stbtt_GetGlyphBitmapBox(c,w,o,o);if(b=I.x0,S=I.y0,y=I.x1,x=I.y1,B=y-b,T=x-S,h+B+1>=r&&(l=u,h=1),l+T+1>=s)return-f;if(h+B>=r)throw new js__$Boot_HaxeError("Error");if(l+T>=s)throw new js__$Boot_HaxeError("Error");kha_graphics2_truetype_StbTruetype.stbtt_MakeGlyphBitmap(c,i,h+l*r,B,T,r,o,o,w),_[f].x0=h,_[f].y0=l,_[f].x1=h+B,_[f].y1=l+T,_[f].xadvance=o*m,_[f].xoff=b,_[f].yoff=S,h=h+B+1,l+T+1>u&&(u=l+T+1),++f}return u},kha_graphics2_truetype_StbTruetype.stbtt_GetBakedQuad=function(e,t,a,i,r,s,n,_){var o=_?0:-.5,h=1/t,l=1/a,u=e[i],c=Math.floor(r.value+u.xoff+.5),d=Math.floor(s.value+u.yoff+.5);n.x0=c+o,n.y0=d+o,n.x1=c+u.x1-u.x0+o,n.y1=d+u.y1-u.y0+o,n.s0=u.x0*h,n.t0=u.y0*l,n.s1=u.x1*h,n.t1=u.y1*l,r.value+=u.xadvance};var kha_graphics4_BlendingFactor=$hxClasses["kha.graphics4.BlendingFactor"]={__ename__:!0,__constructs__:["Undefined","BlendOne","BlendZero","SourceAlpha","DestinationAlpha","InverseSourceAlpha","InverseDestinationAlpha","SourceColor","DestinationColor","InverseSourceColor","InverseDestinationColor"]};kha_graphics4_BlendingFactor.Undefined=["Undefined",0],kha_graphics4_BlendingFactor.Undefined.toString=$estr,kha_graphics4_BlendingFactor.Undefined.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.BlendOne=["BlendOne",1],kha_graphics4_BlendingFactor.BlendOne.toString=$estr,kha_graphics4_BlendingFactor.BlendOne.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.BlendZero=["BlendZero",2],kha_graphics4_BlendingFactor.BlendZero.toString=$estr,kha_graphics4_BlendingFactor.BlendZero.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.SourceAlpha=["SourceAlpha",3],kha_graphics4_BlendingFactor.SourceAlpha.toString=$estr,kha_graphics4_BlendingFactor.SourceAlpha.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.DestinationAlpha=["DestinationAlpha",4],kha_graphics4_BlendingFactor.DestinationAlpha.toString=$estr,kha_graphics4_BlendingFactor.DestinationAlpha.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.InverseSourceAlpha=["InverseSourceAlpha",5],kha_graphics4_BlendingFactor.InverseSourceAlpha.toString=$estr,kha_graphics4_BlendingFactor.InverseSourceAlpha.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.InverseDestinationAlpha=["InverseDestinationAlpha",6],kha_graphics4_BlendingFactor.InverseDestinationAlpha.toString=$estr,kha_graphics4_BlendingFactor.InverseDestinationAlpha.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.SourceColor=["SourceColor",7],kha_graphics4_BlendingFactor.SourceColor.toString=$estr,kha_graphics4_BlendingFactor.SourceColor.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.DestinationColor=["DestinationColor",8],kha_graphics4_BlendingFactor.DestinationColor.toString=$estr,kha_graphics4_BlendingFactor.DestinationColor.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.InverseSourceColor=["InverseSourceColor",9],kha_graphics4_BlendingFactor.InverseSourceColor.toString=$estr,kha_graphics4_BlendingFactor.InverseSourceColor.__enum__=kha_graphics4_BlendingFactor,kha_graphics4_BlendingFactor.InverseDestinationColor=["InverseDestinationColor",10],kha_graphics4_BlendingFactor.InverseDestinationColor.toString=$estr,kha_graphics4_BlendingFactor.InverseDestinationColor.__enum__=kha_graphics4_BlendingFactor;var kha_graphics4_BlendingOperation=$hxClasses["kha.graphics4.BlendingOperation"]={__ename__:!0,__constructs__:["Add","Subtract","ReverseSubtract","Min","Max"]};kha_graphics4_BlendingOperation.Add=["Add",0],kha_graphics4_BlendingOperation.Add.toString=$estr,kha_graphics4_BlendingOperation.Add.__enum__=kha_graphics4_BlendingOperation,kha_graphics4_BlendingOperation.Subtract=["Subtract",1],kha_graphics4_BlendingOperation.Subtract.toString=$estr,kha_graphics4_BlendingOperation.Subtract.__enum__=kha_graphics4_BlendingOperation,kha_graphics4_BlendingOperation.ReverseSubtract=["ReverseSubtract",2],kha_graphics4_BlendingOperation.ReverseSubtract.toString=$estr,kha_graphics4_BlendingOperation.ReverseSubtract.__enum__=kha_graphics4_BlendingOperation,kha_graphics4_BlendingOperation.Min=["Min",3],kha_graphics4_BlendingOperation.Min.toString=$estr,kha_graphics4_BlendingOperation.Min.__enum__=kha_graphics4_BlendingOperation,kha_graphics4_BlendingOperation.Max=["Max",4],kha_graphics4_BlendingOperation.Max.toString=$estr,kha_graphics4_BlendingOperation.Max.__enum__=kha_graphics4_BlendingOperation;var kha_graphics4_CompareMode=$hxClasses["kha.graphics4.CompareMode"]={__ename__:!0,__constructs__:["Always","Never","Equal","NotEqual","Less","LessEqual","Greater","GreaterEqual"]};kha_graphics4_CompareMode.Always=["Always",0],kha_graphics4_CompareMode.Always.toString=$estr,kha_graphics4_CompareMode.Always.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.Never=["Never",1],kha_graphics4_CompareMode.Never.toString=$estr,kha_graphics4_CompareMode.Never.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.Equal=["Equal",2],kha_graphics4_CompareMode.Equal.toString=$estr,kha_graphics4_CompareMode.Equal.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.NotEqual=["NotEqual",3],kha_graphics4_CompareMode.NotEqual.toString=$estr,kha_graphics4_CompareMode.NotEqual.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.Less=["Less",4],kha_graphics4_CompareMode.Less.toString=$estr,kha_graphics4_CompareMode.Less.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.LessEqual=["LessEqual",5],kha_graphics4_CompareMode.LessEqual.toString=$estr,kha_graphics4_CompareMode.LessEqual.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.Greater=["Greater",6],kha_graphics4_CompareMode.Greater.toString=$estr,kha_graphics4_CompareMode.Greater.__enum__=kha_graphics4_CompareMode,kha_graphics4_CompareMode.GreaterEqual=["GreaterEqual",7],kha_graphics4_CompareMode.GreaterEqual.toString=$estr,kha_graphics4_CompareMode.GreaterEqual.__enum__=kha_graphics4_CompareMode;var kha_graphics4_ConstantLocation=$hxClasses["kha.graphics4.ConstantLocation"]=function(){};kha_graphics4_ConstantLocation.__name__=!0;var kha_graphics4_CubeMap=$hxClasses["kha.graphics4.CubeMap"]=function(e){this.texture_=e};kha_graphics4_CubeMap.__name__=!0,kha_graphics4_CubeMap.__interfaces__=[kha_Resource,kha_Canvas],kha_graphics4_CubeMap.getRenderTargetFormat=function(e){switch(e[1]){case 0:return 0;case 2:return 3;case 3:return 4;case 4:return 1;default:return 0}},kha_graphics4_CubeMap.getDepthBufferBits=function(e){switch(e){case 0:return-1;case 1:case 2:case 3:return 24;case 4:return 32;case 5:return 16}},kha_graphics4_CubeMap.getStencilBufferBits=function(e){switch(e){case 0:case 1:return-1;case 2:case 3:case 4:return 8;case 5:return 0}},kha_graphics4_CubeMap.getTextureFormat=function(e){switch(e[1]){case 0:return 0;case 2:return 3;case 4:return 4;case 5:return 5;default:return 1}},kha_graphics4_CubeMap.createRenderTarget=function(e,t,a,i){null==i&&(i=0),null==a&&(a=0),null==t&&(t=kha_graphics4_TextureFormat.RGBA32);var r=new kha_graphics4_CubeMap(null);return r.format=t,r.renderTarget_=Krom.createRenderTargetCubeMap(e,kha_graphics4_CubeMap.getDepthBufferBits(a),kha_graphics4_CubeMap.getRenderTargetFormat(t),kha_graphics4_CubeMap.getStencilBufferBits(a),i),r},kha_graphics4_CubeMap.prototype={texture_:null,renderTarget_:null,format:null,graphics4:null,unload:function(){},lock:function(e){return null==e&&(e=0),null},unlock:function(){},width:null,get_width:function(){return null==this.texture_?this.renderTarget_.width:this.texture_.width},height:null,get_height:function(){return null==this.texture_?this.renderTarget_.height:this.texture_.height},g1:null,get_g1:function(){return null},g2:null,get_g2:function(){return null},g4:null,get_g4:function(){return null==this.graphics4&&(this.graphics4=new kha_krom_Graphics(this)),this.graphics4},__class__:kha_graphics4_CubeMap};var kha_graphics4_CullMode=$hxClasses["kha.graphics4.CullMode"]={__ename__:!0,__constructs__:["Clockwise","CounterClockwise","None"]};kha_graphics4_CullMode.Clockwise=["Clockwise",0],kha_graphics4_CullMode.Clockwise.toString=$estr,kha_graphics4_CullMode.Clockwise.__enum__=kha_graphics4_CullMode,kha_graphics4_CullMode.CounterClockwise=["CounterClockwise",1],kha_graphics4_CullMode.CounterClockwise.toString=$estr,kha_graphics4_CullMode.CounterClockwise.__enum__=kha_graphics4_CullMode,kha_graphics4_CullMode.None=["None",2],kha_graphics4_CullMode.None.toString=$estr,kha_graphics4_CullMode.None.__enum__=kha_graphics4_CullMode;var kha_graphics4_FragmentShader=$hxClasses["kha.graphics4.FragmentShader"]=function(e,t){null!=e&&(this.shader=Krom.createFragmentShader(e[0].bytes.b.bufferValue,t[0]))};kha_graphics4_FragmentShader.__name__=!0,kha_graphics4_FragmentShader.fromSource=function(e){var t=new kha_graphics4_FragmentShader(null,null);return t.shader=Krom.createFragmentShaderFromSource(e),t},kha_graphics4_FragmentShader.prototype={shader:null,delete:function(){Krom.deleteShader(this.shader),this.shader=null},__class__:kha_graphics4_FragmentShader};var kha_graphics4_GeometryShader=$hxClasses["kha.graphics4.GeometryShader"]=function(e,t){this.shader=Krom.createGeometryShader(e[0].bytes.b.bufferValue,t[0])};kha_graphics4_GeometryShader.__name__=!0,kha_graphics4_GeometryShader.prototype={shader:null,delete:function(){Krom.deleteShader(this.shader),this.shader=null},__class__:kha_graphics4_GeometryShader};var kha_graphics4_Graphics=$hxClasses["kha.graphics4.Graphics"]=function(){};kha_graphics4_Graphics.__name__=!0,kha_graphics4_Graphics.prototype={begin:null,beginFace:null,beginEye:null,end:null,vsynced:null,refreshRate:null,clear:null,viewport:null,scissor:null,disableScissor:null,setVertexBuffer:null,setVertexBuffers:null,setIndexBuffer:null,setTexture:null,setTextureDepth:null,setVideoTexture:null,setImageTexture:null,setTextureParameters:null,setTexture3DParameters:null,setCubeMap:null,setCubeMapDepth:null,renderTargetsInvertedY:null,instancedRenderingAvailable:null,setPipeline:null,setBool:null,setInt:null,setFloat:null,setFloat2:null,setFloat3:null,setFloat4:null,setFloats:null,setVector2:null,setVector3:null,setVector4:null,setMatrix:null,setMatrix3:null,drawIndexedVertices:null,drawIndexedVerticesInstanced:null,flush:null,__class__:kha_graphics4_Graphics};var kha_graphics4_ImageShaderPainter=$hxClasses["kha.graphics4.ImageShaderPainter"]=function(e){this.destinationBlend=kha_graphics4_BlendingFactor.Undefined,this.sourceBlend=kha_graphics4_BlendingFactor.Undefined,this.myPipeline=null,this.bilinearMipmaps=!1,this.bilinear=!1,this.g=e,this.bufferIndex=0,kha_graphics4_ImageShaderPainter.initShaders(),this.initBuffers(),this.projectionLocation=kha_graphics4_ImageShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"),this.textureLocation=kha_graphics4_ImageShaderPainter.shaderPipeline.getTextureUnit("tex")};kha_graphics4_ImageShaderPainter.__name__=!0,kha_graphics4_ImageShaderPainter.initShaders=function(){null==kha_graphics4_ImageShaderPainter.shaderPipeline&&(kha_graphics4_ImageShaderPainter.shaderPipeline=new kha_graphics4_PipelineState,kha_graphics4_ImageShaderPainter.shaderPipeline.fragmentShader=kha_Shaders.painter_image_frag,kha_graphics4_ImageShaderPainter.shaderPipeline.vertexShader=kha_Shaders.painter_image_vert,kha_graphics4_ImageShaderPainter.structure=new kha_graphics4_VertexStructure,kha_graphics4_ImageShaderPainter.structure.add("vertexPosition",kha_graphics4_VertexData.Float3),kha_graphics4_ImageShaderPainter.structure.add("texPosition",kha_graphics4_VertexData.Float2),kha_graphics4_ImageShaderPainter.structure.add("vertexColor",kha_graphics4_VertexData.Float4),kha_graphics4_ImageShaderPainter.shaderPipeline.inputLayout=[kha_graphics4_ImageShaderPainter.structure],kha_graphics4_ImageShaderPainter.shaderPipeline.blendSource=kha_graphics4_BlendingFactor.BlendOne,kha_graphics4_ImageShaderPainter.shaderPipeline.blendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_ImageShaderPainter.shaderPipeline.alphaBlendSource=kha_graphics4_BlendingFactor.SourceAlpha,kha_graphics4_ImageShaderPainter.shaderPipeline.alphaBlendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_ImageShaderPainter.shaderPipeline.compile())},kha_graphics4_ImageShaderPainter.prototype={projectionMatrix:null,projectionLocation:null,textureLocation:null,bufferIndex:null,rectVertexBuffer:null,rectVertices:null,indexBuffer:null,lastTexture:null,bilinear:null,bilinearMipmaps:null,g:null,myPipeline:null,sourceBlend:null,destinationBlend:null,get_pipeline:function(){return this.myPipeline},set_pipeline:function(e){return null==e?(this.projectionLocation=kha_graphics4_ImageShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"),this.textureLocation=kha_graphics4_ImageShaderPainter.shaderPipeline.getTextureUnit("tex")):(this.projectionLocation=e.getConstantLocation("projectionMatrix"),this.textureLocation=e.getTextureUnit("tex")),this.myPipeline=e},setProjection:function(e){this.projectionMatrix=e},initBuffers:function(){this.rectVertexBuffer=new kha_graphics4_VertexBuffer(4*kha_graphics4_ImageShaderPainter.bufferSize,kha_graphics4_ImageShaderPainter.structure,kha_graphics4_Usage.DynamicUsage),this.rectVertices=this.rectVertexBuffer.lock(),this.indexBuffer=new kha_graphics4_IndexBuffer(3*kha_graphics4_ImageShaderPainter.bufferSize*2,kha_graphics4_Usage.StaticUsage);for(var e=this.indexBuffer.lock(),t=0,a=kha_graphics4_ImageShaderPainter.bufferSize;t<a;){var i=t++;e[3*i*2]=4*i,e[3*i*2+1]=4*i+1,e[3*i*2+2]=4*i+2,e[3*i*2+3]=4*i,e[3*i*2+4]=4*i+2,e[3*i*2+5]=4*i+3}this.indexBuffer.unlock()},setRectVertices:function(e,t,a,i,r,s,n,_){var o=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[o]=e,this.rectVertices[o+1]=t,this.rectVertices[o+2]=-5,this.rectVertices[o+9]=a,this.rectVertices[o+10]=i,this.rectVertices[o+11]=-5,this.rectVertices[o+18]=r,this.rectVertices[o+19]=s,this.rectVertices[o+20]=-5,this.rectVertices[o+27]=n,this.rectVertices[o+28]=_,this.rectVertices[o+29]=-5},setRectTexCoords:function(e,t,a,i){var r=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[r+3]=e,this.rectVertices[r+4]=i,this.rectVertices[r+12]=e,this.rectVertices[r+13]=t,this.rectVertices[r+21]=a,this.rectVertices[r+22]=t,this.rectVertices[r+30]=a,this.rectVertices[r+31]=i},setRectColor:function(e,t,a,i){var r=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[r+5]=e,this.rectVertices[r+6]=t,this.rectVertices[r+7]=a,this.rectVertices[r+8]=i,this.rectVertices[r+14]=e,this.rectVertices[r+15]=t,this.rectVertices[r+16]=a,this.rectVertices[r+17]=i,this.rectVertices[r+23]=e,this.rectVertices[r+24]=t,this.rectVertices[r+25]=a,this.rectVertices[r+26]=i,this.rectVertices[r+32]=e,this.rectVertices[r+33]=t,this.rectVertices[r+34]=a,this.rectVertices[r+35]=i},drawBuffer:function(){this.rectVertexBuffer.unlock(),this.g.setVertexBuffer(this.rectVertexBuffer),this.g.setIndexBuffer(this.indexBuffer),this.g.setPipeline(null==this.get_pipeline()?kha_graphics4_ImageShaderPainter.shaderPipeline:this.get_pipeline()),this.g.setTexture(this.textureLocation,this.lastTexture),this.g.setTextureParameters(this.textureLocation,kha_graphics4_TextureAddressing.Clamp,kha_graphics4_TextureAddressing.Clamp,this.bilinear?kha_graphics4_TextureFilter.LinearFilter:kha_graphics4_TextureFilter.PointFilter,this.bilinear?kha_graphics4_TextureFilter.LinearFilter:kha_graphics4_TextureFilter.PointFilter,this.bilinearMipmaps?kha_graphics4_MipMapFilter.LinearMipFilter:kha_graphics4_MipMapFilter.NoMipFilter),this.g.setMatrix(this.projectionLocation,this.projectionMatrix),this.g.drawIndexedVertices(0,2*this.bufferIndex*3),this.g.setTexture(this.textureLocation,null),this.bufferIndex=0,this.rectVertices=this.rectVertexBuffer.lock()},setBilinearFilter:function(e){this.end(),this.bilinear=e},setBilinearMipmapFilter:function(e){this.end(),this.bilinearMipmaps=e},drawImage:function(e,t,a,i,r,s,n,_,o,h,l){var u=e;(this.bufferIndex+1>=kha_graphics4_ImageShaderPainter.bufferSize||null!=this.lastTexture&&u!=this.lastTexture)&&this.drawBuffer();var c=.00392156862745098*((16711680&l)>>>16),d=.00392156862745098*((65280&l)>>>8),p=.00392156862745098*(255&l),g=.00392156862745098*(l>>>24)*h,f=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[f+5]=c,this.rectVertices[f+6]=d,this.rectVertices[f+7]=p,this.rectVertices[f+8]=g,this.rectVertices[f+14]=c,this.rectVertices[f+15]=d,this.rectVertices[f+16]=p,this.rectVertices[f+17]=g,this.rectVertices[f+23]=c,this.rectVertices[f+24]=d,this.rectVertices[f+25]=p,this.rectVertices[f+26]=g,this.rectVertices[f+32]=c,this.rectVertices[f+33]=d,this.rectVertices[f+34]=p,this.rectVertices[f+35]=g;var v=u.get_width()/u.get_realWidth(),k=u.get_height()/u.get_realHeight(),m=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[m+3]=0,this.rectVertices[m+4]=k,this.rectVertices[m+12]=0,this.rectVertices[m+13]=0,this.rectVertices[m+21]=v,this.rectVertices[m+22]=0,this.rectVertices[m+30]=v,this.rectVertices[m+31]=k;var b=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[b]=t,this.rectVertices[b+1]=a,this.rectVertices[b+2]=-5,this.rectVertices[b+9]=i,this.rectVertices[b+10]=r,this.rectVertices[b+11]=-5,this.rectVertices[b+18]=s,this.rectVertices[b+19]=n,this.rectVertices[b+20]=-5,this.rectVertices[b+27]=_,this.rectVertices[b+28]=o,this.rectVertices[b+29]=-5,++this.bufferIndex,this.lastTexture=u},drawImage2:function(e,t,a,i,r,s,n,_,o,h,l,u,c,d,p){var g=e;(this.bufferIndex+1>=kha_graphics4_ImageShaderPainter.bufferSize||null!=this.lastTexture&&g!=this.lastTexture)&&this.drawBuffer();var f=t/g.get_realWidth(),v=a/g.get_realHeight(),k=(t+i)/g.get_realWidth(),m=(a+r)/g.get_realHeight(),b=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[b+3]=f,this.rectVertices[b+4]=m,this.rectVertices[b+12]=f,this.rectVertices[b+13]=v,this.rectVertices[b+21]=k,this.rectVertices[b+22]=v,this.rectVertices[b+30]=k,this.rectVertices[b+31]=m;var S=.00392156862745098*((16711680&p)>>>16),y=.00392156862745098*((65280&p)>>>8),x=.00392156862745098*(255&p),B=.00392156862745098*(p>>>24)*d,T=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[T+5]=S,this.rectVertices[T+6]=y,this.rectVertices[T+7]=x,this.rectVertices[T+8]=B,this.rectVertices[T+14]=S,this.rectVertices[T+15]=y,this.rectVertices[T+16]=x,this.rectVertices[T+17]=B,this.rectVertices[T+23]=S,this.rectVertices[T+24]=y,this.rectVertices[T+25]=x,this.rectVertices[T+26]=B,this.rectVertices[T+32]=S,this.rectVertices[T+33]=y,this.rectVertices[T+34]=x,this.rectVertices[T+35]=B;var w=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[w]=s,this.rectVertices[w+1]=n,this.rectVertices[w+2]=-5,this.rectVertices[w+9]=_,this.rectVertices[w+10]=o,this.rectVertices[w+11]=-5,this.rectVertices[w+18]=h,this.rectVertices[w+19]=l,this.rectVertices[w+20]=-5,this.rectVertices[w+27]=u,this.rectVertices[w+28]=c,this.rectVertices[w+29]=-5,++this.bufferIndex,this.lastTexture=g},drawImageScale:function(e,t,a,i,r,s,n,_,o,h,l){var u=e;(this.bufferIndex+1>=kha_graphics4_ImageShaderPainter.bufferSize||null!=this.lastTexture&&u!=this.lastTexture)&&this.drawBuffer();var c=t/u.get_realWidth(),d=a/u.get_realHeight(),p=(t+i)/u.get_realWidth(),g=(a+r)/u.get_realHeight(),f=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[f+3]=c,this.rectVertices[f+4]=g,this.rectVertices[f+12]=c,this.rectVertices[f+13]=d,this.rectVertices[f+21]=p,this.rectVertices[f+22]=d,this.rectVertices[f+30]=p,this.rectVertices[f+31]=g;var v=.00392156862745098*((16711680&l)>>>16),k=.00392156862745098*((65280&l)>>>8),m=.00392156862745098*(255&l),b=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[b+5]=v,this.rectVertices[b+6]=k,this.rectVertices[b+7]=m,this.rectVertices[b+8]=h,this.rectVertices[b+14]=v,this.rectVertices[b+15]=k,this.rectVertices[b+16]=m,this.rectVertices[b+17]=h,this.rectVertices[b+23]=v,this.rectVertices[b+24]=k,this.rectVertices[b+25]=m,this.rectVertices[b+26]=h,this.rectVertices[b+32]=v,this.rectVertices[b+33]=k,this.rectVertices[b+34]=m,this.rectVertices[b+35]=h;var S=this.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;this.rectVertices[S]=s,this.rectVertices[S+1]=o,this.rectVertices[S+2]=-5,this.rectVertices[S+9]=s,this.rectVertices[S+10]=n,this.rectVertices[S+11]=-5,this.rectVertices[S+18]=_,this.rectVertices[S+19]=n,this.rectVertices[S+20]=-5,this.rectVertices[S+27]=_,this.rectVertices[S+28]=o,this.rectVertices[S+29]=-5,++this.bufferIndex,this.lastTexture=u},end:function(){this.bufferIndex>0&&this.drawBuffer(),this.lastTexture=null},__class__:kha_graphics4_ImageShaderPainter};var kha_graphics4_ColoredShaderPainter=$hxClasses["kha.graphics4.ColoredShaderPainter"]=function(e){this.destinationBlend=kha_graphics4_BlendingFactor.Undefined,this.sourceBlend=kha_graphics4_BlendingFactor.Undefined,this.myPipeline=null,this.g=e,this.bufferIndex=0,this.triangleBufferIndex=0,kha_graphics4_ColoredShaderPainter.initShaders(),this.initBuffers(),this.projectionLocation=kha_graphics4_ColoredShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix")};kha_graphics4_ColoredShaderPainter.__name__=!0,kha_graphics4_ColoredShaderPainter.initShaders=function(){null==kha_graphics4_ColoredShaderPainter.shaderPipeline&&(kha_graphics4_ColoredShaderPainter.shaderPipeline=new kha_graphics4_PipelineState,kha_graphics4_ColoredShaderPainter.shaderPipeline.fragmentShader=kha_Shaders.painter_colored_frag,kha_graphics4_ColoredShaderPainter.shaderPipeline.vertexShader=kha_Shaders.painter_colored_vert,kha_graphics4_ColoredShaderPainter.structure=new kha_graphics4_VertexStructure,kha_graphics4_ColoredShaderPainter.structure.add("vertexPosition",kha_graphics4_VertexData.Float3),kha_graphics4_ColoredShaderPainter.structure.add("vertexColor",kha_graphics4_VertexData.Float4),kha_graphics4_ColoredShaderPainter.shaderPipeline.inputLayout=[kha_graphics4_ColoredShaderPainter.structure],kha_graphics4_ColoredShaderPainter.shaderPipeline.blendSource=kha_graphics4_BlendingFactor.SourceAlpha,kha_graphics4_ColoredShaderPainter.shaderPipeline.blendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_ColoredShaderPainter.shaderPipeline.alphaBlendSource=kha_graphics4_BlendingFactor.SourceAlpha,kha_graphics4_ColoredShaderPainter.shaderPipeline.alphaBlendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_ColoredShaderPainter.shaderPipeline.compile())},kha_graphics4_ColoredShaderPainter.prototype={projectionMatrix:null,projectionLocation:null,bufferIndex:null,rectVertexBuffer:null,rectVertices:null,indexBuffer:null,triangleBufferIndex:null,triangleVertexBuffer:null,triangleVertices:null,triangleIndexBuffer:null,g:null,myPipeline:null,sourceBlend:null,destinationBlend:null,get_pipeline:function(){return this.myPipeline},set_pipeline:function(e){return this.projectionLocation=null==e?kha_graphics4_ColoredShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"):e.getConstantLocation("projectionMatrix"),this.myPipeline=e},setProjection:function(e){this.projectionMatrix=e},initBuffers:function(){this.rectVertexBuffer=new kha_graphics4_VertexBuffer(4*kha_graphics4_ColoredShaderPainter.bufferSize,kha_graphics4_ColoredShaderPainter.structure,kha_graphics4_Usage.DynamicUsage),this.rectVertices=this.rectVertexBuffer.lock(),this.indexBuffer=new kha_graphics4_IndexBuffer(3*kha_graphics4_ColoredShaderPainter.bufferSize*2,kha_graphics4_Usage.StaticUsage);for(var e=this.indexBuffer.lock(),t=0,a=kha_graphics4_ColoredShaderPainter.bufferSize;t<a;){var i=t++;e[3*i*2]=4*i,e[3*i*2+1]=4*i+1,e[3*i*2+2]=4*i+2,e[3*i*2+3]=4*i,e[3*i*2+4]=4*i+2,e[3*i*2+5]=4*i+3}this.indexBuffer.unlock(),this.triangleVertexBuffer=new kha_graphics4_VertexBuffer(3*kha_graphics4_ColoredShaderPainter.triangleBufferSize,kha_graphics4_ColoredShaderPainter.structure,kha_graphics4_Usage.DynamicUsage),this.triangleVertices=this.triangleVertexBuffer.lock(),this.triangleIndexBuffer=new kha_graphics4_IndexBuffer(3*kha_graphics4_ColoredShaderPainter.triangleBufferSize,kha_graphics4_Usage.StaticUsage);for(var r=this.triangleIndexBuffer.lock(),s=0,n=kha_graphics4_ColoredShaderPainter.bufferSize;s<n;){var _=s++;r[3*_]=3*_,r[3*_+1]=3*_+1,r[3*_+2]=3*_+2}this.triangleIndexBuffer.unlock()},setRectVertices:function(e,t,a,i,r,s,n,_){var o=7*this.bufferIndex*4;this.rectVertices[o]=e,this.rectVertices[o+1]=t,this.rectVertices[o+2]=-5,this.rectVertices[o+7]=a,this.rectVertices[o+8]=i,this.rectVertices[o+9]=-5,this.rectVertices[o+14]=r,this.rectVertices[o+15]=s,this.rectVertices[o+16]=-5,this.rectVertices[o+21]=n,this.rectVertices[o+22]=_,this.rectVertices[o+23]=-5},setRectColors:function(e,t){var a=7*this.bufferIndex*4,i=e*(.00392156862745098*(t>>>24));this.rectVertices[a+3]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+4]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+5]=.00392156862745098*(255&t),this.rectVertices[a+6]=i,this.rectVertices[a+10]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+11]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+12]=.00392156862745098*(255&t),this.rectVertices[a+13]=i,this.rectVertices[a+17]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+18]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+19]=.00392156862745098*(255&t),this.rectVertices[a+20]=i,this.rectVertices[a+24]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+25]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+26]=.00392156862745098*(255&t),this.rectVertices[a+27]=i},setTriVertices:function(e,t,a,i,r,s){var n=7*this.triangleBufferIndex*3;this.triangleVertices[n]=e,this.triangleVertices[n+1]=t,this.triangleVertices[n+2]=-5,this.triangleVertices[n+7]=a,this.triangleVertices[n+8]=i,this.triangleVertices[n+9]=-5,this.triangleVertices[n+14]=r,this.triangleVertices[n+15]=s,this.triangleVertices[n+16]=-5},setTriColors:function(e,t){var a=7*this.triangleBufferIndex*3,i=e*(.00392156862745098*(t>>>24));this.triangleVertices[a+3]=.00392156862745098*((16711680&t)>>>16),this.triangleVertices[a+4]=.00392156862745098*((65280&t)>>>8),this.triangleVertices[a+5]=.00392156862745098*(255&t),this.triangleVertices[a+6]=i,this.triangleVertices[a+10]=.00392156862745098*((16711680&t)>>>16),this.triangleVertices[a+11]=.00392156862745098*((65280&t)>>>8),this.triangleVertices[a+12]=.00392156862745098*(255&t),this.triangleVertices[a+13]=i,this.triangleVertices[a+17]=.00392156862745098*((16711680&t)>>>16),this.triangleVertices[a+18]=.00392156862745098*((65280&t)>>>8),this.triangleVertices[a+19]=.00392156862745098*(255&t),this.triangleVertices[a+20]=i},drawBuffer:function(e){e||this.triangleBufferIndex>0&&this.drawTriBuffer(!0),this.rectVertexBuffer.unlock(),this.g.setVertexBuffer(this.rectVertexBuffer),this.g.setIndexBuffer(this.indexBuffer),this.g.setPipeline(null==this.get_pipeline()?kha_graphics4_ColoredShaderPainter.shaderPipeline:this.get_pipeline()),this.g.setMatrix(this.projectionLocation,this.projectionMatrix),this.g.drawIndexedVertices(0,2*this.bufferIndex*3),this.bufferIndex=0,this.rectVertices=this.rectVertexBuffer.lock()},drawTriBuffer:function(e){e||this.bufferIndex>0&&this.drawBuffer(!0),this.triangleVertexBuffer.unlock(),this.g.setVertexBuffer(this.triangleVertexBuffer),this.g.setIndexBuffer(this.triangleIndexBuffer),this.g.setPipeline(null==this.get_pipeline()?kha_graphics4_ColoredShaderPainter.shaderPipeline:this.get_pipeline()),this.g.setMatrix(this.projectionLocation,this.projectionMatrix),this.g.drawIndexedVertices(0,3*this.triangleBufferIndex),this.triangleBufferIndex=0,this.triangleVertices=this.triangleVertexBuffer.lock()},fillRect:function(e,t,a,i,r,s,n,_,o,h){this.triangleBufferIndex>0&&this.drawTriBuffer(!0),this.bufferIndex+1>=kha_graphics4_ColoredShaderPainter.bufferSize&&this.drawBuffer(!1),this.setRectColors(e,t),this.setRectVertices(a,i,r,s,n,_,o,h),++this.bufferIndex},fillTriangle:function(e,t,a,i,r,s,n,_){this.bufferIndex>0&&this.drawBuffer(!0),this.triangleBufferIndex+1>=kha_graphics4_ColoredShaderPainter.triangleBufferSize&&this.drawTriBuffer(!1),this.setTriColors(e,t),this.setTriVertices(a,i,r,s,n,_),++this.triangleBufferIndex},endTris:function(e){this.triangleBufferIndex>0&&this.drawTriBuffer(e)},endRects:function(e){this.bufferIndex>0&&this.drawBuffer(e)},end:function(){this.triangleBufferIndex>0&&this.drawTriBuffer(!1),this.bufferIndex>0&&this.drawBuffer(!1)},__class__:kha_graphics4_ColoredShaderPainter};var kha_graphics4_TextShaderPainter=$hxClasses["kha.graphics4.TextShaderPainter"]=function(e){this.destinationBlend=kha_graphics4_BlendingFactor.Undefined,this.sourceBlend=kha_graphics4_BlendingFactor.Undefined,this.bilinear=!1,this.myPipeline=null,this.g=e,this.bufferIndex=0,kha_graphics4_TextShaderPainter.initShaders(),this.initBuffers(),this.projectionLocation=kha_graphics4_TextShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"),this.textureLocation=kha_graphics4_TextShaderPainter.shaderPipeline.getTextureUnit("tex")};kha_graphics4_TextShaderPainter.__name__=!0,kha_graphics4_TextShaderPainter.initShaders=function(){null==kha_graphics4_TextShaderPainter.shaderPipeline&&(kha_graphics4_TextShaderPainter.shaderPipeline=new kha_graphics4_PipelineState,kha_graphics4_TextShaderPainter.shaderPipeline.fragmentShader=kha_Shaders.painter_text_frag,kha_graphics4_TextShaderPainter.shaderPipeline.vertexShader=kha_Shaders.painter_text_vert,kha_graphics4_TextShaderPainter.structure=new kha_graphics4_VertexStructure,kha_graphics4_TextShaderPainter.structure.add("vertexPosition",kha_graphics4_VertexData.Float3),kha_graphics4_TextShaderPainter.structure.add("texPosition",kha_graphics4_VertexData.Float2),kha_graphics4_TextShaderPainter.structure.add("vertexColor",kha_graphics4_VertexData.Float4),kha_graphics4_TextShaderPainter.shaderPipeline.inputLayout=[kha_graphics4_TextShaderPainter.structure],kha_graphics4_TextShaderPainter.shaderPipeline.blendSource=kha_graphics4_BlendingFactor.SourceAlpha,kha_graphics4_TextShaderPainter.shaderPipeline.blendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_TextShaderPainter.shaderPipeline.alphaBlendSource=kha_graphics4_BlendingFactor.SourceAlpha,kha_graphics4_TextShaderPainter.shaderPipeline.alphaBlendDestination=kha_graphics4_BlendingFactor.InverseSourceAlpha,kha_graphics4_TextShaderPainter.shaderPipeline.compile())},kha_graphics4_TextShaderPainter.findIndex=function(e,t){for(var a=0,i=t.length;a<i;){var r=a++;if(t[r]==e)return r}return 0},kha_graphics4_TextShaderPainter.prototype={projectionMatrix:null,projectionLocation:null,textureLocation:null,bufferIndex:null,rectVertexBuffer:null,rectVertices:null,indexBuffer:null,font:null,lastTexture:null,g:null,myPipeline:null,fontSize:null,bilinear:null,sourceBlend:null,destinationBlend:null,get_pipeline:function(){return this.myPipeline},set_pipeline:function(e){return null==e?(this.projectionLocation=kha_graphics4_TextShaderPainter.shaderPipeline.getConstantLocation("projectionMatrix"),this.textureLocation=kha_graphics4_TextShaderPainter.shaderPipeline.getTextureUnit("tex")):(this.projectionLocation=e.getConstantLocation("projectionMatrix"),this.textureLocation=e.getTextureUnit("tex")),this.myPipeline=e},setProjection:function(e){this.projectionMatrix=e},initBuffers:function(){this.rectVertexBuffer=new kha_graphics4_VertexBuffer(4*kha_graphics4_TextShaderPainter.bufferSize,kha_graphics4_TextShaderPainter.structure,kha_graphics4_Usage.DynamicUsage),this.rectVertices=this.rectVertexBuffer.lock(),this.indexBuffer=new kha_graphics4_IndexBuffer(3*kha_graphics4_TextShaderPainter.bufferSize*2,kha_graphics4_Usage.StaticUsage);for(var e=this.indexBuffer.lock(),t=0,a=kha_graphics4_TextShaderPainter.bufferSize;t<a;){var i=t++;e[3*i*2]=4*i,e[3*i*2+1]=4*i+1,e[3*i*2+2]=4*i+2,e[3*i*2+3]=4*i,e[3*i*2+4]=4*i+2,e[3*i*2+5]=4*i+3}this.indexBuffer.unlock()},setRectVertices:function(e,t,a,i,r,s,n,_){var o=9*this.bufferIndex*4;this.rectVertices[o]=e,this.rectVertices[o+1]=t,this.rectVertices[o+2]=-5,this.rectVertices[o+9]=a,this.rectVertices[o+10]=i,this.rectVertices[o+11]=-5,this.rectVertices[o+18]=r,this.rectVertices[o+19]=s,this.rectVertices[o+20]=-5,this.rectVertices[o+27]=n,this.rectVertices[o+28]=_,this.rectVertices[o+29]=-5},setRectTexCoords:function(e,t,a,i){var r=9*this.bufferIndex*4;this.rectVertices[r+3]=e,this.rectVertices[r+4]=i,this.rectVertices[r+12]=e,this.rectVertices[r+13]=t,this.rectVertices[r+21]=a,this.rectVertices[r+22]=t,this.rectVertices[r+30]=a,this.rectVertices[r+31]=i},setRectColors:function(e,t){var a=9*this.bufferIndex*4,i=e*(.00392156862745098*(t>>>24));this.rectVertices[a+5]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+6]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+7]=.00392156862745098*(255&t),this.rectVertices[a+8]=i,this.rectVertices[a+14]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+15]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+16]=.00392156862745098*(255&t),this.rectVertices[a+17]=i,this.rectVertices[a+23]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+24]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+25]=.00392156862745098*(255&t),this.rectVertices[a+26]=i,this.rectVertices[a+32]=.00392156862745098*((16711680&t)>>>16),this.rectVertices[a+33]=.00392156862745098*((65280&t)>>>8),this.rectVertices[a+34]=.00392156862745098*(255&t),this.rectVertices[a+35]=i},drawBuffer:function(){this.rectVertexBuffer.unlock(),this.g.setVertexBuffer(this.rectVertexBuffer),this.g.setIndexBuffer(this.indexBuffer),this.g.setPipeline(null==this.get_pipeline()?kha_graphics4_TextShaderPainter.shaderPipeline:this.get_pipeline()),this.g.setTexture(this.textureLocation,this.lastTexture),this.g.setMatrix(this.projectionLocation,this.projectionMatrix),this.g.setTextureParameters(this.textureLocation,kha_graphics4_TextureAddressing.Clamp,kha_graphics4_TextureAddressing.Clamp,this.bilinear?kha_graphics4_TextureFilter.LinearFilter:kha_graphics4_TextureFilter.PointFilter,this.bilinear?kha_graphics4_TextureFilter.LinearFilter:kha_graphics4_TextureFilter.PointFilter,kha_graphics4_MipMapFilter.NoMipFilter),this.g.drawIndexedVertices(0,2*this.bufferIndex*3),this.g.setTexture(this.textureLocation,null),this.bufferIndex=0,this.rectVertices=this.rectVertexBuffer.lock()},setBilinearFilter:function(e){this.end(),this.bilinear=e},setFont:function(e){this.font=js_Boot.__cast(e,kha_Kravur)},text:null,startString:function(e){this.text=e},charCodeAt:function(e){return HxOverrides.cca(this.text,e)},stringLength:function(){return this.text.length},endString:function(){this.text=null},drawString:function(e,t,a,i,r,s,n){var _=this.font._get(this.fontSize,n),o=_.getTexture();null!=this.lastTexture&&o!=this.lastTexture&&this.drawBuffer(),this.lastTexture=o;var h=i,l=r;this.startString(e);for(var u=0,c=this.stringLength();u<c;){var d=u++,p=_.getBakedQuad(kha_graphics4_TextShaderPainter.findIndex(this.charCodeAt(d),n),h,l);if(null!=p){this.bufferIndex+1>=kha_graphics4_TextShaderPainter.bufferSize&&this.drawBuffer(),this.setRectColors(t,a),this.setRectTexCoords(p.s0*o.get_width()/o.get_realWidth(),p.t0*o.get_height()/o.get_realHeight(),p.s1*o.get_width()/o.get_realWidth(),p.t1*o.get_height()/o.get_realHeight());var g,f,v,k=p.x0;v=p.y1;var m=s._02*k+s._12*v+s._22;f=(s._00*k+s._10*v+s._20)/m,g=(s._01*k+s._11*v+s._21)/m;var b,S,y,x=p.x0;y=p.y0;var B=s._02*x+s._12*y+s._22;S=(s._00*x+s._10*y+s._20)/B,b=(s._01*x+s._11*y+s._21)/B;var T,w,E,I=p.x1;E=p.y0;var C=s._02*I+s._12*E+s._22;w=(s._00*I+s._10*E+s._20)/C,T=(s._01*I+s._11*E+s._21)/C;var A,L,R,$=p.x1;R=p.y1;var F=s._02*$+s._12*R+s._22;L=(s._00*$+s._10*R+s._20)/F,A=(s._01*$+s._11*R+s._21)/F,this.setRectVertices(f,g,S,b,w,T,L,A),h+=p.xadvance,++this.bufferIndex}}this.endString()},end:function(){this.bufferIndex>0&&this.drawBuffer(),this.lastTexture=null},__class__:kha_graphics4_TextShaderPainter};var kha_graphics4_Graphics2=$hxClasses["kha.graphics4.Graphics2"]=function(e){if(this.myMipmapScaleQuality=kha_graphics2_ImageScaleQuality.High,this.myImageScaleQuality=kha_graphics2_ImageScaleQuality.High,kha_graphics2_Graphics.call(this),this.set_color(-1),this.canvas=e,this.g=e.get_g4(),this.imagePainter=new kha_graphics4_ImageShaderPainter(this.g),this.coloredPainter=new kha_graphics4_ColoredShaderPainter(this.g),this.textPainter=new kha_graphics4_TextShaderPainter(this.g),this.textPainter.fontSize=this.get_fontSize(),this.setProjection(),null==kha_graphics4_Graphics2.videoPipeline){kha_graphics4_Graphics2.videoPipeline=new kha_graphics4_PipelineState,kha_graphics4_Graphics2.videoPipeline.fragmentShader=kha_Shaders.painter_video_frag,kha_graphics4_Graphics2.videoPipeline.vertexShader=kha_Shaders.painter_video_vert;var t=new kha_graphics4_VertexStructure;t.add("vertexPosition",kha_graphics4_VertexData.Float3),t.add("texPosition",kha_graphics4_VertexData.Float2),t.add("vertexColor",kha_graphics4_VertexData.Float4),kha_graphics4_Graphics2.videoPipeline.inputLayout=[t],kha_graphics4_Graphics2.videoPipeline.compile()}};kha_graphics4_Graphics2.__name__=!0,kha_graphics4_Graphics2.upperPowerOfTwo=function(e){return--e,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,++e},kha_graphics4_Graphics2.__super__=kha_graphics2_Graphics,kha_graphics4_Graphics2.prototype=$extend(kha_graphics2_Graphics.prototype,{myColor:null,myFont:null,projectionMatrix:null,imagePainter:null,coloredPainter:null,textPainter:null,canvas:null,g:null,setProjection:function(){var e=this.canvas.get_width(),t=this.canvas.get_height();js_Boot.__instanceof(this.canvas,kha_Framebuffer)?this.projectionMatrix=kha_math_FastMatrix4.orthogonalProjection(0,e,t,0,.1,1e3):(kha_Image.get_nonPow2Supported()||(e=kha_graphics4_Graphics2.upperPowerOfTwo(e),t=kha_graphics4_Graphics2.upperPowerOfTwo(t)),this.g.renderTargetsInvertedY()?this.projectionMatrix=kha_math_FastMatrix4.orthogonalProjection(0,e,0,t,.1,1e3):this.projectionMatrix=kha_math_FastMatrix4.orthogonalProjection(0,e,t,0,.1,1e3)),this.imagePainter.setProjection(this.projectionMatrix),this.coloredPainter.setProjection(this.projectionMatrix),this.textPainter.setProjection(this.projectionMatrix)},drawImage:function(e,t,a){var i=this.coloredPainter;i.triangleBufferIndex>0&&i.drawTriBuffer(!1),i.bufferIndex>0&&i.drawBuffer(!1),this.textPainter.end();var r,s,n,_=t+e.get_width(),o=a+e.get_height(),h=this.transformations[this.transformations.length-1],l=t;n=o;var u=h._02*l+h._12*n+h._22;s=(h._00*l+h._10*n+h._20)/u,r=(h._01*l+h._11*n+h._21)/u;var c,d,p,g=this.transformations[this.transformations.length-1],f=t;p=a;var v=g._02*f+g._12*p+g._22;d=(g._00*f+g._10*p+g._20)/v,c=(g._01*f+g._11*p+g._21)/v;var k,m,b,S=this.transformations[this.transformations.length-1],y=_;b=a;var x=S._02*y+S._12*b+S._22;m=(S._00*y+S._10*b+S._20)/x,k=(S._01*y+S._11*b+S._21)/x;var B,T,w,E=this.transformations[this.transformations.length-1],I=_;w=o;var C=E._02*I+E._12*w+E._22;T=(E._00*I+E._10*w+E._20)/C,B=(E._01*I+E._11*w+E._21)/C;var A=this.imagePainter,L=this.get_opacity(),R=this.get_color(),$=e;(A.bufferIndex+1>=kha_graphics4_ImageShaderPainter.bufferSize||null!=A.lastTexture&&$!=A.lastTexture)&&A.drawBuffer();var F=.00392156862745098*((16711680&R)>>>16),V=.00392156862745098*((65280&R)>>>8),N=.00392156862745098*(255&R),P=.00392156862745098*(R>>>24)*L,M=A.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;A.rectVertices[M+5]=F,A.rectVertices[M+6]=V,A.rectVertices[M+7]=N,A.rectVertices[M+8]=P,A.rectVertices[M+14]=F,A.rectVertices[M+15]=V,A.rectVertices[M+16]=N,A.rectVertices[M+17]=P,A.rectVertices[M+23]=F,A.rectVertices[M+24]=V,A.rectVertices[M+25]=N,A.rectVertices[M+26]=P,A.rectVertices[M+32]=F,A.rectVertices[M+33]=V,A.rectVertices[M+34]=N,A.rectVertices[M+35]=P;var O=$.get_width()/$.get_realWidth(),D=$.get_height()/$.get_realHeight(),U=A.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;A.rectVertices[U+3]=0,A.rectVertices[U+4]=D,A.rectVertices[U+12]=0,A.rectVertices[U+13]=0,A.rectVertices[U+21]=O,A.rectVertices[U+22]=0,A.rectVertices[U+30]=O,A.rectVertices[U+31]=D;var H=A.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;A.rectVertices[H]=s,A.rectVertices[H+1]=r,A.rectVertices[H+2]=-5,A.rectVertices[H+9]=d,A.rectVertices[H+10]=c,A.rectVertices[H+11]=-5,A.rectVertices[H+18]=m,A.rectVertices[H+19]=k,A.rectVertices[H+20]=-5,A.rectVertices[H+27]=T,A.rectVertices[H+28]=B,A.rectVertices[H+29]=-5,++A.bufferIndex,A.lastTexture=$},drawScaledSubImage:function(e,t,a,i,r,s,n,_,o){var h=this.coloredPainter;h.triangleBufferIndex>0&&h.drawTriBuffer(!1),h.bufferIndex>0&&h.drawBuffer(!1),this.textPainter.end();var l,u,c,d=this.transformations[this.transformations.length-1],p=s;c=n+o;var g=d._02*p+d._12*c+d._22;u=(d._00*p+d._10*c+d._20)/g,l=(d._01*p+d._11*c+d._21)/g;var f,v,k,m=this.transformations[this.transformations.length-1],b=s;k=n;var S=m._02*b+m._12*k+m._22;v=(m._00*b+m._10*k+m._20)/S,f=(m._01*b+m._11*k+m._21)/S;var y,x,B,T=this.transformations[this.transformations.length-1],w=s+_;B=n;var E=T._02*w+T._12*B+T._22;x=(T._00*w+T._10*B+T._20)/E,y=(T._01*w+T._11*B+T._21)/E;var I,C,A,L=this.transformations[this.transformations.length-1],R=s+_;A=n+o;var $=L._02*R+L._12*A+L._22;C=(L._00*R+L._10*A+L._20)/$,I=(L._01*R+L._11*A+L._21)/$;var F=this.imagePainter,V=this.get_opacity(),N=this.get_color(),P=e;(F.bufferIndex+1>=kha_graphics4_ImageShaderPainter.bufferSize||null!=F.lastTexture&&P!=F.lastTexture)&&F.drawBuffer();var M=t/P.get_realWidth(),O=a/P.get_realHeight(),D=(t+i)/P.get_realWidth(),U=(a+r)/P.get_realHeight(),H=F.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;F.rectVertices[H+3]=M,F.rectVertices[H+4]=U,F.rectVertices[H+12]=M,F.rectVertices[H+13]=O,F.rectVertices[H+21]=D,F.rectVertices[H+22]=O,F.rectVertices[H+30]=D,F.rectVertices[H+31]=U;var G=.00392156862745098*((16711680&N)>>>16),W=.00392156862745098*((65280&N)>>>8),z=.00392156862745098*(255&N),j=.00392156862745098*(N>>>24)*V,K=F.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;F.rectVertices[K+5]=G,F.rectVertices[K+6]=W,F.rectVertices[K+7]=z,F.rectVertices[K+8]=j,F.rectVertices[K+14]=G,F.rectVertices[K+15]=W,F.rectVertices[K+16]=z,F.rectVertices[K+17]=j,F.rectVertices[K+23]=G,F.rectVertices[K+24]=W,F.rectVertices[K+25]=z,F.rectVertices[K+26]=j,F.rectVertices[K+32]=G,F.rectVertices[K+33]=W,F.rectVertices[K+34]=z,F.rectVertices[K+35]=j;var X=F.bufferIndex*kha_graphics4_ImageShaderPainter.vertexSize*4;F.rectVertices[X]=u,F.rectVertices[X+1]=l,F.rectVertices[X+2]=-5,F.rectVertices[X+9]=v,F.rectVertices[X+10]=f,F.rectVertices[X+11]=-5,F.rectVertices[X+18]=x,F.rectVertices[X+19]=y,F.rectVertices[X+20]=-5,F.rectVertices[X+27]=C,F.rectVertices[X+28]=I,F.rectVertices[X+29]=-5,++F.bufferIndex,F.lastTexture=P},get_color:function(){return this.myColor},set_color:function(e){return this.myColor=e},drawRect:function(e,t,a,i,r){null==r&&(r=1),this.imagePainter.end(),this.textPainter.end();var s,n=this.transformations[this.transformations.length-1],_=e-r/2;s=t+r/2;var o,h=n._02*_+n._12*s+n._22,l=(n._00*_+n._10*s+n._20)/h,u=(n._01*_+n._11*s+n._21)/h,c=new kha_math_FastVector2(l,u),d=this.transformations[this.transformations.length-1],p=e-r/2;o=t-r/2;var g,f=d._02*p+d._12*o+d._22,v=(d._00*p+d._10*o+d._20)/f,k=(d._01*p+d._11*o+d._21)/f,m=new kha_math_FastVector2(v,k),b=this.transformations[this.transformations.length-1],S=e+a+r/2;g=t-r/2;var y,x=b._02*S+b._12*g+b._22,B=(b._00*S+b._10*g+b._20)/x,T=(b._01*S+b._11*g+b._21)/x,w=new kha_math_FastVector2(B,T),E=this.transformations[this.transformations.length-1],I=e+a+r/2;y=t+r/2;var C=E._02*I+E._12*y+E._22,A=(E._00*I+E._10*y+E._20)/C,L=(E._01*I+E._11*y+E._21)/C,R=new kha_math_FastVector2(A,L);this.coloredPainter.fillRect(this.get_opacity(),this.get_color(),c.x,c.y,m.x,m.y,w.x,w.y,R.x,R.y);var $,F=this.transformations[this.transformations.length-1],V=e-r/2;$=t+i+r/2;var N=F._02*V+F._12*$+F._22,P=(F._00*V+F._10*$+F._20)/N,M=(F._01*V+F._11*$+F._21)/N;c=new kha_math_FastVector2(P,M);var O,D=this.transformations[this.transformations.length-1],U=e+r/2;O=t-r/2;var H=D._02*U+D._12*O+D._22,G=(D._00*U+D._10*O+D._20)/H,W=(D._01*U+D._11*O+D._21)/H;w=new kha_math_FastVector2(G,W);var z,j=this.transformations[this.transformations.length-1],K=e+r/2;z=t+i+r/2;var X=j._02*K+j._12*z+j._22,Y=(j._00*K+j._10*z+j._20)/X,Z=(j._01*K+j._11*z+j._21)/X;R=new kha_math_FastVector2(Y,Z),this.coloredPainter.fillRect(this.get_opacity(),this.get_color(),c.x,c.y,m.x,m.y,w.x,w.y,R.x,R.y);var Q,J=this.transformations[this.transformations.length-1],q=e-r/2;Q=t+i-r/2;var ee=J._02*q+J._12*Q+J._22,te=(J._00*q+J._10*Q+J._20)/ee,ae=(J._01*q+J._11*Q+J._21)/ee;m=new kha_math_FastVector2(te,ae);var ie,re=this.transformations[this.transformations.length-1],se=e+a+r/2;ie=t+i-r/2;var ne=re._02*se+re._12*ie+re._22,_e=(re._00*se+re._10*ie+re._20)/ne,oe=(re._01*se+re._11*ie+re._21)/ne;w=new kha_math_FastVector2(_e,oe);var he,le=this.transformations[this.transformations.length-1],ue=e+a+r/2;he=t+i+r/2;var ce=le._02*ue+le._12*he+le._22,de=(le._00*ue+le._10*he+le._20)/ce,pe=(le._01*ue+le._11*he+le._21)/ce;R=new kha_math_FastVector2(de,pe),this.coloredPainter.fillRect(this.get_opacity(),this.get_color(),c.x,c.y,m.x,m.y,w.x,w.y,R.x,R.y);var ge,fe=this.transformations[this.transformations.length-1],ve=e+a-r/2;ge=t+i+r/2;var ke=fe._02*ve+fe._12*ge+fe._22,me=(fe._00*ve+fe._10*ge+fe._20)/ke,be=(fe._01*ve+fe._11*ge+fe._21)/ke;c=new kha_math_FastVector2(me,be);var Se,ye=this.transformations[this.transformations.length-1],xe=e+a-r/2;Se=t-r/2;var Be=ye._02*xe+ye._12*Se+ye._22,Te=(ye._00*xe+ye._10*Se+ye._20)/Be,we=(ye._01*xe+ye._11*Se+ye._21)/Be;m=new kha_math_FastVector2(Te,we);var Ee,Ie=this.transformations[this.transformations.length-1],Ce=e+a+r/2;Ee=t-r/2;var Ae=Ie._02*Ce+Ie._12*Ee+Ie._22,Le=(Ie._00*Ce+Ie._10*Ee+Ie._20)/Ae,Re=(Ie._01*Ce+Ie._11*Ee+Ie._21)/Ae;w=new kha_math_FastVector2(Le,Re);var $e,Fe=this.transformations[this.transformations.length-1],Ve=e+a+r/2;$e=t+i+r/2;var Ne=Fe._02*Ve+Fe._12*$e+Fe._22,Pe=(Fe._00*Ve+Fe._10*$e+Fe._20)/Ne,Me=(Fe._01*Ve+Fe._11*$e+Fe._21)/Ne;R=new kha_math_FastVector2(Pe,Me),this.coloredPainter.fillRect(this.get_opacity(),this.get_color(),c.x,c.y,m.x,m.y,w.x,w.y,R.x,R.y)},fillRect:function(e,t,a,i){this.imagePainter.end(),this.textPainter.end();var r,s,n,_=this.transformations[this.transformations.length-1],o=e;n=t+i;var h=_._02*o+_._12*n+_._22;s=(_._00*o+_._10*n+_._20)/h,r=(_._01*o+_._11*n+_._21)/h;var l,u,c,d=this.transformations[this.transformations.length-1],p=e;c=t;var g=d._02*p+d._12*c+d._22;u=(d._00*p+d._10*c+d._20)/g,l=(d._01*p+d._11*c+d._21)/g;var f,v,k,m=this.transformations[this.transformations.length-1],b=e+a;k=t;var S=m._02*b+m._12*k+m._22;v=(m._00*b+m._10*k+m._20)/S,f=(m._01*b+m._11*k+m._21)/S;var y,x,B,T=this.transformations[this.transformations.length-1],w=e+a;B=t+i;var E=T._02*w+T._12*B+T._22;x=(T._00*w+T._10*B+T._20)/E,y=(T._01*w+T._11*B+T._21)/E,this.coloredPainter.fillRect(this.get_opacity(),this.get_color(),s,r,u,l,v,f,x,y)},drawString:function(e,t,a){this.imagePainter.end();var i=this.coloredPainter;i.triangleBufferIndex>0&&i.drawTriBuffer(!1),i.bufferIndex>0&&i.drawBuffer(!1),this.textPainter.drawString(e,this.get_opacity(),this.get_color(),t,a,this.transformations[this.transformations.length-1],this.get_fontGlyphs())},get_font:function(){return this.myFont},set_font:function(e){return this.textPainter.setFont(e),this.myFont=e},set_fontSize:function(e){return kha_graphics2_Graphics.prototype.set_fontSize.call(this,this.textPainter.fontSize=e)},drawLine:function(e,t,a,i,r){null==r&&(r=1),this.imagePainter.end(),this.textPainter.end();var s;(s=i==t?new kha_math_FastVector2(0,-1):new kha_math_FastVector2(1,-(a-e)/(i-t))).set_length(r);var n=new kha_math_FastVector2(e+.5*s.x,t+.5*s.y),_=new kha_math_FastVector2(a+.5*s.x,i+.5*s.y),o=new kha_math_FastVector2(n.x-s.x,n.y-s.y),h=new kha_math_FastVector2(_.x-s.x,_.y-s.y),l=this.transformations[this.transformations.length-1],u=l._02*n.x+l._12*n.y+l._22,c=(l._00*n.x+l._10*n.y+l._20)/u,d=(l._01*n.x+l._11*n.y+l._21)/u;n=new kha_math_FastVector2(c,d);var p=this.transformations[this.transformations.length-1],g=p._02*_.x+p._12*_.y+p._22,f=(p._00*_.x+p._10*_.y+p._20)/g,v=(p._01*_.x+p._11*_.y+p._21)/g;_=new kha_math_FastVector2(f,v);var k=this.transformations[this.transformations.length-1],m=k._02*o.x+k._12*o.y+k._22,b=(k._00*o.x+k._10*o.y+k._20)/m,S=(k._01*o.x+k._11*o.y+k._21)/m;o=new kha_math_FastVector2(b,S);var y=this.transformations[this.transformations.length-1],x=y._02*h.x+y._12*h.y+y._22,B=(y._00*h.x+y._10*h.y+y._20)/x,T=(y._01*h.x+y._11*h.y+y._21)/x;h=new kha_math_FastVector2(B,T),this.coloredPainter.fillTriangle(this.get_opacity(),this.get_color(),n.x,n.y,_.x,_.y,o.x,o.y),this.coloredPainter.fillTriangle(this.get_opacity(),this.get_color(),o.x,o.y,_.x,_.y,h.x,h.y)},fillTriangle:function(e,t,a,i,r,s){this.imagePainter.end(),this.textPainter.end();var n,_,o,h=this.transformations[this.transformations.length-1],l=e;o=t;var u=h._02*l+h._12*o+h._22;_=(h._00*l+h._10*o+h._20)/u,n=(h._01*l+h._11*o+h._21)/u;var c,d,p,g=this.transformations[this.transformations.length-1],f=a;p=i;var v=g._02*f+g._12*p+g._22;d=(g._00*f+g._10*p+g._20)/v,c=(g._01*f+g._11*p+g._21)/v;var k,m,b,S=this.transformations[this.transformations.length-1],y=r;b=s;var x=S._02*y+S._12*b+S._22;m=(S._00*y+S._10*b+S._20)/x,k=(S._01*y+S._11*b+S._21)/x,this.coloredPainter.fillTriangle(this.get_opacity(),this.get_color(),_,n,d,c,m,k)},myImageScaleQuality:null,get_imageScaleQuality:function(){return this.myImageScaleQuality},set_imageScaleQuality:function(e){return this.imagePainter.setBilinearFilter(e==kha_graphics2_ImageScaleQuality.High),this.textPainter.setBilinearFilter(e==kha_graphics2_ImageScaleQuality.High),this.myImageScaleQuality=e},myMipmapScaleQuality:null,get_mipmapScaleQuality:function(){return this.myMipmapScaleQuality},set_mipmapScaleQuality:function(e){return this.imagePainter.setBilinearMipmapFilter(e==kha_graphics2_ImageScaleQuality.High),this.myMipmapScaleQuality=e},setPipeline:function(e){this.flush(),this.imagePainter.set_pipeline(e),this.coloredPainter.set_pipeline(e),this.textPainter.set_pipeline(e),null!=e&&this.g.setPipeline(e)},scissor:function(e,t,a,i){this.flush(),this.g.scissor(e,t,a,i)},disableScissor:function(){this.flush(),this.g.disableScissor()},begin:function(e,t){null==e&&(e=!0),this.g.begin(),e&&this.clear(t),this.setProjection()},clear:function(e){this.flush(),this.g.clear(null==e?-16777216:e)},flush:function(){this.imagePainter.end(),this.textPainter.end();var e=this.coloredPainter;e.triangleBufferIndex>0&&e.drawTriBuffer(!1),e.bufferIndex>0&&e.drawBuffer(!1)},end:function(){this.flush(),this.g.end()},drawVideoInternal:function(e,t,a,i,r){},drawVideo:function(e,t,a,i,r){this.setPipeline(kha_graphics4_Graphics2.videoPipeline),this.drawVideoInternal(e,t,a,i,r),this.setPipeline(null)},__class__:kha_graphics4_Graphics2});var kha_graphics4_IndexBuffer=$hxClasses["kha.graphics4.IndexBuffer"]=function(e,t,a){null==a&&(a=!1),this.indexCount=e;var i=new Uint32Array(e);this._data=i,this.buffer=Krom.createIndexBuffer(e)};kha_graphics4_IndexBuffer.__name__=!0,kha_graphics4_IndexBuffer.prototype={buffer:null,_data:null,indexCount:null,delete:function(){Krom.deleteIndexBuffer(this.buffer),this.buffer=null},lock:function(e,t){return null==e&&(e=0),null==t&&(t=this.indexCount),this._data.subarray(e,e+t)},unlock:function(){Krom.setIndices(this.buffer,this._data)},set:function(){Krom.setIndexBuffer(this.buffer)},count:function(){return this.indexCount},__class__:kha_graphics4_IndexBuffer};var kha_graphics4_MipMapFilter=$hxClasses["kha.graphics4.MipMapFilter"]={__ename__:!0,__constructs__:["NoMipFilter","PointMipFilter","LinearMipFilter"]};kha_graphics4_MipMapFilter.NoMipFilter=["NoMipFilter",0],kha_graphics4_MipMapFilter.NoMipFilter.toString=$estr,kha_graphics4_MipMapFilter.NoMipFilter.__enum__=kha_graphics4_MipMapFilter,kha_graphics4_MipMapFilter.PointMipFilter=["PointMipFilter",1],kha_graphics4_MipMapFilter.PointMipFilter.toString=$estr,kha_graphics4_MipMapFilter.PointMipFilter.__enum__=kha_graphics4_MipMapFilter,kha_graphics4_MipMapFilter.LinearMipFilter=["LinearMipFilter",2],kha_graphics4_MipMapFilter.LinearMipFilter.toString=$estr,kha_graphics4_MipMapFilter.LinearMipFilter.__enum__=kha_graphics4_MipMapFilter;var kha_graphics4_PipelineStateBase=$hxClasses["kha.graphics4.PipelineStateBase"]=function(){this.inputLayout=null,this.interleavedLayout=!0,this.vertexShader=null,this.fragmentShader=null,this.geometryShader=null,this.tessellationControlShader=null,this.tessellationEvaluationShader=null,this.cullMode=kha_graphics4_CullMode.None,this.depthWrite=!1,this.depthMode=kha_graphics4_CompareMode.Always,this.stencilMode=kha_graphics4_CompareMode.Always,this.stencilBothPass=kha_graphics4_StencilAction.Keep,this.stencilDepthFail=kha_graphics4_StencilAction.Keep,this.stencilFail=kha_graphics4_StencilAction.Keep,this.stencilReferenceValue=0,this.stencilReadMask=255,this.stencilWriteMask=255,this.blendSource=kha_graphics4_BlendingFactor.BlendOne,this.blendDestination=kha_graphics4_BlendingFactor.BlendZero,this.blendOperation=kha_graphics4_BlendingOperation.Add,this.alphaBlendSource=kha_graphics4_BlendingFactor.BlendOne,this.alphaBlendDestination=kha_graphics4_BlendingFactor.BlendZero,this.alphaBlendOperation=kha_graphics4_BlendingOperation.Add,this.colorWriteMaskRed=this.colorWriteMaskBlue=this.colorWriteMaskGreen=this.colorWriteMaskAlpha=!0,this.conservativeRasterization=!1};kha_graphics4_PipelineStateBase.__name__=!0,kha_graphics4_PipelineStateBase.prototype={inputLayout:null,interleavedLayout:null,vertexShader:null,fragmentShader:null,geometryShader:null,tessellationControlShader:null,tessellationEvaluationShader:null,cullMode:null,depthWrite:null,depthMode:null,stencilMode:null,stencilBothPass:null,stencilDepthFail:null,stencilFail:null,stencilReferenceValue:null,stencilReadMask:null,stencilWriteMask:null,blendSource:null,blendDestination:null,blendOperation:null,alphaBlendSource:null,alphaBlendDestination:null,alphaBlendOperation:null,colorWriteMaskRed:null,colorWriteMaskGreen:null,colorWriteMaskBlue:null,colorWriteMaskAlpha:null,set_colorWriteMask:function(e){return this.colorWriteMaskRed=this.colorWriteMaskBlue=this.colorWriteMaskGreen=this.colorWriteMaskAlpha=e},conservativeRasterization:null,__class__:kha_graphics4_PipelineStateBase};var kha_graphics4_PipelineState=$hxClasses["kha.graphics4.PipelineState"]=function(){kha_graphics4_PipelineStateBase.call(this),this.pipeline=Krom.createPipeline()};kha_graphics4_PipelineState.__name__=!0,kha_graphics4_PipelineState.convertCullMode=function(e){switch(e[1]){case 0:return 0;case 1:return 1;case 2:return 2}},kha_graphics4_PipelineState.convertCompareMode=function(e){switch(e[1]){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 5;case 6:return 6;case 7:return 7}},kha_graphics4_PipelineState.convertStencilAction=function(e){switch(e[1]){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 5;case 6:return 6;case 7:return 7}},kha_graphics4_PipelineState.convertBlendingFactor=function(e){switch(e[1]){case 0:case 1:return 0;case 2:return 1;case 3:return 2;case 4:return 3;case 5:return 4;case 6:return 5;case 7:return 6;case 8:return 7;case 9:return 8;case 10:return 9}},kha_graphics4_PipelineState.__super__=kha_graphics4_PipelineStateBase,kha_graphics4_PipelineState.prototype=$extend(kha_graphics4_PipelineStateBase.prototype,{pipeline:null,delete:function(){Krom.deletePipeline(this.pipeline),this.pipeline=null},compile:function(){var e=this.inputLayout.length>0?this.inputLayout[0].elements:null,t=this.inputLayout.length>1?this.inputLayout[1].elements:null,a=this.inputLayout.length>2?this.inputLayout[2].elements:null,i=this.inputLayout.length>3?this.inputLayout[3].elements:null,r=null!=this.geometryShader?this.geometryShader.shader:null,s=null!=this.tessellationControlShader?this.tessellationControlShader.shader:null,n=null!=this.tessellationEvaluationShader?this.tessellationEvaluationShader.shader:null;Krom.compilePipeline(this.pipeline,e,t,a,i,this.inputLayout.length,this.vertexShader.shader,this.fragmentShader.shader,r,s,n,{interleavedLayout:this.interleavedLayout,cullMode:kha_graphics4_PipelineState.convertCullMode(this.cullMode),depthWrite:this.depthWrite,depthMode:kha_graphics4_PipelineState.convertCompareMode(this.depthMode),stencilMode:kha_graphics4_PipelineState.convertCompareMode(this.stencilMode),stencilBothPass:kha_graphics4_PipelineState.convertStencilAction(this.stencilBothPass),stencilDepthFail:kha_graphics4_PipelineState.convertStencilAction(this.stencilDepthFail),stencilFail:kha_graphics4_PipelineState.convertStencilAction(this.stencilFail),stencilReferenceValue:this.stencilReferenceValue,stencilReadMask:this.stencilReadMask,stencilWriteMask:this.stencilWriteMask,blendSource:kha_graphics4_PipelineState.convertBlendingFactor(this.blendSource),blendDestination:kha_graphics4_PipelineState.convertBlendingFactor(this.blendDestination),alphaBlendSource:kha_graphics4_PipelineState.convertBlendingFactor(this.alphaBlendSource),alphaBlendDestination:kha_graphics4_PipelineState.convertBlendingFactor(this.alphaBlendDestination),colorWriteMaskRed:this.colorWriteMaskRed,colorWriteMaskGreen:this.colorWriteMaskGreen,colorWriteMaskBlue:this.colorWriteMaskBlue,colorWriteMaskAlpha:this.colorWriteMaskAlpha,conservativeRasterization:this.conservativeRasterization})},set:function(){Krom.setPipeline(this.pipeline)},getConstantLocation:function(e){return Krom.getConstantLocation(this.pipeline,e)},getTextureUnit:function(e){return Krom.getTextureUnit(this.pipeline,e)},__class__:kha_graphics4_PipelineState});var kha_graphics4_StencilAction=$hxClasses["kha.graphics4.StencilAction"]={__ename__:!0,__constructs__:["Keep","Zero","Replace","Increment","IncrementWrap","Decrement","DecrementWrap","Invert"]};kha_graphics4_StencilAction.Keep=["Keep",0],kha_graphics4_StencilAction.Keep.toString=$estr,kha_graphics4_StencilAction.Keep.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.Zero=["Zero",1],kha_graphics4_StencilAction.Zero.toString=$estr,kha_graphics4_StencilAction.Zero.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.Replace=["Replace",2],kha_graphics4_StencilAction.Replace.toString=$estr,kha_graphics4_StencilAction.Replace.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.Increment=["Increment",3],kha_graphics4_StencilAction.Increment.toString=$estr,kha_graphics4_StencilAction.Increment.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.IncrementWrap=["IncrementWrap",4],kha_graphics4_StencilAction.IncrementWrap.toString=$estr,kha_graphics4_StencilAction.IncrementWrap.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.Decrement=["Decrement",5],kha_graphics4_StencilAction.Decrement.toString=$estr,kha_graphics4_StencilAction.Decrement.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.DecrementWrap=["DecrementWrap",6],kha_graphics4_StencilAction.DecrementWrap.toString=$estr,kha_graphics4_StencilAction.DecrementWrap.__enum__=kha_graphics4_StencilAction,kha_graphics4_StencilAction.Invert=["Invert",7],kha_graphics4_StencilAction.Invert.toString=$estr,kha_graphics4_StencilAction.Invert.__enum__=kha_graphics4_StencilAction;var kha_graphics4_TessellationControlShader=$hxClasses["kha.graphics4.TessellationControlShader"]=function(e,t){this.shader=Krom.createTessellationControlShader(e[0].bytes.b.bufferValue,t[0])};kha_graphics4_TessellationControlShader.__name__=!0,kha_graphics4_TessellationControlShader.prototype={shader:null,delete:function(){Krom.deleteShader(this.shader),this.shader=null},__class__:kha_graphics4_TessellationControlShader};var kha_graphics4_TessellationEvaluationShader=$hxClasses["kha.graphics4.TessellationEvaluationShader"]=function(e,t){this.shader=Krom.createTessellationEvaluationShader(e[0].bytes.b.bufferValue,t[0])};kha_graphics4_TessellationEvaluationShader.__name__=!0,kha_graphics4_TessellationEvaluationShader.prototype={shader:null,delete:function(){Krom.deleteShader(this.shader),this.shader=null},__class__:kha_graphics4_TessellationEvaluationShader};var kha_graphics4_TexDir=$hxClasses["kha.graphics4.TexDir"]={__ename__:!0,__constructs__:["U","V"]};kha_graphics4_TexDir.U=["U",0],kha_graphics4_TexDir.U.toString=$estr,kha_graphics4_TexDir.U.__enum__=kha_graphics4_TexDir,kha_graphics4_TexDir.V=["V",1],kha_graphics4_TexDir.V.toString=$estr,kha_graphics4_TexDir.V.__enum__=kha_graphics4_TexDir;var kha_graphics4_TextureAddressing=$hxClasses["kha.graphics4.TextureAddressing"]={__ename__:!0,__constructs__:["Repeat","Mirror","Clamp"]};kha_graphics4_TextureAddressing.Repeat=["Repeat",0],kha_graphics4_TextureAddressing.Repeat.toString=$estr,kha_graphics4_TextureAddressing.Repeat.__enum__=kha_graphics4_TextureAddressing,kha_graphics4_TextureAddressing.Mirror=["Mirror",1],kha_graphics4_TextureAddressing.Mirror.toString=$estr,kha_graphics4_TextureAddressing.Mirror.__enum__=kha_graphics4_TextureAddressing,kha_graphics4_TextureAddressing.Clamp=["Clamp",2],kha_graphics4_TextureAddressing.Clamp.toString=$estr,kha_graphics4_TextureAddressing.Clamp.__enum__=kha_graphics4_TextureAddressing;var kha_graphics4_TextureFilter=$hxClasses["kha.graphics4.TextureFilter"]={__ename__:!0,__constructs__:["PointFilter","LinearFilter","AnisotropicFilter"]};kha_graphics4_TextureFilter.PointFilter=["PointFilter",0],kha_graphics4_TextureFilter.PointFilter.toString=$estr,kha_graphics4_TextureFilter.PointFilter.__enum__=kha_graphics4_TextureFilter,kha_graphics4_TextureFilter.LinearFilter=["LinearFilter",1],kha_graphics4_TextureFilter.LinearFilter.toString=$estr,kha_graphics4_TextureFilter.LinearFilter.__enum__=kha_graphics4_TextureFilter,kha_graphics4_TextureFilter.AnisotropicFilter=["AnisotropicFilter",2],kha_graphics4_TextureFilter.AnisotropicFilter.toString=$estr,kha_graphics4_TextureFilter.AnisotropicFilter.__enum__=kha_graphics4_TextureFilter;var kha_graphics4_TextureFormat=$hxClasses["kha.graphics4.TextureFormat"]={__ename__:!0,__constructs__:["RGBA32","L8","RGBA128","DEPTH16","RGBA64","A32","A16"]};kha_graphics4_TextureFormat.RGBA32=["RGBA32",0],kha_graphics4_TextureFormat.RGBA32.toString=$estr,kha_graphics4_TextureFormat.RGBA32.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.L8=["L8",1],kha_graphics4_TextureFormat.L8.toString=$estr,kha_graphics4_TextureFormat.L8.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.RGBA128=["RGBA128",2],kha_graphics4_TextureFormat.RGBA128.toString=$estr,kha_graphics4_TextureFormat.RGBA128.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.DEPTH16=["DEPTH16",3],kha_graphics4_TextureFormat.DEPTH16.toString=$estr,kha_graphics4_TextureFormat.DEPTH16.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.RGBA64=["RGBA64",4],kha_graphics4_TextureFormat.RGBA64.toString=$estr,kha_graphics4_TextureFormat.RGBA64.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.A32=["A32",5],kha_graphics4_TextureFormat.A32.toString=$estr,kha_graphics4_TextureFormat.A32.__enum__=kha_graphics4_TextureFormat,kha_graphics4_TextureFormat.A16=["A16",6],kha_graphics4_TextureFormat.A16.toString=$estr,kha_graphics4_TextureFormat.A16.__enum__=kha_graphics4_TextureFormat;var kha_graphics4_TextureUnit=$hxClasses["kha.graphics4.TextureUnit"]=function(){};kha_graphics4_TextureUnit.__name__=!0;var kha_graphics4_Usage=$hxClasses["kha.graphics4.Usage"]={__ename__:!0,__constructs__:["StaticUsage","DynamicUsage","ReadableUsage"]};kha_graphics4_Usage.StaticUsage=["StaticUsage",0],kha_graphics4_Usage.StaticUsage.toString=$estr,kha_graphics4_Usage.StaticUsage.__enum__=kha_graphics4_Usage,kha_graphics4_Usage.DynamicUsage=["DynamicUsage",1],kha_graphics4_Usage.DynamicUsage.toString=$estr,kha_graphics4_Usage.DynamicUsage.__enum__=kha_graphics4_Usage,kha_graphics4_Usage.ReadableUsage=["ReadableUsage",2],kha_graphics4_Usage.ReadableUsage.toString=$estr,kha_graphics4_Usage.ReadableUsage.__enum__=kha_graphics4_Usage;var kha_graphics4_VertexBuffer=$hxClasses["kha.graphics4.VertexBuffer"]=function(e,t,a,i,r){null==r&&(r=!1),null==i&&(i=0),this.vertexCount=e,this.structure=t,this.buffer=Krom.createVertexBuffer(e,t.elements,i);var s=new Float32Array(e*(t.byteSize()/4|0));this._data=s};kha_graphics4_VertexBuffer.__name__=!0,kha_graphics4_VertexBuffer.prototype={buffer:null,_data:null,vertexCount:null,structure:null,delete:function(){Krom.deleteVertexBuffer(this.buffer),this.buffer=null},lock:function(e,t){return this._data},unlock:function(){Krom.setVertices(this.buffer,this._data)},stride:function(){return this.structure.byteSize()},count:function(){return this.vertexCount},set:function(e){return Krom.setVertexBuffer(this.buffer),0},__class__:kha_graphics4_VertexBuffer};var kha_graphics4_VertexData=$hxClasses["kha.graphics4.VertexData"]={__ename__:!0,__constructs__:["Float1","Float2","Float3","Float4","Float4x4"]};kha_graphics4_VertexData.Float1=["Float1",0],kha_graphics4_VertexData.Float1.toString=$estr,kha_graphics4_VertexData.Float1.__enum__=kha_graphics4_VertexData,kha_graphics4_VertexData.Float2=["Float2",1],kha_graphics4_VertexData.Float2.toString=$estr,kha_graphics4_VertexData.Float2.__enum__=kha_graphics4_VertexData,kha_graphics4_VertexData.Float3=["Float3",2],kha_graphics4_VertexData.Float3.toString=$estr,kha_graphics4_VertexData.Float3.__enum__=kha_graphics4_VertexData,kha_graphics4_VertexData.Float4=["Float4",3],kha_graphics4_VertexData.Float4.toString=$estr,kha_graphics4_VertexData.Float4.__enum__=kha_graphics4_VertexData,kha_graphics4_VertexData.Float4x4=["Float4x4",4],kha_graphics4_VertexData.Float4x4.toString=$estr,kha_graphics4_VertexData.Float4x4.__enum__=kha_graphics4_VertexData;var kha_graphics4_VertexElement=$hxClasses["kha.graphics4.VertexElement"]=function(e,t){this.name=e,this.data=t};kha_graphics4_VertexElement.__name__=!0,kha_graphics4_VertexElement.prototype={name:null,data:null,__class__:kha_graphics4_VertexElement};var kha_graphics4_VertexShader=$hxClasses["kha.graphics4.VertexShader"]=function(e,t){null!=e&&(this.shader=Krom.createVertexShader(e[0].bytes.b.bufferValue,t[0]))};kha_graphics4_VertexShader.__name__=!0,kha_graphics4_VertexShader.fromSource=function(e){var t=new kha_graphics4_VertexShader(null,null);return t.shader=Krom.createVertexShaderFromSource(e),t},kha_graphics4_VertexShader.prototype={shader:null,delete:function(){Krom.deleteShader(this.shader),this.shader=null},__class__:kha_graphics4_VertexShader};var kha_graphics4_VertexStructure=$hxClasses["kha.graphics4.VertexStructure"]=function(){this.elements=[]};kha_graphics4_VertexStructure.__name__=!0,kha_graphics4_VertexStructure.prototype={elements:null,add:function(e,t){this.elements.push(new kha_graphics4_VertexElement(e,t))},size:function(){return this.elements.length},byteSize:function(){for(var e=0,t=0,a=this.elements.length;t<a;){var i=t++;e+=this.dataByteSize(this.elements[i].data)}return e},dataByteSize:function(e){switch(e[1]){case 0:return 4;case 1:return 8;case 2:return 12;case 3:return 16;case 4:return 64}},get:function(e){return this.elements[e]},__class__:kha_graphics4_VertexStructure};var kha_input_Gamepad=$hxClasses["kha.input.Gamepad"]=$hx_exports.kha.input.Gamepad=function(e,t){null==t&&(t="unknown"),null==e&&(e=0),this.index=e,this.axisListeners=[],this.buttonListeners=[],kha_input_Gamepad.instances[e]=this};kha_input_Gamepad.__name__=!0,kha_input_Gamepad.get=function(e){return null==e&&(e=0),e>=kha_input_Gamepad.instances.length?null:kha_input_Gamepad.instances[e]},kha_input_Gamepad.prototype={index:null,notify:function(e,t){null!=e&&this.axisListeners.push(e),null!=t&&this.buttonListeners.push(t)},remove:function(e,t){null!=e&&HxOverrides.remove(this.axisListeners,e),null!=t&&HxOverrides.remove(this.buttonListeners,t)},axisListeners:null,buttonListeners:null,id:null,get_id:function(){return kha_SystemImpl.getGamepadId(this.index)},sendAxisEvent:function(e,t){for(var a=0,i=this.axisListeners;a<i.length;){var r=i[a];++a,r(e,t)}},sendButtonEvent:function(e,t){for(var a=0,i=this.buttonListeners;a<i.length;){var r=i[a];++a,r(e,t)}},__class__:kha_input_Gamepad};var kha_network_Controller=$hxClasses["kha.network.Controller"]=function(){this.__id=kha_network_ControllerBuilder.nextId++,this._inputBuffer=new haxe_io_Bytes(new ArrayBuffer(1))};kha_network_Controller.__name__=!0,kha_network_Controller.prototype={__id:null,_inputBufferIndex:null,_inputBuffer:null,_id:function(){return this.__id},_receive:function(e){},__class__:kha_network_Controller};var kha_input_Keyboard=$hxClasses["kha.input.Keyboard"]=$hx_exports.kha.input.Keyboard=function(){kha_network_Controller.call(this),this.downListeners=[],this.upListeners=[],this.pressListeners=[],kha_input_Keyboard.instance=this};kha_input_Keyboard.__name__=!0,kha_input_Keyboard.get=function(e){return null==e&&(e=0),kha_SystemImpl.getKeyboard(e)},kha_input_Keyboard.__super__=kha_network_Controller,kha_input_Keyboard.prototype=$extend(kha_network_Controller.prototype,{notify:function(e,t,a){null!=e&&this.downListeners.push(e),null!=t&&this.upListeners.push(t),null!=a&&this.pressListeners.push(a)},remove:function(e,t,a){null!=e&&HxOverrides.remove(this.downListeners,e),null!=t&&HxOverrides.remove(this.upListeners,t),null!=a&&HxOverrides.remove(this.pressListeners,a)},show:function(){},hide:function(){},downListeners:null,upListeners:null,pressListeners:null,sendDownEvent:function(e){for(var t=0,a=this.downListeners;t<a.length;){var i=a[t];++t,i(e)}},sendUpEvent:function(e){for(var t=0,a=this.upListeners;t<a.length;){var i=a[t];++t,i(e)}},sendPressEvent:function(e){for(var t=0,a=this.pressListeners;t<a.length;){var i=a[t];++t,i(e)}},_receive:function(e){},__class__:kha_input_Keyboard});var kha_input_Mouse=$hxClasses["kha.input.Mouse"]=$hx_exports.kha.input.Mouse=function(){kha_network_Controller.call(this),kha_input_Mouse.instance=this};kha_input_Mouse.__name__=!0,kha_input_Mouse.get=function(e){return null==e&&(e=0),kha_SystemImpl.getMouse(e)},kha_input_Mouse.__super__=kha_network_Controller,kha_input_Mouse.prototype=$extend(kha_network_Controller.prototype,{notify:function(e,t,a,i,r){this.notifyWindowed(0,e,t,a,i,r)},remove:function(e,t,a,i,r){this.removeWindowed(0,e,t,a,i,r)},notifyWindowed:function(e,t,a,i,r,s){if(null!=t){for(null==this.windowDownListeners&&(this.windowDownListeners=[]);this.windowDownListeners.length<=e;)this.windowDownListeners.push([]);this.windowDownListeners[e].push(t)}if(null!=a){for(null==this.windowUpListeners&&(this.windowUpListeners=[]);this.windowUpListeners.length<=e;)this.windowUpListeners.push([]);this.windowUpListeners[e].push(a)}if(null!=i){for(null==this.windowMoveListeners&&(this.windowMoveListeners=[]);this.windowMoveListeners.length<=e;)this.windowMoveListeners.push([]);this.windowMoveListeners[e].push(i)}if(null!=r){for(null==this.windowWheelListeners&&(this.windowWheelListeners=[]);this.windowWheelListeners.length<=e;)this.windowWheelListeners.push([]);this.windowWheelListeners[e].push(r)}if(null!=s){for(null==this.windowLeaveListeners&&(this.windowLeaveListeners=[]);this.windowLeaveListeners.length<=e;)this.windowLeaveListeners.push([]);this.windowLeaveListeners[e].push(s)}},removeWindowed:function(e,t,a,i,r,s){null!=t&&(null!=this.windowDownListeners?e<this.windowDownListeners.length?HxOverrides.remove(this.windowDownListeners[e],t):haxe_Log.trace('no downListeners for window "'+e+'" are registered',{fileName:"Mouse.hx",lineNumber:88,className:"kha.input.Mouse",methodName:"removeWindowed"}):haxe_Log.trace("no downListeners were ever registered",{fileName:"Mouse.hx",lineNumber:91,className:"kha.input.Mouse",methodName:"removeWindowed"})),null!=a&&(null!=this.windowUpListeners?e<this.windowUpListeners.length?HxOverrides.remove(this.windowUpListeners[e],a):haxe_Log.trace('no upListeners for window "'+e+'" are registered',{fileName:"Mouse.hx",lineNumber:100,className:"kha.input.Mouse",methodName:"removeWindowed"}):haxe_Log.trace("no upListeners were ever registered",{fileName:"Mouse.hx",lineNumber:103,className:"kha.input.Mouse",methodName:"removeWindowed"})),null!=i&&(null!=this.windowMoveListeners?e<this.windowMoveListeners.length?HxOverrides.remove(this.windowMoveListeners[e],i):haxe_Log.trace('no moveListeners for window "'+e+'" are registered',{fileName:"Mouse.hx",lineNumber:112,className:"kha.input.Mouse",methodName:"removeWindowed"}):haxe_Log.trace("no moveListeners were ever registered",{fileName:"Mouse.hx",lineNumber:115,className:"kha.input.Mouse",methodName:"removeWindowed"})),null!=r&&(null!=this.windowWheelListeners?e<this.windowWheelListeners.length?HxOverrides.remove(this.windowWheelListeners[e],r):haxe_Log.trace('no wheelListeners for window "'+e+'" are registered',{fileName:"Mouse.hx",lineNumber:124,className:"kha.input.Mouse",methodName:"removeWindowed"}):haxe_Log.trace("no wheelListeners were ever registered",{fileName:"Mouse.hx",lineNumber:127,className:"kha.input.Mouse",methodName:"removeWindowed"})),null!=s&&(null!=this.windowLeaveListeners?e<this.windowLeaveListeners.length?HxOverrides.remove(this.windowLeaveListeners[e],s):haxe_Log.trace('no leaveListeners for window "'+e+'" are registered',{fileName:"Mouse.hx",lineNumber:136,className:"kha.input.Mouse",methodName:"removeWindowed"}):haxe_Log.trace("no leaveListeners were ever registered",{fileName:"Mouse.hx",lineNumber:139,className:"kha.input.Mouse",methodName:"removeWindowed"}))},lock:function(){},unlock:function(){},canLock:function(){return!1},isLocked:function(){return!1},notifyOnLockChange:function(e,t){},removeFromLockChange:function(e,t){},hideSystemCursor:function(){},showSystemCursor:function(){},windowDownListeners:null,windowUpListeners:null,windowMoveListeners:null,windowWheelListeners:null,windowLeaveListeners:null,sendLeaveEvent:function(e){if(null!=this.windowLeaveListeners)for(var t=0,a=this.windowLeaveListeners[e];t<a.length;){var i=a[t];++t,i()}},sendDownEvent:function(e,t,a,i){if(null!=this.windowDownListeners)for(var r=0,s=this.windowDownListeners[e];r<s.length;){var n=s[r];++r,n(t,a,i)}},sendUpEvent:function(e,t,a,i){if(null!=this.windowUpListeners)for(var r=0,s=this.windowUpListeners[e];r<s.length;){var n=s[r];++r,n(t,a,i)}},sendMoveEvent:function(e,t,a,i,r){if(null!=this.windowMoveListeners)for(var s=0,n=this.windowMoveListeners[e];s<n.length;){var _=n[s];++s,_(t,a,i,r)}},sendWheelEvent:function(e,t){if(null!=this.windowWheelListeners)for(var a=0,i=this.windowWheelListeners[e];a<i.length;){var r=i[a];++a,r(t)}},_receive:function(e){},__class__:kha_input_Mouse});var kha_input_MouseImpl=$hxClasses["kha.input.MouseImpl"]=function(){kha_input_Mouse.call(this)};kha_input_MouseImpl.__name__=!0,kha_input_MouseImpl.__super__=kha_input_Mouse,kha_input_MouseImpl.prototype=$extend(kha_input_Mouse.prototype,{_receive:function(e){},__class__:kha_input_MouseImpl});var kha_input_Surface=$hxClasses["kha.input.Surface"]=$hx_exports.kha.input.Surface=function(){this.touchStartListeners=[],this.touchEndListeners=[],this.moveListeners=[],kha_input_Surface.instance=this};kha_input_Surface.__name__=!0,kha_input_Surface.get=function(e){return null==e&&(e=0),0!=e?null:kha_input_Surface.instance},kha_input_Surface.prototype={notify:function(e,t,a){null!=e&&this.touchStartListeners.push(e),null!=t&&this.touchEndListeners.push(t),null!=a&&this.moveListeners.push(a)},remove:function(e,t,a){null!=e&&HxOverrides.remove(this.touchStartListeners,e),null!=t&&HxOverrides.remove(this.touchEndListeners,t),null!=a&&this.moveListeners.push(a)},touchStartListeners:null,touchEndListeners:null,moveListeners:null,sendTouchStartEvent:function(e,t,a){for(var i=0,r=this.touchStartListeners;i<r.length;){var s=r[i];++i,s(e,t,a)}},sendTouchEndEvent:function(e,t,a){for(var i=0,r=this.touchEndListeners;i<r.length;){var s=r[i];++i,s(e,t,a)}},sendMoveEvent:function(e,t,a){for(var i=0,r=this.moveListeners;i<r.length;){var s=r[i];++i,s(e,t,a)}},__class__:kha_input_Surface};var kha_internal_BytesBlob=$hxClasses["kha.internal.BytesBlob"]=function(e){this.myFirstLine=!0,this.bytes=e,this.buffer=[]};kha_internal_BytesBlob.__name__=!0,kha_internal_BytesBlob.__interfaces__=[kha_Resource],kha_internal_BytesBlob.fromBytes=function(e){return new kha_internal_BytesBlob(e)},kha_internal_BytesBlob.alloc=function(e){return new kha_internal_BytesBlob(new haxe_io_Bytes(new ArrayBuffer(e)))},kha_internal_BytesBlob.readF32=function(e){var t=0==(-2147483648&e)?1:-1,a=e>>23&255,i=8388607&e;switch(a){case 0:return 0;case 255:return 0!=i?NaN:t>0?1/0:-1/0;default:return t*((i+8388608)/8388608)*Math.pow(2,a-127)}},kha_internal_BytesBlob.bit=function(e,t){if(1==(e>>>t&1)){return 0,!0}return 0,!1},kha_internal_BytesBlob.prototype={bytes:null,buffer:null,myFirstLine:null,sub:function(e,t){return new kha_internal_BytesBlob(this.bytes.sub(e,t))},length:null,get_length:function(){return this.bytes.length},writeU8:function(e,t){this.bytes.b[e]=255&t},readU8:function(e){var t=this.bytes.b[e];return++e,t},readS8:function(e){var t=this.bytes.b[e];++e;var a=0==(128&t)?1:-1;return t&=127,a*t},readU16BE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1];return e+=2,256*t+a},readU16LE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1];return e+=2,256*a+t},readU32LE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1],i=this.bytes.b[e+2],r=this.bytes.b[e+3];return e+=4,t+256*a+256*i*256+256*r*256*256},readU32BE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1],i=this.bytes.b[e+2],r=this.bytes.b[e+3];return e+=4,r+256*i+256*a*256+256*t*256*256},readS16BE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1];e+=2;var i=0==(128&t)?1:-1;return t&=127,-1==i?256*t-32767+a:256*t+a},readS16LE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1],i=0==(128&a)?1:-1;return a&=127,e+=2,-1==i?256*a-32767+t:256*a+t},readS32LE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1],i=this.bytes.b[e+2],r=this.bytes.b[e+3],s=0==(128&r)?1:-1;return r&=127,e+=4,-1==s?-2147483647+t+256*a+256*i*256+256*r*256*256:t+256*a+256*i*256+256*r*256*256},readS32BE:function(e){var t=this.bytes.b[e],a=this.bytes.b[e+1],i=this.bytes.b[e+2],r=this.bytes.b[e+3],s=0==(128&t)?1:-1;return t&=127,e+=4,-1==s?-2147483647+r+256*i+256*a*256+256*t*256*256:r+256*i+256*a*256+256*t*256*256},readF32LE:function(e){return kha_internal_BytesBlob.readF32(this.readS32LE(e))},readF32BE:function(e){return kha_internal_BytesBlob.readF32(this.readS32BE(e))},toString:function(){return this.bytes.toString()},readUtf8Char:function(e){if(e.value>=this.get_length())return-1;var t=this.readU8(e.value);++e.value;var a=0;if(kha_internal_BytesBlob.bit(t,7))if(kha_internal_BytesBlob.bit(t,7)&&kha_internal_BytesBlob.bit(t,6)&&!kha_internal_BytesBlob.bit(t,5)){var i=31&t,r=this.readU8(e.value);++e.value,a=i<<6|63&r}else kha_internal_BytesBlob.bit(t,7)&&kha_internal_BytesBlob.bit(t,6)&&kha_internal_BytesBlob.bit(t,5)&&!kha_internal_BytesBlob.bit(t,4)?e.value+=2:kha_internal_BytesBlob.bit(t,7)&&kha_internal_BytesBlob.bit(t,6)&&kha_internal_BytesBlob.bit(t,5)&&kha_internal_BytesBlob.bit(t,4)&&!kha_internal_BytesBlob.bit(t,3)&&(e.value+=3);else a=t;return a},readUtf8Block:function(e){var t=0;if(e.value>=this.get_length())return"";for(;t<2e3;){var a=this.readUtf8Char(e);if(a<0)break;this.buffer[t]=a,++t}if(this.myFirstLine&&(this.myFirstLine=!1,t>2&&239==this.buffer[0]&&187==this.buffer[1]&&191==this.buffer[2])){for(var i=[],r=3,s=t-3;r<s;){var n=r++;i[n-3]=this.buffer[n]}return this.toText(i,t-3)}for(var _=[],o=0,h=t;o<h;){var l=o++;_[l]=this.buffer[l]}return this.toText(_,t)},toText:function(e,t){for(var a="",i=0,r=t;i<r;){var s=i++;a+=String.fromCharCode(e[s])}return a},readUtf8String:function(){for(var e="",t={value:0};t.value<this.get_length();)e+=this.readUtf8Block(t);return e},toBytes:function(){return this.bytes},unload:function(){this.bytes=null},__class__:kha_internal_BytesBlob};var kha_krom_Graphics=$hxClasses["kha.krom.Graphics"]=function(e){this.renderTarget=e};kha_krom_Graphics.__name__=!0,kha_krom_Graphics.__interfaces__=[kha_graphics4_Graphics],kha_krom_Graphics.prototype={renderTarget:null,begin:function(e){Krom.begin(this.renderTarget,e)},beginFace:function(e){Krom.beginFace(this.renderTarget,e)},beginEye:function(e){},end:function(){Krom.end()},flush:function(){},vsynced:function(){return!0},refreshRate:function(){return 60},clear:function(e,t,a){var i=0;null!=e&&(i|=1),null!=t&&(i|=2),null!=a&&(i|=4),Krom.clear(i,null==e?0:e,t,a)},viewport:function(e,t,a,i){Krom.viewport(e,t,a,i)},setVertexBuffer:function(e){e.set(0)},setVertexBuffers:function(e){Krom.setVertexBuffers(e)},setIndexBuffer:function(e){e.set()},setCubeMap:function(e,t){Krom.setTexture(e,t)},setCubeMapDepth:function(e,t){Krom.setTextureDepth(e,t)},setTexture:function(e,t){Krom.setTexture(e,t)},setTextureDepth:function(e,t){Krom.setTextureDepth(e,t)},setVideoTexture:function(e,t){},setImageTexture:function(e,t){Krom.setImageTexture(e,t)},setTextureParameters:function(e,t,a,i,r,s){Krom.setTextureParameters(e,t[1],a[1],i[1],r[1],s[1])},setTexture3DParameters:function(e,t,a,i,r,s,n){Krom.setTexture3DParameters(e,t[1],a[1],i[1],r[1],s[1],n[1])},setPipeline:function(e){e.set()},setBool:function(e,t){Krom.setBool(e,t)},setInt:function(e,t){Krom.setInt(e,t)},setFloat:function(e,t){Krom.setFloat(e,t)},setFloat2:function(e,t,a){Krom.setFloat2(e,t,a)},setFloat3:function(e,t,a,i){Krom.setFloat3(e,t,a,i)},setFloat4:function(e,t,a,i,r){Krom.setFloat4(e,t,a,i,r)},setFloats:function(e,t){for(var a=new Float32Array(t.length),i=0,r=t.length;i<r;){var s=i++;a[s]=t[s]}Krom.setFloats(e,a)},setVector2:function(e,t){Krom.setFloat2(e,t.x,t.y)},setVector3:function(e,t){Krom.setFloat3(e,t.x,t.y,t.z)},setVector4:function(e,t){Krom.setFloat4(e,t.x,t.y,t.z,t.w)},setMatrix:function(e,t){Krom.setMatrix(e,t)},setMatrix3:function(e,t){Krom.setMatrix3(e,t)},drawIndexedVertices:function(e,t){null==t&&(t=-1),null==e&&(e=0),Krom.drawIndexedVertices(e,t)},drawIndexedVerticesInstanced:function(e,t,a){null==a&&(a=-1),null==t&&(t=0),Krom.drawIndexedVerticesInstanced(e,t,a)},instancedRenderingAvailable:function(){return!1},scissor:function(e,t,a,i){Krom.scissor(e,t,a,i)},disableScissor:function(){Krom.disableScissor()},renderTargetsInvertedY:function(){return Krom.renderTargetsInvertedY()},__class__:kha_krom_Graphics};var kha_krom_Sound=$hxClasses["kha.krom.Sound"]=function(e){kha_Sound.call(this),this.compressedData=e,this.uncompressedData=null};kha_krom_Sound.__name__=!0,kha_krom_Sound.__super__=kha_Sound,kha_krom_Sound.prototype=$extend(kha_Sound.prototype,{uncompress:function(e){if(null==this.uncompressedData){var t=this.compressedData,a=t.length/4|0,i=new Array(a);this.uncompressedData=i;for(var r=0,s=a;r<s;){var n=r++;this.uncompressedData[n]=t.getFloat(4*n)}this.compressedData=null,e()}else e()},unload:function(){kha_Sound.prototype.unload.call(this)},__class__:kha_krom_Sound});var kha_math_FastMatrix3=$hxClasses["kha.math.FastMatrix3"]=function(e,t,a,i,r,s,n,_,o){this._00=e,this._10=t,this._20=a,this._01=i,this._11=r,this._21=s,this._02=n,this._12=_,this._22=o};kha_math_FastMatrix3.__name__=!0,kha_math_FastMatrix3.fromMatrix3=function(e){return new kha_math_FastMatrix3(e._00,e._10,e._20,e._01,e._11,e._21,e._02,e._12,e._22)},kha_math_FastMatrix3.prototype={_00:null,_10:null,_20:null,_01:null,_11:null,_21:null,_02:null,_12:null,_22:null,__class__:kha_math_FastMatrix3};var kha_math_FastMatrix4=$hxClasses["kha.math.FastMatrix4"]=function(e,t,a,i,r,s,n,_,o,h,l,u,c,d,p,g){this._00=e,this._10=t,this._20=a,this._30=i,this._01=r,this._11=s,this._21=n,this._31=_,this._02=o,this._12=h,this._22=l,this._32=u,this._03=c,this._13=d,this._23=p,this._33=g};kha_math_FastMatrix4.__name__=!0,kha_math_FastMatrix4.fromMatrix4=function(e){return new kha_math_FastMatrix4(e._00,e._10,e._20,e._30,e._01,e._11,e._21,e._31,e._02,e._12,e._22,e._32,e._03,e._13,e._23,e._33)},kha_math_FastMatrix4.orthogonalProjection=function(e,t,a,i,r,s){return new kha_math_FastMatrix4(2/(t-e),0,0,-(t+e)/(t-e),0,2/(i-a),0,-(i+a)/(i-a),0,0,-2/(s-r),-(s+r)/(s-r),0,0,0,1)},kha_math_FastMatrix4.perspectiveProjection=function(e,t,a,i){var r=1/Math.tan(e/2);return new kha_math_FastMatrix4(r/t,0,0,0,0,r,0,0,0,0,(i+a)/(a-i),2*i*a/(a-i),0,0,-1,0)},kha_math_FastMatrix4.lookAt=function(e,t,a){var i=new kha_math_FastVector3(t.x-e.x,t.y-e.y,t.z-e.z);i.set_length(1);var r=i.y*a.z-i.z*a.y,s=i.z*a.x-i.x*a.z,n=i.x*a.y-i.y*a.x,_=new kha_math_FastVector3(r,s,n);_.set_length(1);var o,h,l;return l=_.y*i.z-_.z*i.y,h=_.z*i.x-_.x*i.z,o=_.x*i.y-_.y*i.x,new kha_math_FastMatrix4(_.x,_.y,_.z,-(_.x*e.x+_.y*e.y+_.z*e.z),l,h,o,-(l*e.x+h*e.y+o*e.z),-i.x,-i.y,-i.z,i.x*e.x+i.y*e.y+i.z*e.z,0,0,0,1)},kha_math_FastMatrix4.prototype={_00:null,_10:null,_20:null,_30:null,_01:null,_11:null,_21:null,_31:null,_02:null,_12:null,_22:null,_32:null,_03:null,_13:null,_23:null,_33:null,__class__:kha_math_FastMatrix4};var kha_math_FastVector2=$hxClasses["kha.math.FastVector2"]=function(e,t){null==t&&(t=0),null==e&&(e=0),this.x=e,this.y=t};kha_math_FastVector2.__name__=!0,kha_math_FastVector2.fromVector2=function(e){return new kha_math_FastVector2(e.x,e.y)},kha_math_FastVector2.prototype={x:null,y:null,get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,e},toString:function(){return"FastVector2("+this.x+", "+this.y+")"},__class__:kha_math_FastVector2};var kha_math_FastVector3=$hxClasses["kha.math.FastVector3"]=function(e,t,a){null==a&&(a=0),null==t&&(t=0),null==e&&(e=0),this.x=e,this.y=t,this.z=a};kha_math_FastVector3.__name__=!0,kha_math_FastVector3.fromVector3=function(e){return new kha_math_FastVector3(e.x,e.y,e.z)},kha_math_FastVector3.prototype={x:null,y:null,z:null,get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,this.z*=a,e},toString:function(){return"FastVector3("+this.x+", "+this.y+", "+this.z+")"},__class__:kha_math_FastVector3};var kha_math_FastVector4=$hxClasses["kha.math.FastVector4"]=function(e,t,a,i){null==i&&(i=1),null==a&&(a=0),null==t&&(t=0),null==e&&(e=0),this.x=e,this.y=t,this.z=a,this.w=i};kha_math_FastVector4.__name__=!0,kha_math_FastVector4.fromVector4=function(e){return new kha_math_FastVector4(e.x,e.y,e.z,e.w)},kha_math_FastVector4.prototype={x:null,y:null,z:null,w:null,get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,this.z*=a,this.w*=a,e},toString:function(){return"FastVector4("+this.x+", "+this.y+", "+this.z+", "+this.w+")"},__class__:kha_math_FastVector4};var kha_math_Matrix3=$hxClasses["kha.math.Matrix3"]=function(e,t,a,i,r,s,n,_,o){this._00=e,this._10=t,this._20=a,this._01=i,this._11=r,this._21=s,this._02=n,this._12=_,this._22=o};kha_math_Matrix3.__name__=!0,kha_math_Matrix3.prototype={_00:null,_10:null,_20:null,_01:null,_11:null,_21:null,_02:null,_12:null,_22:null,__class__:kha_math_Matrix3};var kha_math_Matrix4=$hxClasses["kha.math.Matrix4"]=function(e,t,a,i,r,s,n,_,o,h,l,u,c,d,p,g){this._00=e,this._10=t,this._20=a,this._30=i,this._01=r,this._11=s,this._21=n,this._31=_,this._02=o,this._12=h,this._22=l,this._32=u,this._03=c,this._13=d,this._23=p,this._33=g};kha_math_Matrix4.__name__=!0,kha_math_Matrix4.orthogonalProjection=function(e,t,a,i,r,s){return new kha_math_Matrix4(2/(t-e),0,0,-(t+e)/(t-e),0,2/(i-a),0,-(i+a)/(i-a),0,0,-2/(s-r),-(s+r)/(s-r),0,0,0,1)},kha_math_Matrix4.perspectiveProjection=function(e,t,a,i){var r=1/Math.tan(e/2);return new kha_math_Matrix4(r/t,0,0,0,0,r,0,0,0,0,(i+a)/(a-i),2*i*a/(a-i),0,0,-1,0)},kha_math_Matrix4.lookAt=function(e,t,a){var i=new kha_math_Vector3(t.x-e.x,t.y-e.y,t.z-e.z);i.set_length(1);var r=i.y*a.z-i.z*a.y,s=i.z*a.x-i.x*a.z,n=i.x*a.y-i.y*a.x,_=new kha_math_Vector3(r,s,n);_.set_length(1);var o,h,l;return l=_.y*i.z-_.z*i.y,h=_.z*i.x-_.x*i.z,o=_.x*i.y-_.y*i.x,new kha_math_Matrix4(_.x,_.y,_.z,-(_.x*e.x+_.y*e.y+_.z*e.z),l,h,o,-(l*e.x+h*e.y+o*e.z),-i.x,-i.y,-i.z,i.x*e.x+i.y*e.y+i.z*e.z,0,0,0,1)},kha_math_Matrix4.prototype={_00:null,_10:null,_20:null,_30:null,_01:null,_11:null,_21:null,_31:null,_02:null,_12:null,_22:null,_32:null,_03:null,_13:null,_23:null,_33:null,__class__:kha_math_Matrix4};var kha_math_Vector2=$hxClasses["kha.math.Vector2"]=function(e,t){null==t&&(t=0),null==e&&(e=0),this.x=e,this.y=t};kha_math_Vector2.__name__=!0,kha_math_Vector2.prototype={x:null,y:null,get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,e},__class__:kha_math_Vector2};var kha_math_Vector3=$hxClasses["kha.math.Vector3"]=function(e,t,a){null==a&&(a=0),null==t&&(t=0),null==e&&(e=0),this.x=e,this.y=t,this.z=a};kha_math_Vector3.__name__=!0,kha_math_Vector3.prototype={x:null,y:null,z:null,get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,this.z*=a,e},__class__:kha_math_Vector3};var kha_math_Vector4=$hxClasses["kha.math.Vector4"]=function(e,t,a,i){null==i&&(i=1),null==a&&(a=0),null==t&&(t=0),null==e&&(e=0),this.x=e,this.y=t,this.z=a,this.w=i};kha_math_Vector4.__name__=!0,kha_math_Vector4.prototype={x:null,y:null,z:null,w:null,get_length:function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},set_length:function(e){var t=this.get_length();if(0==t)return 0;var a=e/t;return this.x*=a,this.y*=a,this.z*=a,this.w*=a,e},__class__:kha_math_Vector4};var kha_network_ControllerBuilder=$hxClasses["kha.network.ControllerBuilder"]=function(){};kha_network_ControllerBuilder.__name__=!0;var kha_simd_Float32x4=$hxClasses["kha.simd.Float32x4"]=function(e,t,a,i){this._0=e,this._1=t,this._2=a,this._3=i};kha_simd_Float32x4.__name__=!0,kha_simd_Float32x4.create=function(){return new kha_simd_Float32x4(0,0,0,0)},kha_simd_Float32x4.loadAllFast=function(e){return new kha_simd_Float32x4(e,e,e,e)},kha_simd_Float32x4.load=function(e,t,a,i){return new kha_simd_Float32x4(e,t,a,i)},kha_simd_Float32x4.loadFast=function(e,t,a,i){return new kha_simd_Float32x4(e,t,a,i)},kha_simd_Float32x4.get=function(e,t){var a=0;switch(t){case 0:a=e._0;break;case 1:a=e._1;break;case 2:a=e._2;break;case 3:a=e._3}return a},kha_simd_Float32x4.getFast=function(e,t){switch(t){case 0:return e._0;case 1:return e._1;case 2:return e._2;case 3:return e._3}return 0},kha_simd_Float32x4.abs=function(e){return new kha_simd_Float32x4(Math.abs(e._0),Math.abs(e._1),Math.abs(e._2),Math.abs(e._3))},kha_simd_Float32x4.add=function(e,t){return new kha_simd_Float32x4(e._0+t._0,e._1+t._1,e._2+t._2,e._3+t._3)},kha_simd_Float32x4.div=function(e,t){return new kha_simd_Float32x4(e._0/t._0,e._1/t._1,e._2/t._2,e._3/t._3)},kha_simd_Float32x4.mul=function(e,t){return new kha_simd_Float32x4(e._0*t._0,e._1*t._1,e._2*t._2,e._3*t._3)},kha_simd_Float32x4.neg=function(e){return new kha_simd_Float32x4(-e._0,-e._1,-e._2,-e._3)},kha_simd_Float32x4.reciprocalApproximation=function(e){return new kha_simd_Float32x4(0,0,0,0)},kha_simd_Float32x4.reciprocalSqrtApproximation=function(e){return new kha_simd_Float32x4(0,0,0,0)},kha_simd_Float32x4.sub=function(e,t){return new kha_simd_Float32x4(e._0-t._0,e._1-t._1,e._2-t._2,e._3-t._3)},kha_simd_Float32x4.sqrt=function(e){return new kha_simd_Float32x4(Math.sqrt(e._0),Math.sqrt(e._1),Math.sqrt(e._2),Math.sqrt(e._3))},kha_simd_Float32x4.prototype={_0:null,_1:null,_2:null,_3:null,__class__:kha_simd_Float32x4};var zui_Canvas=$hxClasses["zui.Canvas"]=function(){};zui_Canvas.__name__=!0,zui_Canvas.draw=function(e,t,a){zui_Canvas.events=[],e.begin(a),e.g=a;for(var i=0,r=t.elements;i<r.length;){var s=r[i];++i,zui_Canvas.drawElement(e,t,s)}return e.end(),zui_Canvas.events},zui_Canvas.drawElement=function(e,t,a){switch(e._x=t.x+a.x,e._y=t.y+a.y,e._w=a.width,a.type){case 0:var i=e.fontSmallSize;e.fontSmallSize=a.height,e.text(a.text),e.fontSmallSize=i;break;case 1:var r=zui_Canvas.getAsset(t,a.asset);null!=r&&e.image(r);break;case 2:e.button(a.text)&&zui_Canvas.events.push(a.event)}if(null!=a.children)for(var s=0,n=a.children;s<n.length;){var _=n[s];++s,zui_Canvas.drawElement(e,t,_)}},zui_Canvas.getAsset=function(e,t){for(var a=0,i=e.assets;a<i.length;){var r=i[a];if(++a,r.name==t)return r.image}return null},zui_Canvas.getElementId=function(e){if(-1==zui_Canvas.elemId)for(var t=0,a=e.elements;t<a.length;){var i=a[t];++t,zui_Canvas.elemId<i.id&&(zui_Canvas.elemId=i.id)}return++zui_Canvas.elemId};var zui_Ext=$hxClasses["zui.Ext"]=function(){};zui_Ext.__name__=!0,zui_Ext.list=function(e,t,a,i,r,s,n,_,o,h,l){null==l&&(l=!0),null==h&&(h=!0),null==o&&(o=!1);var u=0;null==i&&(i=function(e){a.push(e)}),null==r&&(r=function(e){a.splice(e,1)}),null==s&&(s=function(e){return a[e]}),null==n&&(n=function(e,t){a[e]=t});for(var c=0;c<a.length;){o?(e.row([.12,.68,.2]),e.radio(t.nest(0),c,"")&&(u=c)):e.row([.8,.2]);var d=t.nest(c);h?n(c,e.textInput(d,s(c))):e.text(s(c)),e.button("X")?r(c):++c,null!=_&&_(d.nest(c),c-1)}return l&&e.button("Add")&&i("untitled"),u},zui_Ext.panelList=function(e,t,a,i,r,s,n,_,o,h){null==h&&(h=!0),null==o&&(o=!0),null==i&&(i=function(e){a.push(e)}),null==r&&(r=function(e){a.splice(e,1)}),null==s&&(s=function(e){return a[e]}),null==n&&(n=function(e,t){a[e]=t});for(var l=0;l<a.length;){e.row([.12,.68,.2]);var u=e.panel(t.nest(l),"",0),c=t.nest(l);o?n(l,e.textInput(c,s(l))):e.text(s(l)),e.button("X")?r(l):++l,null!=_&&u&&_(c.nest(l),l-1)}h&&e.button("Add")&&i("untitled")},zui_Ext.colorPicker=function(e,t,a){null==a&&(a=!1);var i=e.slider(t.nest(0,{value:.00392156862745098*((16711680&t.color)>>>16)}),"R",0,1,!0),r=e.slider(t.nest(1,{value:.00392156862745098*((65280&t.color)>>>8)}),"G",0,1,!0),s=e.slider(t.nest(2,{value:.00392156862745098*(255&t.color)}),"B",0,1,!0),n=.00392156862745098*(t.color>>>24);a&&(n=e.slider(t.nest(3,{value:n}),"A",0,1,!0));var _=kha__$Color_Color_$Impl_$.fromFloats(i,r,s,n);return e.text("",2,_),_},zui_Ext.initPath=function(e,t){e.text="Windows"==t?"C:\\Users":"/"},zui_Ext.fileBrowser=function(e,t){var a="ls ",i=kha_System.get_systemId();""==t.text&&(zui_Ext.initPath(t,i),"Windows"==i&&(a="dir "));var r="Linux"==i?"/tmp":Krom.savePath();r+="/dir.txt",Krom.sysCommand(a+t.text+' > "'+r+'"');var s=haxe_io_Bytes.ofData(Krom.loadBlob(r)).toString().split("\n");(-1!=t.text.indexOf("/",1)||-1!=t.text.indexOf("\\",2))&&e.button("..",0)&&(t.text=t.text.substring(0,t.text.lastIndexOf("/")));for(var n=0;n<s.length;){var _=s[n];++n,""!=_&&"."!=_.charAt(0)&&e.button(_,0)&&(t.text+="/"+_)}return t.text},zui_Ext.colorWheel=function(e,t,a,i,r){null==r&&(r=!1),null==a&&(a=!1),null==i&&(i=e._w),zui_Ext.rgbToHsv(t.r,t.g,t.b,zui_Ext.ar);var s=zui_Ext.ar[0],n=zui_Ext.ar[1],_=zui_Ext.ar[2],o=e._x,h=e._y;null!=e.currentWindow&&e.currentWindow.scrollEnabled||(i-=e.t._SCROLL_W*e.SCALE|0,o+=(e.t._SCROLL_W*e.SCALE|0)/2),e.image(e.ops.color_wheel,kha__$Color_Color_$Impl_$.fromFloats(_,_,_));var l=o+i/2,u=h+(e._y-h)/2,c=.7*i,d=c/2,p=l,g=u+n*d,f=s*(2*Math.PI),v=Math.cos(f)*(p-l)-Math.sin(f)*(g-u)+l,k=Math.sin(f)*(p-l)+Math.cos(f)*(g-u)+u;p=v,g=k,e.g.set_color(-16777216),e.g.fillRect(p-3,g-3,6,6),e.g.set_color(-1),e.g.fillRect(p-2,g-2,4,4),r&&e.row([.5,.5]),_=e.slider(t.nest(0,{value:1}),"Value",0,1,!0);var m=l+e._windowX,b=u+e._windowY;if(e.inputStarted&&e.getInputInRect(m-d,b-d,c,c)&&(zui_Ext.wheelSelectedHande=t),e.inputReleased&&(zui_Ext.wheelSelectedHande=null),e.inputDown&&zui_Ext.wheelSelectedHande==t){var S=m-e.inputX,y=b-e.inputY;n=Math.min(Math.sqrt(S*S+y*y),d)/d;var x=Math.atan2(e.inputX-m,e.inputY-b);x<0&&(x=Math.PI+(Math.PI-Math.abs(x))),s=(x=2*Math.PI-x)/(2*Math.PI),t.changed=e.changed=!0}return zui_Ext.hsvToRgb(s,n,_,zui_Ext.ar),t.r=zui_Ext.ar[0],t.g=zui_Ext.ar[1],t.b=zui_Ext.ar[2],t.color=kha__$Color_Color_$Impl_$.fromFloats(t.r,t.g,t.b),e.text("",2,t.color),t.color},zui_Ext.dist=function(e,t,a,i){var r=e-a,s=t-i;return Math.sqrt(r*r+s*s)},zui_Ext.fract=function(e){return e-(0|e)},zui_Ext.mix=function(e,t,a){return e*(1-a)+t*a},zui_Ext.clamp=function(e,t,a){return Math.min(Math.max(e,t),a)},zui_Ext.step=function(e,t){return t<e?0:1},zui_Ext.hsvToRgb=function(e,t,a,i){var r=e+1,s=Math.abs(6*(r-(0|r))-3),n=e+.6666666666666666,_=Math.abs(6*(n-(0|n))-3),o=e+.3333333333333333,h=Math.abs(6*(o-(0|o))-3);i[0]=a*(1-t+Math.min(Math.max(s-1,0),1)*t),i[1]=a*(1-t+Math.min(Math.max(_-1,0),1)*t),i[2]=a*(1-t+Math.min(Math.max(h-1,0),1)*t)},zui_Ext.rgbToHsv=function(e,t,a,i){var r=t<a?0:1,s=a*(1-r)+t*r,n=t<a?0:1,_=t*(1-n)+a*n,o=t<a?0:1,h=-1*(1-o)+0*o,l=t<a?0:1,u=.6666666666666666*(1-l)+-.3333333333333333*l,c=e<s?0:1,d=s*(1-c)+e*c,p=e<s?0:1,g=_*(1-p)+_*p,f=e<s?0:1,v=u*(1-f)+h*f,k=e<s?0:1,m=e*(1-k)+s*k,b=d-Math.min(m,g);i[0]=Math.abs(v+(m-g)/(6*b+1e-10)),i[1]=b/(d+1e-10),i[2]=d};var zui_Id=$hxClasses["zui.Id"]=function(){};zui_Id.__name__=!0;var zui_Themes=$hxClasses["zui.Themes"]=function(){};zui_Themes.__name__=!0;var zui_Zui=$hxClasses["zui.Zui"]=function(e){this.elementsBaked=!1,this.comboToSubmit=0,this.submitComboHandle=null,this.comboSelectedWindow=null,this.comboSelectedHandle=null,this.textToSubmit="",this.submitTextHandle=null,this.textSelectedHandle=null,this.scrollEnabled=!0,this.scrollingHandle=null,this.windowEnded=!0,this.curRatio=-1,this.cursorY=0,this.cursorX=0,this.isKeyDown=!1,this.inputWheelDelta=0,this.inputEnabled=!0,this.inputRegistered=!1,this.changed=!1,this.isTyping=!1,this.isScrolling=!1,null==e.theme&&(e.theme=zui_Themes.dark),this.t=e.theme,null==e.khaWindowId&&(e.khaWindowId=0),null==e.scaleFactor&&(e.scaleFactor=1),null==e.scaleTexture&&(e.scaleTexture=1),null==e.autoNotifyInput&&(e.autoNotifyInput=!0),this.ops=e,e.autoNotifyInput&&this.registerInput()};zui_Zui.__name__=!0,zui_Zui.prototype={isScrolling:null,isTyping:null,changed:null,inputRegistered:null,inputEnabled:null,inputX:null,inputY:null,inputInitialX:null,inputInitialY:null,inputDX:null,inputDY:null,inputWheelDelta:null,inputStarted:null,inputReleased:null,inputDown:null,inputDownR:null,isKeyDown:null,key:null,char:null,cursorX:null,cursorY:null,ratios:null,curRatio:null,xBeforeSplit:null,wBeforeSplit:null,globalG:null,g:null,t:null,SCALE:null,ops:null,fontSize:null,fontSmallSize:null,fontOffsetY:null,fontSmallOffsetY:null,arrowOffsetX:null,arrowOffsetY:null,titleOffsetX:null,buttonOffsetY:null,checkOffsetX:null,checkOffsetY:null,checkSelectOffsetX:null,checkSelectOffsetY:null,radioOffsetX:null,radioOffsetY:null,radioSelectOffsetX:null,radioSelectOffsetY:null,scrollAlign:null,_x:null,_y:null,_w:null,_h:null,_windowX:null,_windowY:null,_windowW:null,_windowH:null,currentWindow:null,windowEnded:null,scrollingHandle:null,scrollEnabled:null,textSelectedHandle:null,textSelectedCurrentText:null,submitTextHandle:null,textToSubmit:null,comboSelectedHandle:null,comboSelectedWindow:null,comboSelectedAlign:null,comboSelectedTexts:null,comboSelectedLabel:null,comboSelectedX:null,comboSelectedY:null,comboSelectedW:null,submitComboHandle:null,comboToSubmit:null,elementsBaked:null,bakeElements:function(e){this.SCALE=this.ops.scaleFactor=e*this.ops.scaleTexture,this.fontSize=this.t._FONT_SIZE*this.ops.scaleFactor|0,this.fontSmallSize=this.t._FONT_SMALL_SIZE*this.ops.scaleFactor|0;var t=this.ops.font.height(this.fontSize),a=this.ops.font.height(this.fontSmallSize);if(this.fontOffsetY=(this.t._ELEMENT_H*this.SCALE-t)/2,this.fontSmallOffsetY=(this.t._ELEMENT_H*this.SCALE-a)/2,this.arrowOffsetY=(this.t._ELEMENT_H*this.SCALE-this.t._ARROW_H*this.SCALE)/2,this.arrowOffsetX=this.arrowOffsetY,this.titleOffsetX=(2*this.arrowOffsetX+this.t._ARROW_W*this.SCALE)/this.SCALE,this.buttonOffsetY=(this.t._ELEMENT_H*this.SCALE-this.t._BUTTON_H*this.SCALE)/2,this.checkOffsetY=(this.t._ELEMENT_H*this.SCALE-this.t._CHECK_H*this.SCALE)/2,this.checkOffsetX=this.checkOffsetY,this.checkSelectOffsetY=(this.t._CHECK_H*this.SCALE-this.t._CHECK_SELECT_H*this.SCALE)/2,this.checkSelectOffsetX=this.checkSelectOffsetY,this.radioOffsetY=(this.t._ELEMENT_H*this.SCALE-this.t._RADIO_H*this.SCALE)/2,this.radioOffsetX=this.radioOffsetY,this.radioSelectOffsetY=(this.t._RADIO_H*this.SCALE-this.t._RADIO_SELECT_H*this.SCALE)/2,this.radioSelectOffsetX=this.radioSelectOffsetY,this.scrollAlign=0,this.elementsBaked=!0,null==zui_Zui.checkSelectImage){zui_Zui.checkSelectImage=kha_Image.createRenderTarget(this.t._CHECK_SELECT_W*this.SCALE|0,this.t._CHECK_SELECT_H*this.SCALE|0,null,0,1,this.ops.khaWindowId);var i=zui_Zui.checkSelectImage.get_g2();i.begin(!0,0),i.set_color(this.t.CHECK_SELECT_COL),i.drawLine(0,0,this.t._CHECK_SELECT_W*this.SCALE,this.t._CHECK_SELECT_H*this.SCALE,2),i.drawLine(this.t._CHECK_SELECT_W*this.SCALE,0,0,this.t._CHECK_SELECT_H*this.SCALE,2),i.end()}},remove:function(){this.ops.autoNotifyInput&&this.unregisterInput()},registerInput:function(){kha_input_Mouse.get().notifyWindowed(this.ops.khaWindowId,$bind(this,this.onMouseDown),$bind(this,this.onMouseUp),$bind(this,this.onMouseMove),$bind(this,this.onMouseWheel)),kha_input_Keyboard.get().notify($bind(this,this.onKeyDown),$bind(this,this.onKeyUp),$bind(this,this.onKeyPress)),this.inputRegistered=!0},unregisterInput:function(){kha_input_Mouse.get().removeWindowed(this.ops.khaWindowId,$bind(this,this.onMouseDown),$bind(this,this.onMouseUp),$bind(this,this.onMouseMove),$bind(this,this.onMouseWheel)),kha_input_Keyboard.get().remove($bind(this,this.onKeyDown),$bind(this,this.onKeyUp),$bind(this,this.onKeyPress)),this.endInput(),this.inputX=this.inputY=0,this.inputRegistered=!1},begin:function(e){this.elementsBaked||this.bakeElements(this.ops.scaleFactor),this.SCALE=this.ops.scaleFactor,this.globalG=e,this._x=0,this._y=0,this._w=0,this._h=0},end:function(e){null==e&&(e=!0),this.windowEnded||this.endWindow(),null!=this.comboSelectedHandle&&this.drawCombo(),e&&this.endInput()},endInput:function(){this.isKeyDown=!1,this.inputStarted=!1,this.inputReleased=!1,this.inputDX=0,this.inputDY=0,this.inputWheelDelta=0},beginLayout:function(e,t,a,i){this.elementsBaked||this.bakeElements(this.ops.scaleFactor),this.currentWindow=null,this.g=e,this.SCALE=1,this._windowX=0,this._windowY=0,this._windowW=i,this._x=t,this._y=a,this._w=i},endLayout:function(e){null==e&&(e=!0),e&&this.endInput()},inputChanged:function(){return!!(0!=this.inputDX||0!=this.inputDY||0!=this.inputWheelDelta||this.inputStarted||this.inputReleased||this.inputDown||this.inputDownR)||this.isKeyDown},window:function(e,t,a,i,r,s){return null==s&&(s=!1),i|=0,r|=0,null!=e.texture&&i==e.texture.get_width()&&r==e.texture.get_height()||this.resize(e,i,r,this.ops.khaWindowId),this.windowEnded||this.endWindow(),this.windowEnded=!1,this.g=e.texture.get_g2(),this.currentWindow=e,this._windowX=t+e.dragX,this._windowY=a+e.dragY,this._windowW=i,this._windowH=r,this.getInputInRect(this._windowX,this._windowY,this._windowW,this._windowH)&&this.inputChanged()&&(e.redraws=2),!(0==e.redraws&&!this.isScrolling&&!this.isTyping)&&(this._x=0,this._y=e.scrollOffset,1==e.layout&&(i=this.t._ELEMENT_W*this.SCALE|0),this._w=e.scrollEnabled?i-(this.t._SCROLL_W*this.SCALE|0):i,this._h=r,this.t.FILL_WINDOW_BG?this.g.begin(!0,this.t.WINDOW_BG_COL):(this.g.begin(!0,0),this.g.set_color(this.t.WINDOW_BG_COL),this.g.fillRect(this._x,this._y-e.scrollOffset,e.lastMaxX,e.lastMaxY)),e.dragEnabled=s,s&&(this.inputStarted&&this.getInputInRect(this._windowX,this._windowY,this._windowW,15)?e.dragging=!0:this.inputReleased&&(e.dragging=!1),e.dragging&&(e.redraws=2,e.dragX+=0|this.inputDX,e.dragY+=0|this.inputDY),this._y+=15),!0)},endWindow:function(){var e=this.currentWindow;if(e.redraws>0||this.isScrolling||this.isTyping){e.dragEnabled&&(this.g.set_color(this.t.SEPARATOR_COL),this.g.fillRect(0,0,this._windowW,15));var t=this._y-e.scrollOffset;if(t<this._windowH||1==e.layout||!this.scrollEnabled)e.scrollEnabled=!1,e.scrollOffset=0;else{e.scrollEnabled=!0;var a=t-this._windowH,i=-e.scrollOffset/a,r=this._windowH*Math.abs(this._windowH/t);r=Math.max(r,this.t._ELEMENT_H*this.SCALE);var s=this._windowH-r,n=a/s,_=s*i;this.inputStarted&&this.getInputInRect(this._windowX+this._windowW-this.t._SCROLL_BAR_W*this.SCALE,_+this._windowY,this.t._SCROLL_BAR_W*this.SCALE,r)&&(e.scrolling=!0,this.scrollingHandle=e,this.isScrolling=!0),e.scrolling?this.scroll(this.inputDY*n,t):0!=this.inputWheelDelta&&this.scroll(this.inputWheelDelta*(this.t._ELEMENT_H*this.SCALE),t),e.scrollOffset>0?e.scrollOffset=0:t+e.scrollOffset<this._windowH&&(e.scrollOffset=this._windowH-t),this.g.set_color(this.t.SCROLL_BG_COL),this.g.fillRect(this._windowW-(this.t._SCROLL_W*this.SCALE|0),this._windowY,this.t._SCROLL_W*this.SCALE|0,this._windowH),this.g.set_color(this.t.SCROLL_COL),this.g.drawRect(this._windowW-this.t._SCROLL_BAR_W*this.SCALE-this.scrollAlign,_,this.t._SCROLL_BAR_W*this.SCALE,r)}e.lastMaxX=this._x,e.lastMaxY=this._y,0==e.layout?e.lastMaxX+=this._windowW:e.lastMaxY+=this._windowH,e.redraws--,this.g.end()}this.windowEnded=!0,this.globalG.begin(!1),this.globalG.set_color(this.t.WINDOW_TINT_COL),this.globalG.drawScaledImage(e.texture,this._windowX,this._windowY,e.texture.get_width()/this.ops.scaleTexture,e.texture.get_height()/this.ops.scaleTexture),this.globalG.end()},scroll:function(e,t){this.currentWindow.scrollOffset-=e},panel:function(e,t,a){if(null==a&&(a=0),!this.isVisible(this.t._ELEMENT_H*this.SCALE))return this.endElement(),e.selected;this.getReleased()&&(e.selected=!e.selected);var i=this.getHover();return a>0&&(this.g.set_color(1==a?this.t.PANEL_BG1_COL:this.t.PANEL_BG2_COL),this.g.fillRect(this._x,this._y,this._w,this.t._ELEMENT_H*this.SCALE)),this.drawArrow(e.selected,i),this.g.set_color(i?this.t.PANEL_TEXT_COL_HOVER:this.t.PANEL_TEXT_COL),this.g.set_opacity(1),a>0?this.drawString(this.g,t,this.titleOffsetX,0):this.drawStringSmall(this.g,t,this.titleOffsetX,0),this.endElement(),e.selected},image:function(e,t){null==t&&(t=-1);var a=this._w-2*this.buttonOffsetY,i=this._x+this.buttonOffsetY;if(!(null!=this.currentWindow&&this.currentWindow.scrollEnabled)){var r=-1==this.curRatio?1:this.ratios[this.curRatio];a-=(this.t._SCROLL_W*this.SCALE|0)*r,i+=(this.t._SCROLL_W*this.SCALE|0)*r/2}var s=a/e.get_width(),n=e.get_height()*s;if(!this.isVisible(n))return this.endElement(n),0;var _=this.getStarted(n),o=this.getPushed(n),h=this.getReleased(n);return this.g.set_color(t),this.g.drawScaledImage(e,i,this._y,a,n),this.endElement(n),_?1:h?3:o?2:0},text:function(e,t,a){null==a&&(a=0),null==t&&(t=0),this.isVisible(this.t._ELEMENT_H*this.SCALE)?(0!=a&&(this.g.set_color(a),this.g.fillRect(this._x+this.buttonOffsetY,this._y+this.buttonOffsetY,this._w-2*this.buttonOffsetY,this.t._BUTTON_H*this.SCALE)),this.g.set_color(this.t.TEXT_COL),this.drawStringSmall(this.g,e,this.t._DEFAULT_TEXT_OFFSET_X*this.SCALE,0,t),this.endElement()):this.endElement()},textInput:function(e,t,a){if(null==a&&(a=0),null==t&&(t=""),!this.isVisible(this.t._ELEMENT_H*this.SCALE))return this.endElement(),e.text;this.submitTextHandle==e?(e.text=this.textToSubmit,e.changed=this.changed=!0,this.textToSubmit="",this.submitTextHandle=null,this.textSelectedCurrentText=""):e.changed=!1;var i=this.getHover();this.g.set_color(i?this.t.TEXT_INPUT_BG_COL_HOVER:this.t.TEXT_INPUT_BG_COL);var r=this.g,s=this._x+this.buttonOffsetY,n=this._y+this.buttonOffsetY,_=this._w-2*this.buttonOffsetY,o=this.t._BUTTON_H*this.SCALE;if(this.t.FILL_TEXT_INPUT_BG?r.fillRect(s,n,_,o):r.drawRect(s,n,_,o,this.t._LINE_STRENGTH*this.SCALE),this.textSelectedHandle!=e&&this.getReleased()&&(this.isTyping=!0,this.submitTextHandle=this.textSelectedHandle,this.textToSubmit=this.textSelectedCurrentText,this.textSelectedHandle=e,this.textSelectedCurrentText=e.text,this.cursorX=e.text.length,this.cursorY=0,null!=kha_input_Keyboard.get()&&kha_input_Keyboard.get().show()),this.textSelectedHandle==e){var h=this.textSelectedCurrentText;if(this.isKeyDown&&(37==this.key?this.cursorX>0&&this.cursorX--:39==this.key?this.cursorX<h.length&&this.cursorX++:8==this.key?this.cursorX>0&&(h=HxOverrides.substr(h,0,this.cursorX-1)+HxOverrides.substr(h,this.cursorX,null),this.cursorX--):13==this.key?this.deselectText():16!=this.key&&20!=this.key&&null!=this.char&&""!=this.char&&HxOverrides.cca(this.char,0)>=32&&127!=HxOverrides.cca(this.char,0)&&(h=HxOverrides.substr(h,0,this.cursorX)+this.char+HxOverrides.substr(h,this.cursorX,null),this.cursorX++)),kha_Scheduler.time()%(2*this.t.TEXT_CURSOR_FLASH_SPEED)<this.t.TEXT_CURSOR_FLASH_SPEED){this.g.set_color(this.t.TEXT_CURSOR_COL);var l=this.t._ELEMENT_H*this.SCALE-3*this.buttonOffsetY,u=this.t._ELEMENT_H*this.SCALE,c=0==a?HxOverrides.substr(h,0,this.cursorX):h.substring(this.cursorX,h.length),d=this.g.get_font().width(this.g.get_fontSize(),c),p=this.t._DEFAULT_TEXT_OFFSET_X*this.SCALE,g=0==a?this._x+d+p:this._x+this._w-d-p;this.g.fillRect(g,this._y+this.cursorY*u+1.5*this.buttonOffsetY,this.SCALE,l)}this.textSelectedCurrentText=h}if(""!=t){this.g.set_color(this.t.DEFAULT_LABEL_COL);var f=2==a?0:2,v=0==f?7:0;this.drawStringSmall(this.g,t,v,0,f)}return this.g.set_color(this.t.TEXT_COL),this.textSelectedHandle!=e?this.drawStringSmall(this.g,e.text,null,0,a):this.drawStringSmall(this.g,this.textSelectedCurrentText,null,0,a),this.endElement(),e.text},deselectText:function(){this.submitTextHandle=this.textSelectedHandle,this.textToSubmit=this.textSelectedCurrentText,this.textSelectedHandle=null,this.isTyping=!1,null!=this.currentWindow&&(this.currentWindow.redraws=2),null!=kha_input_Keyboard.get()&&kha_input_Keyboard.get().hide()},button:function(e,t){if(null==t&&(t=1),!this.isVisible(this.t._ELEMENT_H*this.SCALE))return this.endElement(),!1;var a=this.getReleased(),i=this.getPushed(),r=this.getHover();this.g.set_color(i?this.t.BUTTON_BG_COL_PRESSED:r?this.t.BUTTON_BG_COL_HOVER:this.t.BUTTON_BG_COL);var s=this.g,n=this._x+this.buttonOffsetY,_=this._y+this.buttonOffsetY,o=this._w-2*this.buttonOffsetY,h=this.t._BUTTON_H*this.SCALE;return this.t.FILL_BUTTON_BG?s.fillRect(n,_,o,h):s.drawRect(n,_,o,h,this.t._LINE_STRENGTH*this.SCALE),this.g.set_color(this.t.BUTTON_TEXT_COL),this.drawStringSmall(this.g,e,this.t._DEFAULT_TEXT_OFFSET_X*this.SCALE,0,t),this.endElement(),a},check:function(e,t){if(!this.isVisible(this.t._ELEMENT_H*this.SCALE))return this.endElement(),e.selected;this.getReleased()?(e.selected=!e.selected,e.changed=this.changed=!0):e.changed=!1;var a=this.getHover();return this.drawCheck(e.selected,a),this.g.set_color(a?this.t.TEXT_COL_HOVER:this.t.TEXT_COL),this.drawStringSmall(this.g,t,this.titleOffsetX,0,0),this.endElement(),e.selected},radio:function(e,t,a){if(!this.isVisible(this.t._ELEMENT_H*this.SCALE))return this.endElement(),e.position==t;this.getReleased()?(e.position=t,e.changed=this.changed=!0):e.changed=!1;var i=this.getHover();return this.drawRadio(e.position==t,i),this.g.set_color(i?this.t.TEXT_COL_HOVER:this.t.TEXT_COL),this.drawStringSmall(this.g,a,this.titleOffsetX,0),this.endElement(),e.position==t},inlineRadio:function(e,t){if(!this.isVisible(this.t._ELEMENT_H*this.SCALE))return this.endElement(),e.position;this.getReleased()?(++e.position>=t.length&&(e.position=0),e.changed=this.changed=!0):e.changed=!1;var a=this.getHover();return this.drawInlineRadio(t[e.position],a),this.endElement(),e.position},combo:function(e,t,a,i,r){if(null==r&&(r=0),null==i&&(i=!1),null==a&&(a=""),!this.isVisible(this.t._ELEMENT_H*this.SCALE))return this.endElement(),e.position;this.getReleased()&&null==this.comboSelectedHandle&&(this.inputEnabled=!1,this.comboSelectedHandle=e,this.comboSelectedWindow=this.currentWindow,this.comboSelectedAlign=r,this.comboSelectedTexts=t,this.comboSelectedLabel=a,this.comboSelectedX=this._x+this._windowX|0,this.comboSelectedY=this._y+this._windowY+this.t._ELEMENT_H*this.SCALE+this.t._ELEMENT_SEPARATOR_SIZE*this.SCALE|0,this.comboSelectedW=0|this._w),e==this.submitComboHandle?(e.position=this.comboToSubmit,this.submitComboHandle=null,e.changed=this.changed=!0):e.changed=!1,this.getHover()?(this.g.set_color(this.t.RADIO_COL_HOVER),this.g.drawRect(this._x+this.buttonOffsetY,this._y+this.buttonOffsetY,this._w-2*this.buttonOffsetY,this.t._BUTTON_H*this.SCALE)):(this.g.set_color(this.t.RADIO_COL),this.g.drawRect(this._x+this.buttonOffsetY,this._y+this.buttonOffsetY,this._w-2*this.buttonOffsetY,this.t._BUTTON_H*this.SCALE));var s=this._x+this._w-this.arrowOffsetX-8,n=this._y+this.arrowOffsetY+3;return this.g.fillTriangle(s,n,s+this.t._ARROW_W*this.SCALE,n,s+this.t._ARROW_W*this.SCALE/2,n+this.t._ARROW_H*this.SCALE/2),this.g.set_color(this.t.TEXT_COL),i&&""!=a&&(0==r&&(this._x-=15),this.drawStringSmall(this.g,a,null,null,0==r?2:0),0==r&&(this._x+=15)),2==r&&(this._x-=15),this.drawStringSmall(this.g,t[e.position],null,null,r),2==r&&(this._x+=15),this.endElement(),e.position},slider:function(e,t,a,i,r,s,n,_){if(null==_&&(_=2),null==n&&(n=!0),null==s&&(s=100),null==r&&(r=!1),null==i&&(i=1),null==a&&(a=0),!this.isVisible(this.t._ELEMENT_H*this.SCALE))return this.endElement(),e.value;if(this.getStarted()&&(e.scrolling=!0,this.scrollingHandle=e,this.isScrolling=!0),e.scrolling){var o=i-a,h=this._x+this._windowX+this.buttonOffsetY,l=o/(this._w-2*this.buttonOffsetY),u=a+(this.inputX-h)*l;e.value=(u*s|0)/s,e.value<a?e.value=a:e.value>i&&(e.value=i),e.changed=this.changed=!0}else e.changed=!1;var c=this.getHover();return this.drawSlider(e.value,a,i,r,c),this.g.set_color(this.t.DEFAULT_LABEL_COL),this.drawStringSmall(this.g,t,null,0,_),n&&(this.g.set_color(this.t.TEXT_COL),this.drawStringSmall(this.g,e.value+"",null,0,0==_?2:0)),this.endElement(),e.value},separator:function(){this.isVisible(this.t._ELEMENT_H*this.SCALE)?(this.g.set_color(this.t.SEPARATOR_COL),this.g.fillRect(this._x,this._y,this._w-this.t._DEFAULT_TEXT_OFFSET_X*this.SCALE,this.t._LINE_STRENGTH*this.SCALE),this._y+=2):this._y+=2},drawArrow:function(e,t){var a=this._x+this.arrowOffsetX,i=this._y+this.arrowOffsetY;this.g.set_color(t?this.t.ARROW_COL_HOVER:this.t.ARROW_COL),e?this.g.fillTriangle(a,i,a+this.t._ARROW_W*this.SCALE,i,a+this.t._ARROW_W*this.SCALE/2,i+this.t._ARROW_H*this.SCALE):this.g.fillTriangle(a,i,a,i+this.t._ARROW_H*this.SCALE,a+this.t._ARROW_W*this.SCALE,i+this.t._ARROW_H*this.SCALE/2)},drawCheck:function(e,t){var a=this._x+this.checkOffsetX,i=this._y+this.checkOffsetY;this.g.set_color(t?this.t.CHECK_COL_HOVER:this.t.CHECK_COL);var r=this.g,s=this.t._CHECK_W*this.SCALE,n=this.t._CHECK_H*this.SCALE;this.t.FILL_CHECK_BG?r.fillRect(a,i,s,n):r.drawRect(a,i,s,n,this.t._LINE_STRENGTH*this.SCALE),e&&(this.g.set_color(-1),this.g.drawImage(zui_Zui.checkSelectImage,a+this.checkSelectOffsetX,i+this.checkSelectOffsetY))},drawRadio:function(e,t){var a=this._x+this.radioOffsetX,i=this._y+this.radioOffsetY;this.g.set_color(t?this.t.RADIO_COL_HOVER:this.t.RADIO_COL);var r=this.g,s=this.t._RADIO_W*this.SCALE,n=this.t._RADIO_H*this.SCALE;this.t.FILL_RADIO_BG?r.fillRect(a,i,s,n):r.drawRect(a,i,s,n,this.t._LINE_STRENGTH*this.SCALE),e&&(this.g.set_color(this.t.RADIO_SELECT_COL),this.g.fillRect(a+this.radioSelectOffsetX,i+this.radioSelectOffsetY,this.t._RADIO_SELECT_W*this.SCALE,this.t._RADIO_SELECT_H*this.SCALE))},drawInlineRadio:function(e,t){t?(this.g.set_color(this.t.RADIO_COL_HOVER),this.g.fillRect(this._x+this.buttonOffsetY,this._y+this.buttonOffsetY,this._w-2*this.buttonOffsetY,this.t._BUTTON_H*this.SCALE)):(this.g.set_color(this.t.RADIO_COL),this.g.drawRect(this._x+this.buttonOffsetY,this._y+this.buttonOffsetY,this._w-2*this.buttonOffsetY,this.t._BUTTON_H*this.SCALE)),this.g.set_color(t?this.t.TEXT_COL_HOVER:this.t.TEXT_COL),this.drawStringSmall(this.g,e,this.titleOffsetX,0,1)},drawSlider:function(e,t,a,i,r){var s=this._x+this.buttonOffsetY,n=this._y+this.buttonOffsetY,_=this._w-2*this.buttonOffsetY;this.g.set_color(r?this.t.CHECK_COL_HOVER:this.t.CHECK_COL);var o=this.g,h=this.t._BUTTON_H*this.SCALE;this.t.FILL_SLIDER_BG?o.fillRect(s,n,_,h):o.drawRect(s,n,_,h,this.t._LINE_STRENGTH*this.SCALE),this.g.set_color(r?this.t.SLIDER_COL_HOVER:this.t.SLIDER_COL);var l=(e-t)/(a-t),u=8*this.SCALE,c=i?s:s+(_-u)*l,d=i?_*l:u;this.g.fillRect(c,n,d,this.t._BUTTON_H*this.SCALE)},drawCombo:function(){var e=this.g;this.globalG.set_color(-14540254);var t=this.t._ELEMENT_H*this.SCALE+this.t._ELEMENT_SEPARATOR_SIZE*this.SCALE;this.globalG.begin(!1),this.globalG.fillRect(this.comboSelectedX,this.comboSelectedY,this.comboSelectedW,(this.comboSelectedTexts.length+1)*t),this.beginLayout(this.globalG,this.comboSelectedX,this.comboSelectedY,this.comboSelectedW),this.inputEnabled=!0;for(var a=0,i=this.comboSelectedTexts.length;a<i;){var r=a++;if(this.button(this.comboSelectedTexts[r],this.comboSelectedAlign)){this.comboToSubmit=r,this.submitComboHandle=this.comboSelectedHandle,null!=this.comboSelectedWindow&&(this.comboSelectedWindow.redraws=2);break}}this.text(this.comboSelectedLabel),this.inputReleased&&!zui_Zui.comboFirst?(this.comboSelectedHandle=null,zui_Zui.comboFirst=!0):zui_Zui.comboFirst=!1,this.inputEnabled=null==this.comboSelectedHandle,this.endLayout(!1),this.globalG.end(),this.g=e},drawString:function(e,t,a,i,r){null==r&&(r=0),null==i&&(i=0);var s=this._w/(this.fontSize/2|0)|0;t.length>s&&(t=t.substring(0,s)+".."),null==a&&(a=this.t._DEFAULT_TEXT_OFFSET_X),a*=this.SCALE,e.set_font(this.ops.font),e.set_fontSize(this.fontSize),1==r?a=this._w/2-this.ops.font.width(this.fontSize,t)/2:2==r&&(a=this._w-this.ops.font.width(this.fontSize,t)-this.t._DEFAULT_TEXT_OFFSET_X*this.SCALE),e.drawString(t,this._x+a,this._y+this.fontOffsetY+i)},drawStringSmall:function(e,t,a,i,r){null==r&&(r=0),null==i&&(i=0);var s=this._w/(this.fontSmallSize/2|0)|0;t.length>s&&(t=t.substring(0,s)+".."),null==a&&(a=this.t._DEFAULT_TEXT_OFFSET_X),a*=this.SCALE,e.set_font(this.ops.font),e.set_fontSize(this.fontSmallSize),1==r?a=this._w/2-this.ops.font.width(this.fontSmallSize,t)/2:2==r&&(a=this._w-this.ops.font.width(this.fontSmallSize,t)-this.t._DEFAULT_TEXT_OFFSET_X*this.SCALE),e.drawString(t,this._x+a,this._y+this.fontSmallOffsetY+i)},endElement:function(e){null!=this.currentWindow?0==this.currentWindow.layout?-1==this.curRatio||null!=this.ratios&&this.curRatio==this.ratios.length-1?(null==e&&(e=this.t._ELEMENT_H*this.SCALE+this.t._ELEMENT_SEPARATOR_SIZE*this.SCALE),this._y+=e,null!=this.ratios&&this.curRatio==this.ratios.length-1&&(this.curRatio=-1,this.ratios=null,this._x=this.xBeforeSplit,this._w=this.wBeforeSplit)):(this.curRatio++,this._x+=this._w,this._w=this.wBeforeSplit*this.ratios[this.curRatio]|0):this._x+=this._w+this.t._ELEMENT_SEPARATOR_SIZE*this.SCALE:this._y+=this.t._ELEMENT_H*this.SCALE+this.t._ELEMENT_SEPARATOR_SIZE*this.SCALE},row:function(e){this.ratios=e,this.curRatio=0,this.xBeforeSplit=this._x,this.wBeforeSplit=this._w,this._w=this._w*e[this.curRatio]|0},indent:function(){this._x+=this.t._TAB_W*this.SCALE|0,this._w-=this.t._TAB_W*this.SCALE|0},unindent:function(){this._x-=this.t._TAB_W*this.SCALE|0,this._w+=this.t._TAB_W*this.SCALE|0},drawRect:function(e,t,a,i,r,s,n){null==n&&(n=1),t?e.fillRect(a,i,r,s):e.drawRect(a,i,r,s,this.t._LINE_STRENGTH*this.SCALE)},isVisible:function(e){return null==this.currentWindow||this._y+e>0&&this._y<this.currentWindow.texture.get_height()},getReleased:function(e){return null==e&&(e=-1),!!(this.inputEnabled&&this.inputReleased&&this.getHover(e))&&this.getInitialHover(e)},getPushed:function(e){return null==e&&(e=-1),!!(this.inputEnabled&&this.inputDown&&this.getHover(e))&&this.getInitialHover(e)},getStarted:function(e){return null==e&&(e=-1),!(!this.inputEnabled||!this.inputStarted)&&this.getHover(e)},getInitialHover:function(e){return null==e&&(e=-1),-1==e&&(e=this.t._ELEMENT_H*this.SCALE),!!(this.inputEnabled&&this.inputInitialX>=this._windowX+this._x&&this.inputInitialX<this._windowX+this._x+this._w&&this.inputInitialY>=this._windowY+this._y)&&this.inputInitialY<this._windowY+this._y+e},getHover:function(e){return null==e&&(e=-1),-1==e&&(e=this.t._ELEMENT_H*this.SCALE),!!(this.inputEnabled&&this.inputX>=this._windowX+this._x&&this.inputX<this._windowX+this._x+this._w&&this.inputY>=this._windowY+this._y)&&this.inputY<this._windowY+this._y+e},getInputInRect:function(e,t,a,i,r){return null==r&&(r=1),!!(this.inputEnabled&&this.inputX>=e*r&&this.inputX<(e+a)*r&&this.inputY>=t*r)&&this.inputY<(t+i)*r},onMouseDown:function(e,t,a){this.inputStarted=!0,0==e?this.inputDown=!0:this.inputDownR=!0,this.setInitialInputPosition(t*this.ops.scaleTexture|0,a*this.ops.scaleTexture|0)},onMouseUp:function(e,t,a){this.isScrolling?(this.isScrolling=!1,null!=this.scrollingHandle&&(this.scrollingHandle.scrolling=!1)):this.inputReleased=!0,0==e?this.inputDown=!1:this.inputDownR=!1,this.setInputPosition(t*this.ops.scaleTexture|0,a*this.ops.scaleTexture|0),this.deselectText()},onMouseMove:function(e,t,a,i){this.setInputPosition(e*this.ops.scaleTexture|0,t*this.ops.scaleTexture|0)},onMouseWheel:function(e){this.inputWheelDelta=e},setInitialInputPosition:function(e,t){this.setInputPosition(e,t),this.inputInitialX=e,this.inputInitialY=t},setInputPosition:function(e,t){this.inputDX+=e-this.inputX,this.inputDY+=t-this.inputY,this.inputX=e,this.inputY=t},onKeyDown:function(e){this.isKeyDown=!0,this.key=e,32==e&&(this.char=" ")},onKeyUp:function(e){},onKeyPress:function(e){this.isKeyDown=!0,this.char=e},ELEMENT_W:function(){return this.t._ELEMENT_W*this.SCALE},ELEMENT_H:function(){return this.t._ELEMENT_H*this.SCALE},ELEMENT_SEPARATOR_SIZE:function(){return this.t._ELEMENT_SEPARATOR_SIZE*this.SCALE},ARROW_W:function(){return this.t._ARROW_W*this.SCALE},ARROW_H:function(){return this.t._ARROW_H*this.SCALE},BUTTON_H:function(){return this.t._BUTTON_H*this.SCALE},CHECK_W:function(){return this.t._CHECK_W*this.SCALE},CHECK_H:function(){return this.t._CHECK_H*this.SCALE},CHECK_SELECT_W:function(){return this.t._CHECK_SELECT_W*this.SCALE},CHECK_SELECT_H:function(){return this.t._CHECK_SELECT_H*this.SCALE},RADIO_W:function(){return this.t._RADIO_W*this.SCALE},RADIO_H:function(){return this.t._RADIO_H*this.SCALE},RADIO_SELECT_W:function(){return this.t._RADIO_SELECT_W*this.SCALE},RADIO_SELECT_H:function(){return this.t._RADIO_SELECT_H*this.SCALE},SCROLL_W:function(){return this.t._SCROLL_W*this.SCALE|0},SCROLL_BAR_W:function(){return this.t._SCROLL_BAR_W*this.SCALE},DEFAULT_TEXT_OFFSET_X:function(){return this.t._DEFAULT_TEXT_OFFSET_X*this.SCALE},TAB_W:function(){return this.t._TAB_W*this.SCALE|0},LINE_STRENGTH:function(){return this.t._LINE_STRENGTH*this.SCALE},resize:function(e,t,a,i){null==i&&(i=0),e.redraws=2,null!=e.texture&&e.texture.unload(),e.texture=kha_Image.createRenderTarget(t,a,kha_graphics4_TextureFormat.RGBA32,0,1,i),e.texture.get_g2().set_imageScaleQuality(kha_graphics2_ImageScaleQuality.High)},__class__:zui_Zui};var zui_Handle=$hxClasses["zui.Handle"]=function(e){this.changed=!1,this.dragY=0,this.dragX=0,this.dragEnabled=!1,this.dragging=!1,this.lastMaxY=0,this.lastMaxX=0,this.layout=0,this.scrollEnabled=!1,this.scrollOffset=0,this.scrolling=!1,this.redraws=2,this.texture=null,this.text="",this.value=0,this.b=0,this.g=0,this.r=0,this.color=-1,this.position=0,this.selected=!1,null!=e&&(null!=e.selected&&(this.selected=e.selected),null!=e.position&&(this.position=e.position),null!=e.value&&(this.value=e.value),null!=e.text&&(this.text=e.text),null!=e.color&&(this.color=e.color),null!=e.layout&&(this.layout=e.layout))};zui_Handle.__name__=!0,zui_Handle.prototype={selected:null,position:null,color:null,r:null,g:null,b:null,value:null,text:null,texture:null,redraws:null,scrolling:null,scrollOffset:null,scrollEnabled:null,layout:null,lastMaxX:null,lastMaxY:null,dragging:null,dragEnabled:null,dragX:null,dragY:null,changed:null,children:null,nest:function(e,t){for(null==this.children&&(this.children=[]);this.children.length<=e;)this.children.push(null);return null==this.children[e]&&(this.children[e]=new zui_Handle(t)),this.children[e]},__class__:zui_Handle};var $_,$fid=0;$hxClasses.Math=Math,String.prototype.__class__=$hxClasses.String=String,String.__name__=!0,$hxClasses.Array=Array,Array.__name__=!0,Date.prototype.__class__=$hxClasses.Date=Date,Date.__name__=["Date"];var Int=$hxClasses.Int={__name__:["Int"]},Dynamic=$hxClasses.Dynamic={__name__:["Dynamic"]},Float=$hxClasses.Float=Number;Float.__name__=["Float"];var Bool=$hxClasses.Bool=Boolean;Bool.__ename__=["Bool"];var Class=$hxClasses.Class={__name__:["Class"]},Enum={},__map_reserved={},ArrayBuffer=$global.ArrayBuffer||js_html_compat_ArrayBuffer;null==ArrayBuffer.prototype.slice&&(ArrayBuffer.prototype.slice=js_html_compat_ArrayBuffer.sliceImpl);var DataView=$global.DataView||js_html_compat_DataView,Float32Array=$global.Float32Array||js_html_compat_Float32Array._new,Uint8Array=$global.Uint8Array||js_html_compat_Uint8Array._new;Elements.uiw=240,Elements.coff=40,haxe_Unserializer.DEFAULT_RESOLVER=new haxe__$Unserializer_DefaultResolver,haxe_Unserializer.BASE64="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:",haxe_ds_ObjectMap.count=0,haxe_io_FPHelper.i64tmp=new haxe__$Int64__$_$_$Int64(0,0),js_Boot.__toStr={}.toString,js_html_compat_Float32Array.BYTES_PER_ELEMENT=4,js_html_compat_Uint8Array.BYTES_PER_ELEMENT=1,kha_Assets.images=new kha__$Assets_ImageList,kha_Assets.sounds=new kha__$Assets_SoundList,kha_Assets.blobs=new kha__$Assets_BlobList,kha_Assets.fonts=new kha__$Assets_FontList,kha_Assets.videos=new kha__$Assets_VideoList,kha__$Color_Color_$Impl_$.Black=-16777216,kha__$Color_Color_$Impl_$.White=-1,kha__$Color_Color_$Impl_$.Red=-65536,kha__$Color_Color_$Impl_$.Blue=-16776961,kha__$Color_Color_$Impl_$.Green=-16711936,kha__$Color_Color_$Impl_$.Magenta=-65281,kha__$Color_Color_$Impl_$.Yellow=-256,kha__$Color_Color_$Impl_$.Cyan=-16711681,kha__$Color_Color_$Impl_$.Purple=-8388480,kha__$Color_Color_$Impl_$.Pink=-16181,kha__$Color_Color_$Impl_$.Orange=-23296,kha__$Color_Color_$Impl_$.Transparent=0,kha__$Color_Color_$Impl_$.invMaxChannelValue=.00392156862745098,kha_FontStyle.Default=new kha_FontStyle(!1,!1,!1),kha_Scheduler.timeWarpSaveTime=1,kha_Scheduler.DIF_COUNT=3,kha_Scheduler.maxframetime=.5,kha_Scheduler.startTime=0,kha_Shaders.painter_colored_fragData0="s274:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgpvdXQgdmVjNCBGcmFnQ29sb3I7CmluIHZlYzQgZnJhZ21lbnRDb2xvcjsKCnZvaWQgbWFpbigpCnsKICAgIEZyYWdDb2xvciA9IGZyYWdtZW50Q29sb3I7Cn0KCg",kha_Shaders.painter_colored_vertData0="s439:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmluIHZlYzMgdmVydGV4UG9zaXRpb247Cm91dCB2ZWM0IGZyYWdtZW50Q29sb3I7CmluIHZlYzQgdmVydGV4Q29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICBnbF9Qb3NpdGlvbiA9IHByb2plY3Rpb25NYXRyaXggKiB2ZWM0KHZlcnRleFBvc2l0aW9uLCAxLjApOwogICAgZnJhZ21lbnRDb2xvciA9IHZlcnRleENvbG9yOwp9Cgo",kha_Shaders.painter_image_fragData0="s506:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7CgppbiB2ZWMyIHRleENvb3JkOwppbiB2ZWM0IGNvbG9yOwpvdXQgdmVjNCBGcmFnQ29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICB2ZWM0IHRleGNvbG9yID0gdGV4dHVyZSh0ZXgsIHRleENvb3JkKSAqIGNvbG9yOwogICAgdmVjMyBfMzIgPSB0ZXhjb2xvci54eXogKiBjb2xvci53OwogICAgdGV4Y29sb3IgPSB2ZWM0KF8zMi54LCBfMzIueSwgXzMyLnosIHRleGNvbG9yLncpOwogICAgRnJhZ0NvbG9yID0gdGV4Y29sb3I7Cn0KCg",kha_Shaders.painter_image_vertData0="s508:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmluIHZlYzMgdmVydGV4UG9zaXRpb247Cm91dCB2ZWMyIHRleENvb3JkOwppbiB2ZWMyIHRleFBvc2l0aW9uOwpvdXQgdmVjNCBjb2xvcjsKaW4gdmVjNCB2ZXJ0ZXhDb2xvcjsKCnZvaWQgbWFpbigpCnsKICAgIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbk1hdHJpeCAqIHZlYzQodmVydGV4UG9zaXRpb24sIDEuMCk7CiAgICB0ZXhDb29yZCA9IHRleFBvc2l0aW9uOwogICAgY29sb3IgPSB2ZXJ0ZXhDb2xvcjsKfQoK",kha_Shaders.painter_text_fragData0="s402:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7CgpvdXQgdmVjNCBGcmFnQ29sb3I7CmluIHZlYzQgZnJhZ21lbnRDb2xvcjsKaW4gdmVjMiB0ZXhDb29yZDsKCnZvaWQgbWFpbigpCnsKICAgIEZyYWdDb2xvciA9IHZlYzQoZnJhZ21lbnRDb2xvci54eXosIHRleHR1cmUodGV4LCB0ZXhDb29yZCkueCAqIGZyYWdtZW50Q29sb3Iudyk7Cn0KCg",kha_Shaders.painter_text_vertData0="s530:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmluIHZlYzMgdmVydGV4UG9zaXRpb247Cm91dCB2ZWMyIHRleENvb3JkOwppbiB2ZWMyIHRleFBvc2l0aW9uOwpvdXQgdmVjNCBmcmFnbWVudENvbG9yOwppbiB2ZWM0IHZlcnRleENvbG9yOwoKdm9pZCBtYWluKCkKewogICAgZ2xfUG9zaXRpb24gPSBwcm9qZWN0aW9uTWF0cml4ICogdmVjNCh2ZXJ0ZXhQb3NpdGlvbiwgMS4wKTsKICAgIHRleENvb3JkID0gdGV4UG9zaXRpb247CiAgICBmcmFnbWVudENvbG9yID0gdmVydGV4Q29sb3I7Cn0KCg",kha_Shaders.painter_video_fragData0="s506:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIHNhbXBsZXIyRCB0ZXg7CgppbiB2ZWMyIHRleENvb3JkOwppbiB2ZWM0IGNvbG9yOwpvdXQgdmVjNCBGcmFnQ29sb3I7Cgp2b2lkIG1haW4oKQp7CiAgICB2ZWM0IHRleGNvbG9yID0gdGV4dHVyZSh0ZXgsIHRleENvb3JkKSAqIGNvbG9yOwogICAgdmVjMyBfMzIgPSB0ZXhjb2xvci54eXogKiBjb2xvci53OwogICAgdGV4Y29sb3IgPSB2ZWM0KF8zMi54LCBfMzIueSwgXzMyLnosIHRleGNvbG9yLncpOwogICAgRnJhZ0NvbG9yID0gdGV4Y29sb3I7Cn0KCg",kha_Shaders.painter_video_vertData0="s508:I3ZlcnNpb24gMzMwCiNpZmRlZiBHTF9BUkJfc2hhZGluZ19sYW5ndWFnZV80MjBwYWNrCiNleHRlbnNpb24gR0xfQVJCX3NoYWRpbmdfbGFuZ3VhZ2VfNDIwcGFjayA6IHJlcXVpcmUKI2VuZGlmCgp1bmlmb3JtIG1hdDQgcHJvamVjdGlvbk1hdHJpeDsKCmluIHZlYzMgdmVydGV4UG9zaXRpb247Cm91dCB2ZWMyIHRleENvb3JkOwppbiB2ZWMyIHRleFBvc2l0aW9uOwpvdXQgdmVjNCBjb2xvcjsKaW4gdmVjNCB2ZXJ0ZXhDb2xvcjsKCnZvaWQgbWFpbigpCnsKICAgIGdsX1Bvc2l0aW9uID0gcHJvamVjdGlvbk1hdHJpeCAqIHZlYzQodmVydGV4UG9zaXRpb24sIDEuMCk7CiAgICB0ZXhDb29yZCA9IHRleFBvc2l0aW9uOwogICAgY29sb3IgPSB2ZXJ0ZXhDb2xvcjsKfQoK",kha_System.renderListeners=[],kha_System.foregroundListeners=[],kha_System.resumeListeners=[],kha_System.pauseListeners=[],kha_System.backgroundListeners=[],kha_System.shutdownListeners=[],kha_System.dropFilesListeners=[],kha_SystemImpl.maxGamepads=4,kha_audio2_Audio1.channelCount=16,kha_audio2_ogg_tools_Crc32.POLY=79764919,kha_audio2_ogg_vorbis_VorbisDecodeState.INVALID_BITS=-1,kha_audio2_ogg_vorbis_VorbisTools.EOP=-1,kha_audio2_ogg_vorbis_VorbisTools.M__PI=3.141592653589793,kha_audio2_ogg_vorbis_VorbisTools.DIVTAB_NUMER=32,kha_audio2_ogg_vorbis_VorbisTools.DIVTAB_DENOM=64,kha_audio2_ogg_vorbis_VorbisTools.INVERSE_DB_TABLE=[1.0649863e-7,1.1341951e-7,1.2079015e-7,1.2863978e-7,1.3699951e-7,1.4590251e-7,1.5538408e-7,1.6548181e-7,1.7623575e-7,1.8768855e-7,1.9988561e-7,2.128753e-7,2.2670913e-7,2.4144197e-7,2.5713223e-7,2.7384213e-7,2.9163793e-7,3.1059021e-7,3.3077411e-7,3.5226968e-7,3.7516214e-7,3.9954229e-7,4.255068e-7,4.5315863e-7,4.8260743e-7,5.1396998e-7,5.4737065e-7,5.8294187e-7,6.2082472e-7,6.6116941e-7,7.0413592e-7,7.4989464e-7,7.9862701e-7,8.505263e-7,9.0579828e-7,9.6466216e-7,10273513e-13,10941144e-13,11652161e-13,12409384e-13,13215816e-13,14074654e-13,14989305e-13,15963394e-13,17000785e-13,18105592e-13,19282195e-13,20535261e-13,21869758e-13,23290978e-13,24804557e-13,26416497e-13,2813319e-12,29961443e-13,31908506e-13,33982101e-13,36190449e-13,38542308e-13,41047004e-13,4371447e-12,46555282e-13,49580707e-13,5280274e-12,5623416e-12,59888572e-13,63780469e-13,67925283e-13,72339451e-13,77040476e-13,82047e-10,87378876e-13,93057248e-13,99104632e-13,10554501e-12,11240392e-12,11970856e-12,12748789e-12,13577278e-12,14459606e-12,15399272e-12,16400004e-12,17465768e-12,18600792e-12,19809576e-12,21096914e-12,22467911e-12,23928002e-12,25482978e-12,27139006e-12,28902651e-12,30780908e-12,32781225e-12,34911534e-12,37180282e-12,39596466e-12,42169667e-12,4491009e-11,47828601e-12,50936773e-12,54246931e-12,57772202e-12,61526565e-12,65524908e-12,69783085e-12,74317983e-12,79147585e-12,8429104e-11,89768747e-12,95602426e-12,.00010181521,.00010843174,.00011547824,.00012298267,.00013097477,.00013948625,.00014855085,.00015820453,.00016848555,.00017943469,.00019109536,.00020351382,.00021673929,.00023082423,.00024582449,.00026179955,.00027881276,.00029693158,.00031622787,.00033677814,.00035866388,.00038197188,.00040679456,.00043323036,.00046138411,.00049136745,.00052329927,.00055730621,.00059352311,.00063209358,.00067317058,716917e-9,.0007635063,.00081312324,.00086596457,.00092223983,.00098217216,.0010459992,.0011139742,.0011863665,.0012634633,.0013455702,.0014330129,.0015261382,.0016253153,.0017309374,.0018434235,.0019632195,.0020908006,.0022266726,.0023713743,.0025254795,.0026895994,.0028643847,.0030505286,.0032487691,.0034598925,.0036847358,.0039241906,.0041792066,.004450795,.0047400328,.0050480668,.0053761186,.0057254891,.0060975636,.0064938176,.0069158225,.0073652516,.0078438871,.0083536271,.0088964928,.009474637,.010090352,.01074608,.011444421,.012188144,.012980198,.013823725,.014722068,.015678791,.016697687,.017782797,.018938423,.020169149,.021479854,.022875735,.02436233,.025945531,.027631618,.029427276,.031339626,.033376252,.035545228,.037855157,.040315199,.042935108,.045725273,.048696758,.051861348,.055231591,.05882085,.062643361,.066714279,.071049749,.075666962,.080584227,.085821044,.091398179,.097337747,.1036633,.11039993,.11757434,.12521498,.13335215,.14201813,.15124727,.16107617,.1715438,.18269168,.19456402,.20720788,.22067342,.23501402,.25028656,.26655159,.28387361,.30232132,.32196786,.34289114,.36517414,.38890521,.41417847,.44109412,.4697589,.50028648,.53279791,.56742212,.6042964,.64356699,.68538959,.72993007,.77736504,.8278826,.88168307,.9389798,1],kha_audio2_ogg_vorbis_data_Codebook.NO_CODE=255,kha_audio2_ogg_vorbis_data_Codebook.delay=0,kha_audio2_ogg_vorbis_data_Header.PACKET_ID=1,kha_audio2_ogg_vorbis_data_Header.PACKET_COMMENT=3,kha_audio2_ogg_vorbis_data_Header.PACKET_SETUP=5,kha_audio2_ogg_vorbis_data_PageFlag.CONTINUED_PACKET=1,kha_audio2_ogg_vorbis_data_PageFlag.FIRST_PAGE=2,kha_audio2_ogg_vorbis_data_PageFlag.LAST_PAGE=4,kha_audio2_ogg_vorbis_data_Setting.MAX_CHANNELS=16,kha_audio2_ogg_vorbis_data_Setting.PUSHDATA_CRC_COUNT=4,kha_audio2_ogg_vorbis_data_Setting.FAST_HUFFMAN_LENGTH=10,kha_audio2_ogg_vorbis_data_Setting.FAST_HUFFMAN_TABLE_SIZE=1024,kha_audio2_ogg_vorbis_data_Setting.FAST_HUFFMAN_TABLE_MASK=1023,kha_graphics2_truetype_StbTruetype.STBTT_vmove=1,kha_graphics2_truetype_StbTruetype.STBTT_vline=2,kha_graphics2_truetype_StbTruetype.STBTT_vcurve=3,kha_graphics2_truetype_StbTruetype.STBTT_MACSTYLE_DONTCARE=0,kha_graphics2_truetype_StbTruetype.STBTT_MACSTYLE_BOLD=1,kha_graphics2_truetype_StbTruetype.STBTT_MACSTYLE_ITALIC=2,kha_graphics2_truetype_StbTruetype.STBTT_MACSTYLE_UNDERSCORE=4,kha_graphics2_truetype_StbTruetype.STBTT_MACSTYLE_NONE=8,kha_graphics2_truetype_StbTruetype.STBTT_PLATFORM_ID_UNICODE=0,kha_graphics2_truetype_StbTruetype.STBTT_PLATFORM_ID_MAC=1,kha_graphics2_truetype_StbTruetype.STBTT_PLATFORM_ID_ISO=2,kha_graphics2_truetype_StbTruetype.STBTT_PLATFORM_ID_MICROSOFT=3,kha_graphics2_truetype_StbTruetype.STBTT_UNICODE_EID_UNICODE_1_0=0,kha_graphics2_truetype_StbTruetype.STBTT_UNICODE_EID_UNICODE_1_1=1,kha_graphics2_truetype_StbTruetype.STBTT_UNICODE_EID_ISO_10646=2,kha_graphics2_truetype_StbTruetype.STBTT_UNICODE_EID_UNICODE_2_0_BMP=3,kha_graphics2_truetype_StbTruetype.STBTT_UNICODE_EID_UNICODE_2_0_FULL=4,kha_graphics2_truetype_StbTruetype.STBTT_MS_EID_SYMBOL=0,kha_graphics2_truetype_StbTruetype.STBTT_MS_EID_UNICODE_BMP=1,kha_graphics2_truetype_StbTruetype.STBTT_MS_EID_SHIFTJIS=2,kha_graphics2_truetype_StbTruetype.STBTT_MS_EID_UNICODE_FULL=10,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_ROMAN=0,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_ARABIC=4,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_JAPANESE=1,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_HEBREW=5,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_CHINESE_TRAD=2,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_GREEK=6,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_KOREAN=3,kha_graphics2_truetype_StbTruetype.STBTT_MAC_EID_RUSSIAN=7,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_ENGLISH=1033,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_ITALIAN=1040,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_CHINESE=2052,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_JAPANESE=1041,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_DUTCH=1043,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_KOREAN=1042,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_FRENCH=1036,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_RUSSIAN=1049,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_GERMAN=1031,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_SPANISH=1033,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_HEBREW=1037,kha_graphics2_truetype_StbTruetype.STBTT_MS_LANG_SWEDISH=1053,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_ENGLISH=0,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_JAPANESE=11,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_ARABIC=12,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_KOREAN=23,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_DUTCH=4,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_RUSSIAN=32,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_FRENCH=1,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_SPANISH=6,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_GERMAN=2,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_SWEDISH=5,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_HEBREW=10,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_CHINESE_SIMPLIFIED=33,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_ITALIAN=3,kha_graphics2_truetype_StbTruetype.STBTT_MAC_LANG_CHINESE_TRAD=19,kha_graphics2_truetype_StbTruetype.STBTT_MAX_OVERSAMPLE=8,kha_graphics2_truetype_StbTruetype.STBTT_RASTERIZER_VERSION=2,kha_graphics4_ImageShaderPainter.bufferSize=1500,kha_graphics4_ImageShaderPainter.vertexSize=9,kha_graphics4_ColoredShaderPainter.bufferSize=100,kha_graphics4_ColoredShaderPainter.triangleBufferSize=100,kha_graphics4_TextShaderPainter.bufferSize=100,kha_input_Gamepad.__meta__={fields:{sendAxisEvent:{input:null},sendButtonEvent:{input:null}}},kha_input_Gamepad.instances=[],kha_input_Keyboard.__meta__={fields:{sendDownEvent:{input:null},sendUpEvent:{input:null},sendPressEvent:{input:null}}},kha_input_Mouse.__meta__={fields:{sendLeaveEvent:{input:null},sendDownEvent:{input:null},sendUpEvent:{input:null},sendMoveEvent:{input:null},sendWheelEvent:{input:null}}},kha_math_FastMatrix3.width=3,kha_math_FastMatrix3.height=3,kha_math_FastMatrix4.width=4,kha_math_FastMatrix4.height=4,kha_math_Matrix3.width=3,kha_math_Matrix3.height=3,kha_math_Matrix4.width=4,kha_math_Matrix4.height=4,kha_network_ControllerBuilder.nextId=0,zui_Canvas.events=[],zui_Canvas.elemId=-1,zui_Ext.kx=1,zui_Ext.ky=.6666666666666666,zui_Ext.kz=.3333333333333333,zui_Ext.kw=3,zui_Ext.ar=[0,0,0],zui_Ext.Kx=0,zui_Ext.Ky=-.3333333333333333,zui_Ext.Kz=.6666666666666666,zui_Ext.Kw=-1,zui_Ext.e=1e-10,zui_Id.i=0,zui_Themes.light={_FONT_SIZE:15,_FONT_SMALL_SIZE:15,_ELEMENT_W:100,_ELEMENT_H:26,_ELEMENT_SEPARATOR_SIZE:2,_ARROW_W:9,_ARROW_H:9,_BUTTON_H:19,_CHECK_W:15,_CHECK_H:15,_CHECK_SELECT_W:8,_CHECK_SELECT_H:8,_RADIO_W:15,_RADIO_H:15,_RADIO_SELECT_W:8,_RADIO_SELECT_H:8,_SCROLL_W:12,_SCROLL_BAR_W:8,_DEFAULT_TEXT_OFFSET_X:8,_TAB_W:12,_LINE_STRENGTH:1,WINDOW_BG_COL:-1776412,WINDOW_TINT_COL:-1,SCROLL_BG_COL:-1776412,SCROLL_COL:-15658735,SCROLL_HOVER_COL:-10055985,PANEL_BG1_COL:-16777216,PANEL_BG2_COL:-16777216,PANEL_TEXT_COL:-13421773,PANEL_TEXT_COL_HOVER:-13421773,BUTTON_BG_COL:-11175241,BUTTON_TEXT_COL:-15658735,BUTTON_BG_COL_HOVER:-10055985,BUTTON_BG_COL_PRESSED:-3299061,TEXT_INPUT_BG_COL:-13355978,TEXT_INPUT_BG_COL_HOVER:-12303290,TEXT_CURSOR_COL:-15658735,TEXT_CURSOR_FLASH_SPEED:.5,CHECK_COL:-13355978,CHECK_COL_HOVER:-7829368,CHECK_SELECT_COL:-13355978,RADIO_COL:-13355978,RADIO_COL_HOVER:-7829368,RADIO_SELECT_COL:-13355978,SLIDER_COL:-9069865,SLIDER_COL_HOVER:-10055985,TEXT_COL:-15658735,TEXT_COL_HOVER:-15658735,DEFAULT_LABEL_COL:-14540254,ARROW_COL:-4539977,ARROW_COL_HOVER:-3487289,SEPARATOR_COL:-5592406,FILL_WINDOW_BG:!0,FILL_TEXT_INPUT_BG:!1,FILL_BUTTON_BG:!1,FILL_CHECK_BG:!1,FILL_RADIO_BG:!1,FILL_SLIDER_BG:!1},zui_Themes.dark={_FONT_SIZE:15,_FONT_SMALL_SIZE:15,_ELEMENT_W:100,_ELEMENT_H:26,_ELEMENT_SEPARATOR_SIZE:2,_ARROW_W:9,_ARROW_H:9,_BUTTON_H:19,_CHECK_W:15,_CHECK_H:15,_CHECK_SELECT_W:8,_CHECK_SELECT_H:8,_RADIO_W:15,_RADIO_H:15,_RADIO_SELECT_W:8,_RADIO_SELECT_H:8,_SCROLL_W:12,_SCROLL_BAR_W:8,_DEFAULT_TEXT_OFFSET_X:8,_TAB_W:12,_LINE_STRENGTH:1,WINDOW_BG_COL:-15658735,WINDOW_TINT_COL:-1,SCROLL_BG_COL:-15724528,SCROLL_COL:-11974327,SCROLL_HOVER_COL:-2894893,PANEL_BG1_COL:-16777216,PANEL_BG2_COL:-16777216,PANEL_TEXT_COL:-1118482,PANEL_TEXT_COL_HOVER:-1118482,BUTTON_BG_COL:-11175241,BUTTON_TEXT_COL:-3487289,BUTTON_BG_COL_HOVER:-10055985,BUTTON_BG_COL_PRESSED:-3299061,TEXT_INPUT_BG_COL:-13355978,TEXT_INPUT_BG_COL_HOVER:-12303290,TEXT_CURSOR_COL:-3487289,TEXT_CURSOR_FLASH_SPEED:.5,CHECK_COL:-13355978,CHECK_COL_HOVER:-12303290,CHECK_SELECT_COL:-2697514,RADIO_COL:-13355978,RADIO_COL_HOVER:-12303290,RADIO_SELECT_COL:-2697514,SLIDER_COL:-13355978,SLIDER_COL_HOVER:-12303290,TEXT_COL:-3487289,TEXT_COL_HOVER:-3487289,DEFAULT_LABEL_COL:-5592406,ARROW_COL:-3487289,ARROW_COL_HOVER:-3487289,SEPARATOR_COL:-14540513,FILL_WINDOW_BG:!1,FILL_TEXT_INPUT_BG:!1,FILL_BUTTON_BG:!1,FILL_CHECK_BG:!1,FILL_RADIO_BG:!1,FILL_SLIDER_BG:!1},zui_Zui.comboFirst=!0,zui_Handle.global=new zui_Handle,Main.main();