x_ite 4.7.5 → 4.7.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/.vscode/launch.json +15 -0
  2. package/.vscode/settings.json +2 -5
  3. package/Makefile +1 -0
  4. package/README.md +1 -1
  5. package/build/components/annotation.build.js +2 -2
  6. package/build/components/cad-geometry.build.js +2 -2
  7. package/build/components/cube-map-texturing.build.js +2 -2
  8. package/build/components/dis.build.js +2 -2
  9. package/build/components/event-utilities.build.js +2 -2
  10. package/build/components/geometry2d.build.js +2 -2
  11. package/build/components/geospatial.build.js +2 -2
  12. package/build/components/h-anim.build.js +2 -2
  13. package/build/components/key-device-sensor.build.js +2 -2
  14. package/build/components/layout.build.js +2 -2
  15. package/build/components/nurbs.build.js +2 -2
  16. package/build/components/particle-systems.build.js +2 -2
  17. package/build/components/picking.build.js +2 -2
  18. package/build/components/projective-texture-mapping.build.js +2 -2
  19. package/build/components/rigid-body-physics.build.js +2 -2
  20. package/build/components/scripting.build.js +2 -2
  21. package/build/components/texturing-3d.build.js +2 -2
  22. package/build/components/volume-rendering.build.js +2 -2
  23. package/build/components/x_ite.build.js +2 -2
  24. package/build/parts/default.end.frag.js +2 -0
  25. package/build/parts/default.start.frag.js +8 -0
  26. package/build/parts/{x_ite.end.frag → x_ite.end.frag.js} +4 -2
  27. package/build/parts/x_ite.start.frag.js +16 -0
  28. package/build/x_ite.build.js +2 -2
  29. package/dist/assets/components/annotation.js +9 -7
  30. package/dist/assets/components/annotation.min.js +1 -1
  31. package/dist/assets/components/cad-geometry.js +9 -7
  32. package/dist/assets/components/cad-geometry.min.js +1 -1
  33. package/dist/assets/components/cube-map-texturing.js +9 -7
  34. package/dist/assets/components/cube-map-texturing.min.js +1 -1
  35. package/dist/assets/components/dis.js +9 -7
  36. package/dist/assets/components/dis.min.js +1 -1
  37. package/dist/assets/components/event-utilities.js +9 -7
  38. package/dist/assets/components/event-utilities.min.js +1 -1
  39. package/dist/assets/components/geometry2d.js +9 -7
  40. package/dist/assets/components/geometry2d.min.js +1 -1
  41. package/dist/assets/components/geospatial.js +9 -7
  42. package/dist/assets/components/geospatial.min.js +2 -2
  43. package/dist/assets/components/h-anim.js +9 -7
  44. package/dist/assets/components/h-anim.min.js +1 -1
  45. package/dist/assets/components/key-device-sensor.js +9 -7
  46. package/dist/assets/components/key-device-sensor.min.js +1 -1
  47. package/dist/assets/components/layout.js +9 -7
  48. package/dist/assets/components/layout.min.js +1 -1
  49. package/dist/assets/components/nurbs.js +9 -7
  50. package/dist/assets/components/nurbs.min.js +2 -2
  51. package/dist/assets/components/particle-systems.js +9 -7
  52. package/dist/assets/components/particle-systems.min.js +2 -2
  53. package/dist/assets/components/picking.js +13 -11
  54. package/dist/assets/components/picking.min.js +1 -1
  55. package/dist/assets/components/projective-texture-mapping.js +9 -7
  56. package/dist/assets/components/projective-texture-mapping.min.js +1 -1
  57. package/dist/assets/components/rigid-body-physics.js +9 -7
  58. package/dist/assets/components/rigid-body-physics.min.js +17 -17
  59. package/dist/assets/components/scripting.js +16 -9
  60. package/dist/assets/components/scripting.min.js +1 -1
  61. package/dist/assets/components/texturing-3d.js +9 -7
  62. package/dist/assets/components/texturing-3d.min.js +3 -3
  63. package/dist/assets/components/volume-rendering.js +11 -9
  64. package/dist/assets/components/volume-rendering.min.js +3 -3
  65. package/dist/assets/components/x_ite.js +9 -7
  66. package/dist/assets/components/x_ite.min.js +1 -1
  67. package/dist/assets/shaders/webgl1/FallbackUnlit.fs +3 -4
  68. package/dist/assets/shaders/webgl1/Gouraud.vs +0 -1
  69. package/dist/assets/shaders/webgl1/Phong.fs +0 -1
  70. package/dist/assets/shaders/webgl1/Unlit.fs +0 -3
  71. package/dist/assets/shaders/webgl2/Gouraud.vs +0 -1
  72. package/dist/assets/shaders/webgl2/Phong.fs +0 -1
  73. package/dist/assets/shaders/webgl2/Unlit.fs +0 -3
  74. package/dist/example.html +2 -2
  75. package/dist/x_ite.css +4 -3
  76. package/dist/x_ite.js +28281 -27706
  77. package/dist/x_ite.min.js +41 -41
  78. package/dist/x_ite.zip +0 -0
  79. package/docs/Accessing-the-External-Browser.md +32 -3
  80. package/docs/Custom-Shaders.md +165 -174
  81. package/docs/What's-New.md +61 -6
  82. package/docs/_config.yml +1 -1
  83. package/docs/index.md +21 -14
  84. package/docs/reference/Browser-Services.md +36 -8
  85. package/docs/reference/Script-Node-Authoring-Interface.md +12 -4
  86. package/package.json +13 -6
  87. package/src/assets/components/picking.js +2 -2
  88. package/src/assets/components/volume-rendering.js +2 -2
  89. package/src/assets/shaders/webgl1/FallbackUnlit.fs +3 -4
  90. package/src/assets/shaders/webgl1/Gouraud.vs +0 -1
  91. package/src/assets/shaders/webgl1/Phong.fs +0 -1
  92. package/src/assets/shaders/webgl1/Unlit.fs +0 -3
  93. package/src/assets/shaders/webgl2/Gouraud.vs +0 -1
  94. package/src/assets/shaders/webgl2/Phong.fs +0 -1
  95. package/src/assets/shaders/webgl2/Unlit.fs +0 -3
  96. package/src/bookmarks.js +8 -11
  97. package/src/examples.js +1 -1
  98. package/src/locale/de.po +19 -75
  99. package/src/locale/fr.po +18 -75
  100. package/src/standard/Time/MicroTime.js +3 -1
  101. package/src/standard/Utility/DataStorage.js +7 -10
  102. package/src/tests.js +2 -1
  103. package/src/x_ite/Browser/Core/BrowserOptions.js +40 -28
  104. package/src/x_ite/Browser/Core/BrowserTimings.js +13 -24
  105. package/src/x_ite/Browser/Core/ContextMenu.js +26 -12
  106. package/src/x_ite/Browser/Core/X3DCoreContext.js +95 -42
  107. package/src/x_ite/Browser/Navigation/ExamineViewer.js +3 -0
  108. package/src/x_ite/Browser/Navigation/LookAtViewer.js +3 -0
  109. package/src/x_ite/Browser/Navigation/PlaneViewer.js +3 -0
  110. package/src/x_ite/Browser/Navigation/X3DFlyViewer.js +3 -0
  111. package/src/x_ite/Browser/Networking/X3DNetworkingContext.js +1 -3
  112. package/src/x_ite/Browser/Networking/urls.js +25 -0
  113. package/src/x_ite/Browser/Picking/VolumePicker.js +1 -1
  114. package/src/x_ite/Browser/PointingDeviceSensor/PointingDevice.js +4 -1
  115. package/src/x_ite/Browser/Shaders/ShaderTest.js +3 -3
  116. package/src/x_ite/Browser/VERSION.js +1 -1
  117. package/src/x_ite/Browser/X3DBrowser.js +70 -50
  118. package/src/x_ite/Components/Grouping/Switch.js +1 -1
  119. package/src/x_ite/Components/Lighting/DirectionalLight.js +1 -1
  120. package/src/x_ite/Components/Navigation/Collision.js +1 -1
  121. package/src/x_ite/Components/Navigation/LOD.js +1 -1
  122. package/src/x_ite/Components/Picking/PointPickSensor.js +1 -1
  123. package/src/x_ite/Components/Rendering/X3DGeometryNode.js +25 -11
  124. package/src/x_ite/Components/Rendering/X3DLineGeometryNode.js +35 -1
  125. package/src/x_ite/Components/Scripting/Script.js +7 -2
  126. package/src/x_ite/Components/Shaders/X3DProgrammableShaderObject.js +10 -12
  127. package/src/x_ite/Components/Shaders.js +9 -9
  128. package/src/x_ite/Execution/X3DExecutionContext.js +9 -11
  129. package/src/x_ite/Fields/SFColor.js +20 -7
  130. package/src/x_ite/Fields/SFColorRGBA.js +6 -6
  131. package/src/x_ite/Fields/SFDouble.js +2 -2
  132. package/src/x_ite/Fields/SFFloat.js +2 -2
  133. package/src/x_ite/Fields/SFImage.js +13 -13
  134. package/src/x_ite/Fields/SFMatrix3.js +5 -5
  135. package/src/x_ite/Fields/SFMatrix4.js +6 -6
  136. package/src/x_ite/Fields/SFMatrixPrototypeTemplate.js +14 -3
  137. package/src/x_ite/Fields/SFNode.js +23 -19
  138. package/src/x_ite/Fields/SFNodeCache.js +14 -10
  139. package/src/x_ite/Fields/SFRotation.js +10 -10
  140. package/src/x_ite/Fields/SFString.js +1 -1
  141. package/src/x_ite/Fields/SFTime.js +1 -1
  142. package/src/x_ite/Fields/SFVec2.js +6 -6
  143. package/src/x_ite/Fields/SFVec3.js +7 -7
  144. package/src/x_ite/Fields/SFVec4.js +8 -8
  145. package/src/x_ite/Fields/SFVecPrototypeTemplate.js +7 -6
  146. package/src/x_ite/InputOutput/Generator.js +85 -65
  147. package/src/x_ite/Parser/X3DParser.js +6 -0
  148. package/src/x_ite/Parser/XMLParser.js +1 -1
  149. package/src/x_ite/X3D.js +8 -2
  150. package/src/x_ite.config.js +0 -5
  151. package/src/x_ite.css +2 -1
  152. package/src/x_ite.html +3 -3
  153. package/src/x_ite.js +21 -12
  154. package/x_ite.min.html +3 -3
  155. package/build/parts/default.end.frag +0 -2
  156. package/build/parts/default.start.frag +0 -6
  157. package/build/parts/x_ite.start.frag +0 -8
@@ -1,5 +1,5 @@
1
- !function(){var define=X3D.define,require=X3D.require,module={};define("x_ite/Components/Texturing3D/X3DTexture3DNode",["x_ite/Components/Texturing/X3DSingleTextureNode","x_ite/Bits/X3DConstants"],function(e,i){"use strict";function r(r){e.call(this,r),this.addType(i.X3DTexture3DNode);const t=this.getBrowser().getContext();this.target=t.TEXTURE_3D,this.width=0,this.height=0,this.depth=0,this.data=null}var t=new Uint8Array([255,255,255,255]);return r.prototype=Object.assign(Object.create(e.prototype),{constructor:r,initialize:function(){e.prototype.initialize.call(this),this.repeatS_.addInterest("updateTextureProperties",this),this.repeatT_.addInterest("updateTextureProperties",this),this.repeatR_.addInterest("updateTextureProperties",this);const i=this.getBrowser().getContext();i.getVersion()<2||(i.bindTexture(i.TEXTURE_3D,this.getTexture()),i.texImage3D(i.TEXTURE_3D,0,i.RGBA,1,1,1,0,i.RGBA,i.UNSIGNED_BYTE,t))},getTarget:function(){return this.target},getWidth:function(){return this.width},getHeight:function(){return this.height},getDepth:function(){return this.depth},getFlipY:function(){return!1},getData:function(){return this.data},clearTexture:function(){var e=this.getBrowser().getContext();this.setTexture(1,1,1,!1,e.RGBA,t),this.data=null},setTexture:function(e,i,r,t,n,f){try{this.width=e,this.height=i,this.depth=r,this.data=f;var a=this.getBrowser().getContext();if(a.getVersion()<2)return;a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),a.pixelStorei(a.UNPACK_ALIGNMENT,1),a.bindTexture(a.TEXTURE_3D,this.getTexture()),a.texImage3D(a.TEXTURE_3D,0,n,e,i,r,0,n,a.UNSIGNED_BYTE,f),this.setTransparent(t),this.updateTextureProperties(),this.addNodeEvent()}catch(e){}},updateTextureProperties:function(){e.prototype.updateTextureProperties.call(this,this.target,this.textureProperties_.getValue(),this.texturePropertiesNode,this.width,this.height,this.repeatS_.getValue(),this.repeatT_.getValue(),this.repeatR_.getValue())},setShaderUniformsToChannel:function(e,i,r,t){e.getVersion()>=2&&(e.activeTexture(e.TEXTURE0+i.getBrowser().getTexture3DUnits()[t]),e.bindTexture(e.TEXTURE_3D,this.getTexture())),e.uniform1i(i.x3d_TextureType[t],3)}}),r}),define("x_ite/Components/Texturing3D/ComposedTexture3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing3D/X3DTexture3DNode","x_ite/Bits/X3DConstants","x_ite/Bits/X3DCast"],function(e,i,r,t,n,f){"use strict";function a(i){t.call(this,i),this.addType(n.ComposedTexture3D),this.addChildObjects("loadState",new e.SFInt32(n.NOT_STARTED_STATE)),this.textureNodes=[]}return a.prototype=Object.assign(Object.create(t.prototype),{constructor:a,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"description",new e.SFString),new i(n.initializeOnly,"repeatS",new e.SFBool),new i(n.initializeOnly,"repeatT",new e.SFBool),new i(n.initializeOnly,"repeatR",new e.SFBool),new i(n.initializeOnly,"textureProperties",new e.SFNode),new i(n.inputOutput,"texture",new e.MFNode)]),getTypeName:function(){return"ComposedTexture3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texture"},initialize:function(){t.prototype.initialize.call(this),this.texture_.addInterest("set_texture__",this),this.set_texture__()},checkLoadState:function(){return this.loadState_.getValue()},set_texture__:function(){for(var e=this.textureNodes,i=0,r=e.length;i<r;++i)e[i].removeInterest("update",this);e.length=0;for(var i=0,r=this.texture_.length;i<r;++i){var t=f(n.X3DTexture2DNode,this.texture_[i]);t&&e.push(t)}for(var i=0,r=e.length;i<r;++i)e[i].addInterest("update",this);this.update()},update:function(){for(var e=this.textureNodes,i=0,r=0,t=e.length;r<t;++r)i+=e[r].checkLoadState()===n.COMPLETE_STATE;if(0===e.length||i!==e.length)this.clearTexture(),this.loadState_=n.FAILED_STATE;else{for(var f=this.getBrowser().getContext(),a=e[0],s=a.getWidth(),l=a.getHeight(),o=e.length,u=0,c=s*l*4,d=new Uint8Array(c*o),r=0,h=0;r<o;++r){var b=this.textureNodes[r],k=b.getData();u+=b.getTransparent();for(var w=0;w<c;++w,++h)d[h]=k[w]}this.setTexture(s,l,o,!!u,f.RGBA,d),this.loadState_=n.COMPLETE_STATE}}}),a}),define("x_ite/Browser/Texturing3D/NRRDParser",["pako_inflate"],function(e){"use strict";function i(e){return this.lastIndex=e.lastIndex,e.result=this.exec(e.input),!!e.result&&(e.lastIndex=this.lastIndex,!0)}function r(){this.fieldFunction=new Map([["type",this.getType],["encoding",this.getEncoding],["dimension",this.getDimension],["sizes",this.getSizes],["endian",this.getEndian]])}var t={NRRD:new RegExp("^NRRD(\\d+)\\n","gy"),field:new RegExp("([\\w\\s]+):\\s*(.+?)\\n","gy"),comment:new RegExp("#[^\\n]*\\n","gy"),newLine:new RegExp("\n","gy"),data:new RegExp("([^]*)$","gy")};for(var n in t)t[n].parse=i;return r.prototype={parse:function(e){return this.setInput(e),this.getNRRD()&&(this.getFields(),this.getData()),this.nrrd},setInput:function(e){this.input=e,this.lastIndex=0,this.nrrd={},this.endian="little"},getNRRD:function(){return t.NRRD.parse(this)?(this.nrrd.nrrd=!0,this.nrrd.version=parseInt(this.result[1]),this.endian=this.getEndianess(),!0):(this.nrrd.nrrd=!1,!1)},getFields:function(){for(;t.comment.parse(this););for(;t.field.parse(this);){var e=this.result[1].toLowerCase(),i=this.result[2].trim().toLowerCase(),r=this.fieldFunction.get(e);for(r&&r.call(this,i);t.comment.parse(this););}},getType:function(){var e=new Map([["signed char",["signed char",1]],["int8",["signed char",1]],["int8_t",["signed char",1]],["uchar",["unsigned char",1]],["unsigned char",["unsigned char",1]],["uint8",["unsigned char",1]],["uint8_t",["unsigned char",1]],["short",["signed short",2]],["short int",["signed short",2]],["signed short",["signed short",2]],["signed short int",["signed short",2]],["int16",["signed short",2]],["int16_t",["signed short",2]],["ushort",["unsigned short",2]],["unsigned short",["unsigned short",2]],["unsigned short int",["unsigned short",2]],["uint16",["unsigned short",2]],["uint16_t",["unsigned short",2]],["int",["signed int",4]],["signed int",["signed int",4]],["int32",["signed int",4]],["int32_t",["signed int",4]],["uint",["unsigned int",4]],["unsigned int",["unsigned int",4]],["uint32",["unsigned int",4]],["uint32_t",["unsigned int",4]],["float",["float",4]],["double",["double",8]]]);return function(i){var r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD type '"+i+"'.");this.byteType=r[0],this.bytes=r[1]}}(),getEncoding:function(){var e=new Map([["ascii","ascii"],["txt","ascii"],["text","ascii"],["raw","raw"],["hex","hex"],["gz","gzip"],["gzip","gzip"]]);return function(i){var r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD encoding '"+i+"'.");this.encoding=r}}(),getDimension:function(e){var i=e.match(/(\d+)/),r=0;if(i)switch(r=parseInt(i[1])){case 1:case 2:case 3:case 4:return void(this.dimension=r)}throw new Error("Unsupported NRRD dimension '"+r+"', must be 1, 2, 3, or 4.")},getSizes:function(e){for(var i=new RegExp("\\s*(\\d+)","gy"),r=null,t=[];r=i.exec(e);)t.push(parseInt(r[1]));switch(t.length){case 1:return this.nrrd.components=1,this.nrrd.width=t[0],this.nrrd.height=1,void(this.nrrd.depth=1);case 2:return this.nrrd.components=1,this.nrrd.width=t[0],this.nrrd.height=t[1],void(this.nrrd.depth=1);case 3:return this.nrrd.components=1,this.nrrd.width=t[0],this.nrrd.height=t[1],void(this.nrrd.depth=t[2]);case 4:return this.nrrd.components=t[0],this.nrrd.width=t[1],this.nrrd.height=t[2],void(this.nrrd.depth=t[3]);default:throw new Error("Unsupported NRRD sizes.")}},getEndian:function(e){if("little"===e||"big"===e)return void(this.endian=e);throw new Error("Unsupported NRRD endian, must be 'little' or 'big'.")},getData:function(){switch(this.encoding){case"ascii":this.ascii();break;case"raw":this.rawString(this.input);break;case"hex":this.hex();break;case"gzip":this.gzip()}},ascii:function(){var e=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,i=new Uint8Array(e);if(this.nrrd.data=i,t.data.parse(this)){var r=this.result[1].trim().split(/\s+/);switch(this.byteType){case"signed char":case"unsigned char":return void r.forEach(function(e,r){i[r]=parseInt(e)});case"signed short":case"unsigned short":return void r.forEach(function(e,r){i[r]=parseInt(e)/256});case"signed int":case"unsigned int":return void r.forEach(function(e,r){i[r]=parseInt(e)/16777216});case"float":return void r.forEach(function(e,r){i[r]=parseFloat(e)/256});case"double":return void r.forEach(function(e,r){i[r]=parseFloat(e)/16777216})}}},rawString:function(e){var i=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,r=i*this.bytes,t=new Uint8Array(i);switch(this.nrrd.data=t,this.byteType){case"signed char":case"unsigned char":for(var n=e.length-r,f=0;n<e.length;++n,++f)t[f]=e.charCodeAt(n);return;case"signed short":case"unsigned short":if(this.getEndianess()===this.endian)var a=0,s=1;else var a=1,s=0;for(var n=e.length-r,f=0;n<e.length;n+=2,++f)t[f]=this.short2byte(e.charCodeAt(n+a),e.charCodeAt(n+s));return;case"signed int":case"unsigned int":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.int2byte(e.charCodeAt(n+a),e.charCodeAt(n+s),e.charCodeAt(n+l),e.charCodeAt(n+o));return;case"float":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.float2byte(e.charCodeAt(n+a),e.charCodeAt(n+s),e.charCodeAt(n+l),e.charCodeAt(n+o));return;case"double":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3,u=4,c=5,d=6,h=7;else var a=7,s=6,l=5,o=4,u=3,c=2,d=1,h=0;for(var n=e.length-r,f=0;n<e.length;n+=8,++f)t[f]=this.double2byte(e.charCodeAt(n+a),e.charCodeAt(n+s),e.charCodeAt(n+l),e.charCodeAt(n+o),e.charCodeAt(n+u),e.charCodeAt(n+c),e.charCodeAt(n+d),e.charCodeAt(n+h));return}},rawArray:function(e){var i=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,r=i*this.bytes,t=new Uint8Array(i);switch(this.nrrd.data=t,this.byteType){case"signed char":case"unsigned char":for(var n=e.length-r,f=0;n<e.length;++n,++f)t[f]=e[n];return;case"signed short":case"unsigned short":if(this.getEndianess()===this.endian)var a=0,s=1;else var a=1,s=0;for(var n=e.length-r,f=0;n<e.length;n+=2,++f)t[f]=this.short2byte(e[n+a],e[n+s]);return;case"signed int":case"unsigned int":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.int2byte(e[n+a],e[n+s],e[n+l],e[n+o]);return;case"float":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.float2byte(e[n+a],e[n+s],e[n+l],e[n+o]);return;case"double":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3,u=4,c=5,d=6,h=7;else var a=7,s=6,l=5,o=4,u=3,c=2,d=1,h=0;for(var n=e.length-r,f=0;n<e.length;n+=8,++f)t[f]=this.double2byte(e[n+a],e[n+s],e[n+l],e[n+o],e[n+u],e[n+c],e[n+d],e[n+h]);return}},hex:function(){if(t.data.parse(this)){var e=this.result[1].match(/([0-9a-fA-F]{2})/g);if(e){var i=e.map(function(e){return parseInt(e,16)});return void this.rawArray(i)}}throw new Error("Invalid NRRD data.")},gzip:function(){try{if(!t.newLine.parse(this))throw new Error("Invalid NRRD data.");t.data.parse(this);var i=e.ungzip(this.result[1],{to:"raw"});this.rawArray(i)}catch(e){throw new Error("Invalid NRRD data.")}},getEndianess:function(){var e=new ArrayBuffer(4),i=new Uint32Array(e),r=new Uint8Array(e);if(i[0]=16909060,1==r[0]&&2==r[1]&&3==r[2]&&4==r[3])return"big";if(4==r[0]&&3==r[1]&&2==r[2]&&1==r[3])return"little";throw new Error("NRRD: unkown system endianess,")},short2byte:function(){var e=new Uint8Array(2),i=new Uint16Array(e.buffer);return function(r,t){return e[0]=r,e[1]=t,i[0]/256}}(),int2byte:function(){var e=new Uint8Array(4),i=new Uint32Array(e.buffer);return function(r,t,n,f){return e[0]=r,e[1]=t,e[2]=n,e[3]=f,i[0]/16777216}}(),float2byte:function(){var e=new Uint8Array(4),i=new Float32Array(e.buffer);return function(r,t,n,f){return e[0]=r,e[1]=t,e[2]=n,e[3]=f,i[0]/256}}(),double2byte:function(){var e=new Uint8Array(8),i=new Float64Array(e.buffer);return function(r,t,n,f,a,s,l,o){return e[0]=r,e[1]=t,e[2]=n,e[3]=f,e[4]=a,e[5]=s,e[6]=l,e[7]=o,i[0]/16777216}}()},r}),define("zlib",["zlib/dummy"],function(e){return e}),define("zlib/dummy",function(){}),function(e,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(require("zlib")):"function"==typeof define&&define.amd?define("dicom-parser",["zlib"],i):"object"==typeof exports?exports["dicom-parser"]=i(require("zlib")):e.dicomParser=i(e.zlib)}(this,function(e){return function(e){function i(e){delete installedChunks[e]}function r(e){var i=document.createElement("script");i.charset="utf-8",i.src=w.p+""+e+"."+A+".hot-update.js",document.head.appendChild(i)}function t(e){return e=e||1e4,new Promise(function(i,r){if("undefined"==typeof XMLHttpRequest)return r(new Error("No browser support"));try{var t=new XMLHttpRequest,n=w.p+""+A+".hot-update.json";t.open("GET",n,!0),t.timeout=e,t.send(null)}catch(e){return r(e)}t.onreadystatechange=function(){if(4===t.readyState)if(0===t.status)r(new Error("Manifest request to "+n+" timed out."));else if(404===t.status)i();else if(200!==t.status&&304!==t.status)r(new Error("Manifest request to "+n+" failed."));else{try{var e=JSON.parse(t.responseText)}catch(e){return void r(e)}i(e)}}})}function n(e){var i=B[e];if(!i)return w;var r=function(r){return i.hot.active?(B[r]?B[r].parents.indexOf(e)===-1&&B[r].parents.push(e):(M=[e],_=r),i.children.indexOf(r)===-1&&i.children.push(r)):(console.warn("[HMR] unexpected require("+r+") from disposed module "+e),M=[]),w(r)};for(var t in w)Object.prototype.hasOwnProperty.call(w,t)&&"e"!==t&&"t"!==t&&Object.defineProperty(r,t,function(e){return{configurable:!0,enumerable:!0,get:function(){return w[e]},set:function(i){w[e]=i}}}(t));return r.e=function(e){function i(){O--,"prepare"===x&&(R[e]||u(e),0===O&&0===D&&c())}return"ready"===x&&a("prepare"),O++,w.e(e).then(i,function(e){throw i(),e})},r.t=function(e,i){return 1&i&&(e=r(e)),w.t(e,i&-2)},r}function f(i){var r={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_selfInvalidated:!1,_disposeHandlers:[],_main:_!==i,active:!0,accept:function(e,i){if(void 0===e)r._selfAccepted=!0;else if("function"==typeof e)r._selfAccepted=e;else if("object"==typeof e)for(var t=0;t<e.length;t++)r._acceptedDependencies[e[t]]=i||function(){};else r._acceptedDependencies[e]=i||function(){}},decline:function(e){if(void 0===e)r._selfDeclined=!0;else if("object"==typeof e)for(var i=0;i<e.length;i++)r._declinedDependencies[e[i]]=!0;else r._declinedDependencies[e]=!0},dispose:function(e){r._disposeHandlers.push(e)},addDisposeHandler:function(e){r._disposeHandlers.push(e)},removeDisposeHandler:function(e){var i=r._disposeHandlers.indexOf(e);i>=0&&r._disposeHandlers.splice(i,1)},invalidate:function(){switch(this._selfInvalidated=!0,x){case"idle":v={},v[i]=e[i],a("ready");break;case"ready":k(i);break;case"prepare":case"check":case"dispose":case"apply":(y=y||[]).push(i)}},check:l,apply:d,status:function(e){if(!e)return x;P.push(e)},addStatusHandler:function(e){P.push(e)},removeStatusHandler:function(e){var i=P.indexOf(e);i>=0&&P.splice(i,1)},data:T[i]};return _=void 0,r}function a(e){x=e;for(var i=0;i<P.length;i++)P[i].call(null,e)}function s(e){return+e+""===e?+e:e}function l(e){if("idle"!==x)throw new Error("check() is only allowed in idle status");return E=e,a("check"),t(S).then(function(e){if(!e)return a(b()?"ready":"idle"),null;L={},R={},I=e.c,g=e.h,a("prepare");var i=new Promise(function(e,i){p={resolve:e,reject:i}});v={};return u("dicomParser"),"prepare"===x&&0===O&&0===D&&c(),i})}function o(e,i){if(I[e]&&L[e]){L[e]=!1;for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(v[r]=i[r]);0==--D&&0===O&&c()}}function u(e){I[e]?(L[e]=!0,D++,r(e)):R[e]=!0}function c(){a("ready");var e=p;if(p=null,e)if(E)Promise.resolve().then(function(){return d(E)}).then(function(i){e.resolve(i)},function(i){e.reject(i)});else{var i=[];for(var r in v)Object.prototype.hasOwnProperty.call(v,r)&&i.push(s(r));e.resolve(i)}}function d(e){if("ready"!==x)throw new Error("apply() is only allowed in ready status");return e=e||{},h(e)}function h(r){function t(e,i){for(var r=0;r<i.length;r++){var t=i[r];e.indexOf(t)===-1&&e.push(t)}}b();var n,f,l,o,u,c={},d=[],k={},m=function(){console.warn("[HMR] unexpected require("+E.moduleId+") to disposed module")};for(var p in v)if(Object.prototype.hasOwnProperty.call(v,p)){u=s(p);var E;E=v[p]?function(e){for(var i=[e],r={},n=i.map(function(e){return{chain:[e],id:e}});n.length>0;){var f=n.pop(),a=f.id,s=f.chain;if((o=B[a])&&(!o.hot._selfAccepted||o.hot._selfInvalidated)){if(o.hot._selfDeclined)return{type:"self-declined",chain:s,moduleId:a};if(o.hot._main)return{type:"unaccepted",chain:s,moduleId:a};for(var l=0;l<o.parents.length;l++){var u=o.parents[l],c=B[u];if(c){if(c.hot._declinedDependencies[a])return{type:"declined",chain:s.concat([u]),moduleId:a,parentId:u};i.indexOf(u)===-1&&(c.hot._acceptedDependencies[a]?(r[u]||(r[u]=[]),t(r[u],[a])):(delete r[u],i.push(u),n.push({chain:s.concat([u]),id:u})))}}}}return{type:"accepted",moduleId:e,outdatedModules:i,outdatedDependencies:r}}(u):{type:"disposed",moduleId:p};var S=!1,C=!1,P=!1,x="";switch(E.chain&&(x="\nUpdate propagation: "+E.chain.join(" -> ")),E.type){case"self-declined":r.onDeclined&&r.onDeclined(E),r.ignoreDeclined||(S=new Error("Aborted because of self decline: "+E.moduleId+x));break;case"declined":r.onDeclined&&r.onDeclined(E),r.ignoreDeclined||(S=new Error("Aborted because of declined dependency: "+E.moduleId+" in "+E.parentId+x));break;case"unaccepted":r.onUnaccepted&&r.onUnaccepted(E),r.ignoreUnaccepted||(S=new Error("Aborted because "+u+" is not accepted"+x));break;case"accepted":r.onAccepted&&r.onAccepted(E),C=!0;break;case"disposed":r.onDisposed&&r.onDisposed(E),P=!0;break;default:throw new Error("Unexception type "+E.type)}if(S)return a("abort"),Promise.reject(S);if(C){k[u]=v[u],t(d,E.outdatedModules);for(u in E.outdatedDependencies)Object.prototype.hasOwnProperty.call(E.outdatedDependencies,u)&&(c[u]||(c[u]=[]),t(c[u],E.outdatedDependencies[u]))}P&&(t(d,[E.moduleId]),k[u]=m)}var D=[];for(f=0;f<d.length;f++)u=d[f],B[u]&&B[u].hot._selfAccepted&&k[u]!==m&&!B[u].hot._selfInvalidated&&D.push({module:u,parents:B[u].parents.slice(),errorHandler:B[u].hot._selfAccepted});a("dispose"),Object.keys(I).forEach(function(e){I[e]===!1&&i(e)});for(var O,R=d.slice();R.length>0;)if(u=R.pop(),o=B[u]){var L={},N=o.hot._disposeHandlers;for(l=0;l<N.length;l++)(n=N[l])(L);for(T[u]=L,o.hot.active=!1,delete B[u],delete c[u],l=0;l<o.children.length;l++){var F=B[o.children[l]];F&&(O=F.parents.indexOf(u))>=0&&F.parents.splice(O,1)}}var j,U;for(u in c)if(Object.prototype.hasOwnProperty.call(c,u)&&(o=B[u]))for(U=c[u],l=0;l<U.length;l++)j=U[l],(O=o.children.indexOf(j))>=0&&o.children.splice(O,1);a("apply"),void 0!==g&&(A=g,g=void 0),v=void 0;for(u in k)Object.prototype.hasOwnProperty.call(k,u)&&(e[u]=k[u]);var H=null;for(u in c)if(Object.prototype.hasOwnProperty.call(c,u)&&(o=B[u])){U=c[u];var Y=[];for(f=0;f<U.length;f++)if(j=U[f],n=o.hot._acceptedDependencies[j]){if(Y.indexOf(n)!==-1)continue;Y.push(n)}for(f=0;f<Y.length;f++){n=Y[f];try{n(U)}catch(e){r.onErrored&&r.onErrored({type:"accept-errored",moduleId:u,dependencyId:U[f],error:e}),r.ignoreErrored||H||(H=e)}}}for(f=0;f<D.length;f++){var q=D[f];u=q.module,M=q.parents,_=u;try{w(u)}catch(e){if("function"==typeof q.errorHandler)try{q.errorHandler(e)}catch(i){r.onErrored&&r.onErrored({type:"self-accept-error-handler-errored",moduleId:u,error:i,originalError:e}),r.ignoreErrored||H||(H=i),H||(H=e)}else r.onErrored&&r.onErrored({type:"self-accept-errored",moduleId:u,error:e}),r.ignoreErrored||H||(H=e)}}return H?(a("fail"),Promise.reject(H)):y?h(r).then(function(e){return d.forEach(function(i){e.indexOf(i)<0&&e.push(i)}),e}):(a("idle"),new Promise(function(e){e(d)}))}function b(){if(y)return v||(v={}),y.forEach(k),y=void 0,!0}function k(i){Object.prototype.hasOwnProperty.call(v,i)||(v[i]=e[i])}function w(i){if(B[i])return B[i].exports;var r=B[i]={i:i,l:!1,exports:{},hot:f(i),parents:(C=M,M=[],C),children:[]};return e[i].call(r.exports,r,r.exports,n(i)),r.l=!0,r.exports}var m=this.webpackHotUpdate;this.webpackHotUpdate=function(e,i){o(e,i),m&&m(e,i)};var _,p,v,g,y,E=!0,A="10548f5b41ce6f922e03",S=1e4,T={},M=[],C=[],P=[],x="idle",D=0,O=0,R={},L={},I={},B={};return w.m=e,w.c=B,w.d=function(e,i,r){w.o(e,i)||Object.defineProperty(e,i,{enumerable:!0,get:r})},w.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.t=function(e,i){if(1&i&&(e=w(e)),8&i)return e;if(4&i&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(w.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&i&&"string"!=typeof e)for(var t in e)w.d(r,t,function(i){return e[i]}.bind(null,t));return r},w.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return w.d(i,"a",i),i},w.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},w.p="",w.h=function(){return A},n("./index.js")(w.s="./index.js")}({"./alloc.js":function(e,i,r){function t(e,i){if("undefined"!=typeof Buffer&&e instanceof Buffer)return Buffer.alloc(i);if(e instanceof Uint8Array)return new Uint8Array(i);throw"dicomParser.alloc: unknown type for byteArray"}r.r(i),r.d(i,"default",function(){return t})},"./bigEndianByteArrayParser.js":function(e,i,r){r.r(i),i.default={readUint16:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if(i+2>e.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(e[i]<<8)+e[i+1]},readInt16:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=(e[i]<<8)+e[i+1];return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*e[i]+e[i+1])+e[i+2])+e[i+3]},readInt32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(e[i]<<24)+(e[i+1]<<16)+(e[i+2]<<8)+e[i+3]},readFloat:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=e[i],r[2]=e[i+1],r[1]=e[i+2],r[0]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=e[i],r[6]=e[i+1],r[5]=e[i+2],r[4]=e[i+3],r[3]=e[i+4],r[2]=e[i+5],r[1]=e[i+6],r[0]=e[i+7],new Float64Array(r.buffer)[0]}}},"./byteArrayParser.js":function(e,i,r){function t(e,i,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(i+r>e.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var t,n="",f=0;f<r;f++){if(0===(t=e[i+f]))return i+=r,n;n+=String.fromCharCode(t)}return n}r.r(i),r.d(i,"readFixedString",function(){return t})},"./byteStream.js":function(e,i,r){function t(e,i){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}function n(e,i){for(var r=0;r<i.length;r++){var t=i[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function f(e,i,r){return i&&n(e.prototype,i),r&&n(e,r),e}r.r(i),r.d(i,"default",function(){return l});var a=r("./sharedCopy.js"),s=r("./byteArrayParser.js"),l=function(){function e(i,r,n){if(t(this,e),void 0===i)throw"dicomParser.ByteStream: missing required parameter 'byteArrayParser'";if(void 0===r)throw"dicomParser.ByteStream: missing required parameter 'byteArray'";if(r instanceof Uint8Array==!1&&("undefined"==typeof Buffer||r instanceof Buffer==!1))throw"dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer";if(n<0)throw"dicomParser.ByteStream: parameter 'position' cannot be less than 0";if(n>=r.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=i,this.byteArray=r,this.position=n?n:0,this.warnings=[]}return f(e,[{key:"seek",value:function(e){if(this.position+e<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=e}},{key:"readByteStream",value:function(i){if(this.position+i>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var r=Object(a.default)(this.byteArray,this.position,i);return this.position+=i,new e(this.byteArrayParser,r)}},{key:"readUint16",value:function(){var e=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,e}},{key:"readUint32",value:function(){var e=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,e}},{key:"readFixedString",value:function(e){var i=Object(s.readFixedString)(this.byteArray,this.position,e);return this.position+=e,i}}]),e}()},"./dataSet.js":function(e,i,r){function t(e,i){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}function n(e,i){for(var r=0;r<i.length;r++){var t=i[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function f(e,i,r){return i&&n(e.prototype,i),r&&n(e,r),e}function a(e,i){return void 0!==e.parser?e.parser:i}r.r(i),r.d(i,"default",function(){return l});var s=r("./byteArrayParser.js"),l=function(){function e(i,r,n){t(this,e),this.byteArrayParser=i,this.byteArray=r,this.elements=n}return f(e,[{key:"uint16",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readUint16(this.byteArray,r.dataOffset+2*i)}},{key:"int16",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readInt16(this.byteArray,r.dataOffset+2*i)}},{key:"uint32",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readUint32(this.byteArray,r.dataOffset+4*i)}},{key:"int32",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readInt32(this.byteArray,r.dataOffset+4*i)}},{key:"float",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readFloat(this.byteArray,r.dataOffset+4*i)}},{key:"double",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readDouble(this.byteArray,r.dataOffset+8*i)}},{key:"numStringValues",value:function(e){var i=this.elements[e];if(i&&i.length>0){var r=Object(s.readFixedString)(this.byteArray,i.dataOffset,i.length),t=r.match(/\\/g);return null===t?1:t.length+1}}},{key:"string",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){var t=Object(s.readFixedString)(this.byteArray,r.dataOffset,r.length);if(i>=0){return t.split("\\")[i].trim()}return t.trim()}}},{key:"text",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){var t=Object(s.readFixedString)(this.byteArray,r.dataOffset,r.length);if(i>=0){return t.split("\\")[i].replace(/ +$/,"")}return t.replace(/ +$/,"")}}},{key:"floatString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseFloat(t)}}},{key:"intString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseInt(t)}}},{key:"attributeTag",value:function(e){var i=this.elements[e];if(i&&4===i.length){var r=a(i,this.byteArrayParser).readUint16,t=this.byteArray,n=i.dataOffset;return"x".concat("00000000".concat((256*r(t,n)*256+r(t,n+2)).toString(16)).substr(-8))}}}]),e}()},"./findAndSetUNElementLength.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;){if(65534===e.readUint16()){if(57565===e.readUint16()){return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset)}}}i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",function(){return t})},"./findEndOfEncapsulatedPixelData.js":function(e,i,r){function t(e,i,r){if(void 0===e)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if(i.encapsulatedPixelData=!0,i.basicOffsetTable=[],i.fragments=[],"xfffee000"!==Object(n.default)(e))throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var t=e.readUint32(),f=t/4,a=0;a<f;a++){var s=e.readUint32();i.basicOffsetTable.push(s)}for(var l=e.position;e.position<e.byteArray.length;){var o=Object(n.default)(e),u=e.readUint32();if("xfffee0dd"===o)return e.seek(u),void(i.length=e.position-i.dataOffset);if("xfffee000"!==o)return r&&r.push("unexpected tag ".concat(o," while searching for end of pixel data element with undefined length")),u>e.byteArray.length-e.position&&(u=e.byteArray.length-e.position),i.fragments.push({offset:e.position-l-8,position:e.position,length:u}),e.seek(u),void(i.length=e.position-i.dataOffset);i.fragments.push({offset:e.position-l-8,position:e.position,length:u}),e.seek(u)}r&&r.push("pixel data element ".concat(i.tag," missing sequence delimiter tag xfffee0dd"))}r.r(i),r.d(i,"default",function(){return t});var n=r("./readTag.js")},"./findItemDelimitationItem.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;){if(65534===e.readUint16()){if(57357===e.readUint16()){return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset)}}}i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",function(){return t})},"./index.js":function(e,i,r){r.r(i);var t=r("./util/index.js");r.d(i,"isStringVr",function(){return t.isStringVr}),r.d(i,"isPrivateTag",function(){return t.isPrivateTag}),r.d(i,"parsePN",function(){return t.parsePN}),r.d(i,"parseTM",function(){return t.parseTM}),r.d(i,"parseDA",function(){return t.parseDA}),r.d(i,"explicitElementToString",function(){return t.explicitElementToString}),r.d(i,"explicitDataSetToJS",function(){return t.explicitDataSetToJS}),r.d(i,"createJPEGBasicOffsetTable",function(){return t.createJPEGBasicOffsetTable});var n=r("./parseDicomDataSet.js");r.d(i,"parseDicomDataSetExplicit",function(){return n.parseDicomDataSetExplicit}),r.d(i,"parseDicomDataSetImplicit",function(){return n.parseDicomDataSetImplicit});var f=r("./byteArrayParser.js");r.d(i,"readFixedString",function(){return f.readFixedString});var a=r("./alloc.js");r.d(i,"alloc",function(){return a.default});var s=r("./version.js");r.d(i,"version",function(){return s.default})
2
- ;var l=r("./bigEndianByteArrayParser.js");r.d(i,"bigEndianByteArrayParser",function(){return l.default});var o=r("./byteStream.js");r.d(i,"ByteStream",function(){return o.default});var u=r("./sharedCopy.js");r.d(i,"sharedCopy",function(){return u.default});var c=r("./dataSet.js");r.d(i,"DataSet",function(){return c.default});var d=r("./findAndSetUNElementLength.js");r.d(i,"findAndSetUNElementLength",function(){return d.default});var h=r("./findEndOfEncapsulatedPixelData.js");r.d(i,"findEndOfEncapsulatedElement",function(){return h.default});var b=r("./findItemDelimitationItem.js");r.d(i,"findItemDelimitationItemAndSetElementLength",function(){return b.default});var k=r("./littleEndianByteArrayParser.js");r.d(i,"littleEndianByteArrayParser",function(){return k.default});var w=r("./parseDicom.js");r.d(i,"parseDicom",function(){return w.default});var m=r("./readDicomElementExplicit.js");r.d(i,"readDicomElementExplicit",function(){return m.default});var _=r("./readDicomElementImplicit.js");r.d(i,"readDicomElementImplicit",function(){return _.default});var p=r("./readEncapsulatedImageFrame.js");r.d(i,"readEncapsulatedImageFrame",function(){return p.default});var v=r("./readEncapsulatedPixelData.js");r.d(i,"readEncapsulatedPixelData",function(){return v.default});var g=r("./readEncapsulatedPixelDataFromFragments.js");r.d(i,"readEncapsulatedPixelDataFromFragments",function(){return g.default});var y=r("./readPart10Header.js");r.d(i,"readPart10Header",function(){return y.default});var E=r("./readSequenceElementExplicit.js");r.d(i,"readSequenceItemsExplicit",function(){return E.default});var A=r("./readSequenceElementImplicit.js");r.d(i,"readSequenceItemsImplicit",function(){return A.default});var S=r("./readSequenceItem.js");r.d(i,"readSequenceItem",function(){return S.default});var T=r("./readTag.js");r.d(i,"readTag",function(){return T.default});var M={isStringVr:t.isStringVr,isPrivateTag:t.isPrivateTag,parsePN:t.parsePN,parseTM:t.parseTM,parseDA:t.parseDA,explicitElementToString:t.explicitElementToString,explicitDataSetToJS:t.explicitDataSetToJS,createJPEGBasicOffsetTable:t.createJPEGBasicOffsetTable,parseDicomDataSetExplicit:n.parseDicomDataSetExplicit,parseDicomDataSetImplicit:n.parseDicomDataSetImplicit,readFixedString:f.readFixedString,alloc:a.default,version:s.default,bigEndianByteArrayParser:l.default,ByteStream:o.default,sharedCopy:u.default,DataSet:c.default,findAndSetUNElementLength:d.default,findEndOfEncapsulatedElement:h.default,findItemDelimitationItemAndSetElementLength:b.default,littleEndianByteArrayParser:k.default,parseDicom:w.default,readDicomElementExplicit:m.default,readDicomElementImplicit:_.default,readEncapsulatedImageFrame:p.default,readEncapsulatedPixelData:v.default,readEncapsulatedPixelDataFromFragments:g.default,readPart10Header:y.default,readSequenceItemsExplicit:E.default,readSequenceItemsImplicit:A.default,readSequenceItem:S.default,readTag:T.default};i.default=M},"./littleEndianByteArrayParser.js":function(e,i,r){r.r(i),i.default={readUint16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return e[i]+256*e[i+1]},readInt16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=e[i]+(e[i+1]<<8);return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return e[i]+256*e[i+1]+256*e[i+2]*256+256*e[i+3]*256*256},readInt32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return e[i]+(e[i+1]<<8)+(e[i+2]<<16)+(e[i+3]<<24)},readFloat:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],r[4]=e[i+4],r[5]=e[i+5],r[6]=e[i+6],r[7]=e[i+7],new Float64Array(r.buffer)[0]}}},"./parseDicom.js":function(e,i,r){function t(e,i){function t(i){if(void 0===i.elements.x00020010)throw"dicomParser.parseDicom: missing required meta header attribute 0002,0010";var r=i.elements.x00020010;return c.readFixedString(e,r.dataOffset,r.length)}function h(e){return"1.2.840.10008.1.2"!==e}function b(t,s){var o="[object process]"===Object.prototype.toString.call("undefined"!=typeof process?process:0);if("1.2.840.10008.1.2.1.99"===t){if(i&&i.inflater){var c=i.inflater(e,s);return new a.default(l.default,c,0)}if(o===!0){var d=r("zlib"),h=Object(u.default)(e,s,e.length-s),b=d.inflateRawSync(h),k=Object(n.default)(e,b.length+s);return e.copy(k,0,0,s),b.copy(k,s),new a.default(l.default,k,0)}if("undefined"!=typeof pako){var w=e.slice(s),m=pako.inflateRaw(w),_=Object(n.default)(e,m.length+s);return _.set(e.slice(0,s),0),_.set(m,s),new a.default(l.default,_,0)}throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax"}return"1.2.840.10008.1.2.2"===t?new a.default(f.default,e,s):new a.default(l.default,e,s)}function k(e,i){for(var r in e.elements)e.elements.hasOwnProperty(r)&&(i.elements[r]=e.elements[r]);return void 0!==e.warnings&&(i.warnings=e.warnings.concat(i.warnings)),i}function w(e){var r=t(e),n=h(r),f=b(r,e.position),a={},l=new s.default(f.byteArrayParser,f.byteArray,a);l.warnings=f.warnings;try{n?d.parseDicomDataSetExplicit(l,f,f.byteArray.length,i):d.parseDicomDataSetImplicit(l,f,f.byteArray.length,i)}catch(e){throw{exception:e,dataSet:l}}return l}if(void 0===e)throw"dicomParser.parseDicom: missing required parameter 'byteArray'";return function(){var r=Object(o.default)(e,i);return k(r,w(r))}()}r.r(i),r.d(i,"default",function(){return t});var n=r("./alloc.js"),f=r("./bigEndianByteArrayParser.js"),a=r("./byteStream.js"),s=r("./dataSet.js"),l=r("./littleEndianByteArrayParser.js"),o=r("./readPart10Header.js"),u=r("./sharedCopy.js"),c=r("./byteArrayParser.js"),d=r("./parseDicomDataSet.js")},"./parseDicomDataSet.js":function(e,i,r){function t(e,i,r){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?i.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(r<i.position||r>i.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var n=e.elements;i.position<r;){var a=Object(f.default)(i,e.warnings,t.untilTag);if(n[a.tag]=a,a.tag===t.untilTag)return}if(i.position>r)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function n(e,i,r){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?e.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(r<i.position||r>i.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var n=e.elements;i.position<r;){var f=Object(a.default)(i,t.untilTag,t.vrCallback);if(n[f.tag]=f,f.tag===t.untilTag)return}}r.r(i),r.d(i,"parseDicomDataSetExplicit",function(){return t}),r.d(i,"parseDicomDataSetImplicit",function(){return n});var f=r("./readDicomElementExplicit.js"),a=r("./readDicomElementImplicit.js")},"./readDicomElementExplicit.js":function(e,i,r){function t(e,i,r){if(void 0===e)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var t={tag:Object(a.default)(e),vr:e.readFixedString(2)};return 2===o(t.vr)?(t.length=e.readUint16(),t.dataOffset=e.position):(e.seek(2),t.length=e.readUint32(),t.dataOffset=e.position),4294967295===t.length&&(t.hadUndefinedLength=!0),t.tag===r?t:"SQ"===t.vr?(Object(l.default)(e,t,i),t):4294967295===t.length?"x7fe00010"===t.tag?(Object(n.default)(e,t,i),t):"UN"===t.vr?(Object(f.default)(e,t),t):(Object(s.default)(e,t),t):(e.seek(t.length),t)}r.r(i),r.d(i,"default",function(){return t});var n=r("./findEndOfEncapsulatedPixelData.js"),f=(r("./findAndSetUNElementLength.js"),r("./readSequenceElementImplicit.js")),a=r("./readTag.js"),s=r("./findItemDelimitationItem.js"),l=r("./readSequenceElementExplicit.js"),o=function(e){return"OB"===e||"OD"===e||"OL"===e||"OW"===e||"SQ"===e||"OF"===e||"UC"===e||"UR"===e||"UT"===e||"UN"===e?4:2}},"./readDicomElementImplicit.js":function(e,i,r){function t(e,i,r){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var t={tag:Object(a.default)(e),length:e.readUint32(),dataOffset:e.position};return 4294967295===t.length&&(t.hadUndefinedLength=!0),t.tag===i?t:l(t,e,r)&&!Object(s.isPrivateTag)(t.tag)?(Object(f.default)(e,t),t):t.hadUndefinedLength?(Object(n.default)(e,t),t):(e.seek(t.length),t)}r.r(i),r.d(i,"default",function(){return t});var n=r("./findItemDelimitationItem.js"),f=r("./readSequenceElementImplicit.js"),a=r("./readTag.js"),s=r("./util/util.js"),l=function(e,i,r){if(void 0!==r)return"SQ"===r(e.tag);if(i.position+4<=i.byteArray.length){var t=Object(a.default)(i);return i.seek(-4),"xfffee000"===t||"xfffee0dd"===t}return i.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1}},"./readEncapsulatedImageFrame.js":function(e,i,r){function t(e,i,r,t,s){if(t=t||i.basicOffsetTable,s=s||i.fragments,void 0===e)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'frameIndex'";if(void 0===t)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' does not have basicOffsetTable";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010)";if(i.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have undefined length";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have fragments";if(0===t.length)throw"dicomParser.readEncapsulatedImageFrame: basicOffsetTable has zero entries";if(r<0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be >= 0";if(r>=t.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var l=t[r],o=f(s,l);if(void 0===o)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";var u=a(r,t,s,o);return Object(n.default)(e,i,o,u,s)}r.r(i),r.d(i,"default",function(){return t});var n=r("./readEncapsulatedPixelDataFromFragments.js"),f=function(e,i){for(var r=0;r<e.length;r++)if(e[r].offset===i)return r},a=function(e,i,r,t){if(e===i.length-1)return r.length-t;for(var n=i[e+1],f=t+1;f<r.length;f++)if(r[f].offset===n)return f-t;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"}},"./readEncapsulatedPixelData.js":function(e,i,r){function t(e,i,r){if(a||(a=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),void 0===e)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if(i.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return 0!==i.basicOffsetTable.length?Object(n.default)(e,i,r):Object(f.default)(e,i,0,i.fragments.length)}r.r(i),r.d(i,"default",function(){return t});var n=r("./readEncapsulatedImageFrame.js"),f=r("./readEncapsulatedPixelDataFromFragments.js"),a=!1},"./readEncapsulatedPixelDataFromFragments.js":function(e,i,r){function t(e,i,r,t,o){if(t=t||1,o=o||i.fragments,void 0===e)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'startFragmentIndex'";if(void 0===t)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'numFragments'";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010";if(i.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.fragments.length<=0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be >= 0";if(r>=i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(t<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+t>i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var u=new f.default(e.byteArrayParser,e.byteArray,i.dataOffset),c=Object(a.default)(u);if("xfffee000"!==c.tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";u.seek(c.length);var d=u.position;if(1===t)return Object(s.default)(u.byteArray,d+o[r].offset+8,o[r].length);for(var h=l(o,r,t),b=Object(n.default)(u.byteArray,h),k=0,w=r;w<r+t;w++)for(var m=d+o[w].offset+8,_=0;_<o[w].length;_++)b[k++]=u.byteArray[m++];return b}r.r(i),r.d(i,"default",function(){return t});var n=r("./alloc.js"),f=r("./byteStream.js"),a=r("./readSequenceItem.js"),s=r("./sharedCopy.js"),l=function(e,i,r){for(var t=0,n=i;n<i+r;n++)t+=e[n].length;return t}},"./readPart10Header.js":function(e,i,r){function t(e,i){function r(){if(t.seek(128),"DICM"!==t.readFixedString(4))throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file."}if(void 0===e)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var t=new n.default(a.default,e);return function(){r();for(var e=[],i={};t.position<t.byteArray.length;){var n=t.position,l=Object(s.default)(t,e);if(l.tag>"x0002ffff"){t.position=n;break}l.parser=a.default,i[l.tag]=l}var o=new f.default(t.byteArrayParser,t.byteArray,i);return o.warnings=t.warnings,o.position=t.position,o}()}r.r(i),r.d(i,"default",function(){return t});var n=r("./byteStream.js"),f=r("./dataSet.js"),a=r("./littleEndianByteArrayParser.js"),s=r("./readDicomElementExplicit.js")},"./readSequenceElementExplicit.js":function(e,i,r){function t(e,i){for(var r={};e.position<e.byteArray.length;){var t=Object(o.default)(e,i);if(r[t.tag]=t,"xfffee00d"===t.tag)return new l.default(e.byteArrayParser,e.byteArray,r)}return i.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new l.default(e.byteArrayParser,e.byteArray,r)}function n(e,i){var r=Object(u.default)(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=t(e,i),r.length=e.position-r.dataOffset):(r.dataSet=new l.default(e.byteArrayParser,e.byteArray,{}),d.parseDicomDataSetExplicit(r.dataSet,e,e.position+r.length)),r}function f(e,i,r){for(;e.position+4<=e.byteArray.length;){var t=Object(c.default)(e);if(e.seek(-4),"xfffee0dd"===t)return i.length=e.position-i.dataOffset,e.seek(8),i;var f=n(e,r);i.items.push(f)}r.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),i.length=e.position-i.dataOffset}function a(e,i,r){for(var t=i.dataOffset+i.length;e.position<t;){var f=n(e,r);i.items.push(f)}}function s(e,i,r){if(void 0===e)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";i.items=[],4294967295===i.length?f(e,i,r):a(e,i,r)}r.r(i),r.d(i,"default",function(){return s});var l=r("./dataSet.js"),o=r("./readDicomElementExplicit.js"),u=r("./readSequenceItem.js"),c=r("./readTag.js"),d=r("./parseDicomDataSet.js")},"./readSequenceElementImplicit.js":function(e,i,r){function t(e,i){for(var r={};e.position<e.byteArray.length;){var t=Object(o.default)(e,void 0,i);if(r[t.tag]=t,"xfffee00d"===t.tag)return new l.default(e.byteArrayParser,e.byteArray,r)}return e.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new l.default(e.byteArrayParser,e.byteArray,r)}function n(e,i){var r=Object(u.default)(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=t(e,i),r.length=e.position-r.dataOffset):(r.dataSet=new l.default(e.byteArrayParser,e.byteArray,{}),d.parseDicomDataSetImplicit(r.dataSet,e,e.position+r.length,{vrCallback:i})),r}function f(e,i,r){for(;e.position+4<=e.byteArray.length;){var t=Object(c.default)(e);if(e.seek(-4),"xfffee0dd"===t)return i.length=e.position-i.dataOffset,e.seek(8),i;var f=n(e,r);i.items.push(f)}e.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),i.length=e.byteArray.length-i.dataOffset}function a(e,i,r){for(var t=i.dataOffset+i.length;e.position<t;){var f=n(e,r);i.items.push(f)}}function s(e,i,r){if(void 0===e)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";i.items=[],4294967295===i.length?f(e,i,r):a(e,i,r)}r.r(i),r.d(i,"default",function(){return s});var l=r("./dataSet.js"),o=r("./readDicomElementImplicit.js"),u=r("./readSequenceItem.js"),c=r("./readTag.js"),d=r("./parseDicomDataSet.js")},"./readSequenceItem.js":function(e,i,r){function t(e){if(void 0===e)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var i={tag:Object(n.default)(e),length:e.readUint32(),dataOffset:e.position};if("xfffee000"!==i.tag)throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset ".concat(e.position);return i}r.r(i),r.d(i,"default",function(){return t});var n=r("./readTag.js")},"./readTag.js":function(e,i,r){function t(e){if(void 0===e)throw"dicomParser.readTag: missing required parameter 'byteStream'";var i=256*e.readUint16()*256,r=e.readUint16();return"x".concat("00000000".concat((i+r).toString(16)).substr(-8))}r.r(i),r.d(i,"default",function(){return t})},"./sharedCopy.js":function(e,i,r){function t(e,i,r){if("undefined"!=typeof Buffer&&e instanceof Buffer)return e.slice(i,i+r);if(e instanceof Uint8Array)return new Uint8Array(e.buffer,e.byteOffset+i,r);throw"dicomParser.from: unknown type for byteArray"}r.r(i),r.d(i,"default",function(){return t})},"./util/createJPEGBasicOffsetTable.js":function(e,i,r){function t(e,i){return 255===e.byteArray[i]&&217===e.byteArray[i+1]}function n(e,i,r){var n=i.fragments[r];return!(!t(e,n.position+n.length-2)&&!t(e,n.position+n.length-3))}function f(e,i,r){for(var t=r;t<i.fragments.length;t++)if(n(e,i,t))return t}function a(e,i,r){if(void 0===e)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter dataSet";if(void 0===i)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter pixelDataElement";if("x7fe00010"!==i.tag)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010'";if(i.encapsulatedPixelData!==!0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.fragments.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r&&r.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'fragments' must not be zero length";r=r||i.fragments;for(var t=[],n=0;;){t.push(i.fragments[n].offset);var a=f(e,i,n);if(void 0===a||a===i.fragments.length-1)return t;n=a+1}}r.r(i),r.d(i,"default",function(){return a})},"./util/dataSetToJS.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";i=i||{omitPrivateAttibutes:!0,maxElementLength:128};var r={};for(var a in e.elements){var s=e.elements[a];if(i.omitPrivateAttibutes!==!0||!f.isPrivateTag(a))if(s.items){for(var l=[],o=0;o<s.items.length;o++)l.push(t(s.items[o].dataSet,i));r[a]=l}else{var u;u=void 0,s.length<i.maxElementLength&&(u=Object(n.default)(e,s)),r[a]=void 0!==u?u:{dataOffset:s.dataOffset,length:s.length}}}return r}r.r(i),r.d(i,"default",function(){return t});var n=r("./util/elementToString.js"),f=r("./util/util.js")},"./util/elementToString.js":function(e,i,r){function t(e,i){function r(i,r){for(var t="",n=0;n<i;n++)0!==n&&(t+="/"),t+=r.call(e,a,n).toString();return t}if(void 0===e||void 0===i)throw"dicomParser.explicitElementToString: missing required parameters";if(void 0===i.vr)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var t,f=i.vr,a=i.tag;if(n.isStringVr(f)===!0)t=e.string(a);else{if("AT"===f){var s=e.uint32(a);if(void 0===s)return;return s<0&&(s=4294967295+s+1),"x".concat(s.toString(16).toUpperCase())}"US"===f?t=r(i.length/2,e.uint16):"SS"===f?t=r(i.length/2,e.int16):"UL"===f?t=r(i.length/4,e.uint32):"SL"===f?t=r(i.length/4,e.int32):"FD"===f?t=r(i.length/8,e.double):"FL"===f&&(t=r(i.length/4,e.float))}return t}r.r(i),r.d(i,"default",function(){return t});var n=r("./util/util.js")},"./util/index.js":function(e,i,r){r.r(i);var t=r("./util/util.js");r.d(i,"isStringVr",function(){return t.isStringVr}),r.d(i,"isPrivateTag",function(){return t.isPrivateTag}),r.d(i,"parsePN",function(){return t.parsePN});var n=r("./util/parseTM.js");r.d(i,"parseTM",function(){return n.default});var f=r("./util/parseDA.js");r.d(i,"parseDA",function(){return f.default});var a=r("./util/elementToString.js");r.d(i,"explicitElementToString",function(){return a.default});var s=r("./util/dataSetToJS.js");r.d(i,"explicitDataSetToJS",function(){return s.default});var l=r("./util/createJPEGBasicOffsetTable.js");r.d(i,"createJPEGBasicOffsetTable",function(){return l.default})},"./util/parseDA.js":function(e,i,r){function t(e,i){switch(e){case 2:return i%4==0&&i%100||i%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}}function n(e,i,r){return!isNaN(r)&&(i>0&&i<=12&&e>0&&e<=t(i,r))}function f(e,i){if(e&&8===e.length){var r=parseInt(e.substring(0,4),10),t=parseInt(e.substring(4,6),10),f=parseInt(e.substring(6,8),10);if(i&&n(f,t,r)!==!0)throw"invalid DA '".concat(e,"'");return{year:r,month:t,day:f}}if(i)throw"invalid DA '".concat(e,"'")}r.r(i),r.d(i,"default",function(){return f})},"./util/parseTM.js":function(e,i,r){function t(e,i){if(e.length>=2){var r=parseInt(e.substring(0,2),10),t=e.length>=4?parseInt(e.substring(2,4),10):void 0,n=e.length>=6?parseInt(e.substring(4,6),10):void 0,f=e.length>=8?e.substring(7,13):void 0,a=f?parseInt(f,10)*Math.pow(10,6-f.length):void 0;if(i&&(isNaN(r)||void 0!==t&&isNaN(t)||void 0!==n&&isNaN(n)||void 0!==a&&isNaN(a)||r<0||r>23||t&&(t<0||t>59)||n&&(n<0||n>59)||a&&(a<0||a>999999)))throw"invalid TM '".concat(e,"'");return{hours:r,minutes:t,seconds:n,fractionalSeconds:a}}if(i)throw"invalid TM '".concat(e,"'")}r.r(i),r.d(i,"default",function(){return t})},"./util/util.js":function(e,i,r){r.r(i),r.d(i,"isStringVr",function(){return n}),r.d(i,"isPrivateTag",function(){return f}),r.d(i,"parsePN",function(){return a});var t={AE:!0,AS:!0,AT:!1,CS:!0,DA:!0,DS:!0,DT:!0,FL:!1,FD:!1,IS:!0,LO:!0,LT:!0,OB:!1,OD:!1,OF:!1,OW:!1,PN:!0,SH:!0,SL:!1,SQ:!1,SS:!1,ST:!0,TM:!0,UI:!0,UL:!1,UN:void 0,UR:!0,US:!1,UT:!0},n=function(e){return t[e]},f=function(e){return parseInt(e[4],10)%2==1},a=function(e){if(void 0!==e){var i=e.split("^");return{familyName:i[0],givenName:i[1],middleName:i[2],prefix:i[3],suffix:i[4]}}}},"./version.js":function(e,i,r){r.r(i),i.default="1.8.5"},zlib:function(i,r){i.exports=e}})}),define("dicom-parser/dist/dicomParser",function(){});var ColorSpace={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4},JpegImage=function(){"use strict";function e(){}function i(e,i){for(var r,t,n=0,f=[],a=16;a>0&&!e[a-1];)a--;f.push({children:[],index:0});var s,l=f[0];for(r=0;r<a;r++){for(t=0;t<e[r];t++){for(l=f.pop(),l.children[l.index]=i[n];l.index>0;)l=f.pop();for(l.index++,f.push(l);f.length<=r;)f.push(s={children:[],index:0}),l.children[l.index]=s.children,l=s;n++}r+1<a&&(f.push(s={children:[],index:0}),l.children[l.index]=s.children,l=s)}return f[0].children}function r(e,i,r){return 64*((e.blocksPerLine+1)*i+r)}function t(e,i,t,n,f,a,l,o,u){function c(){if(D>0)return D--,x>>D&1;if(255==(x=e[i++])){var r=e[i++];if(r)throw"unexpected marker: "+(x<<8|r).toString(16)}return D=7,x>>>7}function d(e){for(var i,r=e;null!==(i=c());){if("number"==typeof(r=r[i]))return r;if("object"!=typeof r)throw"invalid huffman sequence"}return null}function h(e){for(var i=0;e>0;){var r=c();if(null===r)return;i=i<<1|r,e--}return i}function b(e){var i=h(e);return i>=1<<e-1?i:i+(-1<<e)+1}function k(e,i){var r=d(e.huffmanTableDC),t=0===r?0:b(r);e.blockData[i]=e.pred+=t;for(var n=1;n<64;){var f=d(e.huffmanTableAC),a=15&f,l=f>>4;if(0!==a){n+=l;var o=s[n];e.blockData[i+o]=b(a),n++}else{if(l<15)break;n+=16}}}function w(e,i){var r=d(e.huffmanTableDC),t=0===r?0:b(r)<<u;e.blockData[i]=e.pred+=t}function m(e,i){e.blockData[i]|=c()<<u}function _(e,i){if(O>0)return void O--;for(var r=a,t=l;r<=t;){var n=d(e.huffmanTableAC),f=15&n,o=n>>4;if(0!==f){r+=o;var c=s[r];e.blockData[i+c]=b(f)*(1<<u),r++}else{if(o<15){O=h(o)+(1<<o)-1;break}r+=16}}}function p(e,i){for(var r=a,t=l,n=0;r<=t;){var f=s[r];switch(R){case 0:var o=d(e.huffmanTableAC),k=15&o;if(n=o>>4,0===k)n<15?(O=h(n)+(1<<n),R=4):(n=16,R=1);else{if(1!==k)throw"invalid ACn encoding";v=b(k),R=n?2:3}continue;case 1:case 2:e.blockData[i+f]?e.blockData[i+f]+=c()<<u:0===--n&&(R=2==R?3:0);break;case 3:e.blockData[i+f]?e.blockData[i+f]+=c()<<u:(e.blockData[i+f]=v<<u,R=0);break;case 4:e.blockData[i+f]&&(e.blockData[i+f]+=c()<<u)}r++}4===R&&0===--O&&(R=0)}var v,g,y,E,A,S,T,M=(t.precision,t.samplesPerLine,t.scanLines,t.mcusPerLine),C=t.progressive,P=(t.maxH,t.maxV,i),x=0,D=0,O=0,R=0,L=n.length;T=C?0===a?0===o?w:m:0===o?_:p:k;var I,B,N=0;B=1==L?n[0].blocksPerLine*n[0].blocksPerColumn:M*t.mcusPerColumn,f||(f=B);for(var F,j;N<B;){for(y=0;y<L;y++)n[y].pred=0;if(O=0,1==L)for(g=n[0],S=0;S<f;S++)!function(e,i,t){i(e,r(e,t/e.blocksPerLine|0,t%e.blocksPerLine))}(g,T,N),N++;else for(S=0;S<f;S++){for(y=0;y<L;y++)for(g=n[y],F=g.h,j=g.v,E=0;E<j;E++)for(A=0;A<F;A++)!function(e,i,t,n,f){var a=t/M|0,s=t%M;i(e,r(e,a*e.v+n,s*e.h+f))}(g,T,N,E,A);N++}if(D=0,(I=e[i]<<8|e[i+1])<=65280)throw"marker was not found";if(!(I>=65488&&I<=65495))break;i+=2}return i-P}function n(e,i,r){var t,n,f,a,s,w,m,_,p,v,g=e.quantizationTable;for(v=0;v<64;v++)r[v]=e.blockData[i+v]*g[v];for(v=0;v<8;++v){var y=8*v;0!==r[1+y]||0!==r[2+y]||0!==r[3+y]||0!==r[4+y]||0!==r[5+y]||0!==r[6+y]||0!==r[7+y]?(t=b*r[0+y]+128>>8,n=b*r[4+y]+128>>8,f=r[2+y],a=r[6+y],s=k*(r[1+y]-r[7+y])+128>>8,_=k*(r[1+y]+r[7+y])+128>>8,w=r[3+y]<<4,m=r[5+y]<<4,p=t-n+1>>1,t=t+n+1>>1,n=p,p=f*h+a*d+128>>8,f=f*d-a*h+128>>8,a=p,p=s-m+1>>1,s=s+m+1>>1,m=p,p=_+w+1>>1,w=_-w+1>>1,_=p,p=t-a+1>>1,t=t+a+1>>1,a=p,p=n-f+1>>1,n=n+f+1>>1,f=p,p=s*c+_*u+2048>>12,s=s*u-_*c+2048>>12,_=p,p=w*o+m*l+2048>>12,w=w*l-m*o+2048>>12,m=p,r[0+y]=t+_,r[7+y]=t-_,r[1+y]=n+m,r[6+y]=n-m,r[2+y]=f+w,r[5+y]=f-w,r[3+y]=a+s,r[4+y]=a-s):(p=b*r[0+y]+512>>10,r[0+y]=p,r[1+y]=p,r[2+y]=p,r[3+y]=p,r[4+y]=p,r[5+y]=p,r[6+y]=p,r[7+y]=p)}for(v=0;v<8;++v){var E=v;0!==r[8+E]||0!==r[16+E]||0!==r[24+E]||0!==r[32+E]||0!==r[40+E]||0!==r[48+E]||0!==r[56+E]?(t=b*r[0+E]+2048>>12,n=b*r[32+E]+2048>>12,f=r[16+E],a=r[48+E],s=k*(r[8+E]-r[56+E])+2048>>12,_=k*(r[8+E]+r[56+E])+2048>>12,w=r[24+E],m=r[40+E],p=t-n+1>>1,t=t+n+1>>1,n=p,p=f*h+a*d+2048>>12,f=f*d-a*h+2048>>12,a=p,p=s-m+1>>1,s=s+m+1>>1,m=p,p=_+w+1>>1,w=_-w+1>>1,_=p,p=t-a+1>>1,t=t+a+1>>1,a=p,p=n-f+1>>1,n=n+f+1>>1,f=p,p=s*c+_*u+2048>>12,s=s*u-_*c+2048>>12,_=p,p=w*o+m*l+2048>>12,w=w*l-m*o+2048>>12,m=p,r[0+E]=t+_,r[56+E]=t-_,r[8+E]=n+m,r[48+E]=n-m,r[16+E]=f+w,r[40+E]=f-w,r[24+E]=a+s,r[32+E]=a-s):(p=b*r[v+0]+8192>>14,r[0+E]=p,r[8+E]=p,r[16+E]=p,r[24+E]=p,r[32+E]=p,r[40+E]=p,r[48+E]=p,r[56+E]=p)}for(v=0;v<64;++v){var A=i+v,S=r[v];S=S<=-2056/e.bitConversion?0:S>=2024/e.bitConversion?255/e.bitConversion:S+2056/e.bitConversion>>4,e.blockData[A]=S}}function f(e,i){for(var t=i.blocksPerLine,f=i.blocksPerColumn,a=new Int32Array(64),s=0;s<f;s++)for(var l=0;l<t;l++){var o=r(i,s,l);n(i,o,a)}return i.blockData}function a(e){return e<=0?0:e>=255?255:0|e}
1
+ !function(){var module={},exports,process;const define=X3D.define,require=X3D.require;define("x_ite/Components/Texturing3D/X3DTexture3DNode",["x_ite/Components/Texturing/X3DSingleTextureNode","x_ite/Bits/X3DConstants"],function(e,i){"use strict";function r(r){e.call(this,r),this.addType(i.X3DTexture3DNode);const t=this.getBrowser().getContext();this.target=t.TEXTURE_3D,this.width=0,this.height=0,this.depth=0,this.data=null}var t=new Uint8Array([255,255,255,255]);return r.prototype=Object.assign(Object.create(e.prototype),{constructor:r,initialize:function(){e.prototype.initialize.call(this),this.repeatS_.addInterest("updateTextureProperties",this),this.repeatT_.addInterest("updateTextureProperties",this),this.repeatR_.addInterest("updateTextureProperties",this);const i=this.getBrowser().getContext();i.getVersion()<2||(i.bindTexture(i.TEXTURE_3D,this.getTexture()),i.texImage3D(i.TEXTURE_3D,0,i.RGBA,1,1,1,0,i.RGBA,i.UNSIGNED_BYTE,t))},getTarget:function(){return this.target},getWidth:function(){return this.width},getHeight:function(){return this.height},getDepth:function(){return this.depth},getFlipY:function(){return!1},getData:function(){return this.data},clearTexture:function(){var e=this.getBrowser().getContext();this.setTexture(1,1,1,!1,e.RGBA,t),this.data=null},setTexture:function(e,i,r,t,n,f){try{this.width=e,this.height=i,this.depth=r,this.data=f;var a=this.getBrowser().getContext();if(a.getVersion()<2)return;a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),a.pixelStorei(a.UNPACK_ALIGNMENT,1),a.bindTexture(a.TEXTURE_3D,this.getTexture()),a.texImage3D(a.TEXTURE_3D,0,n,e,i,r,0,n,a.UNSIGNED_BYTE,f),this.setTransparent(t),this.updateTextureProperties(),this.addNodeEvent()}catch(e){}},updateTextureProperties:function(){e.prototype.updateTextureProperties.call(this,this.target,this.textureProperties_.getValue(),this.texturePropertiesNode,this.width,this.height,this.repeatS_.getValue(),this.repeatT_.getValue(),this.repeatR_.getValue())},setShaderUniformsToChannel:function(e,i,r,t){e.getVersion()>=2&&(e.activeTexture(e.TEXTURE0+i.getBrowser().getTexture3DUnits()[t]),e.bindTexture(e.TEXTURE_3D,this.getTexture())),e.uniform1i(i.x3d_TextureType[t],3)}}),r}),define("x_ite/Components/Texturing3D/ComposedTexture3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing3D/X3DTexture3DNode","x_ite/Bits/X3DConstants","x_ite/Bits/X3DCast"],function(e,i,r,t,n,f){"use strict";function a(i){t.call(this,i),this.addType(n.ComposedTexture3D),this.addChildObjects("loadState",new e.SFInt32(n.NOT_STARTED_STATE)),this.textureNodes=[]}return a.prototype=Object.assign(Object.create(t.prototype),{constructor:a,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"description",new e.SFString),new i(n.initializeOnly,"repeatS",new e.SFBool),new i(n.initializeOnly,"repeatT",new e.SFBool),new i(n.initializeOnly,"repeatR",new e.SFBool),new i(n.initializeOnly,"textureProperties",new e.SFNode),new i(n.inputOutput,"texture",new e.MFNode)]),getTypeName:function(){return"ComposedTexture3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texture"},initialize:function(){t.prototype.initialize.call(this),this.texture_.addInterest("set_texture__",this),this.set_texture__()},checkLoadState:function(){return this.loadState_.getValue()},set_texture__:function(){for(var e=this.textureNodes,i=0,r=e.length;i<r;++i)e[i].removeInterest("update",this);e.length=0;for(var i=0,r=this.texture_.length;i<r;++i){var t=f(n.X3DTexture2DNode,this.texture_[i]);t&&e.push(t)}for(var i=0,r=e.length;i<r;++i)e[i].addInterest("update",this);this.update()},update:function(){for(var e=this.textureNodes,i=0,r=0,t=e.length;r<t;++r)i+=e[r].checkLoadState()===n.COMPLETE_STATE;if(0===e.length||i!==e.length)this.clearTexture(),this.loadState_=n.FAILED_STATE;else{for(var f=this.getBrowser().getContext(),a=e[0],s=a.getWidth(),l=a.getHeight(),o=e.length,u=0,c=s*l*4,d=new Uint8Array(c*o),r=0,h=0;r<o;++r){var b=this.textureNodes[r],k=b.getData();u+=b.getTransparent();for(var w=0;w<c;++w,++h)d[h]=k[w]}this.setTexture(s,l,o,!!u,f.RGBA,d),this.loadState_=n.COMPLETE_STATE}}}),a}),define("x_ite/Browser/Texturing3D/NRRDParser",["pako_inflate"],function(e){"use strict";function i(e){return this.lastIndex=e.lastIndex,e.result=this.exec(e.input),!!e.result&&(e.lastIndex=this.lastIndex,!0)}function r(){this.fieldFunction=new Map([["type",this.getType],["encoding",this.getEncoding],["dimension",this.getDimension],["sizes",this.getSizes],["endian",this.getEndian]])}var t={NRRD:new RegExp("^NRRD(\\d+)\\n","gy"),field:new RegExp("([\\w\\s]+):\\s*(.+?)\\n","gy"),comment:new RegExp("#[^\\n]*\\n","gy"),newLine:new RegExp("\n","gy"),data:new RegExp("([^]*)$","gy")};for(var n in t)t[n].parse=i;return r.prototype={parse:function(e){return this.setInput(e),this.getNRRD()&&(this.getFields(),this.getData()),this.nrrd},setInput:function(e){this.input=e,this.lastIndex=0,this.nrrd={},this.endian="little"},getNRRD:function(){return t.NRRD.parse(this)?(this.nrrd.nrrd=!0,this.nrrd.version=parseInt(this.result[1]),this.endian=this.getEndianess(),!0):(this.nrrd.nrrd=!1,!1)},getFields:function(){for(;t.comment.parse(this););for(;t.field.parse(this);){var e=this.result[1].toLowerCase(),i=this.result[2].trim().toLowerCase(),r=this.fieldFunction.get(e);for(r&&r.call(this,i);t.comment.parse(this););}},getType:function(){var e=new Map([["signed char",["signed char",1]],["int8",["signed char",1]],["int8_t",["signed char",1]],["uchar",["unsigned char",1]],["unsigned char",["unsigned char",1]],["uint8",["unsigned char",1]],["uint8_t",["unsigned char",1]],["short",["signed short",2]],["short int",["signed short",2]],["signed short",["signed short",2]],["signed short int",["signed short",2]],["int16",["signed short",2]],["int16_t",["signed short",2]],["ushort",["unsigned short",2]],["unsigned short",["unsigned short",2]],["unsigned short int",["unsigned short",2]],["uint16",["unsigned short",2]],["uint16_t",["unsigned short",2]],["int",["signed int",4]],["signed int",["signed int",4]],["int32",["signed int",4]],["int32_t",["signed int",4]],["uint",["unsigned int",4]],["unsigned int",["unsigned int",4]],["uint32",["unsigned int",4]],["uint32_t",["unsigned int",4]],["float",["float",4]],["double",["double",8]]]);return function(i){var r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD type '"+i+"'.");this.byteType=r[0],this.bytes=r[1]}}(),getEncoding:function(){var e=new Map([["ascii","ascii"],["txt","ascii"],["text","ascii"],["raw","raw"],["hex","hex"],["gz","gzip"],["gzip","gzip"]]);return function(i){var r=e.get(i);if(void 0===r)throw new Error("Unsupported NRRD encoding '"+i+"'.");this.encoding=r}}(),getDimension:function(e){var i=e.match(/(\d+)/),r=0;if(i)switch(r=parseInt(i[1])){case 1:case 2:case 3:case 4:return void(this.dimension=r)}throw new Error("Unsupported NRRD dimension '"+r+"', must be 1, 2, 3, or 4.")},getSizes:function(e){for(var i=new RegExp("\\s*(\\d+)","gy"),r=null,t=[];r=i.exec(e);)t.push(parseInt(r[1]));switch(t.length){case 1:return this.nrrd.components=1,this.nrrd.width=t[0],this.nrrd.height=1,void(this.nrrd.depth=1);case 2:return this.nrrd.components=1,this.nrrd.width=t[0],this.nrrd.height=t[1],void(this.nrrd.depth=1);case 3:return this.nrrd.components=1,this.nrrd.width=t[0],this.nrrd.height=t[1],void(this.nrrd.depth=t[2]);case 4:return this.nrrd.components=t[0],this.nrrd.width=t[1],this.nrrd.height=t[2],void(this.nrrd.depth=t[3]);default:throw new Error("Unsupported NRRD sizes.")}},getEndian:function(e){if("little"===e||"big"===e)return void(this.endian=e);throw new Error("Unsupported NRRD endian, must be 'little' or 'big'.")},getData:function(){switch(this.encoding){case"ascii":this.ascii();break;case"raw":this.rawString(this.input);break;case"hex":this.hex();break;case"gzip":this.gzip()}},ascii:function(){var e=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,i=new Uint8Array(e);if(this.nrrd.data=i,t.data.parse(this)){var r=this.result[1].trim().split(/\s+/);switch(this.byteType){case"signed char":case"unsigned char":return void r.forEach(function(e,r){i[r]=parseInt(e)});case"signed short":case"unsigned short":return void r.forEach(function(e,r){i[r]=parseInt(e)/256});case"signed int":case"unsigned int":return void r.forEach(function(e,r){i[r]=parseInt(e)/16777216});case"float":return void r.forEach(function(e,r){i[r]=parseFloat(e)/256});case"double":return void r.forEach(function(e,r){i[r]=parseFloat(e)/16777216})}}},rawString:function(e){var i=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,r=i*this.bytes,t=new Uint8Array(i);switch(this.nrrd.data=t,this.byteType){case"signed char":case"unsigned char":for(var n=e.length-r,f=0;n<e.length;++n,++f)t[f]=e.charCodeAt(n);return;case"signed short":case"unsigned short":if(this.getEndianess()===this.endian)var a=0,s=1;else var a=1,s=0;for(var n=e.length-r,f=0;n<e.length;n+=2,++f)t[f]=this.short2byte(e.charCodeAt(n+a),e.charCodeAt(n+s));return;case"signed int":case"unsigned int":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.int2byte(e.charCodeAt(n+a),e.charCodeAt(n+s),e.charCodeAt(n+l),e.charCodeAt(n+o));return;case"float":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.float2byte(e.charCodeAt(n+a),e.charCodeAt(n+s),e.charCodeAt(n+l),e.charCodeAt(n+o));return;case"double":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3,u=4,c=5,d=6,h=7;else var a=7,s=6,l=5,o=4,u=3,c=2,d=1,h=0;for(var n=e.length-r,f=0;n<e.length;n+=8,++f)t[f]=this.double2byte(e.charCodeAt(n+a),e.charCodeAt(n+s),e.charCodeAt(n+l),e.charCodeAt(n+o),e.charCodeAt(n+u),e.charCodeAt(n+c),e.charCodeAt(n+d),e.charCodeAt(n+h));return}},rawArray:function(e){var i=this.nrrd.components*this.nrrd.width*this.nrrd.height*this.nrrd.depth,r=i*this.bytes,t=new Uint8Array(i);switch(this.nrrd.data=t,this.byteType){case"signed char":case"unsigned char":for(var n=e.length-r,f=0;n<e.length;++n,++f)t[f]=e[n];return;case"signed short":case"unsigned short":if(this.getEndianess()===this.endian)var a=0,s=1;else var a=1,s=0;for(var n=e.length-r,f=0;n<e.length;n+=2,++f)t[f]=this.short2byte(e[n+a],e[n+s]);return;case"signed int":case"unsigned int":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.int2byte(e[n+a],e[n+s],e[n+l],e[n+o]);return;case"float":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3;else var a=3,s=2,l=1,o=0;for(var n=e.length-r,f=0;n<e.length;n+=4,++f)t[f]=this.float2byte(e[n+a],e[n+s],e[n+l],e[n+o]);return;case"double":if(this.getEndianess()===this.endian)var a=0,s=1,l=2,o=3,u=4,c=5,d=6,h=7;else var a=7,s=6,l=5,o=4,u=3,c=2,d=1,h=0;for(var n=e.length-r,f=0;n<e.length;n+=8,++f)t[f]=this.double2byte(e[n+a],e[n+s],e[n+l],e[n+o],e[n+u],e[n+c],e[n+d],e[n+h]);return}},hex:function(){if(t.data.parse(this)){var e=this.result[1].match(/([0-9a-fA-F]{2})/g);if(e){var i=e.map(function(e){return parseInt(e,16)});return void this.rawArray(i)}}throw new Error("Invalid NRRD data.")},gzip:function(){try{if(!t.newLine.parse(this))throw new Error("Invalid NRRD data.");t.data.parse(this);var i=e.ungzip(this.result[1],{to:"raw"});this.rawArray(i)}catch(e){throw new Error("Invalid NRRD data.")}},getEndianess:function(){var e=new ArrayBuffer(4),i=new Uint32Array(e),r=new Uint8Array(e);if(i[0]=16909060,1==r[0]&&2==r[1]&&3==r[2]&&4==r[3])return"big";if(4==r[0]&&3==r[1]&&2==r[2]&&1==r[3])return"little";throw new Error("NRRD: unkown system endianess,")},short2byte:function(){var e=new Uint8Array(2),i=new Uint16Array(e.buffer);return function(r,t){return e[0]=r,e[1]=t,i[0]/256}}(),int2byte:function(){var e=new Uint8Array(4),i=new Uint32Array(e.buffer);return function(r,t,n,f){return e[0]=r,e[1]=t,e[2]=n,e[3]=f,i[0]/16777216}}(),float2byte:function(){var e=new Uint8Array(4),i=new Float32Array(e.buffer);return function(r,t,n,f){return e[0]=r,e[1]=t,e[2]=n,e[3]=f,i[0]/256}}(),double2byte:function(){var e=new Uint8Array(8),i=new Float64Array(e.buffer);return function(r,t,n,f,a,s,l,o){return e[0]=r,e[1]=t,e[2]=n,e[3]=f,e[4]=a,e[5]=s,e[6]=l,e[7]=o,i[0]/16777216}}()},r}),define("zlib",["zlib/dummy"],function(e){return e}),define("zlib/dummy",function(){}),function(e,i){"object"==typeof exports&&"object"==typeof module?module.exports=i(require("zlib")):"function"==typeof define&&define.amd?define("dicom-parser",["zlib"],i):"object"==typeof exports?exports["dicom-parser"]=i(require("zlib")):e.dicomParser=i(e.zlib)}(this,function(e){return function(e){function i(e){delete installedChunks[e]}function r(e){var i=document.createElement("script");i.charset="utf-8",i.src=w.p+""+e+"."+A+".hot-update.js",document.head.appendChild(i)}function t(e){return e=e||1e4,new Promise(function(i,r){if("undefined"==typeof XMLHttpRequest)return r(new Error("No browser support"));try{var t=new XMLHttpRequest,n=w.p+""+A+".hot-update.json";t.open("GET",n,!0),t.timeout=e,t.send(null)}catch(e){return r(e)}t.onreadystatechange=function(){if(4===t.readyState)if(0===t.status)r(new Error("Manifest request to "+n+" timed out."));else if(404===t.status)i();else if(200!==t.status&&304!==t.status)r(new Error("Manifest request to "+n+" failed."));else{try{var e=JSON.parse(t.responseText)}catch(e){return void r(e)}i(e)}}})}function n(e){var i=B[e];if(!i)return w;var r=function(r){return i.hot.active?(B[r]?B[r].parents.indexOf(e)===-1&&B[r].parents.push(e):(M=[e],_=r),i.children.indexOf(r)===-1&&i.children.push(r)):(console.warn("[HMR] unexpected require("+r+") from disposed module "+e),M=[]),w(r)};for(var t in w)Object.prototype.hasOwnProperty.call(w,t)&&"e"!==t&&"t"!==t&&Object.defineProperty(r,t,function(e){return{configurable:!0,enumerable:!0,get:function(){return w[e]},set:function(i){w[e]=i}}}(t));return r.e=function(e){function i(){O--,"prepare"===x&&(R[e]||u(e),0===O&&0===D&&c())}return"ready"===x&&a("prepare"),O++,w.e(e).then(i,function(e){throw i(),e})},r.t=function(e,i){return 1&i&&(e=r(e)),w.t(e,i&-2)},r}function f(i){var r={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_selfInvalidated:!1,_disposeHandlers:[],_main:_!==i,active:!0,accept:function(e,i){if(void 0===e)r._selfAccepted=!0;else if("function"==typeof e)r._selfAccepted=e;else if("object"==typeof e)for(var t=0;t<e.length;t++)r._acceptedDependencies[e[t]]=i||function(){};else r._acceptedDependencies[e]=i||function(){}},decline:function(e){if(void 0===e)r._selfDeclined=!0;else if("object"==typeof e)for(var i=0;i<e.length;i++)r._declinedDependencies[e[i]]=!0;else r._declinedDependencies[e]=!0},dispose:function(e){r._disposeHandlers.push(e)},addDisposeHandler:function(e){r._disposeHandlers.push(e)},removeDisposeHandler:function(e){var i=r._disposeHandlers.indexOf(e);i>=0&&r._disposeHandlers.splice(i,1)},invalidate:function(){switch(this._selfInvalidated=!0,x){case"idle":v={},v[i]=e[i],a("ready");break;case"ready":k(i);break;case"prepare":case"check":case"dispose":case"apply":(y=y||[]).push(i)}},check:l,apply:d,status:function(e){if(!e)return x;P.push(e)},addStatusHandler:function(e){P.push(e)},removeStatusHandler:function(e){var i=P.indexOf(e);i>=0&&P.splice(i,1)},data:T[i]};return _=void 0,r}function a(e){x=e;for(var i=0;i<P.length;i++)P[i].call(null,e)}function s(e){return+e+""===e?+e:e}function l(e){if("idle"!==x)throw new Error("check() is only allowed in idle status");return E=e,a("check"),t(S).then(function(e){if(!e)return a(b()?"ready":"idle"),null;L={},R={},I=e.c,g=e.h,a("prepare");var i=new Promise(function(e,i){p={resolve:e,reject:i}});v={};return u("dicomParser"),"prepare"===x&&0===O&&0===D&&c(),i})}function o(e,i){if(I[e]&&L[e]){L[e]=!1;for(var r in i)Object.prototype.hasOwnProperty.call(i,r)&&(v[r]=i[r]);0==--D&&0===O&&c()}}function u(e){I[e]?(L[e]=!0,D++,r(e)):R[e]=!0}function c(){a("ready");var e=p;if(p=null,e)if(E)Promise.resolve().then(function(){return d(E)}).then(function(i){e.resolve(i)},function(i){e.reject(i)});else{var i=[];for(var r in v)Object.prototype.hasOwnProperty.call(v,r)&&i.push(s(r));e.resolve(i)}}function d(e){if("ready"!==x)throw new Error("apply() is only allowed in ready status");return e=e||{},h(e)}function h(r){function t(e,i){for(var r=0;r<i.length;r++){var t=i[r];e.indexOf(t)===-1&&e.push(t)}}b();var n,f,l,o,u,c={},d=[],k={},m=function(){console.warn("[HMR] unexpected require("+E.moduleId+") to disposed module")};for(var p in v)if(Object.prototype.hasOwnProperty.call(v,p)){u=s(p);var E;E=v[p]?function(e){for(var i=[e],r={},n=i.map(function(e){return{chain:[e],id:e}});n.length>0;){var f=n.pop(),a=f.id,s=f.chain;if((o=B[a])&&(!o.hot._selfAccepted||o.hot._selfInvalidated)){if(o.hot._selfDeclined)return{type:"self-declined",chain:s,moduleId:a};if(o.hot._main)return{type:"unaccepted",chain:s,moduleId:a};for(var l=0;l<o.parents.length;l++){var u=o.parents[l],c=B[u];if(c){if(c.hot._declinedDependencies[a])return{type:"declined",chain:s.concat([u]),moduleId:a,parentId:u};i.indexOf(u)===-1&&(c.hot._acceptedDependencies[a]?(r[u]||(r[u]=[]),t(r[u],[a])):(delete r[u],i.push(u),n.push({chain:s.concat([u]),id:u})))}}}}return{type:"accepted",moduleId:e,outdatedModules:i,outdatedDependencies:r}}(u):{type:"disposed",moduleId:p};var S=!1,C=!1,P=!1,x="";switch(E.chain&&(x="\nUpdate propagation: "+E.chain.join(" -> ")),E.type){case"self-declined":r.onDeclined&&r.onDeclined(E),r.ignoreDeclined||(S=new Error("Aborted because of self decline: "+E.moduleId+x));break;case"declined":r.onDeclined&&r.onDeclined(E),r.ignoreDeclined||(S=new Error("Aborted because of declined dependency: "+E.moduleId+" in "+E.parentId+x));break;case"unaccepted":r.onUnaccepted&&r.onUnaccepted(E),r.ignoreUnaccepted||(S=new Error("Aborted because "+u+" is not accepted"+x));break;case"accepted":r.onAccepted&&r.onAccepted(E),C=!0;break;case"disposed":r.onDisposed&&r.onDisposed(E),P=!0;break;default:throw new Error("Unexception type "+E.type)}if(S)return a("abort"),Promise.reject(S);if(C){k[u]=v[u],t(d,E.outdatedModules);for(u in E.outdatedDependencies)Object.prototype.hasOwnProperty.call(E.outdatedDependencies,u)&&(c[u]||(c[u]=[]),t(c[u],E.outdatedDependencies[u]))}P&&(t(d,[E.moduleId]),k[u]=m)}var D=[];for(f=0;f<d.length;f++)u=d[f],B[u]&&B[u].hot._selfAccepted&&k[u]!==m&&!B[u].hot._selfInvalidated&&D.push({module:u,parents:B[u].parents.slice(),errorHandler:B[u].hot._selfAccepted});a("dispose"),Object.keys(I).forEach(function(e){I[e]===!1&&i(e)});for(var O,R=d.slice();R.length>0;)if(u=R.pop(),o=B[u]){var L={},N=o.hot._disposeHandlers;for(l=0;l<N.length;l++)(n=N[l])(L);for(T[u]=L,o.hot.active=!1,delete B[u],delete c[u],l=0;l<o.children.length;l++){var F=B[o.children[l]];F&&(O=F.parents.indexOf(u))>=0&&F.parents.splice(O,1)}}var j,U;for(u in c)if(Object.prototype.hasOwnProperty.call(c,u)&&(o=B[u]))for(U=c[u],l=0;l<U.length;l++)j=U[l],(O=o.children.indexOf(j))>=0&&o.children.splice(O,1);a("apply"),void 0!==g&&(A=g,g=void 0),v=void 0;for(u in k)Object.prototype.hasOwnProperty.call(k,u)&&(e[u]=k[u]);var H=null;for(u in c)if(Object.prototype.hasOwnProperty.call(c,u)&&(o=B[u])){U=c[u];var Y=[];for(f=0;f<U.length;f++)if(j=U[f],n=o.hot._acceptedDependencies[j]){if(Y.indexOf(n)!==-1)continue;Y.push(n)}for(f=0;f<Y.length;f++){n=Y[f];try{n(U)}catch(e){r.onErrored&&r.onErrored({type:"accept-errored",moduleId:u,dependencyId:U[f],error:e}),r.ignoreErrored||H||(H=e)}}}for(f=0;f<D.length;f++){var q=D[f];u=q.module,M=q.parents,_=u;try{w(u)}catch(e){if("function"==typeof q.errorHandler)try{q.errorHandler(e)}catch(i){r.onErrored&&r.onErrored({type:"self-accept-error-handler-errored",moduleId:u,error:i,originalError:e}),r.ignoreErrored||H||(H=i),H||(H=e)}else r.onErrored&&r.onErrored({type:"self-accept-errored",moduleId:u,error:e}),r.ignoreErrored||H||(H=e)}}return H?(a("fail"),Promise.reject(H)):y?h(r).then(function(e){return d.forEach(function(i){e.indexOf(i)<0&&e.push(i)}),e}):(a("idle"),new Promise(function(e){e(d)}))}function b(){if(y)return v||(v={}),y.forEach(k),y=void 0,!0}function k(i){Object.prototype.hasOwnProperty.call(v,i)||(v[i]=e[i])}function w(i){if(B[i])return B[i].exports;var r=B[i]={i:i,l:!1,exports:{},hot:f(i),parents:(C=M,M=[],C),children:[]};return e[i].call(r.exports,r,r.exports,n(i)),r.l=!0,r.exports}var m=this.webpackHotUpdate;this.webpackHotUpdate=function(e,i){o(e,i),m&&m(e,i)};var _,p,v,g,y,E=!0,A="10548f5b41ce6f922e03",S=1e4,T={},M=[],C=[],P=[],x="idle",D=0,O=0,R={},L={},I={},B={};return w.m=e,w.c=B,w.d=function(e,i,r){w.o(e,i)||Object.defineProperty(e,i,{enumerable:!0,get:r})},w.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},w.t=function(e,i){if(1&i&&(e=w(e)),8&i)return e;if(4&i&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(w.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&i&&"string"!=typeof e)for(var t in e)w.d(r,t,function(i){return e[i]}.bind(null,t));return r},w.n=function(e){var i=e&&e.__esModule?function(){return e.default}:function(){return e};return w.d(i,"a",i),i},w.o=function(e,i){return Object.prototype.hasOwnProperty.call(e,i)},w.p="",w.h=function(){return A},n("./index.js")(w.s="./index.js")}({"./alloc.js":function(e,i,r){function t(e,i){if("undefined"!=typeof Buffer&&e instanceof Buffer)return Buffer.alloc(i);if(e instanceof Uint8Array)return new Uint8Array(i);throw"dicomParser.alloc: unknown type for byteArray"}r.r(i),r.d(i,"default",function(){return t})},"./bigEndianByteArrayParser.js":function(e,i,r){r.r(i),i.default={readUint16:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readUint16: position cannot be less than 0";if(i+2>e.length)throw"bigEndianByteArrayParser.readUint16: attempt to read past end of buffer";return(e[i]<<8)+e[i+1]},readInt16:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"bigEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=(e[i]<<8)+e[i+1];return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readUint32: attempt to read past end of buffer";return 256*(256*(256*e[i]+e[i+1])+e[i+2])+e[i+3]},readInt32:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readInt32: attempt to read past end of buffer";return(e[i]<<24)+(e[i+1]<<16)+(e[i+2]<<8)+e[i+3]},readFloat:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"bigEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[3]=e[i],r[2]=e[i+1],r[1]=e[i+2],r[0]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"bigEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"bigEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[7]=e[i],r[6]=e[i+1],r[5]=e[i+2],r[4]=e[i+3],r[3]=e[i+4],r[2]=e[i+5],r[1]=e[i+6],r[0]=e[i+7],new Float64Array(r.buffer)[0]}}},"./byteArrayParser.js":function(e,i,r){function t(e,i,r){if(r<0)throw"dicomParser.readFixedString - length cannot be less than 0";if(i+r>e.length)throw"dicomParser.readFixedString: attempt to read past end of buffer";for(var t,n="",f=0;f<r;f++){if(0===(t=e[i+f]))return i+=r,n;n+=String.fromCharCode(t)}return n}r.r(i),r.d(i,"readFixedString",function(){return t})},"./byteStream.js":function(e,i,r){function t(e,i){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}function n(e,i){for(var r=0;r<i.length;r++){var t=i[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function f(e,i,r){return i&&n(e.prototype,i),r&&n(e,r),e}r.r(i),r.d(i,"default",function(){return l});var a=r("./sharedCopy.js"),s=r("./byteArrayParser.js"),l=function(){function e(i,r,n){if(t(this,e),void 0===i)throw"dicomParser.ByteStream: missing required parameter 'byteArrayParser'";if(void 0===r)throw"dicomParser.ByteStream: missing required parameter 'byteArray'";if(r instanceof Uint8Array==!1&&("undefined"==typeof Buffer||r instanceof Buffer==!1))throw"dicomParser.ByteStream: parameter byteArray is not of type Uint8Array or Buffer";if(n<0)throw"dicomParser.ByteStream: parameter 'position' cannot be less than 0";if(n>=r.length)throw"dicomParser.ByteStream: parameter 'position' cannot be greater than or equal to 'byteArray' length";this.byteArrayParser=i,this.byteArray=r,this.position=n?n:0,this.warnings=[]}return f(e,[{key:"seek",value:function(e){if(this.position+e<0)throw"dicomParser.ByteStream.prototype.seek: cannot seek to position < 0";this.position+=e}},{key:"readByteStream",value:function(i){if(this.position+i>this.byteArray.length)throw"dicomParser.ByteStream.prototype.readByteStream: readByteStream - buffer overread";var r=Object(a.default)(this.byteArray,this.position,i);return this.position+=i,new e(this.byteArrayParser,r)}},{key:"readUint16",value:function(){var e=this.byteArrayParser.readUint16(this.byteArray,this.position);return this.position+=2,e}},{key:"readUint32",value:function(){var e=this.byteArrayParser.readUint32(this.byteArray,this.position);return this.position+=4,e}},{key:"readFixedString",value:function(e){var i=Object(s.readFixedString)(this.byteArray,this.position,e);return this.position+=e,i}}]),e}()},"./dataSet.js":function(e,i,r){function t(e,i){if(!(e instanceof i))throw new TypeError("Cannot call a class as a function")}function n(e,i){for(var r=0;r<i.length;r++){var t=i[r];t.enumerable=t.enumerable||!1,t.configurable=!0,"value"in t&&(t.writable=!0),Object.defineProperty(e,t.key,t)}}function f(e,i,r){return i&&n(e.prototype,i),r&&n(e,r),e}function a(e,i){return void 0!==e.parser?e.parser:i}r.r(i),r.d(i,"default",function(){return l});var s=r("./byteArrayParser.js"),l=function(){function e(i,r,n){t(this,e),this.byteArrayParser=i,this.byteArray=r,this.elements=n}return f(e,[{key:"uint16",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readUint16(this.byteArray,r.dataOffset+2*i)}},{key:"int16",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readInt16(this.byteArray,r.dataOffset+2*i)}},{key:"uint32",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readUint32(this.byteArray,r.dataOffset+4*i)}},{key:"int32",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readInt32(this.byteArray,r.dataOffset+4*i)}},{key:"float",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readFloat(this.byteArray,r.dataOffset+4*i)}},{key:"double",value:function(e,i){var r=this.elements[e];if(i=void 0!==i?i:0,r&&0!==r.length)return a(r,this.byteArrayParser).readDouble(this.byteArray,r.dataOffset+8*i)}},{key:"numStringValues",value:function(e){var i=this.elements[e];if(i&&i.length>0){var r=Object(s.readFixedString)(this.byteArray,i.dataOffset,i.length),t=r.match(/\\/g);return null===t?1:t.length+1}}},{key:"string",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){var t=Object(s.readFixedString)(this.byteArray,r.dataOffset,r.length);if(i>=0){return t.split("\\")[i].trim()}return t.trim()}}},{key:"text",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){var t=Object(s.readFixedString)(this.byteArray,r.dataOffset,r.length);if(i>=0){return t.split("\\")[i].replace(/ +$/,"")}return t.replace(/ +$/,"")}}},{key:"floatString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseFloat(t)}}},{key:"intString",value:function(e,i){var r=this.elements[e];if(r&&r.length>0){i=void 0!==i?i:0;var t=this.string(e,i);if(void 0!==t)return parseInt(t)}}},{key:"attributeTag",value:function(e){var i=this.elements[e];if(i&&4===i.length){var r=a(i,this.byteArrayParser).readUint16,t=this.byteArray,n=i.dataOffset;return"x".concat("00000000".concat((256*r(t,n)*256+r(t,n+2)).toString(16)).substr(-8))}}}]),e}()},"./findAndSetUNElementLength.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.findAndSetUNElementLength: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;){if(65534===e.readUint16()){if(57565===e.readUint16()){return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset)}}}i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",function(){return t})},"./findEndOfEncapsulatedPixelData.js":function(e,i,r){function t(e,i,r){if(void 0===e)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.findEndOfEncapsulatedElement: missing required parameter 'element'";if(i.encapsulatedPixelData=!0,i.basicOffsetTable=[],i.fragments=[],"xfffee000"!==Object(n.default)(e))throw"dicomParser.findEndOfEncapsulatedElement: basic offset table not found";for(var t=e.readUint32(),f=t/4,a=0;a<f;a++){var s=e.readUint32();i.basicOffsetTable.push(s)}for(var l=e.position;e.position<e.byteArray.length;){var o=Object(n.default)(e),u=e.readUint32();if("xfffee0dd"===o)return e.seek(u),void(i.length=e.position-i.dataOffset);if("xfffee000"!==o)return r&&r.push("unexpected tag ".concat(o," while searching for end of pixel data element with undefined length")),u>e.byteArray.length-e.position&&(u=e.byteArray.length-e.position),i.fragments.push({offset:e.position-l-8,position:e.position,length:u}),e.seek(u),void(i.length=e.position-i.dataOffset);i.fragments.push({offset:e.position-l-8,position:e.position,length:u}),e.seek(u)}r&&r.push("pixel data element ".concat(i.tag," missing sequence delimiter tag xfffee0dd"))}r.r(i),r.d(i,"default",function(){return t});var n=r("./readTag.js")},"./findItemDelimitationItem.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";for(var r=e.byteArray.length-8;e.position<=r;){if(65534===e.readUint16()){if(57357===e.readUint16()){return 0!==e.readUint32()&&e.warnings("encountered non zero length following item delimiter at position ".concat(e.position-4," while reading element of undefined length with tag ").concat(i.tag)),void(i.length=e.position-i.dataOffset)}}}i.length=e.byteArray.length-i.dataOffset,e.seek(e.byteArray.length-e.position)}r.r(i),r.d(i,"default",function(){return t})},"./index.js":function(e,i,r){r.r(i);var t=r("./util/index.js");r.d(i,"isStringVr",function(){return t.isStringVr}),r.d(i,"isPrivateTag",function(){return t.isPrivateTag}),r.d(i,"parsePN",function(){return t.parsePN}),r.d(i,"parseTM",function(){return t.parseTM}),r.d(i,"parseDA",function(){return t.parseDA}),r.d(i,"explicitElementToString",function(){return t.explicitElementToString}),r.d(i,"explicitDataSetToJS",function(){return t.explicitDataSetToJS}),r.d(i,"createJPEGBasicOffsetTable",function(){return t.createJPEGBasicOffsetTable});var n=r("./parseDicomDataSet.js");r.d(i,"parseDicomDataSetExplicit",function(){return n.parseDicomDataSetExplicit}),r.d(i,"parseDicomDataSetImplicit",function(){return n.parseDicomDataSetImplicit});var f=r("./byteArrayParser.js");r.d(i,"readFixedString",function(){return f.readFixedString});var a=r("./alloc.js");r.d(i,"alloc",function(){return a.default});var s=r("./version.js");r.d(i,"version",function(){return s.default})
2
+ ;var l=r("./bigEndianByteArrayParser.js");r.d(i,"bigEndianByteArrayParser",function(){return l.default});var o=r("./byteStream.js");r.d(i,"ByteStream",function(){return o.default});var u=r("./sharedCopy.js");r.d(i,"sharedCopy",function(){return u.default});var c=r("./dataSet.js");r.d(i,"DataSet",function(){return c.default});var d=r("./findAndSetUNElementLength.js");r.d(i,"findAndSetUNElementLength",function(){return d.default});var h=r("./findEndOfEncapsulatedPixelData.js");r.d(i,"findEndOfEncapsulatedElement",function(){return h.default});var b=r("./findItemDelimitationItem.js");r.d(i,"findItemDelimitationItemAndSetElementLength",function(){return b.default});var k=r("./littleEndianByteArrayParser.js");r.d(i,"littleEndianByteArrayParser",function(){return k.default});var w=r("./parseDicom.js");r.d(i,"parseDicom",function(){return w.default});var m=r("./readDicomElementExplicit.js");r.d(i,"readDicomElementExplicit",function(){return m.default});var _=r("./readDicomElementImplicit.js");r.d(i,"readDicomElementImplicit",function(){return _.default});var p=r("./readEncapsulatedImageFrame.js");r.d(i,"readEncapsulatedImageFrame",function(){return p.default});var v=r("./readEncapsulatedPixelData.js");r.d(i,"readEncapsulatedPixelData",function(){return v.default});var g=r("./readEncapsulatedPixelDataFromFragments.js");r.d(i,"readEncapsulatedPixelDataFromFragments",function(){return g.default});var y=r("./readPart10Header.js");r.d(i,"readPart10Header",function(){return y.default});var E=r("./readSequenceElementExplicit.js");r.d(i,"readSequenceItemsExplicit",function(){return E.default});var A=r("./readSequenceElementImplicit.js");r.d(i,"readSequenceItemsImplicit",function(){return A.default});var S=r("./readSequenceItem.js");r.d(i,"readSequenceItem",function(){return S.default});var T=r("./readTag.js");r.d(i,"readTag",function(){return T.default});var M={isStringVr:t.isStringVr,isPrivateTag:t.isPrivateTag,parsePN:t.parsePN,parseTM:t.parseTM,parseDA:t.parseDA,explicitElementToString:t.explicitElementToString,explicitDataSetToJS:t.explicitDataSetToJS,createJPEGBasicOffsetTable:t.createJPEGBasicOffsetTable,parseDicomDataSetExplicit:n.parseDicomDataSetExplicit,parseDicomDataSetImplicit:n.parseDicomDataSetImplicit,readFixedString:f.readFixedString,alloc:a.default,version:s.default,bigEndianByteArrayParser:l.default,ByteStream:o.default,sharedCopy:u.default,DataSet:c.default,findAndSetUNElementLength:d.default,findEndOfEncapsulatedElement:h.default,findItemDelimitationItemAndSetElementLength:b.default,littleEndianByteArrayParser:k.default,parseDicom:w.default,readDicomElementExplicit:m.default,readDicomElementImplicit:_.default,readEncapsulatedImageFrame:p.default,readEncapsulatedPixelData:v.default,readEncapsulatedPixelDataFromFragments:g.default,readPart10Header:y.default,readSequenceItemsExplicit:E.default,readSequenceItemsImplicit:A.default,readSequenceItem:S.default,readTag:T.default};i.default=M},"./littleEndianByteArrayParser.js":function(e,i,r){r.r(i),i.default={readUint16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readUint16: attempt to read past end of buffer";return e[i]+256*e[i+1]},readInt16:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt16: position cannot be less than 0";if(i+2>e.length)throw"littleEndianByteArrayParser.readInt16: attempt to read past end of buffer";var r=e[i]+(e[i+1]<<8);return 32768&r&&(r=r-65535-1),r},readUint32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readUint32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readUint32: attempt to read past end of buffer";return e[i]+256*e[i+1]+256*e[i+2]*256+256*e[i+3]*256*256},readInt32:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readInt32: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readInt32: attempt to read past end of buffer";return e[i]+(e[i+1]<<8)+(e[i+2]<<16)+(e[i+3]<<24)},readFloat:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readFloat: position cannot be less than 0";if(i+4>e.length)throw"littleEndianByteArrayParser.readFloat: attempt to read past end of buffer";var r=new Uint8Array(4);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],new Float32Array(r.buffer)[0]},readDouble:function(e,i){if(i<0)throw"littleEndianByteArrayParser.readDouble: position cannot be less than 0";if(i+8>e.length)throw"littleEndianByteArrayParser.readDouble: attempt to read past end of buffer";var r=new Uint8Array(8);return r[0]=e[i],r[1]=e[i+1],r[2]=e[i+2],r[3]=e[i+3],r[4]=e[i+4],r[5]=e[i+5],r[6]=e[i+6],r[7]=e[i+7],new Float64Array(r.buffer)[0]}}},"./parseDicom.js":function(e,i,r){function t(e,i){function t(i){if(void 0===i.elements.x00020010)throw"dicomParser.parseDicom: missing required meta header attribute 0002,0010";var r=i.elements.x00020010;return c.readFixedString(e,r.dataOffset,r.length)}function h(e){return"1.2.840.10008.1.2"!==e}function b(t,s){var o="[object process]"===Object.prototype.toString.call(void 0!==process?process:0);if("1.2.840.10008.1.2.1.99"===t){if(i&&i.inflater){var c=i.inflater(e,s);return new a.default(l.default,c,0)}if(o===!0){var d=r("zlib"),h=Object(u.default)(e,s,e.length-s),b=d.inflateRawSync(h),k=Object(n.default)(e,b.length+s);return e.copy(k,0,0,s),b.copy(k,s),new a.default(l.default,k,0)}if("undefined"!=typeof pako){var w=e.slice(s),m=pako.inflateRaw(w),_=Object(n.default)(e,m.length+s);return _.set(e.slice(0,s),0),_.set(m,s),new a.default(l.default,_,0)}throw"dicomParser.parseDicom: no inflater available to handle deflate transfer syntax"}return"1.2.840.10008.1.2.2"===t?new a.default(f.default,e,s):new a.default(l.default,e,s)}function k(e,i){for(var r in e.elements)e.elements.hasOwnProperty(r)&&(i.elements[r]=e.elements[r]);return void 0!==e.warnings&&(i.warnings=e.warnings.concat(i.warnings)),i}function w(e){var r=t(e),n=h(r),f=b(r,e.position),a={},l=new s.default(f.byteArrayParser,f.byteArray,a);l.warnings=f.warnings;try{n?d.parseDicomDataSetExplicit(l,f,f.byteArray.length,i):d.parseDicomDataSetImplicit(l,f,f.byteArray.length,i)}catch(e){throw{exception:e,dataSet:l}}return l}if(void 0===e)throw"dicomParser.parseDicom: missing required parameter 'byteArray'";return function(){var r=Object(o.default)(e,i);return k(r,w(r))}()}r.r(i),r.d(i,"default",function(){return t});var n=r("./alloc.js"),f=r("./bigEndianByteArrayParser.js"),a=r("./byteStream.js"),s=r("./dataSet.js"),l=r("./littleEndianByteArrayParser.js"),o=r("./readPart10Header.js"),u=r("./sharedCopy.js"),c=r("./byteArrayParser.js"),d=r("./parseDicomDataSet.js")},"./parseDicomDataSet.js":function(e,i,r){function t(e,i,r){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?i.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetExplicit: missing required parameter 'byteStream'";if(r<i.position||r>i.byteArray.length)throw"dicomParser.parseDicomDataSetExplicit: invalid value for parameter 'maxP osition'";for(var n=e.elements;i.position<r;){var a=Object(f.default)(i,e.warnings,t.untilTag);if(n[a.tag]=a,a.tag===t.untilTag)return}if(i.position>r)throw"dicomParser:parseDicomDataSetExplicit: buffer overrun"}function n(e,i,r){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};if(r=void 0===r?e.byteArray.length:r,void 0===i)throw"dicomParser.parseDicomDataSetImplicit: missing required parameter 'byteStream'";if(r<i.position||r>i.byteArray.length)throw"dicomParser.parseDicomDataSetImplicit: invalid value for parameter 'maxPosition'";for(var n=e.elements;i.position<r;){var f=Object(a.default)(i,t.untilTag,t.vrCallback);if(n[f.tag]=f,f.tag===t.untilTag)return}}r.r(i),r.d(i,"parseDicomDataSetExplicit",function(){return t}),r.d(i,"parseDicomDataSetImplicit",function(){return n});var f=r("./readDicomElementExplicit.js"),a=r("./readDicomElementImplicit.js")},"./readDicomElementExplicit.js":function(e,i,r){function t(e,i,r){if(void 0===e)throw"dicomParser.readDicomElementExplicit: missing required parameter 'byteStream'";var t={tag:Object(a.default)(e),vr:e.readFixedString(2)};return 2===o(t.vr)?(t.length=e.readUint16(),t.dataOffset=e.position):(e.seek(2),t.length=e.readUint32(),t.dataOffset=e.position),4294967295===t.length&&(t.hadUndefinedLength=!0),t.tag===r?t:"SQ"===t.vr?(Object(l.default)(e,t,i),t):4294967295===t.length?"x7fe00010"===t.tag?(Object(n.default)(e,t,i),t):"UN"===t.vr?(Object(f.default)(e,t),t):(Object(s.default)(e,t),t):(e.seek(t.length),t)}r.r(i),r.d(i,"default",function(){return t});var n=r("./findEndOfEncapsulatedPixelData.js"),f=(r("./findAndSetUNElementLength.js"),r("./readSequenceElementImplicit.js")),a=r("./readTag.js"),s=r("./findItemDelimitationItem.js"),l=r("./readSequenceElementExplicit.js"),o=function(e){return"OB"===e||"OD"===e||"OL"===e||"OW"===e||"SQ"===e||"OF"===e||"UC"===e||"UR"===e||"UT"===e||"UN"===e?4:2}},"./readDicomElementImplicit.js":function(e,i,r){function t(e,i,r){if(void 0===e)throw"dicomParser.readDicomElementImplicit: missing required parameter 'byteStream'";var t={tag:Object(a.default)(e),length:e.readUint32(),dataOffset:e.position};return 4294967295===t.length&&(t.hadUndefinedLength=!0),t.tag===i?t:l(t,e,r)&&!Object(s.isPrivateTag)(t.tag)?(Object(f.default)(e,t),t):t.hadUndefinedLength?(Object(n.default)(e,t),t):(e.seek(t.length),t)}r.r(i),r.d(i,"default",function(){return t});var n=r("./findItemDelimitationItem.js"),f=r("./readSequenceElementImplicit.js"),a=r("./readTag.js"),s=r("./util/util.js"),l=function(e,i,r){if(void 0!==r)return"SQ"===r(e.tag);if(i.position+4<=i.byteArray.length){var t=Object(a.default)(i);return i.seek(-4),"xfffee000"===t||"xfffee0dd"===t}return i.warnings.push("eof encountered before finding sequence item tag or sequence delimiter tag in peeking to determine VR"),!1}},"./readEncapsulatedImageFrame.js":function(e,i,r){function t(e,i,r,t,s){if(t=t||i.basicOffsetTable,s=s||i.fragments,void 0===e)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedImageFrame: missing required parameter 'frameIndex'";if(void 0===t)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' does not have basicOffsetTable";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010)";if(i.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have undefined length";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedImageFrame: parameter 'pixelDataElement' refers to pixel data element that does not have fragments";if(0===t.length)throw"dicomParser.readEncapsulatedImageFrame: basicOffsetTable has zero entries";if(r<0)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be >= 0";if(r>=t.length)throw"dicomParser.readEncapsulatedImageFrame: parameter 'frameIndex' must be < basicOffsetTable.length";var l=t[r],o=f(s,l);if(void 0===o)throw"dicomParser.readEncapsulatedImageFrame: unable to find fragment that matches basic offset table entry";var u=a(r,t,s,o);return Object(n.default)(e,i,o,u,s)}r.r(i),r.d(i,"default",function(){return t});var n=r("./readEncapsulatedPixelDataFromFragments.js"),f=function(e,i){for(var r=0;r<e.length;r++)if(e[r].offset===i)return r},a=function(e,i,r,t){if(e===i.length-1)return r.length-t;for(var n=i[e+1],f=t+1;f<r.length;f++)if(r[f].offset===n)return f-t;throw"dicomParser.calculateNumberOfFragmentsForFrame: could not find fragment with offset matching basic offset table"}},"./readEncapsulatedPixelData.js":function(e,i,r){function t(e,i,r){if(a||(a=!0,console&&console.log&&console.log("WARNING: dicomParser.readEncapsulatedPixelData() has been deprecated")),void 0===e)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'element'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelData: missing required parameter 'frame'";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to non pixel data tag (expected tag = x7fe00010)";if(i.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedPixelData: parameter 'element' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelData: parameter 'frame' must be >= 0";return 0!==i.basicOffsetTable.length?Object(n.default)(e,i,r):Object(f.default)(e,i,0,i.fragments.length)}r.r(i),r.d(i,"default",function(){return t});var n=r("./readEncapsulatedImageFrame.js"),f=r("./readEncapsulatedPixelDataFromFragments.js"),a=!1},"./readEncapsulatedPixelDataFromFragments.js":function(e,i,r){function t(e,i,r,t,o){if(t=t||1,o=o||i.fragments,void 0===e)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'dataSet'";if(void 0===i)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'pixelDataElement'";if(void 0===r)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'startFragmentIndex'";if(void 0===t)throw"dicomParser.readEncapsulatedPixelDataFromFragments: missing required parameter 'numFragments'";if("x7fe00010"!==i.tag)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010";if(i.encapsulatedPixelData!==!0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.fragments.length<=0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r<0)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be >= 0";if(r>=i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragmentIndex' must be < number of fragments";if(t<1)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'numFragments' must be > 0";if(r+t>i.fragments.length)throw"dicomParser.readEncapsulatedPixelDataFromFragments: parameter 'startFragment' + 'numFragments' < number of fragments";var u=new f.default(e.byteArrayParser,e.byteArray,i.dataOffset),c=Object(a.default)(u);if("xfffee000"!==c.tag)throw"dicomParser.readEncapsulatedPixelData: missing basic offset table xfffee000";u.seek(c.length);var d=u.position;if(1===t)return Object(s.default)(u.byteArray,d+o[r].offset+8,o[r].length);for(var h=l(o,r,t),b=Object(n.default)(u.byteArray,h),k=0,w=r;w<r+t;w++)for(var m=d+o[w].offset+8,_=0;_<o[w].length;_++)b[k++]=u.byteArray[m++];return b}r.r(i),r.d(i,"default",function(){return t});var n=r("./alloc.js"),f=r("./byteStream.js"),a=r("./readSequenceItem.js"),s=r("./sharedCopy.js"),l=function(e,i,r){for(var t=0,n=i;n<i+r;n++)t+=e[n].length;return t}},"./readPart10Header.js":function(e,i,r){function t(e,i){function r(){if(t.seek(128),"DICM"!==t.readFixedString(4))throw"dicomParser.readPart10Header: DICM prefix not found at location 132 - this is not a valid DICOM P10 file."}if(void 0===e)throw"dicomParser.readPart10Header: missing required parameter 'byteArray'";var t=new n.default(a.default,e);return function(){r();for(var e=[],i={};t.position<t.byteArray.length;){var n=t.position,l=Object(s.default)(t,e);if(l.tag>"x0002ffff"){t.position=n;break}l.parser=a.default,i[l.tag]=l}var o=new f.default(t.byteArrayParser,t.byteArray,i);return o.warnings=t.warnings,o.position=t.position,o}()}r.r(i),r.d(i,"default",function(){return t});var n=r("./byteStream.js"),f=r("./dataSet.js"),a=r("./littleEndianByteArrayParser.js"),s=r("./readDicomElementExplicit.js")},"./readSequenceElementExplicit.js":function(e,i,r){function t(e,i){for(var r={};e.position<e.byteArray.length;){var t=Object(o.default)(e,i);if(r[t.tag]=t,"xfffee00d"===t.tag)return new l.default(e.byteArrayParser,e.byteArray,r)}return i.push("eof encountered before finding item delimiter tag while reading sequence item of undefined length"),new l.default(e.byteArrayParser,e.byteArray,r)}function n(e,i){var r=Object(u.default)(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=t(e,i),r.length=e.position-r.dataOffset):(r.dataSet=new l.default(e.byteArrayParser,e.byteArray,{}),d.parseDicomDataSetExplicit(r.dataSet,e,e.position+r.length)),r}function f(e,i,r){for(;e.position+4<=e.byteArray.length;){var t=Object(c.default)(e);if(e.seek(-4),"xfffee0dd"===t)return i.length=e.position-i.dataOffset,e.seek(8),i;var f=n(e,r);i.items.push(f)}r.push("eof encountered before finding sequence delimitation tag while reading sequence of undefined length"),i.length=e.position-i.dataOffset}function a(e,i,r){for(var t=i.dataOffset+i.length;e.position<t;){var f=n(e,r);i.items.push(f)}}function s(e,i,r){if(void 0===e)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.readSequenceItemsExplicit: missing required parameter 'element'";i.items=[],4294967295===i.length?f(e,i,r):a(e,i,r)}r.r(i),r.d(i,"default",function(){return s});var l=r("./dataSet.js"),o=r("./readDicomElementExplicit.js"),u=r("./readSequenceItem.js"),c=r("./readTag.js"),d=r("./parseDicomDataSet.js")},"./readSequenceElementImplicit.js":function(e,i,r){function t(e,i){for(var r={};e.position<e.byteArray.length;){var t=Object(o.default)(e,void 0,i);if(r[t.tag]=t,"xfffee00d"===t.tag)return new l.default(e.byteArrayParser,e.byteArray,r)}return e.warnings.push("eof encountered before finding sequence item delimiter in sequence item of undefined length"),new l.default(e.byteArrayParser,e.byteArray,r)}function n(e,i){var r=Object(u.default)(e);return 4294967295===r.length?(r.hadUndefinedLength=!0,r.dataSet=t(e,i),r.length=e.position-r.dataOffset):(r.dataSet=new l.default(e.byteArrayParser,e.byteArray,{}),d.parseDicomDataSetImplicit(r.dataSet,e,e.position+r.length,{vrCallback:i})),r}function f(e,i,r){for(;e.position+4<=e.byteArray.length;){var t=Object(c.default)(e);if(e.seek(-4),"xfffee0dd"===t)return i.length=e.position-i.dataOffset,e.seek(8),i;var f=n(e,r);i.items.push(f)}e.warnings.push("eof encountered before finding sequence delimiter in sequence of undefined length"),i.length=e.byteArray.length-i.dataOffset}function a(e,i,r){for(var t=i.dataOffset+i.length;e.position<t;){var f=n(e,r);i.items.push(f)}}function s(e,i,r){if(void 0===e)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'byteStream'";if(void 0===i)throw"dicomParser.readSequenceItemsImplicit: missing required parameter 'element'";i.items=[],4294967295===i.length?f(e,i,r):a(e,i,r)}r.r(i),r.d(i,"default",function(){return s});var l=r("./dataSet.js"),o=r("./readDicomElementImplicit.js"),u=r("./readSequenceItem.js"),c=r("./readTag.js"),d=r("./parseDicomDataSet.js")},"./readSequenceItem.js":function(e,i,r){function t(e){if(void 0===e)throw"dicomParser.readSequenceItem: missing required parameter 'byteStream'";var i={tag:Object(n.default)(e),length:e.readUint32(),dataOffset:e.position};if("xfffee000"!==i.tag)throw"dicomParser.readSequenceItem: item tag (FFFE,E000) not found at offset ".concat(e.position);return i}r.r(i),r.d(i,"default",function(){return t});var n=r("./readTag.js")},"./readTag.js":function(e,i,r){function t(e){if(void 0===e)throw"dicomParser.readTag: missing required parameter 'byteStream'";var i=256*e.readUint16()*256,r=e.readUint16();return"x".concat("00000000".concat((i+r).toString(16)).substr(-8))}r.r(i),r.d(i,"default",function(){return t})},"./sharedCopy.js":function(e,i,r){function t(e,i,r){if("undefined"!=typeof Buffer&&e instanceof Buffer)return e.slice(i,i+r);if(e instanceof Uint8Array)return new Uint8Array(e.buffer,e.byteOffset+i,r);throw"dicomParser.from: unknown type for byteArray"}r.r(i),r.d(i,"default",function(){return t})},"./util/createJPEGBasicOffsetTable.js":function(e,i,r){function t(e,i){return 255===e.byteArray[i]&&217===e.byteArray[i+1]}function n(e,i,r){var n=i.fragments[r];return!(!t(e,n.position+n.length-2)&&!t(e,n.position+n.length-3))}function f(e,i,r){for(var t=r;t<i.fragments.length;t++)if(n(e,i,t))return t}function a(e,i,r){if(void 0===e)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter dataSet";if(void 0===i)throw"dicomParser.createJPEGBasicOffsetTable: missing required parameter pixelDataElement";if("x7fe00010"!==i.tag)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to non pixel data tag (expected tag = x7fe00010'";if(i.encapsulatedPixelData!==!0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.hadUndefinedLength!==!0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.basicOffsetTable)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(void 0===i.fragments)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(i.fragments.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'pixelDataElement' refers to pixel data element that does not have encapsulated pixel data";if(r&&r.length<=0)throw"dicomParser.createJPEGBasicOffsetTable: parameter 'fragments' must not be zero length";r=r||i.fragments;for(var t=[],n=0;;){t.push(i.fragments[n].offset);var a=f(e,i,n);if(void 0===a||a===i.fragments.length-1)return t;n=a+1}}r.r(i),r.d(i,"default",function(){return a})},"./util/dataSetToJS.js":function(e,i,r){function t(e,i){if(void 0===e)throw"dicomParser.explicitDataSetToJS: missing required parameter dataSet";i=i||{omitPrivateAttibutes:!0,maxElementLength:128};var r={};for(var a in e.elements){var s=e.elements[a];if(i.omitPrivateAttibutes!==!0||!f.isPrivateTag(a))if(s.items){for(var l=[],o=0;o<s.items.length;o++)l.push(t(s.items[o].dataSet,i));r[a]=l}else{var u;u=void 0,s.length<i.maxElementLength&&(u=Object(n.default)(e,s)),r[a]=void 0!==u?u:{dataOffset:s.dataOffset,length:s.length}}}return r}r.r(i),r.d(i,"default",function(){return t});var n=r("./util/elementToString.js"),f=r("./util/util.js")},"./util/elementToString.js":function(e,i,r){function t(e,i){function r(i,r){for(var t="",n=0;n<i;n++)0!==n&&(t+="/"),t+=r.call(e,a,n).toString();return t}if(void 0===e||void 0===i)throw"dicomParser.explicitElementToString: missing required parameters";if(void 0===i.vr)throw"dicomParser.explicitElementToString: cannot convert implicit element to string";var t,f=i.vr,a=i.tag;if(n.isStringVr(f)===!0)t=e.string(a);else{if("AT"===f){var s=e.uint32(a);if(void 0===s)return;return s<0&&(s=4294967295+s+1),"x".concat(s.toString(16).toUpperCase())}"US"===f?t=r(i.length/2,e.uint16):"SS"===f?t=r(i.length/2,e.int16):"UL"===f?t=r(i.length/4,e.uint32):"SL"===f?t=r(i.length/4,e.int32):"FD"===f?t=r(i.length/8,e.double):"FL"===f&&(t=r(i.length/4,e.float))}return t}r.r(i),r.d(i,"default",function(){return t});var n=r("./util/util.js")},"./util/index.js":function(e,i,r){r.r(i);var t=r("./util/util.js");r.d(i,"isStringVr",function(){return t.isStringVr}),r.d(i,"isPrivateTag",function(){return t.isPrivateTag}),r.d(i,"parsePN",function(){return t.parsePN});var n=r("./util/parseTM.js");r.d(i,"parseTM",function(){return n.default});var f=r("./util/parseDA.js");r.d(i,"parseDA",function(){return f.default});var a=r("./util/elementToString.js");r.d(i,"explicitElementToString",function(){return a.default});var s=r("./util/dataSetToJS.js");r.d(i,"explicitDataSetToJS",function(){return s.default});var l=r("./util/createJPEGBasicOffsetTable.js");r.d(i,"createJPEGBasicOffsetTable",function(){return l.default})},"./util/parseDA.js":function(e,i,r){function t(e,i){switch(e){case 2:return i%4==0&&i%100||i%400==0?29:28;case 9:case 4:case 6:case 11:return 30;default:return 31}}function n(e,i,r){return!isNaN(r)&&(i>0&&i<=12&&e>0&&e<=t(i,r))}function f(e,i){if(e&&8===e.length){var r=parseInt(e.substring(0,4),10),t=parseInt(e.substring(4,6),10),f=parseInt(e.substring(6,8),10);if(i&&n(f,t,r)!==!0)throw"invalid DA '".concat(e,"'");return{year:r,month:t,day:f}}if(i)throw"invalid DA '".concat(e,"'")}r.r(i),r.d(i,"default",function(){return f})},"./util/parseTM.js":function(e,i,r){function t(e,i){if(e.length>=2){var r=parseInt(e.substring(0,2),10),t=e.length>=4?parseInt(e.substring(2,4),10):void 0,n=e.length>=6?parseInt(e.substring(4,6),10):void 0,f=e.length>=8?e.substring(7,13):void 0,a=f?parseInt(f,10)*Math.pow(10,6-f.length):void 0;if(i&&(isNaN(r)||void 0!==t&&isNaN(t)||void 0!==n&&isNaN(n)||void 0!==a&&isNaN(a)||r<0||r>23||t&&(t<0||t>59)||n&&(n<0||n>59)||a&&(a<0||a>999999)))throw"invalid TM '".concat(e,"'");return{hours:r,minutes:t,seconds:n,fractionalSeconds:a}}if(i)throw"invalid TM '".concat(e,"'")}r.r(i),r.d(i,"default",function(){return t})},"./util/util.js":function(e,i,r){r.r(i),r.d(i,"isStringVr",function(){return n}),r.d(i,"isPrivateTag",function(){return f}),r.d(i,"parsePN",function(){return a});var t={AE:!0,AS:!0,AT:!1,CS:!0,DA:!0,DS:!0,DT:!0,FL:!1,FD:!1,IS:!0,LO:!0,LT:!0,OB:!1,OD:!1,OF:!1,OW:!1,PN:!0,SH:!0,SL:!1,SQ:!1,SS:!1,ST:!0,TM:!0,UI:!0,UL:!1,UN:void 0,UR:!0,US:!1,UT:!0},n=function(e){return t[e]},f=function(e){return parseInt(e[4],10)%2==1},a=function(e){if(void 0!==e){var i=e.split("^");return{familyName:i[0],givenName:i[1],middleName:i[2],prefix:i[3],suffix:i[4]}}}},"./version.js":function(e,i,r){r.r(i),i.default="1.8.5"},zlib:function(i,r){i.exports=e}})}),define("dicom-parser/dist/dicomParser",function(){});var ColorSpace={Unkown:0,Grayscale:1,AdobeRGB:2,RGB:3,CYMK:4},JpegImage=function(){"use strict";function e(){}function i(e,i){for(var r,t,n=0,f=[],a=16;a>0&&!e[a-1];)a--;f.push({children:[],index:0});var s,l=f[0];for(r=0;r<a;r++){for(t=0;t<e[r];t++){for(l=f.pop(),l.children[l.index]=i[n];l.index>0;)l=f.pop();for(l.index++,f.push(l);f.length<=r;)f.push(s={children:[],index:0}),l.children[l.index]=s.children,l=s;n++}r+1<a&&(f.push(s={children:[],index:0}),l.children[l.index]=s.children,l=s)}return f[0].children}function r(e,i,r){return 64*((e.blocksPerLine+1)*i+r)}function t(e,i,t,n,f,a,l,o,u){function c(){if(D>0)return D--,x>>D&1;if(255==(x=e[i++])){var r=e[i++];if(r)throw"unexpected marker: "+(x<<8|r).toString(16)}return D=7,x>>>7}function d(e){for(var i,r=e;null!==(i=c());){if("number"==typeof(r=r[i]))return r;if("object"!=typeof r)throw"invalid huffman sequence"}return null}function h(e){for(var i=0;e>0;){var r=c();if(null===r)return;i=i<<1|r,e--}return i}function b(e){var i=h(e);return i>=1<<e-1?i:i+(-1<<e)+1}function k(e,i){var r=d(e.huffmanTableDC),t=0===r?0:b(r);e.blockData[i]=e.pred+=t;for(var n=1;n<64;){var f=d(e.huffmanTableAC),a=15&f,l=f>>4;if(0!==a){n+=l;var o=s[n];e.blockData[i+o]=b(a),n++}else{if(l<15)break;n+=16}}}function w(e,i){var r=d(e.huffmanTableDC),t=0===r?0:b(r)<<u;e.blockData[i]=e.pred+=t}function m(e,i){e.blockData[i]|=c()<<u}function _(e,i){if(O>0)return void O--;for(var r=a,t=l;r<=t;){var n=d(e.huffmanTableAC),f=15&n,o=n>>4;if(0!==f){r+=o;var c=s[r];e.blockData[i+c]=b(f)*(1<<u),r++}else{if(o<15){O=h(o)+(1<<o)-1;break}r+=16}}}function p(e,i){for(var r=a,t=l,n=0;r<=t;){var f=s[r];switch(R){case 0:var o=d(e.huffmanTableAC),k=15&o;if(n=o>>4,0===k)n<15?(O=h(n)+(1<<n),R=4):(n=16,R=1);else{if(1!==k)throw"invalid ACn encoding";v=b(k),R=n?2:3}continue;case 1:case 2:e.blockData[i+f]?e.blockData[i+f]+=c()<<u:0===--n&&(R=2==R?3:0);break;case 3:e.blockData[i+f]?e.blockData[i+f]+=c()<<u:(e.blockData[i+f]=v<<u,R=0);break;case 4:e.blockData[i+f]&&(e.blockData[i+f]+=c()<<u)}r++}4===R&&0===--O&&(R=0)}var v,g,y,E,A,S,T,M=(t.precision,t.samplesPerLine,t.scanLines,t.mcusPerLine),C=t.progressive,P=(t.maxH,t.maxV,i),x=0,D=0,O=0,R=0,L=n.length;T=C?0===a?0===o?w:m:0===o?_:p:k;var I,B,N=0;B=1==L?n[0].blocksPerLine*n[0].blocksPerColumn:M*t.mcusPerColumn,f||(f=B);for(var F,j;N<B;){for(y=0;y<L;y++)n[y].pred=0;if(O=0,1==L)for(g=n[0],S=0;S<f;S++)!function(e,i,t){i(e,r(e,t/e.blocksPerLine|0,t%e.blocksPerLine))}(g,T,N),N++;else for(S=0;S<f;S++){for(y=0;y<L;y++)for(g=n[y],F=g.h,j=g.v,E=0;E<j;E++)for(A=0;A<F;A++)!function(e,i,t,n,f){var a=t/M|0,s=t%M;i(e,r(e,a*e.v+n,s*e.h+f))}(g,T,N,E,A);N++}if(D=0,(I=e[i]<<8|e[i+1])<=65280)throw"marker was not found";if(!(I>=65488&&I<=65495))break;i+=2}return i-P}function n(e,i,r){var t,n,f,a,s,w,m,_,p,v,g=e.quantizationTable;for(v=0;v<64;v++)r[v]=e.blockData[i+v]*g[v];for(v=0;v<8;++v){var y=8*v;0!==r[1+y]||0!==r[2+y]||0!==r[3+y]||0!==r[4+y]||0!==r[5+y]||0!==r[6+y]||0!==r[7+y]?(t=b*r[0+y]+128>>8,n=b*r[4+y]+128>>8,f=r[2+y],a=r[6+y],s=k*(r[1+y]-r[7+y])+128>>8,_=k*(r[1+y]+r[7+y])+128>>8,w=r[3+y]<<4,m=r[5+y]<<4,p=t-n+1>>1,t=t+n+1>>1,n=p,p=f*h+a*d+128>>8,f=f*d-a*h+128>>8,a=p,p=s-m+1>>1,s=s+m+1>>1,m=p,p=_+w+1>>1,w=_-w+1>>1,_=p,p=t-a+1>>1,t=t+a+1>>1,a=p,p=n-f+1>>1,n=n+f+1>>1,f=p,p=s*c+_*u+2048>>12,s=s*u-_*c+2048>>12,_=p,p=w*o+m*l+2048>>12,w=w*l-m*o+2048>>12,m=p,r[0+y]=t+_,r[7+y]=t-_,r[1+y]=n+m,r[6+y]=n-m,r[2+y]=f+w,r[5+y]=f-w,r[3+y]=a+s,r[4+y]=a-s):(p=b*r[0+y]+512>>10,r[0+y]=p,r[1+y]=p,r[2+y]=p,r[3+y]=p,r[4+y]=p,r[5+y]=p,r[6+y]=p,r[7+y]=p)}for(v=0;v<8;++v){var E=v;0!==r[8+E]||0!==r[16+E]||0!==r[24+E]||0!==r[32+E]||0!==r[40+E]||0!==r[48+E]||0!==r[56+E]?(t=b*r[0+E]+2048>>12,n=b*r[32+E]+2048>>12,f=r[16+E],a=r[48+E],s=k*(r[8+E]-r[56+E])+2048>>12,_=k*(r[8+E]+r[56+E])+2048>>12,w=r[24+E],m=r[40+E],p=t-n+1>>1,t=t+n+1>>1,n=p,p=f*h+a*d+2048>>12,f=f*d-a*h+2048>>12,a=p,p=s-m+1>>1,s=s+m+1>>1,m=p,p=_+w+1>>1,w=_-w+1>>1,_=p,p=t-a+1>>1,t=t+a+1>>1,a=p,p=n-f+1>>1,n=n+f+1>>1,f=p,p=s*c+_*u+2048>>12,s=s*u-_*c+2048>>12,_=p,p=w*o+m*l+2048>>12,w=w*l-m*o+2048>>12,m=p,r[0+E]=t+_,r[56+E]=t-_,r[8+E]=n+m,r[48+E]=n-m,r[16+E]=f+w,r[40+E]=f-w,r[24+E]=a+s,r[32+E]=a-s):(p=b*r[v+0]+8192>>14,r[0+E]=p,r[8+E]=p,r[16+E]=p,r[24+E]=p,r[32+E]=p,r[40+E]=p,r[48+E]=p,r[56+E]=p)}for(v=0;v<64;++v){var A=i+v,S=r[v];S=S<=-2056/e.bitConversion?0:S>=2024/e.bitConversion?255/e.bitConversion:S+2056/e.bitConversion>>4,e.blockData[A]=S}}function f(e,i){for(var t=i.blocksPerLine,f=i.blocksPerColumn,a=new Int32Array(64),s=0;s<f;s++)for(var l=0;l<t;l++){var o=r(i,s,l);n(i,o,a)}return i.blockData}function a(e){return e<=0?0:e>=255?255:0|e}
3
3
  var s=new Int32Array([0,1,8,16,9,2,3,10,17,24,32,25,18,11,4,5,12,19,26,33,40,48,41,34,27,20,13,6,7,14,21,28,35,42,49,56,57,50,43,36,29,22,15,23,30,37,44,51,58,59,52,45,38,31,39,46,53,60,61,54,47,55,62,63]),l=4017,o=799,u=3406,c=2276,d=1567,h=3784,b=5793,k=2896;return e.prototype={load:function(e){var i=function(e){this.parse(e),this.onload&&this.onload()}.bind(this);if(e.indexOf("data:")>-1){for(var r=e.indexOf("base64,")+7,t=atob(e.substring(r)),n=new Uint8Array(t.length),f=t.length-1;f>=0;f--)n[f]=t.charCodeAt(f);i(t)}else{var a=new XMLHttpRequest;a.open("GET",e,!0),a.responseType="arraybuffer",a.onload=function(){i(new Uint8Array(a.response))}.bind(this),a.send(null)}},parse:function(e){function r(){var i=e[l]<<8|e[l+1];return l+=2,i}var n,a,l=0,o=(e.length,null),u=null,c=[],d=[],h=[],b=r();if(65496!=b)throw"SOI not found";for(b=r();65497!=b;){var k,w,m;switch(b){case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:case 65534:var _=function(){var i=r(),t=e.subarray(l,l+i-2);return l+=t.length,t}();65504===b&&74===_[0]&&70===_[1]&&73===_[2]&&70===_[3]&&0===_[4]&&(o={version:{major:_[5],minor:_[6]},densityUnits:_[7],xDensity:_[8]<<8|_[9],yDensity:_[10]<<8|_[11],thumbWidth:_[12],thumbHeight:_[13],thumbData:_.subarray(14,14+3*_[12]*_[13])}),65518===b&&65===_[0]&&100===_[1]&&111===_[2]&&98===_[3]&&101===_[4]&&0===_[5]&&(u={version:_[6],flags0:_[7]<<8|_[8],flags1:_[9]<<8|_[10],transformCode:_[11]});break;case 65499:for(var p=r(),v=p+l-2;l<v;){var g=e[l++],y=new Int32Array(64);if(g>>4==0)for(w=0;w<64;w++){var E=s[w];y[E]=e[l++]}else{if(g>>4!=1)throw"DQT: invalid table spec";for(w=0;w<64;w++){y[s[w]]=r()}}c[15&g]=y}break;case 65472:case 65473:case 65474:if(n)throw"Only single frame JPEGs supported";r(),n={},n.extended=65473===b,n.progressive=65474===b,n.precision=e[l++],n.scanLines=r(),n.samplesPerLine=r(),n.components=[],n.componentIds={};var A,S=e[l++],T=0,M=0;for(k=0;k<S;k++){A=e[l];var C=e[l+1]>>4,P=15&e[l+1];T<C&&(T=C),M<P&&(M=P);var x=e[l+2];m=n.components.push({h:C,v:P,quantizationTable:c[x],quantizationTableId:x,bitConversion:255/((1<<n.precision)-1)}),n.componentIds[A]=m-1,l+=3}n.maxH=T,n.maxV=M,function(e){for(var i=Math.ceil(e.samplesPerLine/8/e.maxH),r=Math.ceil(e.scanLines/8/e.maxV),t=0;t<e.components.length;t++){B=e.components[t];var n=Math.ceil(Math.ceil(e.samplesPerLine/8)*B.h/e.maxH),f=Math.ceil(Math.ceil(e.scanLines/8)*B.v/e.maxV),a=i*B.h,s=r*B.v,l=64*s*(a+1);B.blockData=new Int16Array(l),B.blocksPerLine=n,B.blocksPerColumn=f}e.mcusPerLine=i,e.mcusPerColumn=r}(n);break;case 65476:var D=r();for(k=2;k<D;){var O=e[l++],R=new Uint8Array(16),L=0;for(w=0;w<16;w++,l++)L+=R[w]=e[l];var I=new Uint8Array(L);for(w=0;w<L;w++,l++)I[w]=e[l];k+=17+L,(O>>4==0?h:d)[15&O]=i(R,I)}break;case 65501:r(),a=r();break;case 65498:var B,N=(r(),e[l++]),F=[];for(k=0;k<N;k++){var j=n.componentIds[e[l++]];B=n.components[j];var U=e[l++];B.huffmanTableDC=h[U>>4],B.huffmanTableAC=d[15&U],F.push(B)}var H=e[l++],Y=e[l++],q=e[l++];l+=t(e,l,n,F,a,H,Y,q>>4,15&q);break;case 65535:255!==e[l]&&l--;break;default:if(255==e[l-3]&&e[l-2]>=192&&e[l-2]<=254){l-=3;break}throw"unknown JPEG marker "+b.toString(16)}b=r()}switch(this.width=n.samplesPerLine,this.height=n.scanLines,this.jfif=o,this.adobe=u,this.components=[],n.components.length){case 1:this.colorspace=ColorSpace.Grayscale;break;case 3:this.adobe?this.colorspace=ColorSpace.AdobeRGB:this.colorspace=ColorSpace.RGB;break;case 4:this.colorspace=ColorSpace.CYMK;break;default:this.colorspace=ColorSpace.Unknown}for(var k=0;k<n.components.length;k++){var B=n.components[k];B.quantizationTable||null===B.quantizationTableId||(B.quantizationTable=c[B.quantizationTableId]),this.components.push({output:f(n,B),scaleX:B.h/n.maxH,scaleY:B.v/n.maxV,blocksPerLine:B.blocksPerLine,blocksPerColumn:B.blocksPerColumn,bitConversion:B.bitConversion})}},getData16:function(e,i){if(1!==this.components.length)throw"Unsupported color mode";var t,n,f,a,s,l,o=this.width/e,u=this.height/i,c=0,d=this.components.length,h=e*i*d,b=new Uint16Array(h),k=new Uint16Array((this.components[0].blocksPerLine<<3)*this.components[0].blocksPerColumn*8);for(l=0;l<d;l++){t=this.components[l];for(var w,m,_=t.blocksPerLine,p=t.blocksPerColumn,v=_<<3,g=0,y=0;y<p;y++)for(var E=y<<3,A=0;A<_;A++){var S=r(t,y,A),c=0,T=A<<3;for(w=0;w<8;w++){var g=(E+w)*v;for(m=0;m<8;m++)k[g+T+m]=t.output[S+c++]}}n=t.scaleX*o,f=t.scaleY*u,c=l;var M,C,P;for(s=0;s<i;s++)for(a=0;a<e;a++)C=0|s*f,M=0|a*n,P=C*v+M,b[c]=k[P],c+=d}return b},getData:function(e,i){var t,n,f,s,l,o,u,c,d,h,b,k,w,m,_,p=this.width/e,v=this.height/i,g=0,y=this.components.length,E=e*i*y,A=new Uint8Array(E),S=new Uint8Array((this.components[0].blocksPerLine<<3)*this.components[0].blocksPerColumn*8);for(o=0;o<y;o++){t=this.components[o];for(var T,M,C=t.blocksPerLine,P=t.blocksPerColumn,x=C<<3,D=0,O=0;O<P;O++)for(var R=O<<3,L=0;L<C;L++){var I=r(t,O,L),g=0,B=L<<3;for(T=0;T<8;T++){var D=(R+T)*x;for(M=0;M<8;M++)S[D+B+M]=t.output[I+g++]*t.bitConversion}}n=t.scaleX*p,f=t.scaleY*v,g=o;var N,F,j;for(l=0;l<i;l++)for(s=0;s<e;s++)F=0|l*f,N=0|s*n,j=F*x+N,A[g]=S[j],g+=y}switch(y){case 1:case 2:break;case 3:if(_=!0,this.adobe&&this.adobe.transformCode?_=!0:void 0!==this.colorTransform&&(_=!!this.colorTransform),_)for(o=0;o<E;o+=y)u=A[o],c=A[o+1],d=A[o+2],k=a(u-179.456+1.402*d),w=a(u+135.459-.344*c-.714*d),m=a(u-226.816+1.772*c),A[o]=k,A[o+1]=w,A[o+2]=m;break;case 4:if(!this.adobe)throw"Unsupported color mode (4 components)";if(_=!1,this.adobe&&this.adobe.transformCode?_=!0:void 0!==this.colorTransform&&(_=!!this.colorTransform),_)for(o=0;o<E;o+=y)u=A[o],c=A[o+1],d=A[o+2],h=a(434.456-u-1.402*d),b=a(119.541-u+.344*c+.714*d),u=a(481.816-u-1.772*c),A[o]=h,A[o+1]=b,A[o+2]=u;break;default:throw"Unsupported color mode"}return A}},e}();define("lib/jpeg/jpeg",function(){}),function(e){if("object"==typeof exports&&void 0!==module)module.exports=e();else if("function"==typeof define&&define.amd)define("jpegLossless/release/current/lossless",[],e);else{var i;i="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,i.jpeg=e()}}(function(){return function(){function e(i,r,t){function n(a,s){if(!r[a]){if(!i[a]){var l="function"==typeof require&&require;if(!s&&l)return l(a,!0);if(f)return f(a,!0);var o=new Error("Cannot find module '"+a+"'");throw o.code="MODULE_NOT_FOUND",o}var u=r[a]={exports:{}};i[a][0].call(u.exports,function(e){var r=i[a][1][e];return n(r?r:e)},u,u.exports,e,i,r,t)}return r[a].exports}for(var f="function"==typeof require&&require,a=0;a<t.length;a++)n(t[a]);return n}return e}()({1:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.ComponentSpec=t.lossless.ComponentSpec||function(){this.hSamp=0,this.quantTableSel=0,this.vSamp=0},void 0!==i&&i.exports&&(i.exports=t.lossless.ComponentSpec)},{}],2:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||function(e,i,r){this.buffer=void 0===i&&void 0===r?new Uint8Array(e):new Uint8Array(e,i,r),this.index=0},t.lossless.DataStream.prototype.get16=function(){var e=(this.buffer[this.index]<<8)+this.buffer[this.index+1];return this.index+=2,e},t.lossless.DataStream.prototype.get8=function(){var e=this.buffer[this.index];return this.index+=1,e},void 0!==i&&i.exports&&(i.exports=t.lossless.DataStream)},{}],3:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.HuffmanTable=t.lossless.HuffmanTable||(void 0!==e?e("./huffman-table.js"):null),t.lossless.QuantizationTable=t.lossless.QuantizationTable||(void 0!==e?e("./quantization-table.js"):null),t.lossless.ScanHeader=t.lossless.ScanHeader||(void 0!==e?e("./scan-header.js"):null),t.lossless.FrameHeader=t.lossless.FrameHeader||(void 0!==e?e("./frame-header.js"):null),t.lossless.Utils=t.lossless.Utils||(void 0!==e?e("./utils.js"):null),t.lossless.Decoder=t.lossless.Decoder||function(e,i){this.buffer=e,this.frame=new t.lossless.FrameHeader,this.huffTable=new t.lossless.HuffmanTable,this.quantTable=new t.lossless.QuantizationTable,this.scan=new t.lossless.ScanHeader,this.DU=t.lossless.Utils.createArray(10,4,64),this.HuffTab=t.lossless.Utils.createArray(4,2,12800),this.IDCT_Source=[],this.nBlock=[],this.acTab=t.lossless.Utils.createArray(10,1),this.dcTab=t.lossless.Utils.createArray(10,1),this.qTab=t.lossless.Utils.createArray(10,1),this.marker=0,this.markerIndex=0,this.numComp=0,this.restartInterval=0,this.selection=0,this.xDim=0,this.yDim=0,this.xLoc=0,this.yLoc=0,this.numBytes=0,this.outputData=null,this.restarting=!1,this.mask=0,void 0!==i&&(this.numBytes=i)},t.lossless.Decoder.IDCT_P=[0,5,40,16,45,2,7,42,21,56,8,61,18,47,1,4,41,23,58,13,32,24,37,10,63,17,44,3,6,43,20,57,15,34,29,48,53,26,39,9,60,19,46,22,59,12,33,31,50,55,25,36,11,62,14,35,28,49,52,27,38,30,51,54],t.lossless.Decoder.TABLE=[0,1,5,6,14,15,27,28,2,4,7,13,16,26,29,42,3,8,12,17,25,30,41,43,9,11,18,24,31,40,44,53,10,19,23,32,39,45,52,54,20,22,33,38,46,51,55,60,21,34,37,47,50,56,59,61,35,36,48,49,57,58,62,63],t.lossless.Decoder.MAX_HUFFMAN_SUBTREE=50,t.lossless.Decoder.MSB=2147483648,t.lossless.Decoder.RESTART_MARKER_BEGIN=65488,t.lossless.Decoder.RESTART_MARKER_END=65495,t.lossless.Decoder.prototype.decompress=function(e,i,r){return this.decode(e,i,r).buffer},t.lossless.Decoder.prototype.decode=function(e,i,r,n){var f,a,s,l,o=0,u=[],c=[],d=[];if(void 0!==e&&(this.buffer=e),void 0!==n&&(this.numBytes=n),this.stream=new t.lossless.DataStream(this.buffer,i,r),this.buffer=null,this.xLoc=0,this.yLoc=0,65496!==(f=this.stream.get16()))throw new Error("Not a JPEG file");for(f=this.stream.get16();f>>4!=4092||65476===f;){switch(f){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,t.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(f>>8!=255)throw new Error("ERROR: format throw new IOException! (decode)")}f=this.stream.get16()}if(f<65472||f>65479)throw new Error("ERROR: could not handle arithmetic code!");this.frame.read(this.stream),f=this.stream.get16();do{for(;65498!==f;){switch(f){case 65476:this.huffTable.read(this.stream,this.HuffTab);break;case 65484:throw new Error("Program doesn't support arithmetic coding. (format throw new IOException)");case 65499:this.quantTable.read(this.stream,t.lossless.Decoder.TABLE);break;case 65501:this.restartInterval=this.readNumber();break;case 65504:case 65505:case 65506:case 65507:case 65508:case 65509:case 65510:case 65511:case 65512:case 65513:case 65514:case 65515:case 65516:case 65517:case 65518:case 65519:this.readApp();break;case 65534:this.readComment();break;default:if(f>>8!=255)throw new Error("ERROR: format throw new IOException! (Parser.decode)")}f=this.stream.get16()}switch(this.precision=this.frame.precision,this.components=this.frame.components,this.numBytes||(this.numBytes=parseInt(Math.ceil(this.precision/8))),1==this.numBytes?this.mask=255:this.mask=65535,this.scan.read(this.stream),this.numComp=this.scan.numComp,this.selection=this.scan.selection,1===this.numBytes?3===this.numComp?(this.getter=this.getValueRGB,this.setter=this.setValueRGB,this.output=this.outputRGB):(this.getter=this.getValue8,this.setter=this.setValue8,this.output=this.outputSingle):(this.getter=this.getValue16,this.setter=this.setValue16,this.output=this.outputSingle),this.selection){case 2:this.selector=this.select2;break;case 3:this.selector=this.select3;break;case 4:this.selector=this.select4;break;case 5:this.selector=this.select5;break;case 6:this.selector=this.select6;break;case 7:this.selector=this.select7;break;default:this.selector=this.select1}for(this.scanComps=this.scan.components,this.quantTables=this.quantTable.quantTables,a=0;a<this.numComp;a+=1)s=this.scanComps[a].scanCompSel,this.qTab[a]=this.quantTables[this.components[s].quantTableSel],this.nBlock[a]=this.components[s].vSamp*this.components[s].hSamp,this.dcTab[a]=this.HuffTab[this.scanComps[a].dcTabSel][0],this.acTab[a]=this.HuffTab[this.scanComps[a].acTabSel][1];for(this.xDim=this.frame.dimX,this.yDim=this.frame.dimY,1==this.numBytes?this.outputData=new Uint8Array(new ArrayBuffer(this.xDim*this.yDim*this.numBytes*this.numComp)):this.outputData=new Uint16Array(new ArrayBuffer(this.xDim*this.yDim*this.numBytes*this.numComp)),o+=1;;){for(c[0]=0,d[0]=0,a=0;a<10;a+=1)u[a]=1<<this.precision-1;if(0===this.restartInterval){for(f=this.decodeUnit(u,c,d);0===f&&this.xLoc<this.xDim&&this.yLoc<this.yDim;)this.output(u),f=this.decodeUnit(u,c,d);break}for(l=0;l<this.restartInterval&&(this.restarting=0==l,f=this.decodeUnit(u,c,d),this.output(u),0===f);l+=1);if(0===f&&(0!==this.markerIndex?(f=65280|this.marker,this.markerIndex=0):f=this.stream.get16()),!(f>=t.lossless.Decoder.RESTART_MARKER_BEGIN&&f<=t.lossless.Decoder.RESTART_MARKER_END))break}65500===f&&1===o&&(this.readNumber(),f=this.stream.get16())}while(65497!==f&&this.xLoc<this.xDim&&this.yLoc<this.yDim&&0===o)return this.outputData},t.lossless.Decoder.prototype.decodeUnit=function(e,i,r){return 1==this.numComp?this.decodeSingle(e,i,r):3==this.numComp?this.decodeRGB(e,i,r):-1},t.lossless.Decoder.prototype.select1=function(e){return this.getPreviousX(e)},t.lossless.Decoder.prototype.select2=function(e){return this.getPreviousY(e)},t.lossless.Decoder.prototype.select3=function(e){return this.getPreviousXY(e)},t.lossless.Decoder.prototype.select4=function(e){return this.getPreviousX(e)+this.getPreviousY(e)-this.getPreviousXY(e)},t.lossless.Decoder.prototype.select5=function(e){return this.getPreviousX(e)+(this.getPreviousY(e)-this.getPreviousXY(e)>>1)},t.lossless.Decoder.prototype.select6=function(e){return this.getPreviousY(e)+(this.getPreviousX(e)-this.getPreviousXY(e)>>1)},t.lossless.Decoder.prototype.select7=function(e){return(this.getPreviousX(e)+this.getPreviousY(e))/2},t.lossless.Decoder.prototype.decodeRGB=function(e,i,r){var n,f,a,s,l,o,u,c;for(e[0]=this.selector(0),e[1]=this.selector(1),e[2]=this.selector(2),l=0;l<this.numComp;l+=1)for(s=this.qTab[l],f=this.acTab[l],a=this.dcTab[l],o=0;o<this.nBlock[l];o+=1){for(u=0;u<this.IDCT_Source.length;u+=1)this.IDCT_Source[u]=0;if((n=this.getHuffmanValue(a,i,r))>=65280)return n;for(e[l]=this.IDCT_Source[0]=e[l]+this.getn(r,n,i,r),this.IDCT_Source[0]*=s[0],c=1;c<64;c+=1){if((n=this.getHuffmanValue(f,i,r))>=65280)return n;if(c+=n>>4,0==(15&n)){if(n>>4==0)break}else this.IDCT_Source[t.lossless.Decoder.IDCT_P[c]]=this.getn(r,15&n,i,r)*s[c]}}return 0},t.lossless.Decoder.prototype.decodeSingle=function(e,i,r){var n,f,a,s;for(this.restarting?(this.restarting=!1,e[0]=1<<this.frame.precision-1):e[0]=this.selector(),f=0;f<this.nBlock[0];f+=1){if((n=this.getHuffmanValue(this.dcTab[0],i,r))>=65280)return n;if(a=this.getn(e,n,i,r),(s=a>>8)>=t.lossless.Decoder.RESTART_MARKER_BEGIN&&s<=t.lossless.Decoder.RESTART_MARKER_END)return s;e[0]+=a}return 0},t.lossless.Decoder.prototype.getHuffmanValue=function(e,i,r){var n,f,a;if(a=65535,r[0]<8?(i[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),i[0]|=f):r[0]-=8,0!=((n=e[i[0]>>r[0]])&t.lossless.Decoder.MSB)){if(0!==this.markerIndex)return this.markerIndex=0,65280|this.marker;i[0]&=a>>16-r[0],i[0]<<=8,f=this.stream.get8(),255===f&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),i[0]|=f,n=e[256*(255&n)+(i[0]>>r[0])],r[0]+=8}if(r[0]+=8-(n>>8),r[0]<0)throw new Error("index="+r[0]+" temp="+i[0]+" code="+n+" in HuffmanValue()");return r[0]<this.markerIndex?(this.markerIndex=0,65280|this.marker):(i[0]&=a>>16-r[0],255&n)},t.lossless.Decoder.prototype.getn=function(e,i,r,t){var n,f,a,s,l;if(f=1,a=-1,s=65535,0===i)return 0;if(16===i)return e[0]>=0?-32768:32768;if(t[0]-=i,t[0]>=0){if(t[0]<this.markerIndex&&!this.isLastPixel())return this.markerIndex=0,(65280|this.marker)<<8;n=r[0]>>t[0],r[0]&=s>>16-t[0]}else{if(r[0]<<=8,l=this.stream.get8(),255===l&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=l,t[0]+=8,t[0]<0){if(0!==this.markerIndex)return this.markerIndex=0,(65280|this.marker)<<8;r[0]<<=8,l=this.stream.get8(),255===l&&(this.marker=this.stream.get8(),0!==this.marker&&(this.markerIndex=9)),r[0]|=l,t[0]+=8}if(t[0]<0)throw new Error("index="+t[0]+" in getn()");if(t[0]<this.markerIndex)return this.markerIndex=0,(65280|this.marker)<<8;n=r[0]>>t[0],r[0]&=s>>16-t[0]}return n<f<<i-1&&(n+=1+(a<<i)),n},t.lossless.Decoder.prototype.getPreviousX=function(e){return this.xLoc>0?this.getter(this.yLoc*this.xDim+this.xLoc-1,e):this.yLoc>0?this.getPreviousY(e):1<<this.frame.precision-1},t.lossless.Decoder.prototype.getPreviousXY=function(e){return this.xLoc>0&&this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc-1,e):this.getPreviousY(e)},t.lossless.Decoder.prototype.getPreviousY=function(e){return this.yLoc>0?this.getter((this.yLoc-1)*this.xDim+this.xLoc,e):this.getPreviousX(e)},t.lossless.Decoder.prototype.isLastPixel=function(){return this.xLoc===this.xDim-1&&this.yLoc===this.yDim-1},t.lossless.Decoder.prototype.outputSingle=function(e){this.xLoc<this.xDim&&this.yLoc<this.yDim&&(this.setter(this.yLoc*this.xDim+this.xLoc,this.mask&e[0]),this.xLoc+=1,this.xLoc>=this.xDim&&(this.yLoc+=1,this.xLoc=0))},t.lossless.Decoder.prototype.outputRGB=function(e){var i=this.yLoc*this.xDim+this.xLoc;this.xLoc<this.xDim&&this.yLoc<this.yDim&&(this.setter(i,e[0],0),this.setter(i,e[1],1),this.setter(i,e[2],2),this.xLoc+=1,this.xLoc>=this.xDim&&(this.yLoc+=1,this.xLoc=0))},t.lossless.Decoder.prototype.setValue8=function(e,i){this.outputData[e]=i},t.lossless.Decoder.prototype.getValue8=function(e){return this.outputData[e]},function(){var e=new ArrayBuffer(2);return new DataView(e).setInt16(0,256,!0),256===new Int16Array(e)[0]}()?(t.lossless.Decoder.prototype.setValue16=t.lossless.Decoder.prototype.setValue8,t.lossless.Decoder.prototype.getValue16=t.lossless.Decoder.prototype.getValue8):(t.lossless.Decoder.prototype.setValue16=function(e,i){this.outputData[e]=(255&i)<<8|i>>8&255},t.lossless.Decoder.prototype.getValue16=function(e){var i=this.outputData[e];return(255&i)<<8|i>>8&255}),t.lossless.Decoder.prototype.setValueRGB=function(e,i,r){this.outputData[3*e+r]=i},t.lossless.Decoder.prototype.getValueRGB=function(e,i){return this.outputData[3*e+i]},t.lossless.Decoder.prototype.readApp=function(){var e=0,i=this.stream.get16();for(e+=2;e<i;)this.stream.get8(),e+=1;return i},t.lossless.Decoder.prototype.readComment=function(){var e,i="",r=0;for(e=this.stream.get16(),r+=2;r<e;)i+=this.stream.get8(),r+=1;return i},t.lossless.Decoder.prototype.readNumber=function(){if(4!==this.stream.get16())throw new Error("ERROR: Define number format throw new IOException [Ld!=4]");return this.stream.get16()},void 0!==i&&i.exports&&(i.exports=t.lossless.Decoder)},{"./data-stream.js":2,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-header.js":9,"./utils.js":10}],4:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.ComponentSpec=t.lossless.ComponentSpec||(void 0!==e?e("./component-spec.js"):null),t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.FrameHeader=t.lossless.FrameHeader||function(){this.components=[],this.dimX=0,this.dimY=0,this.numComp=0,this.precision=0},t.lossless.FrameHeader.prototype.read=function(e){var i,r,n,f,a=0;for(i=e.get16(),a+=2,this.precision=e.get8(),a+=1,this.dimY=e.get16(),a+=2,this.dimX=e.get16(),a+=2,this.numComp=e.get8(),a+=1,r=1;r<=this.numComp;r+=1){if(a>i)throw new Error("ERROR: frame format error");if(n=e.get8(),(a+=1)>=i)throw new Error("ERROR: frame format error [c>=Lf]");f=e.get8(),a+=1,this.components[n]||(this.components[n]=new t.lossless.ComponentSpec),this.components[n].hSamp=f>>4,this.components[n].vSamp=15&f,this.components[n].quantTableSel=e.get8(),a+=1}if(a!==i)throw new Error("ERROR: frame format error [Lf!=count]");return 1},void 0!==i&&i.exports&&(i.exports=t.lossless.FrameHeader)},{"./component-spec.js":1,"./data-stream.js":2}],5:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.Utils=t.lossless.Utils||(void 0!==e?e("./utils.js"):null),t.lossless.HuffmanTable=t.lossless.HuffmanTable||function(){this.l=t.lossless.Utils.createArray(4,2,16),this.th=[],this.v=t.lossless.Utils.createArray(4,2,16,200),this.tc=t.lossless.Utils.createArray(4,2),this.tc[0][0]=0,this.tc[1][0]=0,this.tc[2][0]=0,this.tc[3][0]=0,this.tc[0][1]=0,this.tc[1][1]=0,this.tc[2][1]=0,this.tc[3][1]=0,this.th[0]=0,this.th[1]=0,this.th[2]=0,this.th[3]=0},t.lossless.HuffmanTable.MSB=2147483648,t.lossless.HuffmanTable.prototype.read=function(e,i){var r,t,n,f,a,s,l=0;for(r=e.get16(),l+=2;l<r;){if(t=e.get8(),l+=1,(n=15&t)>3)throw new Error("ERROR: Huffman table ID > 3");if((f=t>>4)>2)throw new Error("ERROR: Huffman table [Table class > 2 ]");for(this.th[n]=1,this.tc[n][f]=1,a=0;a<16;a+=1)this.l[n][f][a]=e.get8(),l+=1;for(a=0;a<16;a+=1)for(s=0;s<this.l[n][f][a];s+=1){if(l>r)throw new Error("ERROR: Huffman table format error [count>Lh]");this.v[n][f][a][s]=e.get8(),l+=1}}if(l!==r)throw new Error("ERROR: Huffman table format error [count!=Lf]");for(a=0;a<4;a+=1)for(s=0;s<2;s+=1)0!==this.tc[a][s]&&this.buildHuffTable(i[a][s],this.l[a][s],this.v[a][s]);return 1},t.lossless.HuffmanTable.prototype.buildHuffTable=function(e,i,r){var n,f,a,s,l,o;for(f=256,a=0,s=0;s<8;s+=1)for(l=0;l<i[s];l+=1)for(o=0;o<f>>s+1;o+=1)e[a]=r[s][l]|s+1<<8,a+=1;for(s=1;a<256;s+=1,a+=1)e[a]=s|t.lossless.HuffmanTable.MSB;for(n=1,a=0,s=8;s<16;s+=1)for(l=0;l<i[s];l+=1){for(o=0;o<f>>s-7;o+=1)e[256*n+a]=r[s][l]|s+1<<8,a+=1;if(a>=256){if(a>256)throw new Error("ERROR: Huffman table error(1)!");a=0,n+=1}}},void 0!==i&&i.exports&&(i.exports=t.lossless.HuffmanTable)},{"./data-stream.js":2,"./utils.js":10}],6:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.ComponentSpec=t.lossless.ComponentSpec||(void 0!==e?e("./component-spec.js"):null),t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.Decoder=t.lossless.Decoder||(void 0!==e?e("./decoder.js"):null),t.lossless.FrameHeader=t.lossless.FrameHeader||(void 0!==e?e("./frame-header.js"):null),t.lossless.HuffmanTable=t.lossless.HuffmanTable||(void 0!==e?e("./huffman-table.js"):null),t.lossless.QuantizationTable=t.lossless.QuantizationTable||(void 0!==e?e("./quantization-table.js"):null),t.lossless.ScanComponent=t.lossless.ScanComponent||(void 0!==e?e("./scan-component.js"):null),t.lossless.ScanHeader=t.lossless.ScanHeader||(void 0!==e?e("./scan-header.js"):null),t.lossless.Utils=t.lossless.Utils||(void 0!==e?e("./utils.js"):null),void 0!==i&&i.exports&&(i.exports=t)},{"./component-spec.js":1,"./data-stream.js":2,"./decoder.js":3,"./frame-header.js":4,"./huffman-table.js":5,"./quantization-table.js":7,"./scan-component.js":8,"./scan-header.js":9,"./utils.js":10}],7:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.Utils=t.lossless.Utils||(void 0!==e?e("./utils.js"):null),t.lossless.QuantizationTable=t.lossless.QuantizationTable||function(){this.precision=[],this.tq=[],this.quantTables=t.lossless.Utils.createArray(4,64),this.tq[0]=0,this.tq[1]=0,this.tq[2]=0,this.tq[3]=0},t.lossless.QuantizationTable.enhanceQuantizationTable=function(e,i){var r;for(r=0;r<8;r+=1)e[i[0+r]]*=90,e[i[32+r]]*=90,e[i[16+r]]*=118,e[i[48+r]]*=49,e[i[40+r]]*=71,e[i[8+r]]*=126,e[i[56+r]]*=25,e[i[24+r]]*=106;for(r=0;r<8;r+=1)e[i[0+8*r]]*=90,e[i[4+8*r]]*=90,e[i[2+8*r]]*=118,e[i[6+8*r]]*=49,e[i[5+8*r]]*=71,e[i[1+8*r]]*=126,e[i[7+8*r]]*=25,e[i[3+8*r]]*=106;for(r=0;r<64;r+=1)e[r]>>=6},t.lossless.QuantizationTable.prototype.read=function(e,i){var r,n,f,a,s=0;for(r=e.get16(),s+=2;s<r;){if(n=e.get8(),s+=1,(f=15&n)>3)throw new Error("ERROR: Quantization table ID > 3");if(this.precision[f]=n>>4,0===this.precision[f])this.precision[f]=8;else{if(1!==this.precision[f])throw new Error("ERROR: Quantization table precision error");this.precision[f]=16}if(this.tq[f]=1,8===this.precision[f]){for(a=0;a<64;a+=1){if(s>r)throw new Error("ERROR: Quantization table format error");this.quantTables[f][a]=e.get8(),s+=1}t.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[f],i)}else{for(a=0;a<64;a+=1){if(s>r)throw new Error("ERROR: Quantization table format error");this.quantTables[f][a]=e.get16(),s+=2}t.lossless.QuantizationTable.enhanceQuantizationTable(this.quantTables[f],i)}}if(s!==r)throw new Error("ERROR: Quantization table error [count!=Lq]");return 1},void 0!==i&&i.exports&&(i.exports=t.lossless.QuantizationTable)},{"./data-stream.js":2,"./utils.js":10}],8:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.ScanComponent=t.lossless.ScanComponent||function(){this.acTabSel=0,this.dcTabSel=0,this.scanCompSel=0},void 0!==i&&i.exports&&(i.exports=t.lossless.ScanComponent)},{}],9:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.DataStream=t.lossless.DataStream||(void 0!==e?e("./data-stream.js"):null),t.lossless.ScanComponent=t.lossless.ScanComponent||(void 0!==e?e("./scan-component.js"):null),t.lossless.ScanHeader=t.lossless.ScanHeader||function(){this.ah=0,this.al=0,this.numComp=0,this.selection=0,this.spectralEnd=0,this.components=[]},t.lossless.ScanHeader.prototype.read=function(e){var i,r,n,f=0;for(i=e.get16(),f+=2,this.numComp=e.get8(),f+=1,r=0;r<this.numComp;r+=1){if(this.components[r]=new t.lossless.ScanComponent,f>i)throw new Error("ERROR: scan header format error");this.components[r].scanCompSel=e.get8(),f+=1,n=e.get8(),f+=1,this.components[r].dcTabSel=n>>4,this.components[r].acTabSel=15&n}if(this.selection=e.get8(),f+=1,this.spectralEnd=e.get8(),f+=1,n=e.get8(),this.ah=n>>4,this.al=15&n,(f+=1)!==i)throw new Error("ERROR: scan header format error [count!=Ns]");return 1},void 0!==i&&i.exports&&(i.exports=t.lossless.ScanHeader)},{"./data-stream.js":2,"./scan-component.js":8}],10:[function(e,i,r){var t=t||{};t.lossless=t.lossless||{},t.lossless.Utils=t.lossless.Utils||{},t.lossless.Utils.createArray=function(e){var i=new Array(e||0),r=e;if(arguments.length>1)for(var n=Array.prototype.slice.call(arguments,1);r--;)i[e-1-r]=t.lossless.Utils.createArray.apply(this,n);return i},t.lossless.Utils.makeCRCTable=function(){for(var e,i=[],r=0;r<256;r++){e=r;for(var t=0;t<8;t++)e=1&e?3988292384^e>>>1:e>>>1;i[r]=e}return i},t.lossless.Utils.crc32=function(e){for(var i=new Uint8Array(e.buffer),r=t.lossless.Utils.crcTable||(t.lossless.Utils.crcTable=t.lossless.Utils.makeCRCTable()),n=-1,f=0;f<i.length;f++)n=n>>>8^r[255&(n^i[f])];return(n^-1)>>>0},void 0!==i&&i.exports&&(i.exports=t.lossless.Utils)},{}]},{},[6])(6)}),define("jpegLossless",["jpegLossless/release/current/lossless"],function(e){return e});var CharLS=function(Module){function globalEval(e){eval.call(null,e)}function assert(e,i){e||abort("Assertion failed: "+i)}function getCFunc(ident){var func=Module["_"+ident];if(!func)try{func=eval("_"+ident)}catch(e){}return assert(func,"Cannot call unknown function "+ident+" (perhaps LLVM optimizations or closure removed it?)"),func}function setValue(e,i,r,t){switch(r=r||"i8","*"===r.charAt(r.length-1)&&(r="i32"),r){case"i1":HEAP8[e>>0]=i;break;case"i8":HEAP8[e>>0]=i;break;case"i16":HEAP16[e>>1]=i;break;case"i32":HEAP32[e>>2]=i;break;case"i64":tempI64=[i>>>0,(tempDouble=i,+Math_abs(tempDouble)>=1?tempDouble>0?(0|Math_min(+Math_floor(tempDouble/4294967296),4294967295))>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[e>>2]=tempI64[0],HEAP32[e+4>>2]=tempI64[1];break;case"float":HEAPF32[e>>2]=i;break;case"double":HEAPF64[e>>3]=i;break;default:abort("invalid type for setValue: "+r)}}function getValue(e,i,r){switch(i=i||"i8","*"===i.charAt(i.length-1)&&(i="i32"),i){case"i1":return HEAP8[e>>0];case"i8":return HEAP8[e>>0];case"i16":return HEAP16[e>>1];case"i32":return HEAP32[e>>2];case"i64":return HEAP32[e>>2];case"float":return HEAPF32[e>>2];case"double":return HEAPF64[e>>3];default:abort("invalid type for setValue: "+i)}return null}function allocate(e,i,r,t){var n,f;"number"==typeof e?(n=!0,f=e):(n=!1,f=e.length);var a,s="string"==typeof i?i:null;if(a=r==ALLOC_NONE?t:[_malloc,Runtime.stackAlloc,Runtime.staticAlloc,Runtime.dynamicAlloc][void 0===r?ALLOC_STATIC:r](Math.max(f,s?1:i.length)),n){var l,t=a;for(assert(0==(3&a)),l=a+(f&-4);t<l;t+=4)HEAP32[t>>2]=0;for(l=a+f;t<l;)HEAP8[t++>>0]=0;return a}if("i8"===s)return e.subarray||e.slice?HEAPU8.set(e,a):HEAPU8.set(new Uint8Array(e),a),a;for(var o,u,c,d=0;d<f;){var h=e[d];"function"==typeof h&&(h=Runtime.getFunctionIndex(h)),o=s||i[d],0!==o?("i64"==o&&(o="i32"),setValue(a+d,h,o),c!==o&&(u=Runtime.getNativeTypeSize(o),c=o),d+=u):d++}return a}function getMemory(e){return staticSealed?void 0!==_sbrk&&!_sbrk.called||!runtimeInitialized?Runtime.dynamicAlloc(e):_malloc(e):Runtime.staticAlloc(e)}function Pointer_stringify(e,i){if(0===i||!e)return"";for(var r,t=0,n=0;;){if(r=HEAPU8[e+n>>0],t|=r,0==r&&!i)break;if(n++,i&&n==i)break}i||(i=n);var f="";if(t<128){for(var a;i>0;)a=String.fromCharCode.apply(String,HEAPU8.subarray(e,e+Math.min(i,1024))),f=f?f+a:a,e+=1024,i-=1024;return f}return Module.UTF8ToString(e)}function AsciiToString(e){for(var i="";;){var r=HEAP8[e++>>0];if(!r)return i;i+=String.fromCharCode(r)}}function stringToAscii(e,i){return writeAsciiToMemory(e,i,!1)}function UTF8ArrayToString(e,i){for(var r,t,n,f,a,s,l="";;){if(!(r=e[i++]))return l;if(128&r)if(t=63&e[i++],192!=(224&r))if(n=63&e[i++],224==(240&r)?r=(15&r)<<12|t<<6|n:(f=63&e[i++],240==(248&r)?r=(7&r)<<18|t<<12|n<<6|f:(a=63&e[i++],248==(252&r)?r=(3&r)<<24|t<<18|n<<12|f<<6|a:(s=63&e[i++],r=(1&r)<<30|t<<24|n<<18|f<<12|a<<6|s))),r<65536)l+=String.fromCharCode(r);else{var o=r-65536;l+=String.fromCharCode(55296|o>>10,56320|1023&o)}else l+=String.fromCharCode((31&r)<<6|t);else l+=String.fromCharCode(r)}}function UTF8ToString(e){return UTF8ArrayToString(HEAPU8,e)}function stringToUTF8Array(e,i,r,t){if(!(t>0))return 0;for(var n=r,f=r+t-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=f)break;i[r++]=s}else if(s<=2047){if(r+1>=f)break;i[r++]=192|s>>6,i[r++]=128|63&s}else if(s<=65535){if(r+2>=f)break;i[r++]=224|s>>12,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=2097151){if(r+3>=f)break;i[r++]=240|s>>18,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else if(s<=67108863){if(r+4>=f)break;i[r++]=248|s>>24,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}else{if(r+5>=f)break;i[r++]=252|s>>30,i[r++]=128|s>>24&63,i[r++]=128|s>>18&63,i[r++]=128|s>>12&63,i[r++]=128|s>>6&63,i[r++]=128|63&s}}return i[r]=0,r-n}function stringToUTF8(e,i,r){return stringToUTF8Array(e,HEAPU8,i,r)}function lengthBytesUTF8(e){for(var i=0,r=0;r<e.length;++r){var t=e.charCodeAt(r);t>=55296&&t<=57343&&(t=65536+((1023&t)<<10)|1023&e.charCodeAt(++r)),t<=127?++i:i+=t<=2047?2:t<=65535?3:t<=2097151?4:t<=67108863?5:6}return i}function UTF16ToString(e){for(var i=0,r="";;){var t=HEAP16[e+2*i>>1];if(0==t)return r;++i,r+=String.fromCharCode(t)}}function stringToUTF16(e,i,r){if(void 0===r&&(r=2147483647),r<2)return 0;r-=2;for(var t=i,n=r<2*e.length?r/2:e.length,f=0;f<n;++f){var a=e.charCodeAt(f);HEAP16[i>>1]=a,i+=2}return HEAP16[i>>1]=0,i-t}function lengthBytesUTF16(e){return 2*e.length}function UTF32ToString(e){for(var i=0,r="";;){var t=HEAP32[e+4*i>>2];if(0==t)return r;if(++i,t>=65536){var n=t-65536;r+=String.fromCharCode(55296|n>>10,56320|1023&n)}else r+=String.fromCharCode(t)}}
4
4
  function stringToUTF32(e,i,r){if(void 0===r&&(r=2147483647),r<4)return 0;for(var t=i,n=t+r-4,f=0;f<e.length;++f){var a=e.charCodeAt(f);if(a>=55296&&a<=57343){a=65536+((1023&a)<<10)|1023&e.charCodeAt(++f)}if(HEAP32[i>>2]=a,(i+=4)+4>n)break}return HEAP32[i>>2]=0,i-t}function lengthBytesUTF32(e){for(var i=0,r=0;r<e.length;++r){var t=e.charCodeAt(r);t>=55296&&t<=57343&&++r,i+=4}return i}function demangle(e){function i(){s++,"K"===e[s]&&s++;for(var i=[];"E"!==e[s];)if("S"!==e[s])if("C"!==e[s]){var r=parseInt(e.substr(s)),t=r.toString().length;if(!r||!t){s--;break}var n=e.substr(s+t,r);i.push(n),o.push(n),s+=t+r}else i.push(i[i.length-1]),s+=2;else{s++;var f=e.indexOf("_",s),a=e.substring(s,f)||0;i.push(o[a]||"?"),s=f+1}return s++,i}function r(t,n,f){n=n||1/0;var a,o="",c=[];if("N"===e[s]){if(a=i().join("::"),0===--n)return t?[a]:a}else{("K"===e[s]||u&&"L"===e[s])&&s++;var d=parseInt(e.substr(s));if(d){var h=d.toString().length;a=e.substr(s+h,d),s+=h+d}}if(u=!1,"I"===e[s]){s++;var b=r(!0);o+=r(!0,1,!0)[0]+" "+a+"<"+b.join(", ")+">"}else o=a;e:for(;s<e.length&&n-- >0;){var k=e[s++];if(k in l)c.push(l[k]);else switch(k){case"P":c.push(r(!0,1,!0)[0]+"*");break;case"R":c.push(r(!0,1,!0)[0]+"&");break;case"L":s++;var w=e.indexOf("E",s),d=w-s;c.push(e.substr(s,d)),s+=d+2;break;case"A":var d=parseInt(e.substr(s));if(s+=d.toString().length,"_"!==e[s])throw"?";s++,c.push(r(!0,1,!0)[0]+" ["+d+"]");break;case"E":break e;default:o+="?"+k;break e}}return f||1!==c.length||"void"!==c[0]||(c=[]),t?(o&&c.push(o+"?"),c):o+function(){return"("+c.join(", ")+")"}()}var t=!!Module.___cxa_demangle;if(t)try{var n=_malloc(e.length);writeStringToMemory(e.substr(1),n);var f=_malloc(4),a=Module.___cxa_demangle(n,0,0,f);if(0===getValue(f,"i32")&&a)return Pointer_stringify(a)}catch(e){}finally{n&&_free(n),f&&_free(f),a&&_free(a)}var s=3,l={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},o=[],u=!0,c=e;try{if("Object._main"==e||"_main"==e)return"main()";if("number"==typeof e&&(e=Pointer_stringify(e)),"_"!==e[0])return e;if("_"!==e[1])return e;if("Z"!==e[2])return e;switch(e[3]){case"n":return"operator new()";case"d":return"operator delete()"}c=r()}catch(e){c+="?"}return c.indexOf("?")>=0&&!t&&Runtime.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),c}function demangleAll(e){return e.replace(/__Z[\w\d_]+/g,function(e){var i=demangle(e);return e===i?e:e+" ["+i+"]"})}function jsStackTrace(){var e=new Error;if(!e.stack){try{throw new Error(0)}catch(i){e=i}if(!e.stack)return"(no stack trace available)"}return e.stack.toString()}function stackTrace(){return demangleAll(jsStackTrace())}function alignMemoryPage(e){return e%4096>0&&(e+=4096-e%4096),e}function abortOnCannotGrowMemory(){abort("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+TOTAL_MEMORY+", (2) compile with -s ALLOW_MEMORY_GROWTH=1 which adjusts the size at runtime but prevents some optimizations, (3) set Module.TOTAL_MEMORY to a higher value before the program runs, or if you want malloc to return NULL (0) instead of this abort, compile with -s ABORTING_MALLOC=0 ")}function enlargeMemory(){abortOnCannotGrowMemory()}function callRuntimeCallbacks(e){for(;e.length>0;){var i=e.shift();if("function"!=typeof i){var r=i.func;"number"==typeof r?void 0===i.arg?Runtime.dynCall("v",r):Runtime.dynCall("vi",r,[i.arg]):r(void 0===i.arg?null:i.arg)}else i()}}function preRun(){if(Module.preRun)for("function"==typeof Module.preRun&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){runtimeInitialized||(runtimeInitialized=!0,callRuntimeCallbacks(__ATINIT__))}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__),runtimeExited=!0}function postRun(){if(Module.postRun)for("function"==typeof Module.postRun&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(e){__ATPRERUN__.unshift(e)}function addOnInit(e){__ATINIT__.unshift(e)}function addOnPreMain(e){__ATMAIN__.unshift(e)}function addOnExit(e){__ATEXIT__.unshift(e)}function addOnPostRun(e){__ATPOSTRUN__.unshift(e)}function intArrayFromString(e,i,r){var t=r>0?r:lengthBytesUTF8(e)+1,n=new Array(t),f=stringToUTF8Array(e,n,0,n.length);return i&&(n.length=f),n}function intArrayToString(e){for(var i=[],r=0;r<e.length;r++){var t=e[r];t>255&&(t&=255),i.push(String.fromCharCode(t))}return i.join("")}function writeStringToMemory(e,i,r){for(var t=intArrayFromString(e,r),n=0;n<t.length;){var f=t[n];HEAP8[i+n>>0]=f,n+=1}}function writeArrayToMemory(e,i){for(var r=0;r<e.length;r++)HEAP8[i++>>0]=e[r]}function writeAsciiToMemory(e,i,r){for(var t=0;t<e.length;++t)HEAP8[i++>>0]=e.charCodeAt(t);r||(HEAP8[i>>0]=0)}function unSign(e,i,r){return e>=0?e:i<=32?2*Math.abs(1<<i-1)+e:Math.pow(2,i)+e}function reSign(e,i,r){if(e<=0)return e;var t=i<=32?Math.abs(1<<i-1):Math.pow(2,i-1);return e>=t&&(i<=32||e>t)&&(e=-2*t+e),e}function getUniqueRunDependency(e){return e}function addRunDependency(e){runDependencies++,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies)}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies&&Module.monitorRunDependencies(runDependencies),0==runDependencies&&(null!==runDependencyWatcher&&(clearInterval(runDependencyWatcher),runDependencyWatcher=null),dependenciesFulfilled)){var i=dependenciesFulfilled;dependenciesFulfilled=null,i()}}function copyTempFloat(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3]}function copyTempDouble(e){HEAP8[tempDoublePtr]=HEAP8[e],HEAP8[tempDoublePtr+1]=HEAP8[e+1],HEAP8[tempDoublePtr+2]=HEAP8[e+2],HEAP8[tempDoublePtr+3]=HEAP8[e+3],HEAP8[tempDoublePtr+4]=HEAP8[e+4],HEAP8[tempDoublePtr+5]=HEAP8[e+5],HEAP8[tempDoublePtr+6]=HEAP8[e+6],HEAP8[tempDoublePtr+7]=HEAP8[e+7]}function _atexit(e,i){__ATEXIT__.unshift({func:e,arg:i})}function ___cxa_atexit(){return _atexit.apply(null,arguments)}function ___assert_fail(e,i,r,t){throw ABORT=!0,"Assertion failed: "+Pointer_stringify(e)+", at: "+[i?Pointer_stringify(i):"unknown filename",r,t?Pointer_stringify(t):"unknown function"]+" at "+stackTrace()}function __ZSt18uncaught_exceptionv(){return!!__ZSt18uncaught_exceptionv.uncaught_exception}function ___resumeException(e){throw EXCEPTIONS.last||(EXCEPTIONS.last=e),EXCEPTIONS.clearRef(EXCEPTIONS.deAdjust(e)),e}function ___cxa_find_matching_catch(){var e=EXCEPTIONS.last;if(!e)return 0|(asm.setTempRet0(0),0);var i=EXCEPTIONS.infos[e],r=i.type;if(!r)return 0|(asm.setTempRet0(0),e);var t=Array.prototype.slice.call(arguments);Module.___cxa_is_pointer_type(r);___cxa_find_matching_catch.buffer||(___cxa_find_matching_catch.buffer=_malloc(4)),HEAP32[___cxa_find_matching_catch.buffer>>2]=e,e=___cxa_find_matching_catch.buffer;for(var n=0;n<t.length;n++)if(t[n]&&Module.___cxa_can_catch(t[n],r,e))return e=HEAP32[e>>2],i.adjusted=e,0|(asm.setTempRet0(t[n]),e);return e=HEAP32[e>>2],0|(asm.setTempRet0(r),e)}function ___cxa_throw(e,i,r){throw EXCEPTIONS.infos[e]={ptr:e,adjusted:e,type:i,destructor:r,refcount:0},EXCEPTIONS.last=e,"uncaught_exception"in __ZSt18uncaught_exceptionv?__ZSt18uncaught_exceptionv.uncaught_exception++:__ZSt18uncaught_exceptionv.uncaught_exception=1,e}function ___gxx_personality_v0(){}function __isLeapYear(e){return e%4==0&&(e%100!=0||e%400==0)}function __arraySum(e,i){for(var r=0,t=0;t<=i;r+=e[t++]);return r}function __addDays(e,i){for(var r=new Date(e.getTime());i>0;){var t=__isLeapYear(r.getFullYear()),n=r.getMonth(),f=(t?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[n];if(!(i>f-r.getDate()))return r.setDate(r.getDate()+i),r;i-=f-r.getDate()+1,r.setDate(1),n<11?r.setMonth(n+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r}function _strftime(e,i,r,t){function n(e,i,r){for(var t="number"==typeof e?e.toString():e||"";t.length<i;)t=r[0]+t;return t}function f(e,i){return n(e,i,"0")}function a(e,i){function r(e){return e<0?-1:e>0?1:0}var t;return 0===(t=r(e.getFullYear()-i.getFullYear()))&&0===(t=r(e.getMonth()-i.getMonth()))&&(t=r(e.getDate()-i.getDate())),t}function s(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function l(e){var i=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(i.getFullYear(),0,4),t=new Date(i.getFullYear()+1,0,4),n=s(r),f=s(t);return a(n,i)<=0?a(f,i)<=0?i.getFullYear()+1:i.getFullYear():i.getFullYear()-1}var o=HEAP32[t+40>>2],u={tm_sec:HEAP32[t>>2],tm_min:HEAP32[t+4>>2],tm_hour:HEAP32[t+8>>2],tm_mday:HEAP32[t+12>>2],tm_mon:HEAP32[t+16>>2],tm_year:HEAP32[t+20>>2],tm_wday:HEAP32[t+24>>2],tm_yday:HEAP32[t+28>>2],tm_isdst:HEAP32[t+32>>2],tm_gmtoff:HEAP32[t+36>>2],tm_zone:o?Pointer_stringify(o):""},c=Pointer_stringify(r),d={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S"};for(var h in d)c=c.replace(new RegExp(h,"g"),d[h]);var b=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],k=["January","February","March","April","May","June","July","August","September","October","November","December"],w={"%a":function(e){return b[e.tm_wday].substring(0,3)},"%A":function(e){return b[e.tm_wday]},"%b":function(e){return k[e.tm_mon].substring(0,3)},"%B":function(e){return k[e.tm_mon]},"%C":function(e){return f((e.tm_year+1900)/100|0,2)},"%d":function(e){return f(e.tm_mday,2)},"%e":function(e){return n(e.tm_mday,2," ")},"%g":function(e){return l(e).toString().substring(2)},"%G":function(e){return l(e)},"%H":function(e){return f(e.tm_hour,2)},"%I":function(e){return f(e.tm_hour<13?e.tm_hour:e.tm_hour-12,2)},"%j":function(e){return f(e.tm_mday+__arraySum(__isLeapYear(e.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,e.tm_mon-1),3)},"%m":function(e){return f(e.tm_mon+1,2)},"%M":function(e){return f(e.tm_min,2)},"%n":function(){return"\n"},"%p":function(e){return e.tm_hour>0&&e.tm_hour<13?"AM":"PM"},"%S":function(e){return f(e.tm_sec,2)},"%t":function(){return"\t"},"%u":function(e){return new Date(e.tm_year+1900,e.tm_mon+1,e.tm_mday,0,0,0,0).getDay()||7},"%U":function(e){var i=new Date(e.tm_year+1900,0,1),r=0===i.getDay()?i:__addDays(i,7-i.getDay()),t=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(a(r,t)<0){var n=__arraySum(__isLeapYear(t.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,t.getMonth()-1)-31,s=31-r.getDate(),l=s+n+t.getDate();return f(Math.ceil(l/7),2)}return 0===a(r,i)?"01":"00"},"%V":function(e){var i=new Date(e.tm_year+1900,0,4),r=new Date(e.tm_year+1901,0,4),t=s(i),n=s(r),l=__addDays(new Date(e.tm_year+1900,0,1),e.tm_yday);if(a(l,t)<0)return"53";if(a(n,l)<=0)return"01";var o;return o=t.getFullYear()<e.tm_year+1900?e.tm_yday+32-t.getDate():e.tm_yday+1-t.getDate(),f(Math.ceil(o/7),2)},"%w":function(e){return new Date(e.tm_year+1900,e.tm_mon+1,e.tm_mday,0,0,0,0).getDay()},"%W":function(e){var i=new Date(e.tm_year,0,1),r=1===i.getDay()?i:__addDays(i,0===i.getDay()?1:7-i.getDay()+1),t=new Date(e.tm_year+1900,e.tm_mon,e.tm_mday);if(a(r,t)<0){var n=__arraySum(__isLeapYear(t.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,t.getMonth()-1)-31,s=31-r.getDate(),l=s+n+t.getDate();return f(Math.ceil(l/7),2)}return 0===a(r,i)?"01":"00"},"%y":function(e){return(e.tm_year+1900).toString().substring(2)},"%Y":function(e){return e.tm_year+1900},"%z":function(e){var i=e.tm_gmtoff,r=i>=0;return i=Math.abs(i)/60,i=i/60*100+i%60,(r?"+":"-")+String("0000"+i).slice(-4)},"%Z":function(e){return e.tm_zone},"%%":function(){return"%"}};for(var h in w)c.indexOf(h)>=0&&(c=c.replace(new RegExp(h,"g"),w[h](u)));var m=intArrayFromString(c,!1);return m.length>i?0:(writeArrayToMemory(m,e),m.length-1)}function _strftime_l(e,i,r,t){return _strftime(e,i,r,t)}function _abort(){Module.abort()}function _free(){}function ___cxa_free_exception(e){try{return _free(e)}catch(e){}}function ___cxa_end_catch(){if(___cxa_end_catch.rethrown)return void(___cxa_end_catch.rethrown=!1);asm.setThrew(0);var e=EXCEPTIONS.caught.pop();e&&(EXCEPTIONS.decRef(EXCEPTIONS.deAdjust(e)),EXCEPTIONS.last=0)}function _pthread_once(e,i){_pthread_once.seen||(_pthread_once.seen={}),e in _pthread_once.seen||(Runtime.dynCall("v",i),_pthread_once.seen[e]=1)}function ___lock(){}function ___unlock(){}function _pthread_getspecific(e){return PTHREAD_SPECIFIC[e]||0}function ___setErrNo(e){return Module.___errno_location&&(HEAP32[Module.___errno_location()>>2]=e),e}function _sysconf(e){switch(e){case 30:return PAGE_SIZE;case 85:return totalMemory/PAGE_SIZE;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return"object"==typeof navigator?navigator.hardwareConcurrency||1:1}return ___setErrNo(ERRNO_CODES.EINVAL),-1}function _pthread_key_create(e,i){return 0==e?ERRNO_CODES.EINVAL:(HEAP32[e>>2]=PTHREAD_SPECIFIC_NEXT_KEY,PTHREAD_SPECIFIC[PTHREAD_SPECIFIC_NEXT_KEY]=0,PTHREAD_SPECIFIC_NEXT_KEY++,0)}function _emscripten_set_main_loop_timing(e,i){function r(e){e.source===window&&e.data===n&&(e.stopPropagation(),t.shift()())}if(Browser.mainLoop.timingMode=e,Browser.mainLoop.timingValue=i,!Browser.mainLoop.func)return 1;if(0==e)Browser.mainLoop.scheduler=function(){setTimeout(Browser.mainLoop.runner,i)},Browser.mainLoop.method="timeout";else if(1==e)Browser.mainLoop.scheduler=function(){Browser.requestAnimationFrame(Browser.mainLoop.runner)},Browser.mainLoop.method="rAF";else if(2==e){if(!window.setImmediate){var t=[],n="__emcc";window.addEventListener("message",r,!0),window.setImmediate=function(e){t.push(e),window.postMessage(n,"*")}}Browser.mainLoop.scheduler=function(){window.setImmediate(Browser.mainLoop.runner)},Browser.mainLoop.method="immediate"}return 0}function _emscripten_set_main_loop(e,i,r,t,n){Module.noExitRuntime=!0,assert(!Browser.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),Browser.mainLoop.func=e,Browser.mainLoop.arg=t;var f=Browser.mainLoop.currentlyRunningMainloop;if(Browser.mainLoop.runner=function(){if(!ABORT){if(Browser.mainLoop.queue.length>0){var i=Date.now(),r=Browser.mainLoop.queue.shift();if(r.func(r.arg),Browser.mainLoop.remainingBlockers){var n=Browser.mainLoop.remainingBlockers,a=n%1==0?n-1:Math.floor(n);r.counted?Browser.mainLoop.remainingBlockers=a:(a+=.5,Browser.mainLoop.remainingBlockers=(8*n+a)/9)}return console.log('main loop blocker "'+r.name+'" took '+(Date.now()-i)+" ms"),Browser.mainLoop.updateStatus(),void setTimeout(Browser.mainLoop.runner,0)}if(!(f<Browser.mainLoop.currentlyRunningMainloop)){if(Browser.mainLoop.currentFrameNumber=Browser.mainLoop.currentFrameNumber+1|0,1==Browser.mainLoop.timingMode&&Browser.mainLoop.timingValue>1&&Browser.mainLoop.currentFrameNumber%Browser.mainLoop.timingValue!=0)return void Browser.mainLoop.scheduler();"timeout"===Browser.mainLoop.method&&Module.ctx&&(Module.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),Browser.mainLoop.method=""),Browser.mainLoop.runIter(function(){void 0!==t?Runtime.dynCall("vi",e,[t]):Runtime.dynCall("v",e)}),f<Browser.mainLoop.currentlyRunningMainloop||("object"==typeof SDL&&SDL.audio&&SDL.audio.queueNewAudioData&&SDL.audio.queueNewAudioData(),Browser.mainLoop.scheduler())}}},n||(i&&i>0?_emscripten_set_main_loop_timing(0,1e3/i):_emscripten_set_main_loop_timing(1,1),Browser.mainLoop.scheduler()),r)throw"SimulateInfiniteLoop"}function _pthread_setspecific(e,i){return e in PTHREAD_SPECIFIC?(PTHREAD_SPECIFIC[e]=i,0):ERRNO_CODES.EINVAL}function _malloc(e){return Runtime.dynamicAlloc(e+8)+8&4294967288}function ___cxa_allocate_exception(e){return _malloc(e)}function ___syscall54(e,i){SYSCALLS.varargs=i;try{return 0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___cxa_pure_virtual(){throw ABORT=!0,"Pure virtual function called!"}function _pthread_cleanup_push(e,i){__ATEXIT__.push(function(){Runtime.dynCall("vi",e,[i])}),_pthread_cleanup_push.level=__ATEXIT__.length}function _pthread_cond_broadcast(){return 0}function ___cxa_guard_acquire(e){return HEAP8[e>>0]?0:(HEAP8[e>>0]=1,1)}function _pthread_cleanup_pop(){assert(_pthread_cleanup_push.level==__ATEXIT__.length,"cannot pop if something else added meanwhile!"),__ATEXIT__.pop(),_pthread_cleanup_push.level=__ATEXIT__.length}function ___cxa_guard_release(){}function ___cxa_begin_catch(e){return __ZSt18uncaught_exceptionv.uncaught_exception--,EXCEPTIONS.caught.push(e),EXCEPTIONS.addRef(EXCEPTIONS.deAdjust(e)),e}function _llvm_eh_typeid_for(e){return e}function _emscripten_memcpy_big(e,i,r){return HEAPU8.set(HEAPU8.subarray(i,i+r),e),e}function ___syscall6(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD();return FS.close(r),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function _pthread_mutex_lock(){}function _sbrk(e){var i=_sbrk;i.called||(DYNAMICTOP=alignMemoryPage(DYNAMICTOP),i.called=!0,assert(Runtime.dynamicAlloc),i.alloc=Runtime.dynamicAlloc,Runtime.dynamicAlloc=function(){abort("cannot dynamically allocate, sbrk now has control")});var r=DYNAMICTOP;if(0!=e){if(!i.alloc(e))return-1>>>0}return r}function ___cxa_guard_abort(){}function _pthread_cond_wait(){return 0}function ___cxa_rethrow(){___cxa_end_catch.rethrown=!0;var e=EXCEPTIONS.caught.pop();throw EXCEPTIONS.last=e,e}function _pthread_mutex_unlock(){}function _time(e){var i=Date.now()/1e3|0;return e&&(HEAP32[e>>2]=i),i}function _pthread_self(){return 0}function ___syscall140(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get(),f=SYSCALLS.get(),a=SYSCALLS.get(),s=n;return assert(0===t),FS.llseek(r,s,a),HEAP32[f>>2]=r.position,r.getdents&&0===s&&0===a&&(r.getdents=null),0}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall146(e,i){SYSCALLS.varargs=i;try{var r=(SYSCALLS.get(),SYSCALLS.get()),t=SYSCALLS.get(),n=0;___syscall146.buffer||(___syscall146.buffer=[]);for(var f=___syscall146.buffer,a=0;a<t;a++){for(var s=HEAP32[r+8*a>>2],l=HEAP32[r+(8*a+4)>>2],o=0;o<l;o++){var u=HEAPU8[s+o];0===u||10===u?(Module.print(UTF8ArrayToString(f,0)),f.length=0):f.push(u)}n+=l}return n}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function ___syscall145(e,i){SYSCALLS.varargs=i;try{var r=SYSCALLS.getStreamFromFD(),t=SYSCALLS.get(),n=SYSCALLS.get();return SYSCALLS.doReadv(r,t,n)}catch(e){return"undefined"!=typeof FS&&e instanceof FS.ErrnoError||abort(e),-e.errno}}function invoke_iiiiiiii(e,i,r,t,n,f,a,s){try{return Module.dynCall_iiiiiiii(e,i,r,t,n,f,a,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiii(e,i,r,t,n,f){try{Module.dynCall_viiiii(e,i,r,t,n,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiid(e,i,r,t,n,f,a){try{return Module.dynCall_iiiiiid(e,i,r,t,n,f,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vi(e,i){try{Module.dynCall_vi(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_vii(e,i,r){try{Module.dynCall_vii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiii(e,i,r,t,n,f,a){try{return Module.dynCall_iiiiiii(e,i,r,t,n,f,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_ii(e,i){try{return Module.dynCall_ii(e,i)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u,c){try{return Module.dynCall_iiiiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u,c)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiii(e,i,r,t){try{return Module.dynCall_iiii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u,c,d,h,b,k){try{Module.dynCall_viiiiiiiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u,c,d,h,b,k)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiii(e,i,r,t,n,f,a){try{Module.dynCall_viiiiii(e,i,r,t,n,f,a)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiii(e,i,r,t,n,f,a,s){try{Module.dynCall_viiiiiii(e,i,r,t,n,f,a,s)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u){try{Module.dynCall_viiiiiiiiii(e,i,r,t,n,f,a,s,l,o,u)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iii(e,i,r){try{return Module.dynCall_iii(e,i,r)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiii(e,i,r,t,n,f){try{return Module.dynCall_iiiiii(e,i,r,t,n,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_diii(e,i,r,t){try{return Module.dynCall_diii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_i(e){try{return Module.dynCall_i(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiii(e,i,r,t,n){try{return Module.dynCall_iiiii(e,i,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viii(e,i,r,t){try{Module.dynCall_viii(e,i,r,t)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_v(e){try{Module.dynCall_v(e)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiiiiii(e,i,r,t,n,f,a,s,l){try{return Module.dynCall_iiiiiiiii(e,i,r,t,n,f,a,s,l)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_iiiiid(e,i,r,t,n,f){try{return Module.dynCall_iiiiid(e,i,r,t,n,f)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function invoke_viiii(e,i,r,t,n){try{Module.dynCall_viiii(e,i,r,t,n)}catch(e){if("number"!=typeof e&&"longjmp"!==e)throw e;asm.setThrew(1,0)}}function ExitStatus(e){this.name="ExitStatus",this.message="Program terminated with exit("+e+")",this.status=e}function run(e){function i(){Module.calledRun||(Module.calledRun=!0,ABORT||(ensureInitRuntime(),preMain(),Module.onRuntimeInitialized&&Module.onRuntimeInitialized(),Module._main&&shouldRunNow&&Module.callMain(e),postRun()))}e=e||Module.arguments,null===preloadStartTime&&(preloadStartTime=Date.now()),runDependencies>0||(preRun(),runDependencies>0||Module.calledRun||(Module.setStatus?(Module.setStatus("Running..."),setTimeout(function(){setTimeout(function(){Module.setStatus("")},1),i()},1)):i()))}function exit(e,i){if(!i||!Module.noExitRuntime)throw Module.noExitRuntime||(ABORT=!0,EXITSTATUS=e,STACKTOP=initialStackTop,exitRuntime(),Module.onExit&&Module.onExit(e)),ENVIRONMENT_IS_NODE?(process.stdout.once("drain",function(){process.exit(e)}),console.log(" "),setTimeout(function(){process.exit(e)},500)):ENVIRONMENT_IS_SHELL&&"function"==typeof quit&&quit(e),new ExitStatus(e)}function abort(e){void 0!==e?(Module.print(e),Module.printErr(e),e=JSON.stringify(e)):e="",ABORT=!0,EXITSTATUS=1;var i="abort("+e+") at "+stackTrace()+"\nIf this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.";throw abortDecorators&&abortDecorators.forEach(function(r){i=r(i,e)}),i}Module=Module||{};var Module;Module||(Module=(void 0!==CharLS?CharLS:null)||{});var moduleOverrides={};for(var key in Module)Module.hasOwnProperty(key)&&(moduleOverrides[key]=Module[key]);var ENVIRONMENT_IS_WEB="object"==typeof window,ENVIRONMENT_IS_WORKER="function"==typeof importScripts,ENVIRONMENT_IS_NODE="object"==typeof process&&"function"==typeof require&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER,ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;if(ENVIRONMENT_IS_NODE){Module.print||(Module.print=function(e){process.stdout.write(e+"\n")}),Module.printErr||(Module.printErr=function(e){process.stderr.write(e+"\n")});var nodeFS=require("fs"),nodePath=require("path");Module.read=function(e,i){e=nodePath.normalize(e);var r=nodeFS.readFileSync(e);return r||e==nodePath.resolve(e)||(e=path.join(__dirname,"..","src",e),r=nodeFS.readFileSync(e)),r&&!i&&(r=r.toString()),r},Module.readBinary=function(e){var i=Module.read(e,!0);return i.buffer||(i=new Uint8Array(i)),assert(i.buffer),i},Module.load=function(e){globalEval(read(e))},Module.thisProgram||(process.argv.length>1?Module.thisProgram=process.argv[1].replace(/\\/g,"/"):Module.thisProgram="unknown-program"),Module.arguments=process.argv.slice(2),void 0!==module&&(module.exports=Module),process.on("uncaughtException",function(e){if(!(e instanceof ExitStatus))throw e}),Module.inspect=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL)Module.print||(Module.print=print),"undefined"!=typeof printErr&&(Module.printErr=printErr),"undefined"!=typeof read?Module.read=read:Module.read=function(){throw"no read() available (jsc?)"},Module.readBinary=function(e){if("function"==typeof readbuffer)return new Uint8Array(readbuffer(e));var i=read(e,"binary");return assert("object"==typeof i),i},"undefined"!=typeof scriptArgs?Module.arguments=scriptArgs:void 0!==arguments&&(Module.arguments=arguments);else{if(!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER)throw"Unknown runtime environment. Where are we?";if(Module.read=function(e){var i=new XMLHttpRequest;return i.open("GET",e,!1),i.send(null),i.responseText},void 0!==arguments&&(Module.arguments=arguments),"undefined"!=typeof console)Module.print||(Module.print=function(e){console.log(e)}),Module.printErr||(Module.printErr=function(e){console.log(e)});else{var TRY_USE_DUMP=!1;Module.print||(Module.print=function(e){})}ENVIRONMENT_IS_WORKER&&(Module.load=importScripts),void 0===Module.setWindowTitle&&(Module.setWindowTitle=function(e){document.title=e})}!Module.load&&Module.read&&(Module.load=function(e){globalEval(Module.read(e))}),Module.print||(Module.print=function(){}),Module.printErr||(Module.printErr=Module.print),Module.arguments||(Module.arguments=[]),Module.thisProgram||(Module.thisProgram="./this.program"),Module.print=Module.print,Module.printErr=Module.printErr,Module.preRun=[],Module.postRun=[];for(var key in moduleOverrides)moduleOverrides.hasOwnProperty(key)&&(Module[key]=moduleOverrides[key]);var Runtime={setTempRet0:function(e){tempRet0=e},getTempRet0:function(){return tempRet0},stackSave:function(){return STACKTOP},stackRestore:function(e){STACKTOP=e},getNativeTypeSize:function(e){switch(e){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:if("*"===e[e.length-1])return Runtime.QUANTUM_SIZE;if("i"===e[0]){var i=parseInt(e.substr(1));return assert(i%8==0),i/8}return 0}},getNativeFieldSize:function(e){return Math.max(Runtime.getNativeTypeSize(e),Runtime.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(e,i){return"double"===i||"i64"===i?7&e&&(assert(4==(7&e)),e+=4):assert(0==(3&e)),e},getAlignSize:function(e,i,r){return r||"i64"!=e&&"double"!=e?e?Math.min(i||(e?Runtime.getNativeFieldSize(e):0),Runtime.QUANTUM_SIZE):Math.min(i,8):8},dynCall:function(e,i,r){return r&&r.length?(r.splice||(r=Array.prototype.slice.call(r)),r.splice(0,0,i),Module["dynCall_"+e].apply(null,r)):Module["dynCall_"+e].call(null,i)},functionPointers:[],addFunction:function(e){for(var i=0;i<Runtime.functionPointers.length;i++)if(!Runtime.functionPointers[i])return Runtime.functionPointers[i]=e,2*(1+i);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(e){Runtime.functionPointers[(e-2)/2]=null},warnOnce:function(e){Runtime.warnOnce.shown||(Runtime.warnOnce.shown={}),Runtime.warnOnce.shown[e]||(Runtime.warnOnce.shown[e]=1,Module.printErr(e))},funcWrappers:{},getFuncWrapper:function(e,i){assert(i),Runtime.funcWrappers[i]||(Runtime.funcWrappers[i]={});var r=Runtime.funcWrappers[i];return r[e]||(r[e]=function(){return Runtime.dynCall(i,e,arguments)}),r[e]},getCompilerSetting:function(e){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(e){var i=STACKTOP;return STACKTOP=STACKTOP+e|0,STACKTOP=STACKTOP+15&-16,i},staticAlloc:function(e){var i=STATICTOP;return STATICTOP=STATICTOP+e|0,STATICTOP=STATICTOP+15&-16,i},dynamicAlloc:function(e){var i=DYNAMICTOP;if(DYNAMICTOP=DYNAMICTOP+e|0,(DYNAMICTOP=DYNAMICTOP+15&-16)>=TOTAL_MEMORY){if(!enlargeMemory())return DYNAMICTOP=i,0}return i},alignMemory:function(e,i){return e=Math.ceil(e/(i?i:16))*(i?i:16)},makeBigInt:function(e,i,r){return r?+(e>>>0)+4294967296*+(i>>>0):+(e>>>0)+4294967296*+(0|i)},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};Module.Runtime=Runtime;var __THREW__=0,ABORT=!1,EXITSTATUS=0,undef=0,tempValue,tempInt,tempBigInt,tempInt2,tempBigInt2,tempPair,tempBigIntI,tempBigIntR,tempBigIntS,tempBigIntP,tempBigIntD,tempDouble,tempFloat,tempI64,tempI64b,tempRet0,tempRet1,tempRet2,tempRet3,tempRet4,tempRet5,tempRet6,tempRet7,tempRet8,tempRet9,globalScope=this,cwrap,ccall;!function(){function parseJSFunc(e){var i=e.toString().match(sourceRegex).slice(1);return{arguments:i[0],body:i[1],returnValue:i[2]}}var JSfuncs={stackSave:function(){Runtime.stackSave()},stackRestore:function(){Runtime.stackRestore()},arrayToC:function(e){var i=Runtime.stackAlloc(e.length);return writeArrayToMemory(e,i),i},stringToC:function(e){var i=0;return null!==e&&void 0!==e&&0!==e&&(i=Runtime.stackAlloc(1+(e.length<<2)),writeStringToMemory(e,i)),i}},toC={string:JSfuncs.stringToC,array:JSfuncs.arrayToC};ccall=function(e,i,r,t,n){var f=getCFunc(e),a=[],s=0;if(t)for(var l=0;l<t.length;l++){var o=toC[r[l]];o?(0===s&&(s=Runtime.stackSave()),a[l]=o(t[l])):a[l]=t[l]}var u=f.apply(null,a);if("string"===i&&(u=Pointer_stringify(u)),0!==s){if(n&&n.async)return void EmterpreterAsync.asyncFinalizers.push(function(){Runtime.stackRestore(s)})
5
5
  ;Runtime.stackRestore(s)}return u};var sourceRegex=/^function\s*\(([^)]*)\)\s*{\s*([^*]*?)[\s;]*(?:return\s*(.*?)[;\s]*)?}$/,JSsource={};for(var fun in JSfuncs)JSfuncs.hasOwnProperty(fun)&&(JSsource[fun]=parseJSFunc(JSfuncs[fun]));cwrap=function cwrap(ident,returnType,argTypes){argTypes=argTypes||[];var cfunc=getCFunc(ident),numericArgs=argTypes.every(function(e){return"number"===e}),numericRet="string"!==returnType;if(numericRet&&numericArgs)return cfunc;var argNames=argTypes.map(function(e,i){return"$"+i}),funcstr="(function("+argNames.join(",")+") {",nargs=argTypes.length;if(!numericArgs){funcstr+="var stack = "+JSsource.stackSave.body+";";for(var i=0;i<nargs;i++){var arg=argNames[i],type=argTypes[i];if("number"!==type){var convertCode=JSsource[type+"ToC"];funcstr+="var "+convertCode.arguments+" = "+arg+";",funcstr+=convertCode.body+";",funcstr+=arg+"="+convertCode.returnValue+";"}}}var cfuncname=parseJSFunc(function(){return cfunc}).returnValue;if(funcstr+="var ret = "+cfuncname+"("+argNames.join(",")+");",!numericRet){funcstr+="ret = "+parseJSFunc(function(){return Pointer_stringify}).returnValue+"(ret);"}return numericArgs||(funcstr+=JSsource.stackRestore.body.replace("()","(stack)")+";"),funcstr+="return ret})",eval(funcstr)}}(),Module.ccall=ccall,Module.cwrap=cwrap,Module.setValue=setValue,Module.getValue=getValue;var ALLOC_NORMAL=0,ALLOC_STACK=1,ALLOC_STATIC=2,ALLOC_DYNAMIC=3,ALLOC_NONE=4;Module.ALLOC_NORMAL=0,Module.ALLOC_STACK=1,Module.ALLOC_STATIC=ALLOC_STATIC,Module.ALLOC_DYNAMIC=3,Module.ALLOC_NONE=ALLOC_NONE,Module.allocate=allocate,Module.getMemory=getMemory,Module.Pointer_stringify=Pointer_stringify,Module.AsciiToString=AsciiToString,Module.stringToAscii=stringToAscii,Module.UTF8ArrayToString=UTF8ArrayToString,Module.UTF8ToString=UTF8ToString,Module.stringToUTF8Array=stringToUTF8Array,Module.stringToUTF8=stringToUTF8,Module.lengthBytesUTF8=lengthBytesUTF8,Module.UTF16ToString=UTF16ToString,Module.stringToUTF16=stringToUTF16,Module.lengthBytesUTF16=lengthBytesUTF16,Module.UTF32ToString=UTF32ToString,Module.stringToUTF32=stringToUTF32,Module.lengthBytesUTF32=lengthBytesUTF32,Module.stackTrace=stackTrace;for(var PAGE_SIZE=4096,HEAP,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64,STATIC_BASE=0,STATICTOP=0,staticSealed=!1,STACK_BASE=0,STACKTOP=0,STACK_MAX=0,DYNAMIC_BASE=0,DYNAMICTOP=0,TOTAL_STACK=Module.TOTAL_STACK||5242880,TOTAL_MEMORY=Module.TOTAL_MEMORY||4e8,totalMemory=65536;totalMemory<TOTAL_MEMORY||totalMemory<2*TOTAL_STACK;)totalMemory<16777216?totalMemory*=2:totalMemory+=16777216;totalMemory!==TOTAL_MEMORY&&(TOTAL_MEMORY=totalMemory),assert("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&!!new Int32Array(1).subarray&&!!new Int32Array(1).set,"JS engine does not provide full typed array support");var buffer;buffer=new ArrayBuffer(TOTAL_MEMORY),HEAP8=new Int8Array(buffer),HEAP16=new Int16Array(buffer),HEAP32=new Int32Array(buffer),HEAPU8=new Uint8Array(buffer),HEAPU16=new Uint16Array(buffer),HEAPU32=new Uint32Array(buffer),HEAPF32=new Float32Array(buffer),HEAPF64=new Float64Array(buffer),HEAP32[0]=255,assert(255===HEAPU8[0]&&0===HEAPU8[3],"Typed arrays 2 must be run on a little-endian system"),Module.HEAP=void 0,Module.buffer=buffer,Module.HEAP8=HEAP8,Module.HEAP16=HEAP16,Module.HEAP32=HEAP32,Module.HEAPU8=HEAPU8,Module.HEAPU16=HEAPU16,Module.HEAPU32=HEAPU32,Module.HEAPF32=HEAPF32,Module.HEAPF64=HEAPF64;var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATEXIT__=[],__ATPOSTRUN__=[],runtimeInitialized=!1,runtimeExited=!1;Module.addOnPreRun=addOnPreRun,Module.addOnInit=addOnInit,Module.addOnPreMain=addOnPreMain,Module.addOnExit=addOnExit,Module.addOnPostRun=addOnPostRun,Module.intArrayFromString=intArrayFromString,Module.intArrayToString=intArrayToString,Module.writeStringToMemory=writeStringToMemory,Module.writeArrayToMemory=writeArrayToMemory,Module.writeAsciiToMemory=writeAsciiToMemory,Math.imul&&Math.imul(4294967295,5)===-5||(Math.imul=function(e,i){var r=e>>>16,t=65535&e,n=i>>>16,f=65535&i;return t*f+(r*f+t*n<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(e){e>>>=0;for(var i=0;i<32;i++)if(e&1<<31-i)return i;return 32}),Math.clz32=Math.clz32;var Math_abs=Math.abs,Math_cos=Math.cos,Math_sin=Math.sin,Math_tan=Math.tan,Math_acos=Math.acos,Math_asin=Math.asin,Math_atan=Math.atan,Math_atan2=Math.atan2,Math_exp=Math.exp,Math_log=Math.log,Math_sqrt=Math.sqrt,Math_ceil=Math.ceil,Math_floor=Math.floor,Math_pow=Math.pow,Math_imul=Math.imul,Math_fround=Math.fround,Math_min=Math.min,Math_clz32=Math.clz32,runDependencies=0,runDependencyWatcher=null,dependenciesFulfilled=null;Module.addRunDependency=addRunDependency,Module.removeRunDependency=removeRunDependency,Module.preloadedImages={},Module.preloadedAudios={};var memoryInitializer=null,ASM_CONSTS=[];STATIC_BASE=8,STATICTOP=STATIC_BASE+59744,__ATINIT__.push({func:function(){__GLOBAL__I_000101()}},{func:function(){__GLOBAL__sub_I_jpegls_cpp()}},{func:function(){__GLOBAL__sub_I_iostream_cpp()}}),allocate([0,0,0,0,0,0,0,0,84,144,0,0,31,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,237,191,0,0,48,0,0,0,0,0,0,0,44,144,0,0,41,192,0,0,84,144,0,0,55,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,115,192,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,192,0,0,152,3,0,0,0,0,0,0,84,144,0,0,241,192,0,0,216,3,0,0,0,0,0,0,84,144,0,0,55,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,95,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,135,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,175,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,216,193,0,0,48,0,0,0,0,0,0,0,84,144,0,0,241,193,0,0,48,0,0,0,0,0,0,0,44,144,0,0,13,194,0,0,84,144,0,0,80,194,0,0,216,0,0,0,0,0,0,0,84,144,0,0,44,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,139,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,179,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,219,194,0,0,48,0,0,0,0,0,0,0,84,144,0,0,3,195,0,0,48,0,0,0,0,0,0,0,84,144,0,0,103,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,157,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,211,195,0,0,216,0,0,0,0,0,0,0,84,144,0,0,8,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,71,196,0,0,216,0,0,0,0,0,0,0,84,144,0,0,138,196,0,0,160,1,0,0,0,0,0,0,44,144,0,0,120,196,0,0,84,144,0,0,187,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,246,196,0,0,160,1,0,0,0,0,0,0,84,144,0,0,49,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,103,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,157,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,210,197,0,0,160,1,0,0,0,0,0,0,84,144,0,0,17,198,0,0,160,1,0,0,0,0,0,0,84,144,0,0,86,198,0,0,72,3,0,0,0,0,0,0,84,144,0,0,162,198,0,0,56,2,0,0,0,0,0,0,44,144,0,0,182,198,0,0,84,144,0,0,196,198,0,0,56,2,0,0,0,0,0,0,84,144,0,0,112,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,125,199,0,0,84,144,0,0,138,199,0,0,96,2,0,0,0,0,0,0,44,144,0,0,156,199,0,0,84,144,0,0,169,199,0,0,96,2,0,0,0,0,0,0,84,144,0,0,181,199,0,0,120,2,0,0,0,0,0,0,84,144,0,0,214,199,0,0,144,2,0,0,0,0,0,0,84,144,0,0,28,200,0,0,144,2,0,0,0,0,0,0,84,144,0,0,248,199,0,0,176,2,0,0,0,0,0,0,84,144,0,0,62,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,99,200,0,0,160,2,0,0,0,0,0,0,84,144,0,0,182,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,245,221,0,0,160,3,0,0,0,0,0,0,84,144,0,0,13,222,0,0,152,3,0,0,0,0,0,0,84,144,0,0,38,222,0,0,152,3,0,0,0,0,0,0,44,144,0,0,62,222,0,0,84,144,0,0,87,222,0,0,104,2,0,0,0,0,0,0,44,144,0,0,110,222,0,0,84,144,0,0,135,222,0,0,72,3,0,0,0,0,0,0,84,144,0,0,161,222,0,0,56,3,0,0,0,0,0,0,44,144,0,0,187,222,0,0,84,144,0,0,205,222,0,0,112,3,0,0,0,0,0,0,84,144,0,0,247,222,0,0,112,3,0,0,0,0,0,0,44,144,0,0,33,223,0,0,44,144,0,0,82,223,0,0,124,144,0,0,131,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,178,223,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,124,144,0,0,225,223,0,0,0,0,0,0,1,0,0,0,120,3,0,0,3,244,255,255,124,144,0,0,16,224,0,0,0,0,0,0,1,0,0,0,136,3,0,0,3,244,255,255,84,144,0,0,63,224,0,0,80,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,144,0,0,187,224,0,0,48,3,0,0,0,0,0,0,124,144,0,0,209,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,124,144,0,0,227,224,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,5,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,124,144,0,0,40,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,75,225,0,0,144,4,0,0,0,0,0,0,84,144,0,0,109,225,0,0,144,4,0,0,0,0,0,0,124,144,0,0,144,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,72,10,0,0,2,0,0,0,84,144,0,0,178,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,200,225,0,0,32,4,0,0,0,0,0,0,84,144,0,0,220,225,0,0,32,4,0,0,0,0,0,0,124,144,0,0,240,225,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,64,10,0,0,2,0,0,0,84,144,0,0,2,226,0,0,32,4,0,0,0,0,0,0,84,144,0,0,23,226,0,0,32,4,0,0,0,0,0,0,124,144,0,0,44,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,80,10,0,0,0,0,0,0,124,144,0,0,112,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,104,10,0,0,0,0,0,0,124,144,0,0,180,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,128,10,0,0,0,0,0,0,124,144,0,0,248,226,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,152,10,0,0,0,0,0,0,124,144,0,0,60,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,184,10,0,0,0,8,0,0,124,144,0,0,129,227,0,0,0,0,0,0,3,0,0,0,32,4,0,0,2,0,0,0,176,10,0,0,2,0,0,0,192,10,0,0,0,8,0,0,124,144,0,0,198,227,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,11,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,200,10,0,0,0,8,0,0,124,144,0,0,80,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,108,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,136,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,164,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,208,10,0,0,2,0,0,0,124,144,0,0,192,228,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,216,10,0,0,0,0,0,0,124,144,0,0,6,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,224,10,0,0,0,0,0,0,124,144,0,0,76,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,232,10,0,0,0,0,0,0,124,144,0,0,146,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,240,10,0,0,0,0,0,0,124,144,0,0,216,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,124,144,0,0,237,229,0,0,0,0,0,0,2,0,0,0,32,4,0,0,2,0,0,0,248,10,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,44,144,0,0,73,233,0,0,44,144,0,0,50,233,0,0,124,144,0,0,28,233,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,237,232,0,0,0,0,0,0,1,0,0,0,8,11,0,0,0,0,0,0,124,144,0,0,215,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,124,144,0,0,168,232,0,0,0,0,0,0,1,0,0,0,0,11,0,0,0,0,0,0,44,144,0,0,149,232,0,0,44,144,0,0,115,232,0,0,44,144,0,0,81,232,0,0,44,144,0,0,60,232,0,0,44,144,0,0,39,232,0,0,44,144,0,0,14,232,0,0,44,144,0,0,245,231,0,0,44,144,0,0,220,231,0,0,44,144,0,0,195,231,0,0,44,144,0,0,171,231,0,0,44,144,0,0,190,232,0,0,44,144,0,0,3,233],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE),allocate([156,143,0,0,0,0,0,0,8,2,0,0,1,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,248,1,0,0,3,0,0,0,4,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,232,1,0,0,5,0,0,0,6,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,216,1,0,0,7,0,0,0,8,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,200,1,0,0,9,0,0,0,10,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,184,1,0,0,11,0,0,0,12,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,168,1,0,0,13,0,0,0,14,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,144,1,0,0,15,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,128,1,0,0,17,0,0,0,18,0,0,0,9,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,112,1,0,0,19,0,0,0,20,0,0,0,10,0,0,0,2,0,0,0,10,0,0,0,0,0,0,0,96,1,0,0,21,0,0,0,22,0,0,0,11,0,0,0,3,0,0,0,11,0,0,0,0,0,0,0,80,1,0,0,23,0,0,0,24,0,0,0,12,0,0,0,4,0,0,0,12,0,0,0,0,0,0,0,64,1,0,0,25,0,0,0,26,0,0,0,13,0,0,0,5,0,0,0,13,0,0,0,0,0,0,0,240,0,0,0,27,0,0,0,28,0,0,0,14,0,0,0,6,0,0,0,14,0,0,0,0,0,0,0,224,0,0,0,29,0,0,0,30,0,0,0,15,0,0,0,7,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,31,0,0,0,32,0,0,0,16,0,0,0,8,0,0,0,16,0,0,0,0,0,0,0,200,0,0,0,33,0,0,0,34,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,184,0,0,0,33,0,0,0,35,0,0,0,3,0,0,0,4,0,0,0,56,0,0,0,0,0,0,0,216,3,0,0,36,0,0,0,37,0,0,0,200,255,255,255,200,255,255,255,216,3,0,0,38,0,0,0,39,0,0,0,56,0,0,0,0,0,0,0,104,0,0,0,40,0,0,0,41,0,0,0,200,255,255,255,200,255,255,255,104,0,0,0,42,0,0,0,43,0,0,0,0,0,0,0,88,0,0,0,44,0,0,0,45,0,0,0,17,0,0,0,1,0,0,0,1,0,0,0,5,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,17,0,0,0,3,0,0,0,18,0,0,0,104,141,0,0,64,141,0,0,84,141,0,0,124,141,0,0,0,0,0,0,32,0,0,0,46,0,0,0,47,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,56,0,0,0,48,0,0,0,49,0,0,0,8,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,50,0,0,0,51,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,120,0,0,0,52,0,0,0,53,0,0,0,12,0,0,0,13,0,0,0,0,0,0,0,136,0,0,0,54,0,0,0,55,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,152,0,0,0,56,0,0,0,57,0,0,0,16,0,0,0,17,0,0,0,0,0,0,0,168,0,0,0,58,0,0,0,59,0,0,0,18,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,0,0,0,0,216,0,0,0,60,0,0,0,61,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,62,0,0,0,63,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,16,1,0,0,64,0,0,0,65,0,0,0,22,0,0,0,23,0,0,0,0,0,0,0,32,1,0,0,66,0,0,0,67,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,48,1,0,0,68,0,0,0,69,0,0,0,26,0,0,0,27,0,0,0,0,0,0,0,160,1,0,0,70,0,0,0,71,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,24,2,0,0,72,0,0,0,73,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,0,0,0,0,40,2,0,0,74,0,0,0,75,0,0,0,18,0,0,0,0,0,0,0,64,2,0,0,76,0,0,0,77,0,0,0,19,0,0,0,2,0,0,0,0,0,0,0,80,2,0,0,78,0,0,0,79,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,104,2,0,0,80,0,0,0,81,0,0,0,7,0,0,0,0,0,0,0,128,2,0,0,82,0,0,0,83,0,0,0,8,0,0,0,0,0,0,0,160,2,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,2,0,0,0,9,0,0,0,28,0,0,0,0,0,0,0,208,2,0,0,84,0,0,0,88,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,3,0,0,0,10,0,0,0,29,0,0,0,0,0,0,0,224,2,0,0,84,0,0,0,89,0,0,0,86,0,0,0,87,0,0,0,6,0,0,0,4,0,0,0,11,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,1,203,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,192,3,0,0,192,4,0,0,192,5,0,0,192,6,0,0,192,7,0,0,192,8,0,0,192,9,0,0,192,10,0,0,192,11,0,0,192,12,0,0,192,13,0,0,192,14,0,0,192,15,0,0,192,16,0,0,192,17,0,0,192,18,0,0,192,19,0,0,192,20,0,0,192,21,0,0,192,22,0,0,192,23,0,0,192,24,0,0,192,25,0,0,192,26,0,0,192,27,0,0,192,28,0,0,192,29,0,0,192,30,0,0,192,31,0,0,192,0,0,0,179,1,0,0,195,2,0,0,195,3,0,0,195,4,0,0,195,5,0,0,195,6,0,0,195,7,0,0,195,8,0,0,195,9,0,0,195,10,0,0,195,11,0,0,195,12,0,0,195,13,0,0,211,14,0,0,195,15,0,0,195,0,0,12,187,1,0,12,195,2,0,12,195,3,0,12,195,4,0,12,211,88,146,0,0,200,146,0,0,56,147,0,0,56,147,0,0,120,187,0,0,168,155,0,0,168,149,0,0,0,0,0,0,10,0,0,0,100,0,0,0,232,3,0,0,16,39,0,0,160,134,1,0,64,66,15,0,128,150,152,0,0,225,245,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,9,0,0,0,159,219,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,9,0,0,0,151,215,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,9,0,0,0,143,211,0,0,0,4,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,65,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,87,0,0,0,88,0,0,0,89,0,0,0,90,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+35640),allocate([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,43,0,0,0,44,0,0,0,45,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,91,0,0,0,92,0,0,0,93,0,0,0,94,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,98,0,0,0,99,0,0,0,100,0,0,0,101,0,0,0,102,0,0,0,103,0,0,0,104,0,0,0,105,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,109,0,0,0,110,0,0,0,111,0,0,0,112,0,0,0,113,0,0,0,114,0,0,0,115,0,0,0,116,0,0,0,117,0,0,0,118,0,0,0,119,0,0,0,120,0,0,0,121,0,0,0,122,0,0,0,123,0,0,0,124,0,0,0,125,0,0,0,126,0,0,0,127],"i8",ALLOC_NONE,Runtime.GLOBAL_BASE+39844),
@@ -45,4 +45,4 @@ case 2:{f[i+72>>2]=14;f[i+76>>2]=4;f[i+80>>2]=5;f[i+4>>2]=35;f[i+16>>2]=13;f[i>>
45
45
  if(!(r&134217728)){r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>18;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}t[i>>0]=n+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){e=f[o>>2]&134217727;f[o>>2]=e;r=i+1|0;f[s>>2]=r;t[r>>0]=e>>>20;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7;break}else{r=i+1|0;f[s>>2]=r;t[r>>0]=(f[o>>2]|0)>>>19;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}}else{r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>19;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7}while(0)n=f[u>>2]|0}if(!(n&32768))a=r;else break}return}if(i&32768){f[e>>2]=(f[e>>2]|0)+n;return}if(i>>>0<n>>>0){f[u>>2]=n;r=f[e>>2]|0;o=e}else{r=(f[e>>2]|0)+n|0;f[e>>2]=r;n=i;o=e}f[a>>2]=f[s+8>>2];l=e+8|0;s=e+12|0;a=r;i=f[l>>2]|0;while(1){n=n<<1;f[u>>2]=n;r=a<<1;f[o>>2]=r;i=i+-1|0;f[l>>2]=i;if(!i){i=f[s>>2]|0;n=t[i>>0]|0;do if(n<<24>>24!=-1){if(!(r&134217728)){r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>18;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}t[i>>0]=n+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){e=f[o>>2]&134217727;f[o>>2]=e;r=i+1|0;f[s>>2]=r;t[r>>0]=e>>>20;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7;break}else{r=i+1|0;f[s>>2]=r;t[r>>0]=(f[o>>2]|0)>>>19;r=f[o>>2]&524287;f[o>>2]=r;f[l>>2]=8;i=8;break}}else{r=i+1|0;f[s>>2]=r;t[r>>0]=a>>>19;r=f[o>>2]&1048575;f[o>>2]=r;f[l>>2]=7;i=7}while(0)n=f[u>>2]|0}if(!(n&32768))a=r;else break}return}function ts(e){e=e|0;var i=0,r=0,n=0,a=0,s=0;s=f[e>>2]|0;n=s|65535;a=e+8|0;n=(n>>>0<((f[e+4>>2]|0)+s|0)>>>0?n:n+-32768|0)<<f[a>>2];f[e>>2]=n;s=e+12|0;i=f[s>>2]|0;r=t[i>>0]|0;do if(r<<24>>24!=-1){if(!(n&134217728)){i=i+1|0;f[s>>2]=i;t[i>>0]=n>>>19;i=f[e>>2]&524287;f[e>>2]=i;f[a>>2]=8;r=8;break}t[i>>0]=r+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){r=f[e>>2]&134217727;f[e>>2]=r;i=i+1|0;f[s>>2]=i;t[i>>0]=r>>>20;i=f[e>>2]&1048575;f[e>>2]=i;f[a>>2]=7;r=7;break}else{i=i+1|0;f[s>>2]=i;t[i>>0]=(f[e>>2]|0)>>>19;i=f[e>>2]&524287;f[e>>2]=i;f[a>>2]=8;r=8;break}}else{i=i+1|0;f[s>>2]=i;t[i>>0]=n>>>20;i=f[e>>2]&1048575;f[e>>2]=i;f[a>>2]=7;r=7}while(0)i=i<<r;f[e>>2]=i;r=f[s>>2]|0;n=t[r>>0]|0;do if(n<<24>>24!=-1){if(!(i&134217728)){n=r+1|0;f[s>>2]=n;t[n>>0]=i>>>19;f[e>>2]=f[e>>2]&524287;f[a>>2]=8;break}t[r>>0]=n+1<<24>>24;i=f[s>>2]|0;if((t[i>>0]|0)==-1){r=f[e>>2]&134217727;f[e>>2]=r;n=i+1|0;f[s>>2]=n;t[n>>0]=r>>>20;f[e>>2]=f[e>>2]&1048575;f[a>>2]=7;break}else{n=i+1|0;f[s>>2]=n;t[n>>0]=(f[e>>2]|0)>>>19;f[e>>2]=f[e>>2]&524287;f[a>>2]=8;break}}else{n=r+1|0;f[s>>2]=n;t[n>>0]=i>>>20;f[e>>2]=f[e>>2]&1048575;f[a>>2]=7}while(0)i=f[s>>2]|0;if((t[i>>0]|0)==-1)return;f[s>>2]=i+1;return}function ns(e){e=e|0;f[e>>2]=0;f[e+8>>2]=8;return}function fs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;r=e+8|0;n=(f[r>>2]|0)+-1|0;f[r>>2]=n;i=(i<<n)+(f[e>>2]|0)|0;f[e>>2]=i;if(n)return;n=e+12|0;a=(f[n>>2]|0)+1|0;f[n>>2]=a;t[a>>0]=i;f[r>>2]=8;f[r>>2]=(t[f[n>>2]>>0]|0)==-1?7:8;f[e>>2]=0;return}function as(e){e=e|0;f[e+28>>2]=1156;f[e+32>>2]=1156;f[e+36>>2]=1156;f[e+40>>2]=1156;f[e+44>>2]=1156;f[e+48>>2]=1156;f[e+52>>2]=1156;f[e+56>>2]=1156;f[e+60>>2]=1156;f[e+64>>2]=1156;f[e+68>>2]=1156;f[e+72>>2]=1156;f[e+76>>2]=1156;f[e+80>>2]=1156;f[e+84>>2]=1156;f[e+88>>2]=1156;f[e+96>>2]=2628;f[e+92>>2]=1252;f[e+24>>2]=1284;return}function ss(e){e=e|0;f[e+24>>2]=1156;f[e+28>>2]=1156;f[e+32>>2]=1156;f[e+36>>2]=1156;f[e+40>>2]=1156;f[e+44>>2]=1156;f[e+48>>2]=1156;f[e+52>>2]=1156;f[e+56>>2]=1156;f[e+60>>2]=1156;f[e+64>>2]=1156;f[e+68>>2]=1156;f[e+72>>2]=1156;f[e+76>>2]=1156;f[e+80>>2]=1156;f[e+84>>2]=1156;f[e+88>>2]=1156;f[e+92>>2]=1156;f[e+96>>2]=1156;return}function ls(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;f[e+24+(i<<2)>>2]=1156+((t<<1)+r<<4);return}function os(e){e=e|0;var i=0,r=0;f[e+100>>2]=e+24;f[e+4>>2]=32768;f[e>>2]=0;i=e+8|0;f[i>>2]=12;r=e+12|0;e=(f[r>>2]|0)+-1|0;f[r>>2]=e;if((t[e>>0]|0)!=-1)return;f[i>>2]=13;return}function us(e){e=e|0;var i=0,r=0,n=0,a=0,s=0,l=0;l=e+8|0;i=f[l>>2]|0;n=12-i|0;if((n|0)>0){a=e+12|0;r=f[e>>2]|0;do{i=r<<i;f[e>>2]=i;f[l>>2]=0;r=f[a>>2]|0;s=t[r>>0]|0;do if(s<<24>>24!=-1){if(!(i&134217728)){r=r+1|0;f[a>>2]=r;t[r>>0]=i>>>19;r=f[e>>2]&524287;f[e>>2]=r;f[l>>2]=8;i=8;break}t[r>>0]=s+1<<24>>24;i=f[a>>2]|0;if((t[i>>0]|0)==-1){s=f[e>>2]&134217727;f[e>>2]=s;r=i+1|0;f[a>>2]=r;t[r>>0]=s>>>20;r=f[e>>2]&1048575;f[e>>2]=r;f[l>>2]=7;i=7;break}else{r=i+1|0;f[a>>2]=r;t[r>>0]=(f[e>>2]|0)>>>19;r=f[e>>2]&524287;f[e>>2]=r;f[l>>2]=8;i=8;break}}else{r=r+1|0;f[a>>2]=r;t[r>>0]=i>>>20;r=f[e>>2]&1048575;f[e>>2]=r;f[l>>2]=7;i=7}while(0)n=n-i|0}while((n|0)>0)}else a=e+12|0;i=f[a>>2]|0;r=t[i>>0]|0;if(r<<24>>24==-1)return;n=f[e>>2]|0;if(!(n&134217728)){s=i+1|0;f[a>>2]=s;t[s>>0]=n>>>19;f[e>>2]=f[e>>2]&524287;f[l>>2]=8;return}t[i>>0]=r+1<<24>>24;i=f[a>>2]|0;if((t[i>>0]|0)==-1){n=f[e>>2]&134217727;f[e>>2]=n;s=i+1|0;f[a>>2]=s;t[s>>0]=n>>>20;f[e>>2]=f[e>>2]&1048575;f[l>>2]=7;return}else{s=i+1|0;f[a>>2]=s;t[s>>0]=(f[e>>2]|0)>>>19;f[e>>2]=f[e>>2]&524287;f[l>>2]=8;return}}function cs(e){e=e|0;f[e+100>>2]=e+96;rs(e,1);rs(e,0);rs(e,1);rs(e,0);return}function ds(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,s=0,l=0;f[e+100>>2]=e+24;f[e+16>>2]=i;f[e+20>>2]=i+r;s=e+12|0;f[s>>2]=i;do if(r){l=a[i>>0]<<16;f[e>>2]=l;n=i+1|0;if((r|0)==1)r=255;else r=a[n>>0]|0;if((t[i>>0]|0)!=-1){f[s>>2]=n;n=l|r<<8;f[e>>2]=n;r=e+8|0;f[r>>2]=8;s=e;l=1;break}if(r>>>0>143){n=l|65280;f[e>>2]=n;r=e+8|0;f[r>>2]=8;s=e;l=1;break}else{f[s>>2]=n;n=l+(r<<9)|0;f[e>>2]=n;r=e+8|0;f[r>>2]=7;s=e;l=0;break}}else{f[e>>2]=16776960;r=e+8|0;f[r>>2]=8;n=16776960;s=e;l=1}while(0)f[s>>2]=n<<7;f[r>>2]=l;f[e+4>>2]=32768;return 1}function hs(e){e=e|0;var i=0,r=0,n=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0;r=f[e+100>>2]|0;n=f[r>>2]|0;o=f[n>>2]|0;h=e+4|0;l=(f[h>>2]|0)-o|0;f[h>>2]=l;s=f[e>>2]|0;if(s>>>16>>>0<o>>>0){f[h>>2]=o;i=f[n+4>>2]|0;if(l>>>0<o>>>0)f[r>>2]=f[n+8>>2];else{f[r>>2]=f[n+12>>2];i=1-i|0}u=e+8|0;c=e+12|0;d=e+20|0;n=f[u>>2]|0;r=s;do{do if(!n){s=f[c>>2]|0;n=f[d>>2]|0;if((s|0)==(n|0)){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}l=s+1|0;if((l|0)==(n|0))n=255;else n=a[l>>0]|0;if((t[s>>0]|0)!=-1){f[c>>2]=l;r=r+(n<<8)|0;f[e>>2]=r;f[u>>2]=8;n=8;break}if(n>>>0>143){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}else{f[c>>2]=l;r=r+(n<<9)|0;f[e>>2]=r;f[u>>2]=7;n=7;break}}while(0)o=o<<1;f[h>>2]=o;r=r<<1;f[e>>2]=r;n=n+-1|0;f[u>>2]=n}while(o>>>0<32768)return i|0}s=s-(o<<16)|0;f[e>>2]=s;if(l&32768){e=f[n+4>>2]|0;return e|0}i=f[n+4>>2]|0;if(o>>>0>l>>>0){f[r>>2]=f[n+12>>2];i=1-i|0}else f[r>>2]=f[n+8>>2];u=e+8|0;c=e+12|0;d=e+20|0;n=f[u>>2]|0;r=s;o=l;do{do if(!n){s=f[c>>2]|0;n=f[d>>2]|0;if((s|0)==(n|0)){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}l=s+1|0;if((l|0)==(n|0))n=255;else n=a[l>>0]|0;if((t[s>>0]|0)!=-1){f[c>>2]=l;r=r+(n<<8)|0;f[e>>2]=r;f[u>>2]=8;n=8;break}if(n>>>0>143){r=r+65280|0;f[e>>2]=r;f[u>>2]=8;n=8;break}else{f[c>>2]=l;r=r+(n<<9)|0;f[e>>2]=r;f[u>>2]=7;n=7;break}}while(0)o=o<<1;f[h>>2]=o;r=r<<1;f[e>>2]=r;n=n+-1|0;f[u>>2]=n}while(o>>>0<32768)return i|0}function bs(){return Nn(28)|0}function ks(e){e=e|0;if(!e)return;Yn(e);return}function ws(e,i,r){e=e|0;i=i|0;r=r|0;f[e+20>>2]=i;f[e+8>>2]=r;f[e+12>>2]=0;t[e>>0]=0;f[e+4>>2]=0;return}function ms(e){e=e|0;var i=0,r=0,n=0,a=0,s=0;a=e+4|0;i=f[a>>2]|0;do if(!i){f[a>>2]=8;r=e+12|0;n=f[r>>2]|0;if((n|0)==(f[e+8>>2]|0)){t[e>>0]=-1;i=8;r=-1;break}if((t[e>>0]|0)==-1){f[a>>2]=7;i=7}else i=8;s=t[(f[e+20>>2]|0)+n>>0]|0;t[e>>0]=s;f[r>>2]=n+1;r=s}else r=t[e>>0]|0;while(0)s=i+-1|0;f[a>>2]=s;return(r&255)>>>s&1|0}function _s(){var e=0;if(!(f[665]|0))e=2712;else e=f[(De()|0)+60>>2]|0;return e|0}function ps(e){e=e|0;var i=0,r=0;i=0;while(1){if((a[22198+i>>0]|0)==(e|0)){r=2;break}i=i+1|0;if((i|0)==87){i=87;e=22286;r=5;break}}if((r|0)==2)if(!i)e=22286;else{e=22286;r=5}if((r|0)==5)while(1){r=e;while(1){e=r+1|0;if(!(t[r>>0]|0))break;else r=e}i=i+-1|0;if(!i)break;else r=5}return e|0}function vs(e){e=e|0;if(e>>>0>4294963200){f[(_s()|0)>>2]=0-e;e=-1}return e|0}function gs(e,i){e=+e;i=i|0;var r=0,t=0,n=0;u[h>>3]=e;r=f[h>>2]|0;t=f[h+4>>2]|0;n=Bl(r|0,t|0,52)|0;n=n&2047;switch(n|0){case 0:{if(e!=0){e=+gs(e*0x10000000000000000,i);r=(f[i>>2]|0)+-64|0}else r=0;f[i>>2]=r;break}case 2047:break;default:{f[i>>2]=n+-1022;f[h>>2]=r;f[h+4>>2]=t&-2146435073|1071644672;e=+u[h>>3]}}return+e}function ys(e,i){e=+e;i=i|0;return+ +gs(e,i)}function Es(e,i){e=+e;i=i|0;return+ +Ts(e,i)}function As(e){e=+e;return~~+Ss(e)|0}function Ss(e){e=+e;var i=0;i=(o[h>>2]=e,f[h>>2]|0);if((i&2130706432)>>>0<=1249902592){i=(i|0)<0;e=i?e+-8388608+8388608:e+8388608+-8388608;if(e==0)e=i?-0:0}return+e}function Ts(e,i){e=+e;i=i|0;var r=0;if((i|0)>1023){e=e*8.98846567431158e307;r=i+-1023|0;if((r|0)>1023){r=i+-2046|0;r=(r|0)>1023?1023:r;e=e*8.98846567431158e307}}else if((i|0)<-1022){e=e*2.2250738585072014e-308;r=i+1022|0;if((r|0)<-1022){r=i+2044|0;r=(r|0)<-1022?-1022:r;e=e*2.2250738585072014e-308}}else r=i;r=Ll(r+1023|0,0,52)|0;i=D;f[h>>2]=r;f[h+4>>2]=i;return+(e*+u[h>>3])}function Ms(e,i,r){e=e|0;i=i|0;r=r|0;do if(e){if(i>>>0<128){t[e>>0]=i;e=1;break}if(i>>>0<2048){t[e>>0]=i>>>6|192;t[e+1>>0]=i&63|128;e=2;break}if(i>>>0<55296|(i&-8192|0)==57344){t[e>>0]=i>>>12|224;t[e+1>>0]=i>>>6&63|128;t[e+2>>0]=i&63|128;e=3;break}if((i+-65536|0)>>>0<1048576){t[e>>0]=i>>>18|240;t[e+1>>0]=i>>>12&63|128;t[e+2>>0]=i>>>6&63|128;t[e+3>>0]=i&63|128;e=4;break}else{f[(_s()|0)>>2]=84;e=-1;break}}else e=1;while(0)return e|0}function Cs(e,i){e=e|0;i=i|0;if(!e)e=0;else e=Ms(e,i,0)|0;return e|0}function Ps(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0;b=c;c=c+112|0;h=b+40|0;u=b+24|0;o=b+16|0;a=b;d=b+52|0;n=t[i>>0]|0;if(ll(24090,n<<24>>24,4)|0){r=yl(1144)|0;if(!r)r=0;else{s=r;l=s+112|0;do{f[s>>2]=0;s=s+4|0}while((s|0)<(l|0))if(!(ul(i,43)|0))f[r>>2]=n<<24>>24==114?8:4;if(ul(i,101)|0){f[a>>2]=e;f[a+4>>2]=2;f[a+8>>2]=1;ve(221,a|0)|0;n=t[i>>0]|0}if(n<<24>>24==97){f[o>>2]=e;f[o+4>>2]=3;n=ve(221,o|0)|0;if(!(n&1024)){f[u>>2]=e;f[u+4>>2]=4;f[u+8>>2]=n|1024;ve(221,u|0)|0}i=f[r>>2]|128;f[r>>2]=i}else i=f[r>>2]|0;f[r+60>>2]=e;f[r+44>>2]=r+120;f[r+48>>2]=1024;n=r+75|0;t[n>>0]=-1;if((i&8|0)==0?(f[h>>2]=e,f[h+4>>2]=21505,f[h+8>>2]=d,(Le(54,h|0)|0)==0):0)t[n>>0]=10;f[r+32>>2]=60;f[r+36>>2]=61;f[r+40>>2]=3;f[r+12>>2]=1;if(!(f[666]|0))f[r+76>>2]=-1;Ne(2688);n=f[671]|0;f[r+56>>2]=n;if(n)f[n+52>>2]=r;f[671]=r;Ie(2688)}}else{f[(_s()|0)>>2]=22;r=0}c=b;return r|0}function xs(e){e=e|0;var i=0,r=0,n=0;r=(ul(e,43)|0)==0;i=t[e>>0]|0;r=r?i<<24>>24!=114&1:2;n=(ul(e,120)|0)==0;r=n?r:r|128;e=(ul(e,101)|0)==0;e=e?r:r|524288;e=i<<24>>24==114?e:e|64;e=i<<24>>24==119?e|512:e;return(i<<24>>24==97?e|1024:e)|0}function Ds(e){e=e|0;return 0}function Os(e){e=e|0;return}function Rs(e,i){e=e|0;i=i|0;var r=0,n=0,s=0,l=0,o=0,u=0,d=0;d=c;c=c+16|0;u=d;o=i&255;t[u>>0]=o;n=e+16|0;s=f[n>>2]|0;if(!s)if(!(Us(e)|0)){s=f[n>>2]|0;l=4}else r=-1;else l=4;do if((l|0)==4){n=e+20|0;l=f[n>>2]|0;if(l>>>0<s>>>0?(r=i&255,(r|0)!=(t[e+75>>0]|0)):0){f[n>>2]=l+1;t[l>>0]=o;break}if((vo[f[e+36>>2]&63](e,u,1)|0)==1)r=a[u>>0]|0;else r=-1}while(0)c=d;return r|0}function Ls(e){e=e|0;var i=0,r=0;i=c;c=c+16|0;r=i;f[r>>2]=f[e+60>>2];e=vs(Fe(6,r|0)|0)|0;c=i;return e|0}function Is(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0;d=c;c=c+48|0;s=d+16|0;a=d;n=d+32|0;f[n>>2]=i;l=n+4|0;u=e+48|0;h=f[u>>2]|0;f[l>>2]=r-((h|0)!=0&1);o=e+44|0;f[n+8>>2]=f[o>>2];f[n+12>>2]=h;if(!(f[665]|0)){f[s>>2]=f[e+60>>2];f[s+4>>2]=n;f[s+8>>2]=2;n=vs(Ye(145,s|0)|0)|0}else{Ee(5,e|0);f[a>>2]=f[e+60>>2];f[a+4>>2]=n;f[a+8>>2]=2;n=vs(Ye(145,a|0)|0)|0;pe(0)}if((n|0)>=1){l=f[l>>2]|0;if(n>>>0>l>>>0){s=f[o>>2]|0;a=e+4|0;f[a>>2]=s;f[e+8>>2]=s+(n-l);if(!(f[u>>2]|0))n=r;else{f[a>>2]=s+1;t[i+(r+-1)>>0]=t[s>>0]|0;n=r}}}else{f[e>>2]=f[e>>2]|n&48^16;f[e+8>>2]=0;f[e+4>>2]=0}c=d;return n|0}function Bs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;n=c;c=c+32|0;a=n;t=n+20|0;f[a>>2]=f[e+60>>2];f[a+4>>2]=0;f[a+8>>2]=i;f[a+12>>2]=t;f[a+16>>2]=r;if((vs(He(140,a|0)|0)|0)<0){f[t>>2]=-1;e=-1}else e=f[t>>2]|0;c=n;return e|0}function Ns(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0;w=c;c=c+48|0;h=w+16|0;d=w;t=w+32|0;b=e+28|0;n=f[b>>2]|0;f[t>>2]=n;k=e+20|0;n=(f[k>>2]|0)-n|0;f[t+4>>2]=n;f[t+8>>2]=i;f[t+12>>2]=r;o=e+60|0;u=e+44|0;i=2;n=n+r|0;while(1){if(!(f[665]|0)){f[h>>2]=f[o>>2];f[h+4>>2]=t;f[h+8>>2]=i;s=vs(qe(146,h|0)|0)|0}else{Ee(6,e|0);f[d>>2]=f[o>>2];f[d+4>>2]=t;f[d+8>>2]=i;s=vs(qe(146,d|0)|0)|0;pe(0)}if((n|0)==(s|0)){n=6;break}if((s|0)<0){n=8;break}n=n-s|0;a=f[t+4>>2]|0;if(s>>>0<=a>>>0)if((i|0)==2){f[b>>2]=(f[b>>2]|0)+s;l=a;i=2}else l=a;else{l=f[u>>2]|0;f[b>>2]=l;f[k>>2]=l;l=f[t+12>>2]|0;s=s-a|0;t=t+8|0;i=i+-1|0}f[t>>2]=(f[t>>2]|0)+s;f[t+4>>2]=l-s}if((n|0)==6){h=f[u>>2]|0;f[e+16>>2]=h+(f[e+48>>2]|0);e=h;f[b>>2]=e;f[k>>2]=e}else if((n|0)==8){f[e+16>>2]=0;f[b>>2]=0;f[k>>2]=0;f[e>>2]=f[e>>2]|32;if((i|0)==2)r=0;else r=r-(f[t+4>>2]|0)|0}c=w;return r|0}function Fs(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0;a=c;c=c+80|0;n=a;f[e+36>>2]=61;if((f[e>>2]&64|0)==0?(f[n>>2]=f[e+60>>2],f[n+4>>2]=21505,f[n+8>>2]=a+12,(Le(54,n|0)|0)!=0):0)t[e+75>>0]=-1;n=Ns(e,i,r)|0;c=a;return n|0}function js(e){e=e|0;var i=0,r=0;i=e+74|0;r=t[i>>0]|0;t[i>>0]=r+255|r;i=e+20|0;r=e+44|0;if((f[i>>2]|0)>>>0>(f[r>>2]|0)>>>0)vo[f[e+36>>2]&63](e,0,0)|0;f[e+16>>2]=0;f[e+28>>2]=0;f[i>>2]=0;i=f[e>>2]|0;if(i&20)if(!(i&4))i=-1;else{f[e>>2]=i|32;i=-1}else{i=f[r>>2]|0;f[e+8>>2]=i;f[e+4>>2]=i;i=0}return i|0}function Us(e){e=e|0;var i=0,r=0;i=e+74|0;r=t[i>>0]|0;t[i>>0]=r+255|r;i=f[e>>2]|0;if(!(i&8)){f[e+8>>2]=0;f[e+4>>2]=0;i=f[e+44>>2]|0;f[e+28>>2]=i;f[e+20>>2]=i;f[e+16>>2]=i+(f[e+48>>2]|0);i=0}else{f[e>>2]=i|32;i=-1}return i|0}function Hs(e){e=e|0;var i=0,r=0,t=0;t=(f[e>>2]&1|0)!=0;if(!t){Ne(2688);r=f[e+52>>2]|0;i=e+56|0;if(r)f[r+56>>2]=f[i>>2];i=f[i>>2]|0;if(i)f[i+52>>2]=r;if((f[671]|0)==(e|0))f[671]=i;Ie(2688)}i=Ys(e)|0;i=So[f[e+12>>2]&15](e)|0|i;r=f[e+92>>2]|0;if(r)El(r);if(!t)El(e);return i|0}function Ys(e){e=e|0;var i=0,r=0;do if(e){if((f[e+76>>2]|0)<=-1){i=wl(e)|0;break}r=(Ds(e)|0)==0;i=wl(e)|0;if(!r)Os(e)}else{if(!(f[677]|0))i=0;else i=Ys(f[677]|0)|0;Ne(2688);e=f[671]|0;if(e)do{if((f[e+76>>2]|0)>-1)r=Ds(e)|0;else r=0;if((f[e+20>>2]|0)>>>0>(f[e+28>>2]|0)>>>0)i=wl(e)|0|i;if(r)Os(e);e=f[e+56>>2]|0}while((e|0)!=0)Ie(2688)}while(0)return i|0}function qs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0;a=c;c=c+32|0;n=a+16|0;r=a;if(ll(24090,t[i>>0]|0,4)|0){s=xs(i)|0|32768;f[r>>2]=e;f[r+4>>2]=s;f[r+8>>2]=438;r=vs(je(5,r|0)|0)|0;if((r|0)>=0){e=Ps(r,i)|0;if(!e){f[n>>2]=r;Fe(6,n|0)|0;e=0}}else e=0}else{f[(_s()|0)>>2]=22;e=0}c=a;return e|0}function zs(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=c;c=c+16|0;n=t;f[n>>2]=r;r=fl(e,i,n)|0;c=t;return r|0}function Xs(e,i){e=e|0;i=i|0;var r=0,n=0,a=0,s=0,l=0;if((f[i+76>>2]|0)>=0?(Ds(i)|0)!=0:0){if((t[i+75>>0]|0)!=(e|0)?(n=i+20|0,a=f[n>>2]|0,a>>>0<(f[i+16>>2]|0)>>>0):0){f[n>>2]=a+1;t[a>>0]=e;r=e&255}else r=Rs(i,e)|0;Os(i)}else l=3;do if((l|0)==3){if((t[i+75>>0]|0)!=(e|0)?(s=i+20|0,r=f[s>>2]|0,r>>>0<(f[i+16>>2]|0)>>>0):0){f[s>>2]=r+1;t[r>>0]=e;r=e&255;break}r=Rs(i,e)|0}while(0)return r|0}function Gs(e,i){e=e|0;i=i|0;return(il(e,hl(e)|0,1,i)|0)+-1|0}function Vs(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0;o=ie(r,i)|0;if((f[n+76>>2]|0)>-1)u=Ds(n)|0;else u=0;a=n+74|0;s=t[a>>0]|0;t[a>>0]=s+255|s;a=n+4|0;s=f[a>>2]|0;l=(f[n+8>>2]|0)-s|0;if((l|0)>0){l=l>>>0<o>>>0?l:o;Nl(e|0,s|0,l|0)|0;f[a>>2]=s+l;e=e+l|0;a=o-l|0}else a=o;e:do if(!a)c=13;else{l=n+32|0;s=a;while(1){if(js(n)|0){r=s;break}a=vo[f[l>>2]&63](n,e,s)|0;if((a+1|0)>>>0<2){r=s;break}if((s|0)==(a|0)){c=13;break e}else{e=e+a|0;s=s-a|0}}if(u)Os(n);r=((o-r|0)>>>0)/(i>>>0)|0}while(0)if((c|0)==13)if(u)Os(n);return r|0}function Ks(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;if((r|0)==1)i=i-(f[e+8>>2]|0)+(f[e+4>>2]|0)|0;n=e+20|0;t=e+28|0;if((f[n>>2]|0)>>>0>(f[t>>2]|0)>>>0?(vo[f[e+36>>2]&63](e,0,0)|0,(f[n>>2]|0)==0):0)i=-1;else{f[e+16>>2]=0;f[t>>2]=0;f[n>>2]=0;if((vo[f[e+40>>2]&63](e,i,r)|0)<0)i=-1;else{f[e+8>>2]=0;f[e+4>>2]=0;f[e>>2]=f[e>>2]&-17;i=0}}return i|0}function Ws(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;if((f[e+76>>2]|0)>-1){t=(Ds(e)|0)==0;i=Ks(e,i,r)|0;if(!t)Os(e)}else i=Ks(e,i,r)|0;return i|0}function Js(e,i,r){e=e|0;i=i|0;r=r|0;return Ws(e,i,r)|0}function Qs(e){e=e|0;var i=0;if(!(f[e>>2]&128))i=1;else i=(f[e+20>>2]|0)>>>0>(f[e+28>>2]|0)>>>0?2:1;i=vo[f[e+40>>2]&63](e,0,i)|0;if((i|0)>=0)i=i-(f[e+8>>2]|0)+(f[e+4>>2]|0)+(f[e+20>>2]|0)-(f[e+28>>2]|0)|0;return i|0}function Zs(e){e=e|0;var i=0;if((f[e+76>>2]|0)>-1){i=(Ds(e)|0)==0;e=Qs(e)|0}else e=Qs(e)|0;return e|0}function $s(e){e=e|0;return Zs(e)|0}function el(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=r+16|0;a=f[n>>2]|0;if(!a)if(!(Us(r)|0)){a=f[n>>2]|0;s=4}else n=0;else s=4;e:do if((s|0)==4){l=r+20|0;s=f[l>>2]|0;if((a-s|0)>>>0<i>>>0){n=vo[f[r+36>>2]&63](r,e,i)|0;break}i:do if((t[r+75>>0]|0)>-1){n=i;while(1){if(!n){a=s;n=0;break i}a=n+-1|0;if((t[e+a>>0]|0)==10)break;else n=a}if((vo[f[r+36>>2]&63](r,e,n)|0)>>>0<n>>>0)break e;i=i-n|0;e=e+n|0;a=f[l>>2]|0}else{a=s;n=0}while(0)Nl(a|0,e|0,i|0)|0;f[l>>2]=(f[l>>2]|0)+i;n=n+i|0}while(0)return n|0}function il(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;n=ie(r,i)|0;if((f[t+76>>2]|0)>-1){a=(Ds(t)|0)==0;e=el(e,n,t)|0;if(!a)Os(t)}else e=el(e,n,t)|0;if((e|0)!=(n|0))r=(e>>>0)/(i>>>0)|0;return r|0}function rl(e,i){e=e|0;i=i|0;var r=0,t=0;r=c;c=c+16|0;t=r;f[t>>2]=i;i=fl(f[676]|0,e,t)|0;c=r;return i|0}function tl(e){e=e|0;var i=0,r=0,n=0,a=0;n=f[676]|0;if((f[n+76>>2]|0)>-1)a=Ds(n)|0;else a=0;do if((Gs(e,n)|0)<0)i=1;else{if((t[n+75>>0]|0)!=10?(i=n+20|0,r=f[i>>2]|0,r>>>0<(f[n+16>>2]|0)>>>0):0){f[i>>2]=r+1;t[r>>0]=10;i=0;break}i=(Rs(n,10)|0)<0}while(0)if(a)Os(n);return i<<31>>31|0}function nl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=c;c=c+16|0;n=t;f[n>>2]=r;r=sl(e,i,n)|0;c=t;return r|0}function fl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0,o=0,u=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0;_=c;c=c+224|0;b=_+80|0;m=_+96|0;w=_;k=_+136|0;n=m;a=n+40|0;do{f[n>>2]=0;n=n+4|0}while((n|0)<(a|0))f[b>>2]=f[r>>2];if((ml(0,i,b,w,m)|0)<0)r=-1;else{if((f[e+76>>2]|0)>-1)d=Ds(e)|0;else d=0;r=f[e>>2]|0;h=r&32;if((t[e+74>>0]|0)<1)f[e>>2]=r&-33;r=e+48|0;if(!(f[r>>2]|0)){a=e+44|0;s=f[a>>2]|0;f[a>>2]=k;l=e+28|0;f[l>>2]=k;o=e+20|0;f[o>>2]=k;f[r>>2]=80;u=e+16|0;f[u>>2]=k+80;n=ml(e,i,b,w,m)|0;if(s){vo[f[e+36>>2]&63](e,0,0)|0;n=(f[o>>2]|0)==0?-1:n;f[a>>2]=s;f[r>>2]=0;f[u>>2]=0;f[l>>2]=0;f[o>>2]=0}}else n=ml(e,i,b,w,m)|0;r=f[e>>2]|0;f[e>>2]=r|h;if(d)Os(e);r=(r&32|0)==0?n:-1}c=_;return r|0}function al(e,i,r,n){e=e|0;i=i|0;r=r|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,d=0,h=0;h=c;c=c+128|0;a=h+112|0;d=h;s=d;l=2716;o=s+112|0;do{f[s>>2]=f[l>>2];s=s+4|0;l=l+4|0}while((s|0)<(o|0))if((i+-1|0)>>>0>2147483646)if(!i){i=1;u=4}else{f[(_s()|0)>>2]=75;i=-1}else{a=e;u=4}if((u|0)==4){u=-2-a|0;u=i>>>0>u>>>0?u:i;f[d+48>>2]=u;e=d+20|0;f[e>>2]=a;f[d+44>>2]=a;i=a+u|0;a=d+16|0;f[a>>2]=i;f[d+28>>2]=i;i=fl(d,r,n)|0;if(u){r=f[e>>2]|0;t[r+(((r|0)==(f[a>>2]|0))<<31>>31)>>0]=0}}c=h;return i|0}function sl(e,i,r){e=e|0;i=i|0;r=r|0;return al(e,2147483647,i,r)|0}function ll(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;s=i&255;n=(r|0)!=0;e:do if(n&(e&3|0)!=0){a=i&255;while(1){if((t[e>>0]|0)==a<<24>>24){l=6;break e}e=e+1|0;r=r+-1|0;n=(r|0)!=0;if(!(n&(e&3|0)!=0)){l=5;break}}}else l=5;while(0)if((l|0)==5)if(n)l=6;else r=0;e:do if((l|0)==6){a=i&255;if((t[e>>0]|0)!=a<<24>>24){n=ie(s,16843009)|0;i:do if(r>>>0>3)while(1){s=f[e>>2]^n;if((s&-2139062144^-2139062144)&s+-16843009)break;e=e+4|0;r=r+-4|0;if(r>>>0<=3){l=11;break i}}else l=11;while(0)if((l|0)==11)if(!r){r=0;break}while(1){if((t[e>>0]|0)==a<<24>>24)break e;e=e+1|0;r=r+-1|0;if(!r){r=0;break}}}}while(0)return((r|0)!=0?e:0)|0}function ol(e,i){e=e|0;i=i|0;var r=0,n=0;r=i;e:do if(!((r^e)&3)){if(r&3)do{r=t[i>>0]|0;t[e>>0]=r;if(!(r<<24>>24))break e;i=i+1|0;e=e+1|0}while((i&3|0)!=0)r=f[i>>2]|0;if(!((r&-2139062144^-2139062144)&r+-16843009)){n=e;while(1){i=i+4|0;e=n+4|0;f[n>>2]=r;r=f[i>>2]|0;if((r&-2139062144^-2139062144)&r+-16843009)break;else n=e}}n=8}else n=8;while(0)if((n|0)==8){n=t[i>>0]|0;t[e>>0]=n;if(n<<24>>24)do{i=i+1|0;e=e+1|0;n=t[i>>0]|0;t[e>>0]=n}while(n<<24>>24!=0)}return e|0}function ul(e,i){e=e|0;i=i|0;e=cl(e,i)|0;return((t[e>>0]|0)==(i&255)<<24>>24?e:0)|0}function cl(e,i){e=e|0;i=i|0;var r=0,n=0,a=0;n=i&255;e:do if(!n)e=e+(hl(e)|0)|0;else{if(e&3){r=i&255;do{a=t[e>>0]|0;if(a<<24>>24==0?1:a<<24>>24==r<<24>>24)break e;e=e+1|0}while((e&3|0)!=0)}n=ie(n,16843009)|0;r=f[e>>2]|0;i:do if(!((r&-2139062144^-2139062144)&r+-16843009))do{a=r^n;if((a&-2139062144^-2139062144)&a+-16843009)break i;e=e+4|0;r=f[e>>2]|0}while(((r&-2139062144^-2139062144)&r+-16843009|0)==0)while(0)r=i&255;while(1){a=t[e>>0]|0;if(a<<24>>24==0?1:a<<24>>24==r<<24>>24)break;else e=e+1|0}}while(0)return e|0}function dl(e,i){e=e|0;i=i|0;ol(e,i)|0;return e|0}function hl(e){e=e|0;var i=0,r=0,n=0;n=e;e:do if(!(n&3))r=4;else{i=e;e=n;while(1){if(!(t[i>>0]|0))break e;i=i+1|0;e=i;if(!(e&3)){e=i;r=4;break}}}while(0)if((r|0)==4){while(1){i=f[e>>2]|0;if(!((i&-2139062144^-2139062144)&i+-16843009))e=e+4|0;else break}if((i&255)<<24>>24)do e=e+1|0;while((t[e>>0]|0)!=0)}return e-n|0}function bl(e){e=e|0;if(!(f[e+68>>2]|0))Os(e);return}function kl(e){e=e|0;if(!(f[e+68>>2]|0))Os(e);return}function wl(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0;i=e+20|0;a=e+28|0;if((f[i>>2]|0)>>>0>(f[a>>2]|0)>>>0?(vo[f[e+36>>2]&63](e,0,0)|0,(f[i>>2]|0)==0):0)i=-1;else{s=e+4|0;r=f[s>>2]|0;t=e+8|0;n=f[t>>2]|0;if(r>>>0<n>>>0)vo[f[e+40>>2]&63](e,r-n|0,1)|0;f[e+16>>2]=0;f[a>>2]=0;f[i>>2]=0;f[t>>2]=0;f[s>>2]=0;i=0}return i|0}function ml(e,i,r,s,l){e=e|0;i=i|0;r=r|0;s=s|0;l=l|0;var o=0,d=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,O=0,R=0,L=0,I=0,B=0,N=0,F=0,j=0,U=0,H=0,Y=0,q=0,z=0,X=0,G=0,V=0,K=0,W=0,J=0,Q=0,Z=0,$=0,ee=0,re=0,te=0,ne=0,fe=0,ae=0,se=0;se=c;c=c+624|0;re=se+24|0;ne=se+16|0;te=se+588|0;J=se+576|0;ee=se;V=se+536|0;ae=se+8|0;fe=se+528|0;F=(e|0)!=0;j=V+40|0;G=j;V=V+39|0;K=ae+4|0;W=J+12|0;J=J+11|0;Q=te;Z=W;$=Z-Q|0;U=-2-Q|0;H=Z+2|0;Y=re+288|0;q=te+9|0;z=q;X=te+8|0;o=0;y=i;d=0;i=0;e:while(1){do if((o|0)>-1)if((d|0)>(2147483647-o|0)){f[(_s()|0)>>2]=75;o=-1;break}else{o=d+o|0;break}while(0)d=t[y>>0]|0;if(!(d<<24>>24)){N=245;break}else b=y;i:while(1){switch(d<<24>>24){case 37:{d=b;N=9;break i}case 0:{d=b;break i}default:{}}B=b+1|0;d=t[B>>0]|0;b=B}i:do if((N|0)==9)while(1){N=0;if((t[d+1>>0]|0)!=37)break i;b=b+1|0;d=d+2|0;if((t[d>>0]|0)==37)N=9;else break}while(0)A=b-y|0;if(F?(f[e>>2]&32|0)==0:0)el(y,A,e)|0;if((b|0)!=(y|0)){y=d;d=A;continue}m=d+1|0;b=t[m>>0]|0;k=(b<<24>>24)+-48|0;if(k>>>0<10){B=(t[d+2>>0]|0)==36;m=B?d+3|0:m;b=t[m>>0]|0;v=B?k:-1;i=B?1:i}else v=-1;d=b<<24>>24;i:do if((d&-32|0)==32){k=0;while(1){if(!(1<<d+-32&75913)){_=k;d=m;break i}k=1<<(b<<24>>24)+-32|k;m=m+1|0;b=t[m>>0]|0;d=b<<24>>24;if((d&-32|0)!=32){_=k;d=m;break}}}else{_=0;d=m}while(0)do if(b<<24>>24==42){k=d+1|0;b=(t[k>>0]|0)+-48|0;if(b>>>0<10?(t[d+2>>0]|0)==36:0){f[l+(b<<2)>>2]=10;i=1;d=d+3|0;b=f[s+((t[k>>0]|0)+-48<<3)>>2]|0}else{if(i){o=-1;break e}if(!F){E=_;d=k;i=0;B=0;break}i=(f[r>>2]|0)+(4-1)&~(4-1);b=f[i>>2]|0;f[r>>2]=i+4;i=0;d=k}if((b|0)<0){E=_|8192;B=0-b|0}else{E=_;B=b}}else{k=(b<<24>>24)+-48|0;if(k>>>0<10){b=0;do{b=(b*10|0)+k|0;d=d+1|0;k=(t[d>>0]|0)+-48|0}while(k>>>0<10)if((b|0)<0){o=-1;break e}else{E=_;B=b}}else{E=_;B=0}}while(0)i:do if((t[d>>0]|0)==46){k=d+1|0;b=t[k>>0]|0;if(b<<24>>24!=42){m=(b<<24>>24)+-48|0;if(m>>>0<10){d=k;b=0}else{d=k;m=0;break}while(1){b=(b*10|0)+m|0;d=d+1|0;m=(t[d>>0]|0)+-48|0;if(m>>>0>=10){m=b;break i}}}k=d+2|0;b=(t[k>>0]|0)+-48|0;if(b>>>0<10?(t[d+3>>0]|0)==36:0){f[l+(b<<2)>>2]=10;d=d+4|0;m=f[s+((t[k>>0]|0)+-48<<3)>>2]|0;break}if(i){o=-1;break e}if(F){d=(f[r>>2]|0)+(4-1)&~(4-1);m=f[d>>2]|0;f[r>>2]=d+4;d=k}else{d=k;m=0}}else m=-1;while(0)p=0;while(1){b=(t[d>>0]|0)+-65|0;if(b>>>0>57){o=-1;break e}k=d+1|0;b=t[25126+(p*58|0)+b>>0]|0;_=b&255;if((_+-1|0)>>>0<8){d=k;p=_}else{I=k;break}}if(!(b<<24>>24)){o=-1;break}k=(v|0)>-1;do if(b<<24>>24==19)if(k){o=-1;break e}else N=52;else{if(k){f[l+(v<<2)>>2]=_;R=s+(v<<3)|0;L=f[R+4>>2]|0;N=ee;f[N>>2]=f[R>>2];f[N+4>>2]=L;N=52;break}if(!F){o=0;break e}pl(ee,_,r)}while(0)if((N|0)==52?(N=0,!F):0){y=I;d=A;continue}v=t[d>>0]|0;v=(p|0)!=0&(v&15|0)==3?v&-33:v;k=E&-65537;L=(E&8192|0)==0?E:k;i:do switch(v|0){case 110:switch(p|0){case 0:{f[f[ee>>2]>>2]=o;y=I;d=A;continue e}case 1:{f[f[ee>>2]>>2]=o;y=I;d=A;continue e}case 2:{y=f[ee>>2]|0;f[y>>2]=o;f[y+4>>2]=((o|0)<0)<<31>>31;y=I;d=A;continue e}case 3:{n[f[ee>>2]>>1]=o;y=I;d=A;continue e}case 4:{t[f[ee>>2]>>0]=o;y=I;d=A;continue e}case 6:{f[f[ee>>2]>>2]=o;y=I;d=A;continue e}case 7:{y=f[ee>>2]|0;f[y>>2]=o;f[y+4>>2]=((o|0)<0)<<31>>31;y=I;d=A;continue e}default:{y=I;d=A;continue e}}case 112:{p=L|8;m=m>>>0>8?m:8;v=120;N=64;break}case 88:case 120:{p=L;N=64;break}case 111:{k=ee;b=f[k>>2]|0;k=f[k+4>>2]|0;if((b|0)==0&(k|0)==0)d=j;else{d=j;do{d=d+-1|0;t[d>>0]=b&7|48;b=Bl(b|0,k|0,3)|0;k=D}while(!((b|0)==0&(k|0)==0))}if(!(L&8)){b=L;p=0;_=25606;N=77}else{p=G-d+1|0;b=L;m=(m|0)<(p|0)?p:m;p=0;_=25606;N=77}break}case 105:case 100:{b=ee;d=f[b>>2]|0;b=f[b+4>>2]|0;if((b|0)<0){d=Dl(0,0,d|0,b|0)|0;b=D;k=ee;f[k>>2]=d;f[k+4>>2]=b;k=1;_=25606;N=76;break i}if(!(L&2048)){_=L&1;k=_;_=(_|0)==0?25606:25608;N=76}else{k=1;_=25607;N=76}break}case 117:{b=ee;d=f[b>>2]|0;b=f[b+4>>2]|0;k=0;_=25606;N=76;break}case 99:{t[V>>0]=f[ee>>2];y=V;b=1;p=0;v=25606;d=j;break}case 109:{d=ps(f[(_s()|0)>>2]|0)|0;N=82;break}case 115:{d=f[ee>>2]|0;d=(d|0)!=0?d:25616;N=82;break}case 67:{f[ae>>2]=f[ee>>2];f[K>>2]=0;f[ee>>2]=ae;m=-1;N=86;break}case 83:{if(!m){gl(e,32,B,0,L);d=0;N=98}else N=86;break}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{w=+u[ee>>3];f[ne>>2]=0;u[h>>3]=w;if((f[h+4>>2]|0)>=0)if(!(L&2048)){R=L&1;O=R;R=(R|0)==0?25624:25629}else{O=1;R=25626}else{w=-w;O=1;R=25623}u[h>>3]=w;x=f[h+4>>2]&2146435072;do if(x>>>0<2146435072|(x|0)==2146435072&0<0){g=+ys(w,ne)*2;b=g!=0;if(b)f[ne>>2]=(f[ne>>2]|0)+-1;C=v|32;if((C|0)==97){y=v&32;A=(y|0)==0?R:R+9|0;E=O|2;d=12-m|0;do if(!(m>>>0>11|(d|0)==0)){w=8;do{d=d+-1|0;w=w*16}while((d|0)!=0)if((t[A>>0]|0)==45){w=-(w+(-g-w));break}else{w=g+w-w;break}}else w=g;while(0)b=f[ne>>2]|0;d=(b|0)<0?0-b|0:b;d=vl(d,((d|0)<0)<<31>>31,W)|0;if((d|0)==(W|0)){t[J>>0]=48;d=J}t[d+-1>>0]=(b>>31&2)+43;p=d+-2|0;t[p>>0]=v+15;_=(m|0)<1;k=(L&8|0)==0;b=te;while(1){R=~~w;d=b+1|0;t[b>>0]=a[25590+R>>0]|y;w=(w-+(R|0))*16;do if((d-Q|0)==1){if(k&(_&w==0))break;t[d>>0]=46;d=b+2|0}while(0)if(!(w!=0))break;else b=d}m=(m|0)!=0&(U+d|0)<(m|0)?H+m-p|0:$-p+d|0;k=m+E|0;gl(e,32,B,k,L);if(!(f[e>>2]&32))el(A,E,e)|0;gl(e,48,B,k,L^65536);d=d-Q|0;if(!(f[e>>2]&32))el(te,d,e)|0;b=Z-p|0;gl(e,48,m-(d+b)|0,0,0);if(!(f[e>>2]&32))el(p,b,e)|0;gl(e,32,B,k,L^8192);d=(k|0)<(B|0)?B:k;break}d=(m|0)<0?6:m;if(b){b=(f[ne>>2]|0)+-28|0;f[ne>>2]=b;w=g*268435456}else{w=g;b=f[ne>>2]|0}x=(b|0)<0?re:Y;P=x;b=x;do{M=~~w>>>0;f[b>>2]=M;b=b+4|0;w=(w-+(M>>>0))*1e9}while(w!=0)k=b;b=f[ne>>2]|0;if((b|0)>0){_=x;while(1){p=(b|0)>29?29:b;m=k+-4|0;do if(m>>>0<_>>>0)m=_;else{b=0;do{M=Ll(f[m>>2]|0,0,p|0)|0;M=Il(M|0,D|0,b|0,0)|0;b=D;T=zl(M|0,b|0,1e9,0)|0;f[m>>2]=T;b=ql(M|0,b|0,1e9,0)|0;m=m+-4|0}while(m>>>0>=_>>>0)if(!b){m=_;break}m=_+-4|0;f[m>>2]=b}while(0)while(1){if(k>>>0<=m>>>0)break;b=k+-4|0;if(!(f[b>>2]|0))k=b;else break}b=(f[ne>>2]|0)-p|0;f[ne>>2]=b;if((b|0)>0)_=m;else break}}else m=x;if((b|0)<0){A=((d+25|0)/9|0)+1|0;S=(C|0)==102;y=m;while(1){E=0-b|0;E=(E|0)>9?9:E;do if(y>>>0<k>>>0){b=(1<<E)+-1|0;_=1e9>>>E;m=0;p=y;do{M=f[p>>2]|0;f[p>>2]=(M>>>E)+m;m=ie(M&b,_)|0;p=p+4|0}while(p>>>0<k>>>0)b=(f[y>>2]|0)==0?y+4|0:y;if(!m){m=b;break}f[k>>2]=m;m=b;k=k+4|0}else m=(f[y>>2]|0)==0?y+4|0:y;while(0)b=S?x:m;k=(k-b>>2|0)>(A|0)?b+(A<<2)|0:k;b=(f[ne>>2]|0)+E|0;f[ne>>2]=b;if((b|0)>=0){y=m;break}else y=m}}else y=m;do if(y>>>0<k>>>0){b=(P-y>>2)*9|0;_=f[y>>2]|0;if(_>>>0<10)break;else m=10;do{m=m*10|0;b=b+1|0}while(_>>>0>=m>>>0)}else b=0;while(0)T=(C|0)==103;M=(d|0)!=0;m=d-((C|0)!=102?b:0)+((M&T)<<31>>31)|0;if((m|0)<(((k-P>>2)*9|0)+-9|0)){p=m+9216|0;S=(p|0)/9|0;m=x+(S+-1023<<2)|0;p=((p|0)%9|0)+1|0;if((p|0)<9){_=10;do{_=_*10|0;p=p+1|0}while((p|0)!=9)}else _=10;E=f[m>>2]|0;A=(E>>>0)%(_>>>0)|0;if((A|0)==0?(x+(S+-1022<<2)|0)==(k|0):0)_=y;else N=163;do if((N|0)==163){N=0;g=(((E>>>0)/(_>>>0)|0)&1|0)==0?9007199254740992:9007199254740994;p=(_|0)/2|0;do if(A>>>0<p>>>0)w=.5;else{if((A|0)==(p|0)?(x+(S+-1022<<2)|0)==(k|0):0){w=1;break}w=1.5}while(0)do if(O){if((t[R>>0]|0)!=45)break;g=-g;w=-w}while(0)p=E-A|0;f[m>>2]=p;if(!(g+w!=g)){_=y;break}C=p+_|0;f[m>>2]=C;if(C>>>0>999999999){b=y;while(1){_=m+-4|0;f[m>>2]=0;if(_>>>0<b>>>0){b=b+-4|0;f[b>>2]=0}C=(f[_>>2]|0)+1|0;f[_>>2]=C;if(C>>>0>999999999)m=_;else{y=b;m=_;break}}}b=(P-y>>2)*9|0;p=f[y>>2]|0;if(p>>>0<10){_=y;break}else _=10;do{_=_*10|0;b=b+1|0}while(p>>>0>=_>>>0)_=y}while(0)C=m+4|0;y=_;k=k>>>0>C>>>0?C:k}A=0-b|0;while(1){if(k>>>0<=y>>>0){S=0;C=k;break}m=k+-4|0;if(!(f[m>>2]|0))k=m;else{S=1;C=k;break}}do if(T){d=(M&1^1)+d|0;if((d|0)>(b|0)&(b|0)>-5){v=v+-1|0;d=d+-1-b|0}else{v=v+-2|0;d=d+-1|0}k=L&8;if(k)break;do if(S){k=f[C+-4>>2]|0;if(!k){m=9;break}if(!((k>>>0)%10|0)){_=10;m=0}else{m=0;break}do{_=_*10|0;m=m+1|0}while(((k>>>0)%(_>>>0)|0|0)==0)}else m=9;while(0)k=((C-P>>2)*9|0)+-9|0;if((v|32|0)==102){k=k-m|0;k=(k|0)<0?0:k;d=(d|0)<(k|0)?d:k;k=0;break}else{k=k+b-m|0;k=(k|0)<0?0:k;d=(d|0)<(k|0)?d:k;k=0;break}}else k=L&8;while(0)E=d|k;_=(E|0)!=0&1;p=(v|32|0)==102;if(p){b=(b|0)>0?b:0;v=0}else{m=(b|0)<0?A:b;m=vl(m,((m|0)<0)<<31>>31,W)|0;if((Z-m|0)<2)do{m=m+-1|0;t[m>>0]=48}while((Z-m|0)<2)t[m+-1>>0]=(b>>31&2)+43;P=m+-2|0;t[P>>0]=v;b=Z-P|0;v=P}A=O+1+d+_+b|0;gl(e,32,B,A,L);if(!(f[e>>2]&32))el(R,O,e)|0;gl(e,48,B,A,L^65536);do if(p){m=y>>>0>x>>>0?x:y;b=m;do{k=vl(f[b>>2]|0,0,q)|0;do if((b|0)==(m|0)){if((k|0)!=(q|0))break;t[X>>0]=48;k=X}else{if(k>>>0<=te>>>0)break;do{k=k+-1|0;t[k>>0]=48}while(k>>>0>te>>>0)}while(0)if(!(f[e>>2]&32))el(k,z-k|0,e)|0;b=b+4|0}while(b>>>0<=x>>>0)do if(E){if(f[e>>2]&32)break;el(25658,1,e)|0}while(0)if((d|0)>0&b>>>0<C>>>0){k=b;while(1){b=vl(f[k>>2]|0,0,q)|0;if(b>>>0>te>>>0)do{b=b+-1|0;t[b>>0]=48}while(b>>>0>te>>>0)if(!(f[e>>2]&32))el(b,(d|0)>9?9:d,e)|0;k=k+4|0;b=d+-9|0;if(!((d|0)>9&k>>>0<C>>>0)){d=b;break}else d=b}}gl(e,48,d+9|0,9,0)}else{p=S?C:y+4|0;if((d|0)>-1){_=(k|0)==0;m=y;do{b=vl(f[m>>2]|0,0,q)|0;if((b|0)==(q|0)){t[X>>0]=48;b=X}do if((m|0)==(y|0)){k=b+1|0;if(!(f[e>>2]&32))el(b,1,e)|0;if(_&(d|0)<1){b=k;break}if(f[e>>2]&32){b=k;break}el(25658,1,e)|0;b=k}else{if(b>>>0<=te>>>0)break;do{b=b+-1|0;t[b>>0]=48}while(b>>>0>te>>>0)}while(0)k=z-b|0;if(!(f[e>>2]&32))el(b,(d|0)>(k|0)?k:d,e)|0;d=d-k|0;m=m+4|0}while(m>>>0<p>>>0&(d|0)>-1)}gl(e,48,d+18|0,18,0);if(f[e>>2]&32)break;el(v,Z-v|0,e)|0}while(0)gl(e,32,B,A,L^8192);d=(A|0)<(B|0)?B:A}else{p=(v&32|0)!=0;_=w!=w|0!=0;b=_?0:O;m=b+3|0;gl(e,32,B,m,k);d=f[e>>2]|0;if(!(d&32)){el(R,b,e)|0;d=f[e>>2]|0}if(!(d&32))el(_?p?25650:25654:p?25642:25646,3,e)|0;gl(e,32,B,m,L^8192);d=(m|0)<(B|0)?B:m}while(0)y=I;continue e}default:{k=L;b=m;p=0;v=25606;d=j}}while(0)i:do if((N|0)==64){k=ee;b=f[k>>2]|0;k=f[k+4>>2]|0;_=v&32;if(!((b|0)==0&(k|0)==0)){d=j;do{d=d+-1|0;t[d>>0]=a[25590+(b&15)>>0]|_;b=Bl(b|0,k|0,4)|0;k=D}while(!((b|0)==0&(k|0)==0))N=ee;if((p&8|0)==0|(f[N>>2]|0)==0&(f[N+4>>2]|0)==0){b=p;p=0;_=25606;N=77}else{b=p;p=2;_=25606+(v>>4)|0;N=77}}else{d=j;b=p;p=0;_=25606;N=77}}else if((N|0)==76){d=vl(d,b,j)|0;b=L;p=k;N=77}else if((N|0)==82){N=0;L=ll(d,0,m)|0;R=(L|0)==0;y=d;b=R?m:L-d|0;p=0;v=25606;d=R?d+m|0:L}else if((N|0)==86){N=0;b=0;d=0;_=f[ee>>2]|0;while(1){k=f[_>>2]|0;if(!k)break;d=Cs(fe,k)|0;if((d|0)<0|d>>>0>(m-b|0)>>>0)break;b=d+b|0;if(m>>>0>b>>>0)_=_+4|0;else break}if((d|0)<0){o=-1;break e}gl(e,32,B,b,L);if(!b){d=0;N=98}else{k=0;m=f[ee>>2]|0;while(1){d=f[m>>2]|0;if(!d){d=b;N=98;break i}d=Cs(fe,d)|0;k=d+k|0;if((k|0)>(b|0)){d=b;N=98;break i}if(!(f[e>>2]&32))el(fe,d,e)|0;if(k>>>0>=b>>>0){d=b;N=98;break}else m=m+4|0}}}while(0)if((N|0)==98){N=0;gl(e,32,B,d,L^8192);y=I;d=(B|0)>(d|0)?B:d;continue}if((N|0)==77){N=0;k=(m|0)>-1?b&-65537:b;b=ee;b=(f[b>>2]|0)!=0|(f[b+4>>2]|0)!=0;if((m|0)!=0|b){b=(b&1^1)+(G-d)|0;y=d;b=(m|0)>(b|0)?m:b;v=_;d=j}else{y=j;b=0;v=_;d=j}}_=d-y|0;b=(b|0)<(_|0)?_:b;m=p+b|0;d=(B|0)<(m|0)?m:B;gl(e,32,d,m,k);if(!(f[e>>2]&32))el(v,p,e)|0;gl(e,48,d,m,k^65536);gl(e,48,b,_,0);if(!(f[e>>2]&32))el(y,_,e)|0;gl(e,32,d,m,k^8192);y=I}e:do if((N|0)==245)if(!e)if(i){o=1;while(1){i=f[l+(o<<2)>>2]|0;if(!i)break;pl(s+(o<<3)|0,i,r);o=o+1|0;if((o|0)>=10){o=1;break e}}if((o|0)<10)while(1){if(f[l+(o<<2)>>2]|0){o=-1;break e}o=o+1|0;if((o|0)>=10){o=1;break}}else o=1}else o=0;while(0)c=se;return o|0}function _l(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0;t=e+20|0;n=f[t>>2]|0;e=(f[e+16>>2]|0)-n|0;e=e>>>0>r>>>0?r:e;Nl(n|0,i|0,e|0)|0;f[t>>2]=(f[t>>2]|0)+e;return r|0}
46
46
  function pl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0,n=0,a=0;e:do if(i>>>0<=20)do switch(i|0){case 9:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;f[e>>2]=i;break e}case 10:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;t=e;f[t>>2]=i;f[t+4>>2]=((i|0)<0)<<31>>31;break e}case 11:{t=(f[r>>2]|0)+(4-1)&~(4-1);i=f[t>>2]|0;f[r>>2]=t+4;t=e;f[t>>2]=i;f[t+4>>2]=0;break e}case 12:{t=(f[r>>2]|0)+(8-1)&~(8-1);i=t;n=f[i>>2]|0;i=f[i+4>>2]|0;f[r>>2]=t+8;t=e;f[t>>2]=n;f[t+4>>2]=i;break e}case 13:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;t=(t&65535)<<16>>16;n=e;f[n>>2]=t;f[n+4>>2]=((t|0)<0)<<31>>31;break e}case 14:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;n=e;f[n>>2]=t&65535;f[n+4>>2]=0;break e}case 15:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;t=(t&255)<<24>>24;n=e;f[n>>2]=t;f[n+4>>2]=((t|0)<0)<<31>>31;break e}case 16:{n=(f[r>>2]|0)+(4-1)&~(4-1);t=f[n>>2]|0;f[r>>2]=n+4;n=e;f[n>>2]=t&255;f[n+4>>2]=0;break e}case 17:{n=(f[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];f[r>>2]=n+8;u[e>>3]=a;break e}case 18:{n=(f[r>>2]|0)+(8-1)&~(8-1);a=+u[n>>3];f[r>>2]=n+8;u[e>>3]=a;break e}default:break e}while(0)while(0)return}function vl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if(i>>>0>0|(i|0)==0&e>>>0>4294967295)while(1){n=zl(e|0,i|0,10,0)|0;r=r+-1|0;t[r>>0]=n|48;n=ql(e|0,i|0,10,0)|0;if(i>>>0>9|(i|0)==9&e>>>0>4294967295){e=n;i=D}else{e=n;break}}if(e)while(1){r=r+-1|0;t[r>>0]=(e>>>0)%10|0|48;if(e>>>0<10)break;else e=(e>>>0)/10|0}return r|0}function gl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0;l=c;c=c+256|0;s=l;do if((r|0)>(t|0)&(n&73728|0)==0){n=r-t|0;Rl(s|0,i|0,(n>>>0>256?256:n)|0)|0;i=f[e>>2]|0;a=(i&32|0)==0;if(n>>>0>255){t=r-t|0;do{if(a){el(s,256,e)|0;i=f[e>>2]|0}n=n+-256|0;a=(i&32|0)==0}while(n>>>0>255)if(a)n=t&255;else break}else if(!a)break;el(s,n,e)|0}while(0)c=l;return}function yl(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0,g=0,y=0,E=0,A=0,S=0,T=0,M=0,C=0,P=0,x=0,D=0,O=0,R=0,L=0,I=0,B=0,N=0,F=0;do if(e>>>0<245){b=e>>>0<11?16:e+11&-8;e=b>>>3;l=f[735]|0;r=l>>>e;if(r&3){e=(r&1^1)+e|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;n=f[t>>2]|0;a=n+8|0;s=f[a>>2]|0;do if((r|0)!=(s|0)){if(s>>>0<(f[739]|0)>>>0)ye();i=s+12|0;if((f[i>>2]|0)==(n|0)){f[i>>2]=r;f[t>>2]=s;break}else ye()}else f[735]=l&~(1<<e);while(0)F=e<<3;f[n+4>>2]=F|3;F=n+(F|4)|0;f[F>>2]=f[F>>2]|1;F=a;return F|0}s=f[737]|0;if(b>>>0>s>>>0){if(r){t=2<<e;t=r<<e&(t|0-t);t=(t&0-t)+-1|0;o=t>>>12&16;t=t>>>o;n=t>>>5&8;t=t>>>n;a=t>>>2&4;t=t>>>a;r=t>>>1&2;t=t>>>r;e=t>>>1&1;e=(n|o|a|r|e)+(t>>>e)|0;t=e<<1;r=2980+(t<<2)|0;t=2980+(t+2<<2)|0;a=f[t>>2]|0;o=a+8|0;n=f[o>>2]|0;do if((r|0)!=(n|0)){if(n>>>0<(f[739]|0)>>>0)ye();i=n+12|0;if((f[i>>2]|0)==(a|0)){f[i>>2]=r;f[t>>2]=n;u=f[737]|0;break}else ye()}else{f[735]=l&~(1<<e);u=s}while(0)F=e<<3;s=F-b|0;f[a+4>>2]=b|3;l=a+b|0;f[a+(b|4)>>2]=s|1;f[a+F>>2]=s;if(u){n=f[740]|0;r=u>>>3;i=r<<1;t=2980+(i<<2)|0;e=f[735]|0;r=1<<r;if(e&r){e=2980+(i+2<<2)|0;i=f[e>>2]|0;if(i>>>0<(f[739]|0)>>>0)ye();else{c=e;d=i}}else{f[735]=e|r;c=2980+(i+2<<2)|0;d=t}f[c>>2]=n;f[d+12>>2]=n;f[n+8>>2]=d;f[n+12>>2]=t}f[737]=s;f[740]=l;F=o;return F|0}e=f[736]|0;if(e){r=(e&0-e)+-1|0;N=r>>>12&16;r=r>>>N;B=r>>>5&8;r=r>>>B;F=r>>>2&4;r=r>>>F;e=r>>>1&2;r=r>>>e;t=r>>>1&1;t=f[3244+((B|N|F|e|t)+(r>>>t)<<2)>>2]|0;r=(f[t+4>>2]&-8)-b|0;e=t;while(1){i=f[e+16>>2]|0;if(!i){i=f[e+20>>2]|0;if(!i){o=r;break}}e=(f[i+4>>2]&-8)-b|0;F=e>>>0<r>>>0;r=F?e:r;e=i;t=F?i:t}a=f[739]|0;if(t>>>0<a>>>0)ye();l=t+b|0;if(t>>>0>=l>>>0)ye();s=f[t+24>>2]|0;r=f[t+12>>2]|0;do if((r|0)==(t|0)){e=t+20|0;i=f[e>>2]|0;if(!i){e=t+16|0;i=f[e>>2]|0;if(!i){h=0;break}}while(1){r=i+20|0;n=f[r>>2]|0;if(n){i=n;e=r;continue}r=i+16|0;n=f[r>>2]|0;if(!n)break;else{i=n;e=r}}if(e>>>0<a>>>0)ye();else{f[e>>2]=0;h=i;break}}else{n=f[t+8>>2]|0;if(n>>>0<a>>>0)ye();i=n+12|0;if((f[i>>2]|0)!=(t|0))ye();e=r+8|0;if((f[e>>2]|0)==(t|0)){f[i>>2]=r;f[e>>2]=n;h=r;break}else ye()}while(0)do if(s){i=f[t+28>>2]|0;e=3244+(i<<2)|0;if((t|0)==(f[e>>2]|0)){f[e>>2]=h;if(!h){f[736]=f[736]&~(1<<i);break}}else{if(s>>>0<(f[739]|0)>>>0)ye();i=s+16|0;if((f[i>>2]|0)==(t|0))f[i>>2]=h;else f[s+20>>2]=h;if(!h)break}e=f[739]|0;if(h>>>0<e>>>0)ye();f[h+24>>2]=s;i=f[t+16>>2]|0;do if(i)if(i>>>0<e>>>0)ye();else{f[h+16>>2]=i;f[i+24>>2]=h;break}while(0)i=f[t+20>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[h+20>>2]=i;f[i+24>>2]=h;break}}while(0)if(o>>>0<16){F=o+b|0;f[t+4>>2]=F|3;F=t+(F+4)|0;f[F>>2]=f[F>>2]|1}else{f[t+4>>2]=b|3;f[t+(b|4)>>2]=o|1;f[t+(o+b)>>2]=o;i=f[737]|0;if(i){a=f[740]|0;r=i>>>3;i=r<<1;n=2980+(i<<2)|0;e=f[735]|0;r=1<<r;if(e&r){i=2980+(i+2<<2)|0;e=f[i>>2]|0;if(e>>>0<(f[739]|0)>>>0)ye();else{k=i;w=e}}else{f[735]=e|r;k=2980+(i+2<<2)|0;w=n}f[k>>2]=a;f[w+12>>2]=a;f[a+8>>2]=w;f[a+12>>2]=n}f[737]=o;f[740]=l}F=t+8|0;return F|0}else w=b}else w=b}else if(e>>>0<=4294967231){e=e+11|0;d=e&-8;c=f[736]|0;if(c){r=0-d|0;e=e>>>8;if(e)if(d>>>0>16777215)u=31;else{w=(e+1048320|0)>>>16&8;g=e<<w;k=(g+520192|0)>>>16&4;g=g<<k;u=(g+245760|0)>>>16&2;u=14-(k|w|u)+(g<<u>>>15)|0;u=d>>>(u+7|0)&1|u<<1}else u=0;e=f[3244+(u<<2)>>2]|0;e:do if(!e){n=0;e=0;g=86}else{s=r;n=0;l=d<<((u|0)==31?0:25-(u>>>1)|0);o=e;e=0;while(1){a=f[o+4>>2]&-8;r=a-d|0;if(r>>>0<s>>>0)if((a|0)==(d|0)){a=o;e=o;g=90;break e}else e=o;else r=s;g=f[o+20>>2]|0;o=f[o+16+(l>>>31<<2)>>2]|0;n=(g|0)==0|(g|0)==(o|0)?n:g;if(!o){g=86;break}else{s=r;l=l<<1}}}while(0)if((g|0)==86){if((n|0)==0&(e|0)==0){e=2<<u;e=c&(e|0-e);if(!e){w=d;break}e=(e&0-e)+-1|0;h=e>>>12&16;e=e>>>h;c=e>>>5&8;e=e>>>c;k=e>>>2&4;e=e>>>k;w=e>>>1&2;e=e>>>w;n=e>>>1&1;n=f[3244+((c|h|k|w|n)+(e>>>n)<<2)>>2]|0;e=0}if(!n){l=r;o=e}else{a=n;g=90}}if((g|0)==90)while(1){g=0;w=(f[a+4>>2]&-8)-d|0;n=w>>>0<r>>>0;r=n?w:r;e=n?a:e;n=f[a+16>>2]|0;if(n){a=n;g=90;continue}a=f[a+20>>2]|0;if(!a){l=r;o=e;break}else g=90}if((o|0)!=0?l>>>0<((f[737]|0)-d|0)>>>0:0){n=f[739]|0;if(o>>>0<n>>>0)ye();s=o+d|0;if(o>>>0>=s>>>0)ye();a=f[o+24>>2]|0;r=f[o+12>>2]|0;do if((r|0)==(o|0)){e=o+20|0;i=f[e>>2]|0;if(!i){e=o+16|0;i=f[e>>2]|0;if(!i){b=0;break}}while(1){r=i+20|0;t=f[r>>2]|0;if(t){i=t;e=r;continue}r=i+16|0;t=f[r>>2]|0;if(!t)break;else{i=t;e=r}}if(e>>>0<n>>>0)ye();else{f[e>>2]=0;b=i;break}}else{t=f[o+8>>2]|0;if(t>>>0<n>>>0)ye();i=t+12|0;if((f[i>>2]|0)!=(o|0))ye();e=r+8|0;if((f[e>>2]|0)==(o|0)){f[i>>2]=r;f[e>>2]=t;b=r;break}else ye()}while(0)do if(a){i=f[o+28>>2]|0;e=3244+(i<<2)|0;if((o|0)==(f[e>>2]|0)){f[e>>2]=b;if(!b){f[736]=f[736]&~(1<<i);break}}else{if(a>>>0<(f[739]|0)>>>0)ye();i=a+16|0;if((f[i>>2]|0)==(o|0))f[i>>2]=b;else f[a+20>>2]=b;if(!b)break}e=f[739]|0;if(b>>>0<e>>>0)ye();f[b+24>>2]=a;i=f[o+16>>2]|0;do if(i)if(i>>>0<e>>>0)ye();else{f[b+16>>2]=i;f[i+24>>2]=b;break}while(0)i=f[o+20>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[b+20>>2]=i;f[i+24>>2]=b;break}}while(0)e:do if(l>>>0>=16){f[o+4>>2]=d|3;f[o+(d|4)>>2]=l|1;f[o+(l+d)>>2]=l;i=l>>>3;if(l>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=f[735]|0;i=1<<i;if(r&i){i=2980+(e+2<<2)|0;e=f[i>>2]|0;if(e>>>0<(f[739]|0)>>>0)ye();else{_=i;p=e}}else{f[735]=r|i;_=2980+(e+2<<2)|0;p=t}f[_>>2]=s;f[p+12>>2]=s;f[o+(d+8)>>2]=p;f[o+(d+12)>>2]=t;break}i=l>>>8;if(i)if(l>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<<N;B=(F+520192|0)>>>16&4;F=F<<B;t=(F+245760|0)>>>16&2;t=14-(B|N|t)+(F<<t>>>15)|0;t=l>>>(t+7|0)&1|t<<1}else t=0;i=3244+(t<<2)|0;f[o+(d+28)>>2]=t;f[o+(d+20)>>2]=0;f[o+(d+16)>>2]=0;e=f[736]|0;r=1<<t;if(!(e&r)){f[736]=e|r;f[i>>2]=s;f[o+(d+24)>>2]=i;f[o+(d+12)>>2]=s;f[o+(d+8)>>2]=s;break}i=f[i>>2]|0;i:do if((f[i+4>>2]&-8|0)!=(l|0)){t=l<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(l|0)){A=r;break i}else{t=t<<1;i=r}}if(e>>>0<(f[739]|0)>>>0)ye();else{f[e>>2]=s;f[o+(d+24)>>2]=i;f[o+(d+12)>>2]=s;f[o+(d+8)>>2]=s;break e}}else A=i;while(0)i=A+8|0;e=f[i>>2]|0;F=f[739]|0;if(e>>>0>=F>>>0&A>>>0>=F>>>0){f[e+12>>2]=s;f[i>>2]=s;f[o+(d+8)>>2]=e;f[o+(d+12)>>2]=A;f[o+(d+24)>>2]=0;break}else ye()}else{F=l+d|0;f[o+4>>2]=F|3;F=o+(F+4)|0;f[F>>2]=f[F>>2]|1}while(0)F=o+8|0;return F|0}else w=d}else w=d}else w=-1;while(0)r=f[737]|0;if(r>>>0>=w>>>0){i=r-w|0;e=f[740]|0;if(i>>>0>15){f[740]=e+w;f[737]=i;f[e+(w+4)>>2]=i|1;f[e+r>>2]=i;f[e+4>>2]=w|3}else{f[737]=0;f[740]=0;f[e+4>>2]=r|3;F=e+(r+4)|0;f[F>>2]=f[F>>2]|1}F=e+8|0;return F|0}e=f[738]|0;if(e>>>0>w>>>0){N=e-w|0;f[738]=N;F=f[741]|0;f[741]=F+w;f[F+(w+4)>>2]=N|1;f[F+4>>2]=w|3;F=F+8|0;return F|0}do if(!(f[853]|0)){e=Ce(30)|0;if(!(e+-1&e)){f[855]=e;f[854]=e;f[856]=-1;f[857]=-1;f[858]=0;f[846]=0;f[853]=(Ue(0)|0)&-16^1431655768;break}else ye()}while(0)o=w+48|0;l=f[855]|0;u=w+47|0;s=l+u|0;l=0-l|0;c=s&l;if(c>>>0<=w>>>0){F=0;return F|0}e=f[845]|0;if((e|0)!=0?(p=f[843]|0,A=p+c|0,A>>>0<=p>>>0|A>>>0>e>>>0):0){F=0;return F|0}e:do if(!(f[846]&4)){e=f[741]|0;i:do if(e){n=3388;while(1){r=f[n>>2]|0;if(r>>>0<=e>>>0?(m=n+4|0,(r+(f[m>>2]|0)|0)>>>0>e>>>0):0){a=n;e=m;break}n=f[n+8>>2]|0;if(!n){g=174;break i}}r=s-(f[738]|0)&l;if(r>>>0<2147483647){n=Te(r|0)|0;A=(n|0)==((f[a>>2]|0)+(f[e>>2]|0)|0);e=A?r:0;if(A){if((n|0)!=(-1|0)){y=n;k=e;g=194;break e}}else g=184}else e=0}else g=174;while(0)do if((g|0)==174){a=Te(0)|0;if((a|0)!=(-1|0)){e=a;r=f[854]|0;n=r+-1|0;if(!(n&e))r=c;else r=c-e+(n+e&0-r)|0;e=f[843]|0;n=e+r|0;if(r>>>0>w>>>0&r>>>0<2147483647){A=f[845]|0;if((A|0)!=0?n>>>0<=e>>>0|n>>>0>A>>>0:0){e=0;break}n=Te(r|0)|0;A=(n|0)==(a|0);e=A?r:0;if(A){y=a;k=e;g=194;break e}else g=184}else e=0}else e=0}while(0)i:do if((g|0)==184){a=0-r|0;do if(o>>>0>r>>>0&(r>>>0<2147483647&(n|0)!=(-1|0))?(v=f[855]|0,v=u-r+v&0-v,v>>>0<2147483647):0)if((Te(v|0)|0)==(-1|0)){Te(a|0)|0;break i}else{r=v+r|0;break}while(0)if((n|0)!=(-1|0)){y=n;k=r;g=194;break e}}while(0)f[846]=f[846]|4;g=191}else{e=0;g=191}while(0)if((((g|0)==191?c>>>0<2147483647:0)?(y=Te(c|0)|0,E=Te(0)|0,y>>>0<E>>>0&((y|0)!=(-1|0)&(E|0)!=(-1|0))):0)?(S=E-y|0,T=S>>>0>(w+40|0)>>>0,T):0){k=T?S:e;g=194}if((g|0)==194){e=(f[843]|0)+k|0;f[843]=e;if(e>>>0>(f[844]|0)>>>0)f[844]=e;s=f[741]|0;e:do if(s){a=3388;do{e=f[a>>2]|0;r=a+4|0;n=f[r>>2]|0;if((y|0)==(e+n|0)){M=e;C=r;P=n;x=a;g=204;break}a=f[a+8>>2]|0}while((a|0)!=0)if(((g|0)==204?(f[x+12>>2]&8|0)==0:0)?s>>>0<y>>>0&s>>>0>=M>>>0:0){f[C>>2]=P+k;F=(f[738]|0)+k|0;N=s+8|0;N=(N&7|0)==0?0:0-N&7;B=F-N|0;f[741]=s+N;f[738]=B;f[s+(N+4)>>2]=B|1;f[s+(F+4)>>2]=40;f[742]=f[857];break}e=f[739]|0;if(y>>>0<e>>>0){f[739]=y;e=y}r=y+k|0;a=3388;while(1){if((f[a>>2]|0)==(r|0)){n=a;r=a;g=212;break}a=f[a+8>>2]|0;if(!a){r=3388;break}}if((g|0)==212)if(!(f[r+12>>2]&8)){f[n>>2]=y;h=r+4|0;f[h>>2]=(f[h>>2]|0)+k;h=y+8|0;h=(h&7|0)==0?0:0-h&7;u=y+(k+8)|0;u=(u&7|0)==0?0:0-u&7;i=y+(u+k)|0;d=h+w|0;b=y+d|0;c=i-(y+h)-w|0;f[y+(h+4)>>2]=w|3;i:do if((i|0)!=(s|0)){if((i|0)==(f[740]|0)){F=(f[737]|0)+c|0;f[737]=F;f[740]=b;f[y+(d+4)>>2]=F|1;f[y+(F+d)>>2]=F;break}l=k+4|0;r=f[y+(l+u)>>2]|0;if((r&3|0)==1){o=r&-8;a=r>>>3;r:do if(r>>>0>=256){s=f[y+((u|24)+k)>>2]|0;t=f[y+(k+12+u)>>2]|0;do if((t|0)==(i|0)){n=u|16;t=y+(l+n)|0;r=f[t>>2]|0;if(!r){t=y+(n+k)|0;r=f[t>>2]|0;if(!r){I=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<e>>>0)ye();else{f[t>>2]=0;I=r;break}}else{n=f[y+((u|8)+k)>>2]|0;if(n>>>0<e>>>0)ye();e=n+12|0;if((f[e>>2]|0)!=(i|0))ye();r=t+8|0;if((f[r>>2]|0)==(i|0)){f[e>>2]=t;f[r>>2]=n;I=t;break}else ye()}while(0)if(!s)break;e=f[y+(k+28+u)>>2]|0;r=3244+(e<<2)|0;do if((i|0)!=(f[r>>2]|0)){if(s>>>0<(f[739]|0)>>>0)ye();e=s+16|0;if((f[e>>2]|0)==(i|0))f[e>>2]=I;else f[s+20>>2]=I;if(!I)break r}else{f[r>>2]=I;if(I)break;f[736]=f[736]&~(1<<e);break r}while(0)r=f[739]|0;if(I>>>0<r>>>0)ye();f[I+24>>2]=s;i=u|16;e=f[y+(i+k)>>2]|0;do if(e)if(e>>>0<r>>>0)ye();else{f[I+16>>2]=e;f[e+24>>2]=I;break}while(0)i=f[y+(l+i)>>2]|0;if(!i)break;if(i>>>0<(f[739]|0)>>>0)ye();else{f[I+20>>2]=i;f[i+24>>2]=I;break}}else{t=f[y+((u|8)+k)>>2]|0;n=f[y+(k+12+u)>>2]|0;r=2980+(a<<1<<2)|0;do if((t|0)!=(r|0)){if(t>>>0<e>>>0)ye();if((f[t+12>>2]|0)==(i|0))break;ye()}while(0)if((n|0)==(t|0)){f[735]=f[735]&~(1<<a);break}do if((n|0)==(r|0))D=n+8|0;else{if(n>>>0<e>>>0)ye();e=n+8|0;if((f[e>>2]|0)==(i|0)){D=e;break}ye()}while(0)f[t+12>>2]=n;f[D>>2]=t}while(0)i=y+((o|u)+k)|0;n=o+c|0}else n=c;i=i+4|0;f[i>>2]=f[i>>2]&-2;f[y+(d+4)>>2]=n|1;f[y+(n+d)>>2]=n;i=n>>>3;if(n>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=f[735]|0;i=1<<i;do if(!(r&i)){f[735]=r|i;B=2980+(e+2<<2)|0;N=t}else{i=2980+(e+2<<2)|0;e=f[i>>2]|0;if(e>>>0>=(f[739]|0)>>>0){B=i;N=e;break}ye()}while(0)f[B>>2]=b;f[N+12>>2]=b;f[y+(d+8)>>2]=N;f[y+(d+12)>>2]=t;break}i=n>>>8;do if(!i)t=0;else{if(n>>>0>16777215){t=31;break}B=(i+1048320|0)>>>16&8;N=i<<B;I=(N+520192|0)>>>16&4;N=N<<I;t=(N+245760|0)>>>16&2;t=14-(I|B|t)+(N<<t>>>15)|0;t=n>>>(t+7|0)&1|t<<1}while(0)i=3244+(t<<2)|0;f[y+(d+28)>>2]=t;f[y+(d+20)>>2]=0;f[y+(d+16)>>2]=0;e=f[736]|0;r=1<<t;if(!(e&r)){f[736]=e|r;f[i>>2]=b;f[y+(d+24)>>2]=i;f[y+(d+12)>>2]=b;f[y+(d+8)>>2]=b;break}i=f[i>>2]|0;r:do if((f[i+4>>2]&-8|0)!=(n|0)){t=n<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(n|0)){F=r;break r}else{t=t<<1;i=r}}if(e>>>0<(f[739]|0)>>>0)ye();else{f[e>>2]=b;f[y+(d+24)>>2]=i;f[y+(d+12)>>2]=b;f[y+(d+8)>>2]=b;break i}}else F=i;while(0)i=F+8|0;e=f[i>>2]|0;N=f[739]|0;if(e>>>0>=N>>>0&F>>>0>=N>>>0){f[e+12>>2]=b;f[i>>2]=b;f[y+(d+8)>>2]=e;f[y+(d+12)>>2]=F;f[y+(d+24)>>2]=0;break}else ye()}else{F=(f[738]|0)+c|0;f[738]=F;f[741]=b;f[y+(d+4)>>2]=F|1}while(0)F=y+(h|8)|0;return F|0}else r=3388;while(1){e=f[r>>2]|0;if(e>>>0<=s>>>0?(i=f[r+4>>2]|0,t=e+i|0,t>>>0>s>>>0):0)break;r=f[r+8>>2]|0}n=e+(i+-39)|0;e=e+(i+-47+((n&7|0)==0?0:0-n&7))|0;n=s+16|0;e=e>>>0<n>>>0?s:e;i=e+8|0;r=y+8|0;r=(r&7|0)==0?0:0-r&7;F=k+-40-r|0;f[741]=y+r;f[738]=F;f[y+(r+4)>>2]=F|1;f[y+(k+-36)>>2]=40;f[742]=f[857];r=e+4|0;f[r>>2]=27;f[i>>2]=f[847];f[i+4>>2]=f[848];f[i+8>>2]=f[849];f[i+12>>2]=f[850];f[847]=y;f[848]=k;f[850]=0;f[849]=i;i=e+28|0;f[i>>2]=7;if((e+32|0)>>>0<t>>>0)do{F=i;i=i+4|0;f[i>>2]=7}while((F+8|0)>>>0<t>>>0)if((e|0)!=(s|0)){a=e-s|0;f[r>>2]=f[r>>2]&-2;f[s+4>>2]=a|1;f[e>>2]=a;i=a>>>3;if(a>>>0<256){e=i<<1;t=2980+(e<<2)|0;r=f[735]|0;i=1<<i;if(r&i){i=2980+(e+2<<2)|0;e=f[i>>2]|0;if(e>>>0<(f[739]|0)>>>0)ye();else{O=i;R=e}}else{f[735]=r|i;O=2980+(e+2<<2)|0;R=t}f[O>>2]=s;f[R+12>>2]=s;f[s+8>>2]=R;f[s+12>>2]=t;break}i=a>>>8;if(i)if(a>>>0>16777215)t=31;else{N=(i+1048320|0)>>>16&8;F=i<<N;B=(F+520192|0)>>>16&4;F=F<<B;t=(F+245760|0)>>>16&2;t=14-(B|N|t)+(F<<t>>>15)|0;t=a>>>(t+7|0)&1|t<<1}else t=0;r=3244+(t<<2)|0;f[s+28>>2]=t;f[s+20>>2]=0;f[n>>2]=0;i=f[736]|0;e=1<<t;if(!(i&e)){f[736]=i|e;f[r>>2]=s;f[s+24>>2]=r;f[s+12>>2]=s;f[s+8>>2]=s;break}i=f[r>>2]|0;i:do if((f[i+4>>2]&-8|0)!=(a|0)){t=a<<((t|0)==31?0:25-(t>>>1)|0);while(1){e=i+16+(t>>>31<<2)|0;r=f[e>>2]|0;if(!r)break;if((f[r+4>>2]&-8|0)==(a|0)){L=r;break i}else{t=t<<1;i=r}}if(e>>>0<(f[739]|0)>>>0)ye();else{f[e>>2]=s;f[s+24>>2]=i;f[s+12>>2]=s;f[s+8>>2]=s;break e}}else L=i;while(0)i=L+8|0;e=f[i>>2]|0;F=f[739]|0;if(e>>>0>=F>>>0&L>>>0>=F>>>0){f[e+12>>2]=s;f[i>>2]=s;f[s+8>>2]=e;f[s+12>>2]=L;f[s+24>>2]=0;break}else ye()}}else{F=f[739]|0;if((F|0)==0|y>>>0<F>>>0)f[739]=y;f[847]=y;f[848]=k;f[850]=0;f[744]=f[853];f[743]=-1;i=0;do{F=i<<1;N=2980+(F<<2)|0;f[2980+(F+3<<2)>>2]=N;f[2980+(F+2<<2)>>2]=N;i=i+1|0}while((i|0)!=32)F=y+8|0;F=(F&7|0)==0?0:0-F&7;N=k+-40-F|0;f[741]=y+F;f[738]=N;f[y+(F+4)>>2]=N|1;f[y+(k+-36)>>2]=40;f[742]=f[857]}while(0)i=f[738]|0;if(i>>>0>w>>>0){N=i-w|0;f[738]=N;F=f[741]|0;f[741]=F+w;f[F+(w+4)>>2]=N|1;f[F+4>>2]=w|3;F=F+8|0;return F|0}}f[(_s()|0)>>2]=12;F=0;return F|0}function El(e){e=e|0;var i=0,r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0,v=0;if(!e)return;i=e+-8|0;l=f[739]|0;if(i>>>0<l>>>0)ye();r=f[e+-4>>2]|0;t=r&3;if((t|0)==1)ye();b=r&-8;w=e+(b+-8)|0;do if(!(r&1)){i=f[i>>2]|0;if(!t)return;o=-8-i|0;c=e+o|0;d=i+b|0;if(c>>>0<l>>>0)ye();if((c|0)==(f[740]|0)){i=e+(b+-4)|0;r=f[i>>2]|0;if((r&3|0)!=3){v=c;a=d;break}f[737]=d;f[i>>2]=r&-2;f[e+(o+4)>>2]=d|1;f[w>>2]=d;return}n=i>>>3;if(i>>>0<256){t=f[e+(o+8)>>2]|0;r=f[e+(o+12)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<l>>>0)ye();if((f[t+12>>2]|0)!=(c|0))ye()}if((r|0)==(t|0)){f[735]=f[735]&~(1<<n);v=c;a=d;break}if((r|0)!=(i|0)){if(r>>>0<l>>>0)ye();i=r+8|0;if((f[i>>2]|0)==(c|0))s=i;else ye()}else s=r+8|0;f[t+12>>2]=r;f[s>>2]=t;v=c;a=d;break}s=f[e+(o+24)>>2]|0;t=f[e+(o+12)>>2]|0;do if((t|0)==(c|0)){r=e+(o+20)|0;i=f[r>>2]|0;if(!i){r=e+(o+16)|0;i=f[r>>2]|0;if(!i){u=0;break}}while(1){t=i+20|0;n=f[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=f[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<l>>>0)ye();else{f[r>>2]=0;u=i;break}}else{n=f[e+(o+8)>>2]|0;if(n>>>0<l>>>0)ye();i=n+12|0;if((f[i>>2]|0)!=(c|0))ye();r=t+8|0;if((f[r>>2]|0)==(c|0)){f[i>>2]=t;f[r>>2]=n;u=t;break}else ye()}while(0)if(s){i=f[e+(o+28)>>2]|0;r=3244+(i<<2)|0;if((c|0)==(f[r>>2]|0)){f[r>>2]=u;if(!u){f[736]=f[736]&~(1<<i);v=c;a=d;break}}else{if(s>>>0<(f[739]|0)>>>0)ye();i=s+16|0;if((f[i>>2]|0)==(c|0))f[i>>2]=u;else f[s+20>>2]=u;if(!u){v=c;a=d;break}}r=f[739]|0;if(u>>>0<r>>>0)ye();f[u+24>>2]=s;i=f[e+(o+16)>>2]|0;do if(i)if(i>>>0<r>>>0)ye();else{f[u+16>>2]=i;f[i+24>>2]=u;break}while(0)i=f[e+(o+20)>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[u+20>>2]=i;f[i+24>>2]=u;v=c;a=d;break}else{v=c;a=d}}else{v=c;a=d}}else{v=i;a=b}while(0)if(v>>>0>=w>>>0)ye();i=e+(b+-4)|0;r=f[i>>2]|0;if(!(r&1))ye();if(!(r&2)){if((w|0)==(f[741]|0)){p=(f[738]|0)+a|0;f[738]=p;f[741]=v;f[v+4>>2]=p|1;if((v|0)!=(f[740]|0))return;f[740]=0;f[737]=0;return}if((w|0)==(f[740]|0)){p=(f[737]|0)+a|0;f[737]=p;f[740]=v;f[v+4>>2]=p|1;f[v+p>>2]=p;return}a=(r&-8)+a|0;n=r>>>3;do if(r>>>0>=256){s=f[e+(b+16)>>2]|0;i=f[e+(b|4)>>2]|0;do if((i|0)==(w|0)){r=e+(b+12)|0;i=f[r>>2]|0;if(!i){r=e+(b+8)|0;i=f[r>>2]|0;if(!i){k=0;break}}while(1){t=i+20|0;n=f[t>>2]|0;if(n){i=n;r=t;continue}t=i+16|0;n=f[t>>2]|0;if(!n)break;else{i=n;r=t}}if(r>>>0<(f[739]|0)>>>0)ye();else{f[r>>2]=0;k=i;break}}else{r=f[e+b>>2]|0;if(r>>>0<(f[739]|0)>>>0)ye();t=r+12|0;if((f[t>>2]|0)!=(w|0))ye();n=i+8|0;if((f[n>>2]|0)==(w|0)){f[t>>2]=i;f[n>>2]=r;k=i;break}else ye()}while(0)if(s){i=f[e+(b+20)>>2]|0;r=3244+(i<<2)|0;if((w|0)==(f[r>>2]|0)){f[r>>2]=k;if(!k){f[736]=f[736]&~(1<<i);break}}else{if(s>>>0<(f[739]|0)>>>0)ye();i=s+16|0;if((f[i>>2]|0)==(w|0))f[i>>2]=k;else f[s+20>>2]=k;if(!k)break}r=f[739]|0;if(k>>>0<r>>>0)ye();f[k+24>>2]=s;i=f[e+(b+8)>>2]|0;do if(i)if(i>>>0<r>>>0)ye();else{f[k+16>>2]=i;f[i+24>>2]=k;break}while(0)i=f[e+(b+12)>>2]|0;if(i)if(i>>>0<(f[739]|0)>>>0)ye();else{f[k+20>>2]=i;f[i+24>>2]=k;break}}}else{t=f[e+b>>2]|0;r=f[e+(b|4)>>2]|0;i=2980+(n<<1<<2)|0;if((t|0)!=(i|0)){if(t>>>0<(f[739]|0)>>>0)ye();if((f[t+12>>2]|0)!=(w|0))ye()}if((r|0)==(t|0)){f[735]=f[735]&~(1<<n);break}if((r|0)!=(i|0)){if(r>>>0<(f[739]|0)>>>0)ye();i=r+8|0;if((f[i>>2]|0)==(w|0))h=i;else ye()}else h=r+8|0;f[t+12>>2]=r;f[h>>2]=t}while(0)f[v+4>>2]=a|1;f[v+a>>2]=a;if((v|0)==(f[740]|0)){f[737]=a;return}}else{f[i>>2]=r&-2;f[v+4>>2]=a|1;f[v+a>>2]=a}i=a>>>3;if(a>>>0<256){r=i<<1;n=2980+(r<<2)|0;t=f[735]|0;i=1<<i;if(t&i){i=2980+(r+2<<2)|0;r=f[i>>2]|0;if(r>>>0<(f[739]|0)>>>0)ye();else{m=i;_=r}}else{f[735]=t|i;m=2980+(r+2<<2)|0;_=n}f[m>>2]=v;f[_+12>>2]=v;f[v+8>>2]=_;f[v+12>>2]=n;return}i=a>>>8;if(i)if(a>>>0>16777215)n=31;else{m=(i+1048320|0)>>>16&8;_=i<<m;w=(_+520192|0)>>>16&4;_=_<<w;n=(_+245760|0)>>>16&2;n=14-(w|m|n)+(_<<n>>>15)|0;n=a>>>(n+7|0)&1|n<<1}else n=0;i=3244+(n<<2)|0;f[v+28>>2]=n;f[v+20>>2]=0;f[v+16>>2]=0;r=f[736]|0;t=1<<n;e:do if(r&t){i=f[i>>2]|0;i:do if((f[i+4>>2]&-8|0)!=(a|0)){n=a<<((n|0)==31?0:25-(n>>>1)|0);while(1){r=i+16+(n>>>31<<2)|0;t=f[r>>2]|0;if(!t)break;if((f[t+4>>2]&-8|0)==(a|0)){p=t;break i}else{n=n<<1;i=t}}if(r>>>0<(f[739]|0)>>>0)ye();else{f[r>>2]=v;f[v+24>>2]=i;f[v+12>>2]=v;f[v+8>>2]=v;break e}}else p=i;while(0)i=p+8|0;r=f[i>>2]|0;_=f[739]|0;if(r>>>0>=_>>>0&p>>>0>=_>>>0){f[r+12>>2]=v;f[i>>2]=v;f[v+8>>2]=r;f[v+12>>2]=p;f[v+24>>2]=0;break}else ye()}else{f[736]=r|t;f[i>>2]=v;f[v+24>>2]=i;f[v+12>>2]=v;f[v+8>>2]=v}while(0)v=(f[743]|0)+-1|0;f[743]=v;if(!v)i=3396;else return;while(1){i=f[i>>2]|0;if(!i)break;else i=i+8|0}f[743]=-1;return}function Al(e,i){e=e|0;i=i|0;var r=0;if(e){r=ie(i,e)|0;if((i|e)>>>0>65535)r=((r>>>0)/(e>>>0)|0|0)==(i|0)?r:-1}else r=0;i=yl(r)|0;if(!i)return i|0;if(!(f[i+-4>>2]&3))return i|0;Rl(i|0,0,r|0)|0;return i|0}function Sl(e,i){e=e|0;i=i|0;var r=0,t=0;if(!e){e=yl(i)|0;return e|0}if(i>>>0>4294967231){f[(_s()|0)>>2]=12;e=0;return e|0}r=Ml(e+-8|0,i>>>0<11?16:i+11&-8)|0;if(r){e=r+8|0;return e|0}r=yl(i)|0;if(!r){e=0;return e|0}t=f[e+-4>>2]|0;t=(t&-8)-((t&3|0)==0?8:4)|0;Nl(r|0,e|0,(t>>>0<i>>>0?t:i)|0)|0;El(e);e=r;return e|0}function Tl(e,i,r){e=e|0;i=i|0;r=r|0;var t=0;do if((i|0)!=8){t=i>>>2;if((i&3|0)!=0|(t|0)==0){e=22;return e|0}if(t+1073741823&t){e=22;return e|0}if((-64-i|0)>>>0<r>>>0){e=12;return e|0}else{t=Cl(i>>>0<16?16:i,r)|0;break}}else t=yl(r)|0;while(0)if(!t){e=12;return e|0}f[e>>2]=t;e=0;return e|0}function Ml(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;b=e+4|0;k=f[b>>2]|0;o=k&-8;c=e+o|0;l=f[739]|0;r=k&3;if(!((r|0)!=1&e>>>0>=l>>>0&e>>>0<c>>>0))ye();t=e+(o|4)|0;n=f[t>>2]|0;if(!(n&1))ye();if(!r){if(i>>>0<256){e=0;return e|0}if(o>>>0>=(i+4|0)>>>0?(o-i|0)>>>0<=f[855]<<1>>>0:0)return e|0;e=0;return e|0}if(o>>>0>=i>>>0){r=o-i|0;if(r>>>0<=15)return e|0;f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=r|3;f[t>>2]=f[t>>2]|1;Pl(e+i|0,r);return e|0}if((c|0)==(f[741]|0)){r=(f[738]|0)+o|0;if(r>>>0<=i>>>0){e=0;return e|0}h=r-i|0;f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=h|1;f[741]=e+i;f[738]=h;return e|0}if((c|0)==(f[740]|0)){t=(f[737]|0)+o|0;if(t>>>0<i>>>0){e=0;return e|0}r=t-i|0;if(r>>>0>15){f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=r|1;f[e+t>>2]=r;t=e+(t+4)|0;f[t>>2]=f[t>>2]&-2;t=e+i|0}else{f[b>>2]=k&1|t|2;t=e+(t+4)|0;f[t>>2]=f[t>>2]|1;t=0;r=0}f[737]=r;f[740]=t;return e|0}if(n&2){e=0;return e|0}d=(n&-8)+o|0;if(d>>>0<i>>>0){e=0;return e|0}h=d-i|0;a=n>>>3;do if(n>>>0>=256){s=f[e+(o+24)>>2]|0;a=f[e+(o+12)>>2]|0;do if((a|0)==(c|0)){t=e+(o+20)|0;r=f[t>>2]|0;if(!r){t=e+(o+16)|0;r=f[t>>2]|0;if(!r){u=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<l>>>0)ye();else{f[t>>2]=0;u=r;break}}else{n=f[e+(o+8)>>2]|0;if(n>>>0<l>>>0)ye();r=n+12|0;if((f[r>>2]|0)!=(c|0))ye();t=a+8|0;if((f[t>>2]|0)==(c|0)){f[r>>2]=a;f[t>>2]=n;u=a;break}else ye()}while(0)if(s){r=f[e+(o+28)>>2]|0;t=3244+(r<<2)|0;if((c|0)==(f[t>>2]|0)){f[t>>2]=u;if(!u){f[736]=f[736]&~(1<<r);break}}else{if(s>>>0<(f[739]|0)>>>0)ye();r=s+16|0;if((f[r>>2]|0)==(c|0))f[r>>2]=u;else f[s+20>>2]=u;if(!u)break}t=f[739]|0;if(u>>>0<t>>>0)ye();f[u+24>>2]=s;r=f[e+(o+16)>>2]|0;do if(r)if(r>>>0<t>>>0)ye();else{f[u+16>>2]=r;f[r+24>>2]=u;break}while(0)r=f[e+(o+20)>>2]|0;if(r)if(r>>>0<(f[739]|0)>>>0)ye();else{f[u+20>>2]=r;f[r+24>>2]=u;break}}}else{n=f[e+(o+8)>>2]|0;t=f[e+(o+12)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<l>>>0)ye();if((f[n+12>>2]|0)!=(c|0))ye()}if((t|0)==(n|0)){f[735]=f[735]&~(1<<a);break}if((t|0)!=(r|0)){if(t>>>0<l>>>0)ye();r=t+8|0;if((f[r>>2]|0)==(c|0))s=r;else ye()}else s=t+8|0;f[n+12>>2]=t;f[s>>2]=n}while(0)if(h>>>0<16){f[b>>2]=d|k&1|2;i=e+(d|4)|0;f[i>>2]=f[i>>2]|1;return e|0}else{f[b>>2]=k&1|i|2;f[e+(i+4)>>2]=h|3;k=e+(d|4)|0;f[k>>2]=f[k>>2]|1;Pl(e+i|0,h);return e|0}return 0}function Cl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0;e=e>>>0<16?16:e;if(e+-1&e){r=16;while(1)if(r>>>0<e>>>0)r=r<<1;else{e=r;break}}if((-64-e|0)>>>0<=i>>>0){f[(_s()|0)>>2]=12;l=0;return l|0}s=i>>>0<11?16:i+11&-8;t=yl(s+12+e|0)|0;if(!t){l=0;return l|0}i=t+-8|0;r=e+-1|0;do if(t&r){n=t+r&0-e;r=n+-8|0;a=i;n=(r-a|0)>>>0>15?r:n+(e+-8)|0;a=n-a|0;e=t+-4|0;t=f[e>>2]|0;r=(t&-8)-a|0;if(!(t&3)){f[n>>2]=(f[i>>2]|0)+a;f[n+4>>2]=r;i=n;break}else{t=n+4|0;f[t>>2]=r|f[t>>2]&1|2;r=n+(r+4)|0;f[r>>2]=f[r>>2]|1;f[e>>2]=a|f[e>>2]&1|2;f[t>>2]=f[t>>2]|1;Pl(i,a);i=n;break}}while(0)e=i+4|0;r=f[e>>2]|0;if((r&3|0)!=0?(l=r&-8,l>>>0>(s+16|0)>>>0):0){a=l-s|0;f[e>>2]=s|r&1|2;f[i+(s|4)>>2]=a|3;l=i+(l|4)|0;f[l>>2]=f[l>>2]|1;Pl(i+s|0,a)}l=i+8|0;return l|0}function Pl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0,w=0,m=0,_=0,p=0;w=e+i|0;r=f[e+4>>2]|0;do if(!(r&1)){u=f[e>>2]|0;if(!(r&3))return;h=e+(0-u)|0;d=u+i|0;o=f[739]|0;if(h>>>0<o>>>0)ye();if((h|0)==(f[740]|0)){t=e+(i+4)|0;r=f[t>>2]|0;if((r&3|0)!=3){p=h;s=d;break}f[737]=d;f[t>>2]=r&-2;f[e+(4-u)>>2]=d|1;f[w>>2]=d;return}a=u>>>3;if(u>>>0<256){n=f[e+(8-u)>>2]|0;t=f[e+(12-u)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<o>>>0)ye();if((f[n+12>>2]|0)!=(h|0))ye()}if((t|0)==(n|0)){f[735]=f[735]&~(1<<a);p=h;s=d;break}if((t|0)!=(r|0)){if(t>>>0<o>>>0)ye();r=t+8|0;if((f[r>>2]|0)==(h|0))l=r;else ye()}else l=t+8|0;f[n+12>>2]=t;f[l>>2]=n;p=h;s=d;break}l=f[e+(24-u)>>2]|0;n=f[e+(12-u)>>2]|0;do if((n|0)==(h|0)){n=16-u|0;t=e+(n+4)|0;r=f[t>>2]|0;if(!r){t=e+n|0;r=f[t>>2]|0;if(!r){c=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<o>>>0)ye();else{f[t>>2]=0;c=r;break}}else{a=f[e+(8-u)>>2]|0;if(a>>>0<o>>>0)ye();r=a+12|0;if((f[r>>2]|0)!=(h|0))ye();t=n+8|0;if((f[t>>2]|0)==(h|0)){f[r>>2]=n;f[t>>2]=a;c=n;break}else ye()}while(0)if(l){r=f[e+(28-u)>>2]|0;t=3244+(r<<2)|0;if((h|0)==(f[t>>2]|0)){f[t>>2]=c;if(!c){f[736]=f[736]&~(1<<r);p=h;s=d;break}}else{if(l>>>0<(f[739]|0)>>>0)ye();r=l+16|0;if((f[r>>2]|0)==(h|0))f[r>>2]=c;else f[l+20>>2]=c;if(!c){p=h;s=d;break}}n=f[739]|0;if(c>>>0<n>>>0)ye();f[c+24>>2]=l;r=16-u|0;t=f[e+r>>2]|0;do if(t)if(t>>>0<n>>>0)ye();else{f[c+16>>2]=t;f[t+24>>2]=c;break}while(0)r=f[e+(r+4)>>2]|0;if(r)if(r>>>0<(f[739]|0)>>>0)ye();else{f[c+20>>2]=r;f[r+24>>2]=c;p=h;s=d;break}else{p=h;s=d}}else{p=h;s=d}}else{p=e;s=i}while(0)o=f[739]|0;if(w>>>0<o>>>0)ye();r=e+(i+4)|0;t=f[r>>2]|0;if(!(t&2)){if((w|0)==(f[741]|0)){_=(f[738]|0)+s|0;f[738]=_;f[741]=p;f[p+4>>2]=_|1;if((p|0)!=(f[740]|0))return;f[740]=0;f[737]=0;return}if((w|0)==(f[740]|0)){_=(f[737]|0)+s|0;f[737]=_;f[740]=p;f[p+4>>2]=_|1;f[p+_>>2]=_;return}s=(t&-8)+s|0;a=t>>>3;do if(t>>>0>=256){l=f[e+(i+24)>>2]|0;n=f[e+(i+12)>>2]|0;do if((n|0)==(w|0)){t=e+(i+20)|0;r=f[t>>2]|0;if(!r){t=e+(i+16)|0;r=f[t>>2]|0;if(!r){k=0;break}}while(1){n=r+20|0;a=f[n>>2]|0;if(a){r=a;t=n;continue}n=r+16|0;a=f[n>>2]|0;if(!a)break;else{r=a;t=n}}if(t>>>0<o>>>0)ye();else{f[t>>2]=0;k=r;break}}else{a=f[e+(i+8)>>2]|0;if(a>>>0<o>>>0)ye();r=a+12|0;if((f[r>>2]|0)!=(w|0))ye();t=n+8|0;if((f[t>>2]|0)==(w|0)){f[r>>2]=n;f[t>>2]=a;k=n;break}else ye()}while(0)if(l){r=f[e+(i+28)>>2]|0;t=3244+(r<<2)|0;if((w|0)==(f[t>>2]|0)){f[t>>2]=k;if(!k){f[736]=f[736]&~(1<<r);break}}else{if(l>>>0<(f[739]|0)>>>0)ye();r=l+16|0;if((f[r>>2]|0)==(w|0))f[r>>2]=k;else f[l+20>>2]=k;if(!k)break}t=f[739]|0;if(k>>>0<t>>>0)ye();f[k+24>>2]=l;r=f[e+(i+16)>>2]|0;do if(r)if(r>>>0<t>>>0)ye();else{f[k+16>>2]=r;f[r+24>>2]=k;break}while(0)r=f[e+(i+20)>>2]|0;if(r)if(r>>>0<(f[739]|0)>>>0)ye();else{f[k+20>>2]=r;f[r+24>>2]=k;break}}}else{n=f[e+(i+8)>>2]|0;t=f[e+(i+12)>>2]|0;r=2980+(a<<1<<2)|0;if((n|0)!=(r|0)){if(n>>>0<o>>>0)ye();if((f[n+12>>2]|0)!=(w|0))ye()}if((t|0)==(n|0)){f[735]=f[735]&~(1<<a);break}if((t|0)!=(r|0)){if(t>>>0<o>>>0)ye();r=t+8|0;if((f[r>>2]|0)==(w|0))b=r;else ye()}else b=t+8|0;f[n+12>>2]=t;f[b>>2]=n}while(0)f[p+4>>2]=s|1;f[p+s>>2]=s;if((p|0)==(f[740]|0)){f[737]=s;return}}else{f[r>>2]=t&-2;f[p+4>>2]=s|1;f[p+s>>2]=s}r=s>>>3;if(s>>>0<256){t=r<<1;a=2980+(t<<2)|0;n=f[735]|0;r=1<<r;if(n&r){r=2980+(t+2<<2)|0;t=f[r>>2]|0;if(t>>>0<(f[739]|0)>>>0)ye();else{m=r;_=t}}else{f[735]=n|r;m=2980+(t+2<<2)|0;_=a}f[m>>2]=p;f[_+12>>2]=p;f[p+8>>2]=_;f[p+12>>2]=a;return}r=s>>>8;if(r)if(s>>>0>16777215)a=31;else{m=(r+1048320|0)>>>16&8;_=r<<m;w=(_+520192|0)>>>16&4;_=_<<w;a=(_+245760|0)>>>16&2;a=14-(w|m|a)+(_<<a>>>15)|0;a=s>>>(a+7|0)&1|a<<1}else a=0;r=3244+(a<<2)|0;f[p+28>>2]=a;f[p+20>>2]=0;f[p+16>>2]=0;t=f[736]|0;n=1<<a;if(!(t&n)){f[736]=t|n;f[r>>2]=p;f[p+24>>2]=r;f[p+12>>2]=p;f[p+8>>2]=p;return}r=f[r>>2]|0;e:do if((f[r+4>>2]&-8|0)!=(s|0)){a=s<<((a|0)==31?0:25-(a>>>1)|0);while(1){t=r+16+(a>>>31<<2)|0;n=f[t>>2]|0;if(!n)break;if((f[n+4>>2]&-8|0)==(s|0)){r=n;break e}else{a=a<<1;r=n}}if(t>>>0<(f[739]|0)>>>0)ye();f[t>>2]=p;f[p+24>>2]=r;f[p+12>>2]=p;f[p+8>>2]=p;return}while(0)t=r+8|0;n=f[t>>2]|0;_=f[739]|0;if(!(n>>>0>=_>>>0&r>>>0>=_>>>0))ye();f[n+12>>2]=p;f[t>>2]=p;f[p+8>>2]=n;f[p+12>>2]=r;f[p+24>>2]=0;return}function xl(){}function Dl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;t=i-t-(r>>>0>e>>>0|0)>>>0;return(D=t,e-r>>>0|0)|0}function Ol(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){D=i>>r;return e>>>r|(i&(1<<r)-1)<<32-r}D=(i|0)<0?-1:0;return i>>r-32|0}function Rl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0,a=0,s=0,l=0;n=e+r|0;if((r|0)>=20){i=i&255;s=e&3;l=i|i<<8|i<<16|i<<24;a=n&~3;if(s){s=e+4-s|0;while((e|0)<(s|0)){t[e>>0]=i;e=e+1|0}}while((e|0)<(a|0)){f[e>>2]=l;e=e+4|0}}while((e|0)<(n|0)){t[e>>0]=i;e=e+1|0}return e-r|0}function Ll(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){D=i<<r|(e&(1<<r)-1<<32-r)>>>32-r;return e<<r}D=e<<r-32;return 0}function Il(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;r=e+r>>>0;return(D=i+t+(r>>>0<e>>>0|0)>>>0,r|0)|0}function Bl(e,i,r){e=e|0;i=i|0;r=r|0;if((r|0)<32){D=i>>>r;return e>>>r|(i&(1<<r)-1)<<32-r}D=0;return i>>>r-32|0}function Nl(e,i,r){e=e|0;i=i|0;r=r|0;var n=0;if((r|0)>=4096)return Me(e|0,i|0,r|0)|0;n=e|0;if((e&3)==(i&3)){while(e&3){if(!r)return n|0;t[e>>0]=t[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}while((r|0)>=4){f[e>>2]=f[i>>2];e=e+4|0;i=i+4|0;r=r-4|0}}while((r|0)>0){t[e>>0]=t[i>>0]|0;e=e+1|0;i=i+1|0;r=r-1|0}return n|0}function Fl(e){e=e|0;var i=0;i=t[k+(e&255)>>0]|0;if((i|0)<8)return i|0;i=t[k+(e>>8&255)>>0]|0;if((i|0)<8)return i+8|0;i=t[k+(e>>16&255)>>0]|0;if((i|0)<8)return i+16|0;return(t[k+(e>>>24)>>0]|0)+24|0}function jl(e,i){e=e|0;i=i|0;var r=0,t=0,n=0,f=0;f=e&65535;n=i&65535;r=ie(n,f)|0;t=e>>>16;e=(r>>>16)+(ie(n,t)|0)|0;n=i>>>16;i=ie(n,f)|0;return(D=(e>>>16)+(ie(n,t)|0)+(((e&65535)+i|0)>>>16)|0,e+i<<16|r&65535|0)|0}function Ul(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0,a=0,s=0,l=0,o=0;o=i>>31|((i|0)<0?-1:0)<<1;l=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;f=t>>31|((t|0)<0?-1:0)<<1;n=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;s=Dl(o^e,l^i,o,l)|0;a=D;e=f^o;i=n^l;return Dl((Xl(s,a,Dl(f^r,n^t,f,n)|0,D,0)|0)^e,D^i,e,i)|0}function Hl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0,s=0,l=0,o=0,u=0;n=c;c=c+16|0;l=n|0;s=i>>31|((i|0)<0?-1:0)<<1;a=((i|0)<0?-1:0)>>31|((i|0)<0?-1:0)<<1;u=t>>31|((t|0)<0?-1:0)<<1;o=((t|0)<0?-1:0)>>31|((t|0)<0?-1:0)<<1;e=Dl(s^e,a^i,s,a)|0;i=D;Xl(e,i,Dl(u^r,o^t,u,o)|0,D,l)|0;t=Dl(f[l>>2]^s,f[l+4>>2]^a,s,a)|0;r=D;c=n;return(D=r,t)|0}function Yl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,f=0;n=e;f=r;r=jl(n,f)|0;e=D;return(D=(ie(i,f)|0)+(ie(t,n)|0)+e|e&0,r|0|0)|0}function ql(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return Xl(e,i,r,t,0)|0}function zl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;var n=0,a=0;a=c;c=c+16|0;n=a|0;Xl(e,i,r,t,n)|0;c=a;return(D=f[n+4>>2]|0,f[n>>2]|0)|0}function Xl(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;var a=0,s=0,l=0,o=0,u=0,c=0,d=0,h=0,b=0,k=0;c=e;o=i;u=o;s=r;h=t;l=h;if(!u){a=(n|0)!=0;if(!l){if(a){f[n>>2]=(c>>>0)%(s>>>0);f[n+4>>2]=0}h=0;n=(c>>>0)/(s>>>0)>>>0;return(D=h,n)|0}else{if(!a){h=0;n=0;return(D=h,n)|0}f[n>>2]=e|0;f[n+4>>2]=i&0;h=0;n=0;return(D=h,n)|0}}a=(l|0)==0;do if(s){if(!a){a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=31){d=a+1|0;l=31-a|0;i=a-31>>31;s=d;e=c>>>(d>>>0)&i|u<<l;i=u>>>(d>>>0)&i;a=0;l=c<<l;break}if(!n){h=0;n=0;return(D=h,n)|0}f[n>>2]=e|0;f[n+4>>2]=o|i&0;h=0;n=0;return(D=h,n)|0}a=s-1|0;if(a&s){l=(te(s|0)|0)+33-(te(u|0)|0)|0;k=64-l|0;d=32-l|0;o=d>>31;b=l-32|0;i=b>>31;s=l;e=d-1>>31&u>>>(b>>>0)|(u<<d|c>>>(l>>>0))&i;i=i&u>>>(l>>>0);a=c<<k&o;l=(u<<k|c>>>(b>>>0))&o|c<<d&l-33>>31;break}if(n){f[n>>2]=a&c;f[n+4>>2]=0}if((s|0)==1){b=o|i&0;k=e|0|0;return(D=b,k)|0}else{k=Fl(s|0)|0;b=u>>>(k>>>0)|0;k=u<<32-k|c>>>(k>>>0)|0;return(D=b,k)|0}}else{if(a){if(n){f[n>>2]=(u>>>0)%(s>>>0);f[n+4>>2]=0}b=0;k=(u>>>0)/(s>>>0)>>>0;return(D=b,k)|0}if(!c){if(n){f[n>>2]=0;f[n+4>>2]=(u>>>0)%(l>>>0)}b=0;k=(u>>>0)/(l>>>0)>>>0;return(D=b,k)|0}a=l-1|0;if(!(a&l)){if(n){f[n>>2]=e|0;f[n+4>>2]=a&u|i&0}b=0;k=u>>>((Fl(l|0)|0)>>>0);return(D=b,k)|0}a=(te(l|0)|0)-(te(u|0)|0)|0;if(a>>>0<=30){i=a+1|0;l=31-a|0;s=i;e=u<<l|c>>>(i>>>0);i=u>>>(i>>>0);a=0;l=c<<l;break}if(!n){b=0;k=0;return(D=b,k)|0}f[n>>2]=e|0;f[n+4>>2]=o|i&0;b=0;k=0;return(D=b,k)|0}while(0)if(!s){u=l;o=0;l=0}else{d=r|0|0;c=h|t&0;u=Il(d|0,c|0,-1,-1)|0;r=D;o=l;l=0;do{t=o;o=a>>>31|o<<1;a=l|a<<1;t=e<<1|t>>>31|0;h=e>>>31|i<<1|0;Dl(u,r,t,h)|0;k=D;b=k>>31|((k|0)<0?-1:0)<<1;l=b&1;e=Dl(t,h,b&d,(((k|0)<0?-1:0)>>31|((k|0)<0?-1:0)<<1)&c)|0;i=D;s=s-1|0}while((s|0)!=0)u=o;o=0}s=0;if(n){f[n>>2]=e;f[n+4>>2]=i}b=(a|0)>>>31|(u|s)<<1|(s<<1|a>>>31)&0|o
47
47
  ;k=(a<<1|0>>>31)&-2|l;return(D=b,k)|0}function Gl(e,i,r,t,n,f,a,s){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;return po[e&3](i|0,r|0,t|0,n|0,f|0,a|0,s|0)|0}function Vl(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;return vo[e&63](i|0,r|0,t|0)|0}function Kl(e,i){e=e|0;i=i|0;return+go[e&3](i|0)}function Wl(e,i){e=e|0;i=i|0;yo[e&7](i|0)}function Jl(e,i,r){e=e|0;i=i|0;r=r|0;Eo[e&7](i|0,r|0)}function Ql(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;return Ao[e&7](i|0,r|0,t|0,n|0,f|0,a|0)|0}function Zl(e,i){e=e|0;i=i|0;return So[e&15](i|0)|0}function $l(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;To[e&15](i|0,r|0,t|0)}function eo(e,i,r,t,n,f,a,s,l,o,u,c){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;c=c|0;return Mo[e&3](i|0,r|0,t|0,n|0,f|0,a|0,s|0,l|0,o|0,u|0,c|0)|0}function io(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;return Co[e&63](i|0,r|0,t|0,n|0)|0}function ro(e,i,r){e=e|0;i=i|0;r=r|0;return Po[e&7](i|0,r|0)|0}function to(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;return xo[e&3](i|0,r|0,t|0,n|0,f|0)|0}function no(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;Do[e&3](i|0,r|0,t|0,n|0)}function fo(e,i,r,t,n,f,a){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;ne(0);return 0}function ao(e,i,r){e=e|0;i=i|0;r=r|0;ne(1);return 0}function so(e){e=e|0;ne(2);return 0}function lo(e){e=e|0;ne(3)}function oo(e,i){e=e|0;i=i|0;ne(4)}function uo(e,i,r,t,n,f){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;ne(5);return 0}function co(e){e=e|0;ne(6);return 0}function ho(e,i,r){e=e|0;i=i|0;r=r|0;ne(7)}function bo(e,i,r,t,n,f,a,s,l,o,u){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;f=f|0;a=a|0;s=s|0;l=l|0;o=o|0;u=u|0;ne(8);return 0}function ko(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;ne(9);return 0}function wo(e,i){e=e|0;i=i|0;ne(10);return 0}function mo(e,i,r,t,n){e=e|0;i=i|0;r=r|0;t=t|0;n=n|0;ne(11);return 0}function _o(e,i,r,t){e=e|0;i=i|0;r=r|0;t=t|0;ne(12)}var po=[fo,ef,Li,fo];var vo=[ao,_l,Fs,Bs,gt,yt,Et,At,Pn,xn,On,Wn,uf,Ti,Ui,cf,df,Si,Mi,Rn,Ln,In,Bn,wf,mf,_f,pf,gf,yf,Af,Sf,Tf,Mf,Cf,Pf,xf,Df,Of,Rf,Lf,If,Bf,Nf,Ff,jf,Uf,Hf,Yf,qf,zf,Xf,Gf,zi,Xi,Gi,Vi,Ki,Wi,Ji,Qi,Is,Ns,ao,ao];var go=[so,Vf,Kf,so];var yo=[lo,Gn,Ri,Xr,Gr,bl,kl,lo];var Eo=[oo,st,lt,ot,qt,zn,Ei,oo];var Ao=[uo,$n,Oi,bf,Di,uo,uo,uo];var So=[co,Ls,af,sf,ji,Fi,Hs,Ma,Aa,co,co,co,co,co,co,co];var To=[ho,_i,pi,vi,gi,di,hi,bi,ki,li,oi,ui,ci,tf,Ni,ho];var Mo=[bo,Zn,xi,bo];var Co=[ko,ea,ia,Xe,Ge,Ve,Ke,We,Je,Qe,Ze,$e,ei,ii,ri,ti,ni,fi,ai,si,lr,or,ur,rr,tr,nr,fr,ar,sr,mt,_t,pt,vt,lf,Jn,yi,Pi,hf,Vn,Ci,Ai,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko,ko];var Po=[wo,Dn,Zi,$i,er,ir,wo,wo];var xo=[mo,of,Ii,mo];var Do=[_o,Da,La,_o];return{_opj_stream_destroy:Tt,_opj_stream_set_read_function:Mt,_opj_read_tile_header:ln,_opj_set_warning_handler:Qt,_opj_destroy_cstr_info:An,_opj_image_create:Xt,_opj_set_error_handler:Zt,_opj_stream_set_user_data:Dt,_opj_end_decompress:_n,_bitshift64Lshr:Bl,_opj_stream_set_seek_function:Ct,_opj_decode:an,_opj_set_decoded_resolution_factor:cn,_i64Add:Il,_opj_stream_create_default_file_stream:Mn,_opj_encode:wn,_bitshift64Ashr:Ol,_opj_get_decoded_tile:un,_memset:Rl,_opj_version:en,_memcpy:Nl,_opj_destroy_cstr_index:Tn,_opj_stream_set_user_data_length:Ot,_opj_stream_set_skip_function:xt,_opj_image_destroy:Gt,_opj_stream_create_file_stream:Cn,_opj_setup_encoder:bn,_opj_stream_default_create:St,_bitshift64Shl:Ll,_opj_stream_create:wt,_jp2_version:at,_i64Subtract:Dl,_opj_get_cstr_index:Sn,_opj_set_default_decoder_parameters:tn,_opj_read_header:fn,_opj_get_cstr_info:En,_opj_set_default_encoder_parameters:hn,_opj_set_decode_area:sn,_opj_stream_set_write_function:Pt,_opj_dump_codec:yn,_opj_create_decompress:rn,_opj_decode_tile_data:on,_free:El,_opj_image_tile_create:Wt,_opj_set_MCT:pn,_opj_set_info_handler:Jt,_opj_start_compress:kn,_opj_write_tile:vn,_opj_setup_decoder:nn,_malloc:yl,_opj_end_compress:mn,_opj_destroy_codec:gn,_jp2_decode:ft,_opj_stream_create_buffer_stream:$t,_opj_create_compress:dn,runPostSets:xl,stackAlloc:Jr,stackSave:Qr,stackRestore:Zr,establishStackSpace:$r,setThrew:et,setTempRet0:tt,getTempRet0:nt,dynCall_iiiiiiii:Gl,dynCall_iiii:Vl,dynCall_di:Kl,dynCall_vi:Wl,dynCall_vii:Jl,dynCall_iiiiiii:Ql,dynCall_ii:Zl,dynCall_viii:$l,dynCall_iiiiiiiiiiii:eo,dynCall_iiiii:io,dynCall_iii:ro,dynCall_iiiiii:to,dynCall_viiii:no}}(Module.asmGlobalArg,Module.asmLibraryArg,buffer),_opj_stream_destroy=Module._opj_stream_destroy=asm._opj_stream_destroy,_opj_stream_set_read_function=Module._opj_stream_set_read_function=asm._opj_stream_set_read_function,_opj_read_tile_header=Module._opj_read_tile_header=asm._opj_read_tile_header,_opj_set_warning_handler=Module._opj_set_warning_handler=asm._opj_set_warning_handler,_opj_destroy_cstr_info=Module._opj_destroy_cstr_info=asm._opj_destroy_cstr_info,_opj_image_create=Module._opj_image_create=asm._opj_image_create,_opj_set_error_handler=Module._opj_set_error_handler=asm._opj_set_error_handler,_opj_image_tile_create=Module._opj_image_tile_create=asm._opj_image_tile_create,_opj_end_decompress=Module._opj_end_decompress=asm._opj_end_decompress,_bitshift64Lshr=Module._bitshift64Lshr=asm._bitshift64Lshr,_opj_stream_set_seek_function=Module._opj_stream_set_seek_function=asm._opj_stream_set_seek_function,_opj_decode=Module._opj_decode=asm._opj_decode,_opj_set_decoded_resolution_factor=Module._opj_set_decoded_resolution_factor=asm._opj_set_decoded_resolution_factor,_opj_stream_create_default_file_stream=Module._opj_stream_create_default_file_stream=asm._opj_stream_create_default_file_stream,_opj_set_default_decoder_parameters=Module._opj_set_default_decoder_parameters=asm._opj_set_default_decoder_parameters,_bitshift64Ashr=Module._bitshift64Ashr=asm._bitshift64Ashr,_opj_get_decoded_tile=Module._opj_get_decoded_tile=asm._opj_get_decoded_tile,_memset=Module._memset=asm._memset,_opj_version=Module._opj_version=asm._opj_version,_memcpy=Module._memcpy=asm._memcpy,_opj_destroy_cstr_index=Module._opj_destroy_cstr_index=asm._opj_destroy_cstr_index,_opj_stream_set_user_data_length=Module._opj_stream_set_user_data_length=asm._opj_stream_set_user_data_length,_opj_stream_set_skip_function=Module._opj_stream_set_skip_function=asm._opj_stream_set_skip_function,_opj_image_destroy=Module._opj_image_destroy=asm._opj_image_destroy,_opj_stream_create_file_stream=Module._opj_stream_create_file_stream=asm._opj_stream_create_file_stream,_opj_setup_encoder=Module._opj_setup_encoder=asm._opj_setup_encoder,_opj_stream_default_create=Module._opj_stream_default_create=asm._opj_stream_default_create,_bitshift64Shl=Module._bitshift64Shl=asm._bitshift64Shl,_opj_stream_create=Module._opj_stream_create=asm._opj_stream_create,_jp2_version=Module._jp2_version=asm._jp2_version,_i64Subtract=Module._i64Subtract=asm._i64Subtract,_opj_get_cstr_index=Module._opj_get_cstr_index=asm._opj_get_cstr_index,_opj_encode=Module._opj_encode=asm._opj_encode,_i64Add=Module._i64Add=asm._i64Add,_opj_get_cstr_info=Module._opj_get_cstr_info=asm._opj_get_cstr_info,_opj_set_default_encoder_parameters=Module._opj_set_default_encoder_parameters=asm._opj_set_default_encoder_parameters,_opj_set_decode_area=Module._opj_set_decode_area=asm._opj_set_decode_area,_opj_stream_set_write_function=Module._opj_stream_set_write_function=asm._opj_stream_set_write_function,_opj_dump_codec=Module._opj_dump_codec=asm._opj_dump_codec,_opj_read_header=Module._opj_read_header=asm._opj_read_header,_opj_create_decompress=Module._opj_create_decompress=asm._opj_create_decompress,_opj_decode_tile_data=Module._opj_decode_tile_data=asm._opj_decode_tile_data,_opj_set_info_handler=Module._opj_set_info_handler=asm._opj_set_info_handler,_opj_stream_set_user_data=Module._opj_stream_set_user_data=asm._opj_stream_set_user_data,_opj_set_MCT=Module._opj_set_MCT=asm._opj_set_MCT,_free=Module._free=asm._free,runPostSets=Module.runPostSets=asm.runPostSets,_opj_start_compress=Module._opj_start_compress=asm._opj_start_compress,_opj_write_tile=Module._opj_write_tile=asm._opj_write_tile,_opj_setup_decoder=Module._opj_setup_decoder=asm._opj_setup_decoder,_malloc=Module._malloc=asm._malloc,_opj_end_compress=Module._opj_end_compress=asm._opj_end_compress,_opj_destroy_codec=Module._opj_destroy_codec=asm._opj_destroy_codec,_jp2_decode=Module._jp2_decode=asm._jp2_decode,_opj_stream_create_buffer_stream=Module._opj_stream_create_buffer_stream=asm._opj_stream_create_buffer_stream,_opj_create_compress=Module._opj_create_compress=asm._opj_create_compress,dynCall_iiiiiiii=Module.dynCall_iiiiiiii=asm.dynCall_iiiiiiii,dynCall_iiii=Module.dynCall_iiii=asm.dynCall_iiii,dynCall_di=Module.dynCall_di=asm.dynCall_di,dynCall_vi=Module.dynCall_vi=asm.dynCall_vi,dynCall_vii=Module.dynCall_vii=asm.dynCall_vii,dynCall_iiiiiii=Module.dynCall_iiiiiii=asm.dynCall_iiiiiii,dynCall_ii=Module.dynCall_ii=asm.dynCall_ii,dynCall_viii=Module.dynCall_viii=asm.dynCall_viii,dynCall_iiiiiiiiiiii=Module.dynCall_iiiiiiiiiiii=asm.dynCall_iiiiiiiiiiii,dynCall_iiiii=Module.dynCall_iiiii=asm.dynCall_iiiii,dynCall_iii=Module.dynCall_iii=asm.dynCall_iii,dynCall_iiiiii=Module.dynCall_iiiiii=asm.dynCall_iiiiii,dynCall_viiii=Module.dynCall_viiii=asm.dynCall_viiii;Runtime.stackAlloc=asm.stackAlloc,Runtime.stackSave=asm.stackSave,Runtime.stackRestore=asm.stackRestore,Runtime.establishStackSpace=asm.establishStackSpace,Runtime.setTempRet0=asm.setTempRet0,Runtime.getTempRet0=asm.getTempRet0,ExitStatus.prototype=new Error,ExitStatus.prototype.constructor=ExitStatus;var initialStackTop,preloadStartTime=null,calledMain=!1;dependenciesFulfilled=function e(){Module.calledRun||run(),Module.calledRun||(dependenciesFulfilled=e)},Module.callMain=Module.callMain=function(e){function i(){for(var e=0;e<3;e++)t.push(0)}assert(0==runDependencies,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),assert(0==__ATPRERUN__.length,"cannot call main when preRun functions remain to be called"),e=e||[],ensureInitRuntime();var r=e.length+1,t=[allocate(intArrayFromString(Module.thisProgram),"i8",0)];i();for(var n=0;n<r-1;n+=1)t.push(allocate(intArrayFromString(e[n]),"i8",0)),i();t.push(0),t=allocate(t,"i32",0);try{exit(Module._main(r,t,0),!0)}catch(e){if(e instanceof ExitStatus)return;if("SimulateInfiniteLoop"==e)return void(Module.noExitRuntime=!0);throw e&&"object"==typeof e&&e.stack&&Module.printErr("exception thrown: "+[e,e.stack]),e}finally{calledMain=!0}},Module.run=Module.run=run,Module.exit=Module.exit=exit;var abortDecorators=[];if(Module.abort=Module.abort=abort,Module.preInit)for("function"==typeof Module.preInit&&(Module.preInit=[Module.preInit]);Module.preInit.length>0;)Module.preInit.pop()();var shouldRunNow=!0;return Module.noInitialRun&&(shouldRunNow=!1),run(),Module};define("OpenJPEG",["OpenJPEG/build/openJPEG-FixedMemory-browser"],function(e){return e}),define("OpenJPEG/build/openJPEG-FixedMemory-browser",function(){}),define("x_ite/Browser/Texturing3D/DICOMParser",["dicom-parser","lib/jpeg/jpeg","jpegLossless","CharLS","OpenJPEG","x_ite/DEBUG"],function(e,i,r,t,n,f){"use strict";function a(){this.dicom={dicom:!1}}var t=void 0,n=void 0;return a.prototype={parse:function(i){try{for(var r=new Uint8Array(i.length),t=0,n=i.length;t<n;++t)r[t]=i.charCodeAt(t);this.dataSet=e.parseDicom(r),this.dicom.dicom=!0}catch(e){return console.log(e),this.dicom.dicom=!1,this.dicom}return this.getPhotometricInterpretation(),this.getComponents(),this.getWidth(),this.getHeight(),this.getDepth(),this.getBitsAllocated(),this.getBitsStored(),this.getPixelRepresentation(),this.getPlanarConfiguration(),this.getTansferSyntax(),this.getPixelData(),f&&console.log(this),this.dicom},getPhotometricInterpretation:function(){this.photometricInterpretation=this.dataSet.string("x00280004")},getComponents:function(){this.dicom.components=this.dataSet.uint16("x00280002")},getWidth:function(){this.dicom.width=this.dataSet.uint16("x00280011")},getHeight:function(){this.dicom.height=this.dataSet.uint16("x00280010")},getDepth:function(){this.dataSet.elements.x00280008?this.dicom.depth=this.dataSet.intString("x00280008"):this.dicom.depth=1},getBitsAllocated:function(){this.bitsAllocated=this.dataSet.uint16("x00280100")},getBitsStored:function(){this.bitsStored=this.dataSet.uint16("x00280101")},getPixelRepresentation:function(){this.pixelRepresentation=this.dataSet.uint16("x00280103")||0},getPlanarConfiguration:function(){this.planarConfiguration=this.dataSet.uint16("x00280006")||0},getTansferSyntax:function(){this.transferSyntax=this.dataSet.string("x00020010")},getPixelData:function(){var e=this.dicom,i=this.dataSet.elements.x7fe00010||this.dataSet.elements.x7fe00008,r="PALETTE COLOR"===this.photometricInterpretation?3:this.dicom.components,t=e.width*e.height*r,n=t*e.depth,f=new Uint8Array(n);if(this.getFrames(i).forEach(function(e,i){switch(this.transferSyntax){case"1.2.840.10008.1.2":case"1.2.840.10008.1.2.1":case"1.2.840.10008.1.2.1.99":e=this.decodeLittleEndian(e);break;case"1.2.840.10008.1.2.2":e=this.decodeBigEndian(e);break;case"1.2.840.10008.1.2.5":e=this.decodeRLE(e);break;case"1.2.840.10008.1.2.4.50":case"1.2.840.10008.1.2.4.51":e=this.decodeJPEGBaseline(e);break;case"1.2.840.10008.1.2.4.57":case"1.2.840.10008.1.2.4.70":e=this.decodeJPEGLossless(e);break;case"1.2.840.10008.1.2.4.80":case"1.2.840.10008.1.2.4.81":e=this.decodeJPEGLS(e);break;case"1.2.840.10008.1.2.4.90":case"1.2.840.10008.1.2.4.91":e=this.decodeJPEG2000(e);break;case"1.2.840.10008.1.2.4.52":case"1.2.840.10008.1.2.4.53":case"1.2.840.10008.1.2.4.54":case"1.2.840.10008.1.2.4.55":case"1.2.840.10008.1.2.4.56":case"1.2.840.10008.1.2.4.58":case"1.2.840.10008.1.2.4.59":case"1.2.840.10008.1.2.4.60":case"1.2.840.10008.1.2.4.61":case"1.2.840.10008.1.2.4.62":case"1.2.840.10008.1.2.4.63":case"1.2.840.10008.1.2.4.64":case"1.2.840.10008.1.2.4.65":case"1.2.840.10008.1.2.4.66":case"1.2.840.10008.1.2.4.92":case"1.2.840.10008.1.2.4.93":throw new Error("DICOM: this JPEG encoding ("+this.transferSyntax+") is not supported.");default:throw new Error("DICOM: unsupported transfer syntax '"+this.transferSyntax+"'.")}if(e=this.getTypedArray(e),1===this.pixelRepresentation&&void 0!==this.bitsStored)for(var n=32-this.bitsStored,a=0,s=e.length;a<s;++a)e[a]=e[a]<<n>>n;switch(this.photometricInterpretation){case"MONOCHROME1":case"MONOCHROME2":break;case"RGB":case"YBR_RCT":case"YBR_ICT":case"YBR_FULL_422":1===this.planarConfiguration&&(e=this.convertRGBColorByPlane(e));break;case"YBR_FULL":e=0===this.planarConfiguration?this.convertYBRFullByPixel(e):this.convertYBRFullByPlane(e);break;case"PALETTE COLOR":e=this.convertPaletteColor(e);break;default:throw new Error("DICOM: unsupported image type '"+this.photometricInterpretation+"'.")}e=this.flipImage(e,r);for(var l=this.getNormalizeOffsetAndFactor(e),o=i*t,a=0,s=e.length;a<s;++a,++o)f[o]=(e[a]-l.offset)*l.factor},this),"MONOCHROME1"===this.photometricInterpretation)for(var a=0,s=f.length;a<s;++a)f[a]=255-f[a];e.components=r,e.data=f},getFrames:function(i){var r=[];if(i.encapsulatedPixelData)if(i.basicOffsetTable.length)for(var t=0,n=this.dicom.depth;t<n;++t)r.push(e.readEncapsulatedImageFrame(this.dataSet,i,t));else if(this.dicom.depth!==i.fragments.length)for(var f=e.createJPEGBasicOffsetTable(this.dataSet,i),t=0,n=this.dicom.depth;t<n;++t)r.push(e.readEncapsulatedImageFrame(this.dataSet,i,t,f));else for(var t=0,n=this.dicom.depth;t<n;++t)r.push(e.readEncapsulatedPixelDataFromFragments(this.dataSet,i,t));else{var a=this.dicom.width*this.dicom.height*this.dicom.components;switch(this.bitsAllocated){case 1:for(var t=0,n=this.dicom.depth;t<n;++t){var s=i.dataOffset+t*a/8;r.push(this.unpackBinaryFrame(this.dataSet.byteArray,s,a))}this.bitsAllocated=8;break;case 8:case 16:case 32:for(var l=this.bitsAllocated/8,t=0,n=this.dicom.depth;t<n;++t){var s=i.dataOffset+t*a*l;r.push(new Uint8Array(this.dataSet.byteArray.buffer,s,a*l))}break;default:throw new Error("DICOM: unsupported pixel format.")}}return r},getTypedArray:function(e){switch(this.bitsAllocated){case 8:return new(this.pixelRepresentation?Int8Array:Uint8Array)(e.buffer,e.byteOffset,e.length);case 16:return new(this.pixelRepresentation?Int16Array:Uint16Array)(e.buffer,e.byteOffset,e.length/2);case 32:return new Float32Array(e.buffer,e.byteOffset,e.length/4);default:throw new Error("DICOM: unsupported pixel format.")}},flipImage:function(e,i){for(var r=this.dicom.width,t=this.dicom.height,n=new e.constructor(e.length),f=0;f<t;++f)for(var a=i*r*(t-1-f),s=i*r*f,l=0,o=i*r;l<o;++l)n[s+l]=e[a+l];return n},getNormalizeOffsetAndFactor:function(e){for(var i=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,t=0,n=e.length;t<n;++t)i=Math.min(i,e[t]),r=Math.max(r,e[t]);var f=r-i;return{offset:i,factor:f?1/f*255:0}},unpackBinaryFrame:function(e,i,r){for(var t=new Uint8Array(r),n=0;n<r;++n){var f=Math.floor(n/8),a=e[f+i],s=n%8;t[n]=function(e,i){return e&1<<i}(a,s)?1:0}return t},decodeLittleEndian:function(e){var i=e.buffer,r=e.byteOffset,t=e.length;return 16===this.bitsAllocated?(r%2&&(i=i.slice(r),r=0),new Uint8Array(i,r,t)):32===this.bitsAllocated?(r%4&&(i=i.slice(r),r=0),new Uint8Array(i,r,t)):e},decodeBigEndian:function(e){if(16===this.bitsAllocated){var i=e.buffer,r=e.byteOffset,t=e.length;r%2&&(i=i.slice(r),r=0),e=new Uint16Array(i,r,t/2);for(var n=0,f=e.length;n<f;++n)e[n]=function(e){return(255&e)<<8|e>>8&255}(e[n]);return new Uint8Array(i,r,t)}return e},decodeRLE:function(e){if(8===this.bitsAllocated)return this.planarConfiguration?this.decodeRLE8Planar(e):this.decodeRLE8(e);if(16===this.bitsAllocated)return this.decodeRLE16(e);throw new Error("DICOM: unsupported pixel format for RLE.")},decodeRLE8:function(e){const i=e,r=this.dicom.width*this.dicom.height,t=this.dicom.components,n=new ArrayBuffer(r*this.dicom.components),f=new DataView(i.buffer,i.byteOffset),a=new Int8Array(i.buffer,i.byteOffset),s=new Int8Array(n);let l=0;const o=f.getInt32(0,!0);for(let e=0;e<o;++e){l=e;let n=f.getInt32(4*(e+1),!0),u=f.getInt32(4*(e+2),!0);0===u&&(u=i.length);const c=r*o;for(;n<u;){const e=a[n++];if(e>=0&&e<=127)for(let i=0;i<e+1&&l<c;++i)s[l]=a[n++],l+=t;else if(e<=-1&&e>=-127){const i=a[n++];for(let r=0;r<1-e&&l<c;++r)s[l]=i,l+=t}}}return s},decodeRLE8Planar:function(e){const i=e,r=this.dicom.width*this.dicom.height,t=new ArrayBuffer(r*this.dicom.components),n=new DataView(i.buffer,i.byteOffset),f=new Int8Array(i.buffer,i.byteOffset),a=new Int8Array(t);let s=0;const l=n.getInt32(0,!0);for(let e=0;e<l;++e){s=e*r;let t=n.getInt32(4*(e+1),!0),o=n.getInt32(4*(e+2),!0);0===o&&(o=i.length);const u=r*l;for(;t<o;){const e=f[t++];if(e>=0&&e<=127)for(let i=0;i<e+1&&s<u;++i)a[s]=f[t++],++s;else if(e<=-1&&e>=-127){const i=f[t++];for(let r=0;r<1-e&&s<u;++r)a[s]=i,++s}}}return a},decodeRLE16:function(e){const i=e,r=this.dicom.width*this.dicom.height,t=new ArrayBuffer(r*this.dicom.components*2),n=new DataView(i.buffer,i.byteOffset),f=new Int8Array(i.buffer,i.byteOffset),a=new Int8Array(t),s=n.getInt32(0,!0);for(let e=0;e<s;++e){let t=0;const s=0===e?1:0;let l=n.getInt32(4*(e+1),!0),o=n.getInt32(4*(e+2),!0);for(0===o&&(o=i.length);l<o;){const e=f[l++];if(e>=0&&e<=127)for(let i=0;i<e+1&&t<r;++i)a[2*t+s]=f[l++],++t;else if(e<=-1&&e>=-127){const i=f[l++];for(let n=0;n<1-e&&t<r;++n)a[2*t+s]=i,++t}}}return a},decodeJPEGBaseline:function(e){var i=new JpegImage;i.parse(e),i.colorTransform=!0;var r=i.getData(this.dicom.width,this.dicom.height);return this.bitsAllocated=8,r},decodeJPEGLossless:function(e){var i=new r.lossless.Decoder,t=i.decompress(e);return new Uint8Array(t)},decodeJPEGLS:function(e){var i=this.jpegLSDecode(e,1===this.pixelRepresentation);if(0!==i.result&&6!==i.result)throw new Error(`DICOM: JPEG-LS decoder failed to decode frame (error code ${i.result}).`);return new Uint8Array(i.pixelData.buffer)},jpegLSDecode:function(e,i){t=t||CharLS();const r=t._malloc(e.length);t.writeArrayToMemory(e,r);const n=t._malloc(4),f=t._malloc(4),a=t._malloc(4),s=t._malloc(4),l=t._malloc(4),o=t._malloc(4),u=t._malloc(4),c=t._malloc(4),d=t._malloc(4),h=t.ccall("jpegls_decode","number",["number","number","number","number","number","number","number","number","number","number","number"],[r,e.length,n,f,a,s,l,o,c,u,d]),b={result:h,width:t.getValue(a,"i32"),height:t.getValue(s,"i32"),bitsPerSample:t.getValue(l,"i32"),stride:t.getValue(o,"i32"),components:t.getValue(c,"i32"),allowedLossyError:t.getValue(u,"i32"),interleaveMode:t.getValue(d,"i32"),pixelData:void 0},k=t.getValue(n,"*");return b.bitsPerSample<=8?(b.pixelData=new Uint8Array(b.width*b.height*b.components),b.pixelData.set(new Uint8Array(t.HEAP8.buffer,k,b.pixelData.length))):i?(b.pixelData=new Int16Array(b.width*b.height*b.components),b.pixelData.set(new Int16Array(t.HEAP16.buffer,k,b.pixelData.length))):(b.pixelData=new Uint16Array(b.width*b.height*b.components),b.pixelData.set(new Uint16Array(t.HEAP16.buffer,k,b.pixelData.length))),t._free(r),t._free(k),t._free(n),t._free(f),t._free(a),t._free(s),t._free(l),t._free(o),t._free(c),t._free(d),b},decodeJPEG2000:function(e){var i=this.bitsAllocated<=8?1:2,r=1===this.pixelRepresentation,t=this.decodeOpenJPEG(e,i,r);return t.nbChannels>1&&(this.photometricInterpretation="RGB"),new Uint8Array(t.pixelData.buffer)},decodeOpenJPEG:function(e,i,r){n=n||OpenJPEG();const t=n._malloc(e.length);n.writeArrayToMemory(e,t);const f=n._malloc(4),a=n._malloc(4),s=n._malloc(4),l=n._malloc(4),o=n._malloc(4),u=(new Date).getTime();if(0!==n.ccall("jp2_decode","number",["number","number","number","number","number","number","number"],[t,e.length,f,a,s,l,o]))return console.log("[opj_decode] decoding failed!"),n._free(t),n._free(n.getValue(f,"*")),n._free(s),n._free(l),n._free(a),void n._free(o);const c=n.getValue(f,"*"),d={length:n.getValue(a,"i32"),sx:n.getValue(s,"i32"),sy:n.getValue(l,"i32"),nbChannels:n.getValue(o,"i32"),perf_timetodecode:void 0,pixelData:void 0},h=d.sx*d.sy*d.nbChannels,b=new Int32Array(n.HEAP32.buffer,c,h);if(1===i)if(Uint8Array.from)d.pixelData=Uint8Array.from(b);else{d.pixelData=new Uint8Array(h);for(let e=0;e<h;e++)d.pixelData[e]=b[e]}else if(r)if(Int16Array.from)d.pixelData=Int16Array.from(b);else{d.pixelData=new Int16Array(h);for(let e=0;e<h;e++)d.pixelData[e]=b[e]}else if(Uint16Array.from)d.pixelData=Uint16Array.from(b);else{d.pixelData=new Uint16Array(h);for(let e=0;e<h;e++)d.pixelData[e]=b[e]}const k=(new Date).getTime();return d.perf_timetodecode=k-u,n._free(t),n._free(f),n._free(c),n._free(a),n._free(s),n._free(l),n._free(o),d},convertRGBColorByPlane:function(e){if(e.length%3!=0)throw new Error("DICOM: convertRGBColorByPlane: RGB buffer length must be divisble by 3.");for(var i=e.length/3,r=0,t=0,n=i,f=2*i,a=new e.constructor(e.length),s=0;s<i;++s)a[r++]=e[t++],a[r++]=e[n++],a[r++]=e[f++];return a},convertYBRFullByPixel:function(e){if(e.length%3!=0)throw new Error("DICOM: convertYBRFullByPixel: YBR buffer length must be divisble by 3.");console.log(e);for(var i=e.length/3,r=0,t=0,n=new e.constructor(e.length),f=0;f<i;++f){var a=e[r++],s=e[r++],l=e[r++];n[t++]=a+1.402*(l-128),n[t++]=a-.34414*(s-128)-.71414*(l-128),n[t++]=a+1.772*(s-128)}return n},convertYBRFullByPlane:function(e){if(e.length%3!=0)throw new Error("DICOM: convertYBRFullByPlane: YBR buffer length must be divisble by 3.");for(var i=e.length/3,r=0,t=0,n=i,f=2*i,a=new e.constructor(e.length),s=0;s<i;++s){var l=e[t++],o=e[n++],u=e[f++];a[r++]=l+1.402*(u-128),a[r++]=l-.34414*(o-128)-.71414*(u-128),a[r++]=l+1.772*(o-128)}return a},convertPaletteColor:function(e){function i(e,i){if(e.cleaned)return e.cleaned;const r=e.length,t=new Uint8ClampedArray(r);for(let n=0;n<r;++n)t[n]=e[n]>>i;return e.cleaned=t,t}const r=this.getLUT(),t=this.dicom.width*this.dicom.height,n=r.redPaletteColorLookupTableData,f=r.greenPaletteColorLookupTableData,a=r.bluePaletteColorLookupTableData,s=r.redPaletteColorLookupTableData.length;let l=0,o=0;const u=r.redPaletteColorLookupTableDescriptor[1],c=8===r.redPaletteColorLookupTableDescriptor[2]?0:8,d=i(n,c),h=i(f,c),b=i(a,c);let k=new Uint8Array(3*e.length);for(let i=0;i<t;++i){let i=e[l++];i<u?i=0:i>u+s-1?i=s-1:i-=u,k[o++]=d[i],k[o++]=h[i],k[o++]=b[i]}return k},getLUT:function(){return this.LUT?this.LUT:(this.LUT={},this.populatePaletteColorLut(this.dataSet,this.LUT),this.LUT)},populatePaletteColorLut:function(e,i){i.redPaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281101"),i.greenPaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281102"),i.bluePaletteColorLookupTableDescriptor=this.getLutDescriptor(e,"x00281103"),0===i.redPaletteColorLookupTableDescriptor[0]&&(i.redPaletteColorLookupTableDescriptor[0]=65536,i.greenPaletteColorLookupTableDescriptor[0]=65536,i.bluePaletteColorLookupTableDescriptor[0]=65536);const r=i.redPaletteColorLookupTableDescriptor[0],t=e.elements.x00281201,n=t.length===r?8:16;i.redPaletteColorLookupTableDescriptor[2]!==n&&(i.redPaletteColorLookupTableDescriptor[2]=n,i.greenPaletteColorLookupTableDescriptor[2]=n,i.bluePaletteColorLookupTableDescriptor[2]=n),i.redPaletteColorLookupTableData=this.getLutData(e,"x00281201",i.redPaletteColorLookupTableDescriptor),i.greenPaletteColorLookupTableData=this.getLutData(e,"x00281202",i.greenPaletteColorLookupTableDescriptor),i.bluePaletteColorLookupTableData=this.getLutData(e,"x00281203",i.bluePaletteColorLookupTableDescriptor)},getLutDescriptor:function(e,i){if(e.elements[i]&&6===e.elements[i].length)return[e.uint16(i,0),e.uint16(i,1),e.uint16(i,2)]},getLutData:function(e,i,r){const t=[],n=e.elements[i];for(let f=0;f<r[0];++f)16===r[2]?t[f]=e.uint16(i,f):t[f]=e.byteArray[f+n.dataOffset];return t}},a}),define("x_ite/Components/Texturing3D/ImageTexture3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing3D/X3DTexture3DNode","x_ite/Components/Networking/X3DUrlObject","x_ite/Bits/X3DConstants","x_ite/Browser/Texturing3D/NRRDParser","x_ite/Browser/Texturing3D/DICOMParser","x_ite/InputOutput/FileLoader"],function(e,i,r,t,n,f,a,s,l){"use strict";function o(i){t.call(this,i),n.call(this,i),this.addType(f.ImageTexture3D),this.addChildObjects("buffer",new e.MFString)}return o.prototype=Object.assign(Object.create(t.prototype),n.prototype,{constructor:o,fieldDefinitions:new r([new i(f.inputOutput,"metadata",new e.SFNode),new i(f.inputOutput,"description",new e.SFString),new i(f.inputOutput,"url",new e.MFString),new i(f.inputOutput,"autoRefresh",new e.SFTime),new i(f.inputOutput,"autoRefreshTimeLimit",new e.SFTime(3600)),new i(f.initializeOnly,"repeatS",new e.SFBool),new i(f.initializeOnly,"repeatT",new e.SFBool),new i(f.initializeOnly,"repeatR",new e.SFBool),new i(f.initializeOnly,"textureProperties",new e.SFNode)]),getTypeName:function(){return"ImageTexture3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texture"},initialize:function(){t.prototype.initialize.call(this),n.prototype.initialize.call(this),this.url_.addInterest("set_url__",this),this.buffer_.addInterest("set_buffer__",this),this.set_url__()},set_url__:function(){this.setLoadState(f.NOT_STARTED_STATE),this.requestImmediateLoad()},requestImmediateLoad:function(e=!0){this.checkLoadState()!==f.COMPLETE_STATE&&this.checkLoadState()!==f.IN_PROGRESS_STATE&&(this.setCache(e),this.setLoadState(f.IN_PROGRESS_STATE),this.buffer_=this.url_)},getInternalType:function(e){var i=this.getBrowser().getContext();switch(e){case 1:return i.LUMINANCE;case 2:return i.LUMINANCE_ALPHA;case 3:return i.RGB;case 4:return i.RGBA}},set_buffer__:function(){new l(this).loadBinaryDocument(this.buffer_,function(e){if(null!==e){var i=(new a).parse(e);if(i.nrrd){var r=this.getInternalType(i.components);return this.setTexture(i.width,i.height,i.depth,!1,r,i.data),void this.setLoadState(f.COMPLETE_STATE)}var t=(new s).parse(e);if(t.dicom){var r=this.getInternalType(t.components);return this.setTexture(t.width,t.height,t.depth,!1,r,t.data),void this.setLoadState(f.COMPLETE_STATE)}throw new Error("ImageTexture3D: no appropriate file type handler found.")}this.setLoadState(f.FAILED_STATE),this.clearTexture()}.bind(this))}}),o}),define("x_ite/Components/Texturing3D/PixelTexture3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing3D/X3DTexture3DNode","x_ite/Bits/X3DConstants"],function(e,i,r,t,n){"use strict";function f(i){t.call(this,i),this.addType(n.PixelTexture3D),this.addChildObjects("loadState",new e.SFInt32(n.NOT_STARTED_STATE))}return f.prototype=Object.assign(Object.create(t.prototype),{constructor:f,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"description",new e.SFString),new i(n.inputOutput,"image",new e.MFInt32(0,0,0,0)),new i(n.initializeOnly,"repeatS",new e.SFBool),new i(n.initializeOnly,"repeatT",new e.SFBool),new i(n.initializeOnly,"repeatR",new e.SFBool),new i(n.initializeOnly,"textureProperties",new e.SFNode)]),getTypeName:function(){return"PixelTexture3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texture"},initialize:function(){t.prototype.initialize.call(this),this.image_.addInterest("set_image__",this),this.set_image__()},checkLoadState:function(){return this.loadState_.getValue()},set_image__:function(){return function(){var e=this.image_;if(e.length<4)return this.clearTexture(),void(this.loadState_=n.FAILED_STATE);var i=this.getBrowser().getContext(),r=e[0],t=e[1],f=e[2],a=e[3],s=!(1&r),l=t*f*a;switch(r){case 1:for(var o=i.LUMINANCE,u=new Uint8Array(l),c=4,d=4+l,h=0;c<d;++c)u[h++]=e[c];break;case 2:for(var o=i.LUMINANCE_ALPHA,u=new Uint8Array(2*l),c=4,d=4+l,h=0;c<d;++c){var b=e[c];u[h++]=b>>>8&255,u[h++]=255&b}break;case 3:for(var o=i.RGB,u=new Uint8Array(3*l),c=4,d=4+l,h=0;c<d;++c){var b=e[c];u[h++]=b>>>16&255,u[h++]=b>>>8&255,u[h++]=255&b}break;case 4:for(var o=i.RGBA,u=new Uint8Array(4*l),c=4,d=4+l,h=0;c<d;++c){var b=e[c];u[h++]=b>>>24&255,u[h++]=b>>>16&255,u[h++]=b>>>8&255,u[h++]=255&b}break;default:return this.clearTexture(),void(this.loadState_=n.FAILED_STATE)}this.setTexture(t,f,a,s,o,u),this.loadState_=n.COMPLETE_STATE}}()}),f}),define("x_ite/Components/Texturing3D/TextureCoordinate3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing/X3DSingleTextureCoordinateNode","x_ite/Bits/X3DConstants","standard/Math/Numbers/Vector4"],function(e,i,r,t,n,f){"use strict";function a(e){t.call(this,e),this.addType(n.TextureCoordinate3D)}return a.prototype=Object.assign(Object.create(t.prototype),{constructor:a,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"mapping",new e.SFString),new i(n.inputOutput,"point",new e.MFVec3f)]),getTypeName:function(){return"TextureCoordinate3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texCoord"},initialize:function(){t.prototype.initialize.call(this),this.point_.addInterest("set_point__",this),this.set_point__()},set_point__:function(){this.point=this.point_.getValue(),this.length=this.point_.length},isEmpty:function(){return 0===this.length},getSize:function(){return this.length},get1Point:function(e,i){if(e>=0&&e<this.length){const r=this.point;return e*=3,i.set(r[e],r[e+1],r[e+2],1)}if(e>=0&&this.length){const r=this.point;return e%=this.length,e*=3,i.set(r[e],r[e+1],r[e+2],1)}return i.set(0,0,0,1)},addTexCoordToChannel:function(e,i){if(e>=0&&e<this.length){const r=this.point;e*=3,i.push(r[e],r[e+1],r[e+2],1)}else if(e>=0&&this.length){const r=this.point;e%=this.length,e*=3,i.push(r[e],r[e+1],r[e+2],1)}else i.push(0,0,0,1)},getTexCoord:function(e){const i=this.point;for(let r=0,t=0,n=this.length;r<n;++r,t+=3)e[r]=new f(i[t],i[t+1],i[t+2],1);return e.length=this.length,e}}),a}),define("x_ite/Components/Texturing3D/TextureCoordinate4D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing/X3DSingleTextureCoordinateNode","x_ite/Bits/X3DConstants","standard/Math/Numbers/Vector4"],function(e,i,r,t,n,f){"use strict";function a(e){t.call(this,e),this.addType(n.TextureCoordinate4D)}return a.prototype=Object.assign(Object.create(t.prototype),{constructor:a,
48
- fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"mapping",new e.SFString),new i(n.inputOutput,"point",new e.MFVec4f)]),getTypeName:function(){return"TextureCoordinate4D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texCoord"},initialize:function(){t.prototype.initialize.call(this),this.point_.addInterest("set_point__",this),this.set_point__()},set_point__:function(){this.point=this.point_.getValue(),this.length=this.point_.length},isEmpty:function(){return 0===this.length},getSize:function(){return this.length},get1Point:function(e,i){if(e>=0&&e<this.length){const r=this.point;return e*=4,i.set(r[e],r[e+1],r[e+2],r[e+3])}if(e>=0&&this.length){const r=this.point;return e%=this.length,e*=4,i.set(r[e],r[e+1],r[e+2],r[e+3])}return i.set(0,0,0,1)},addTexCoordToChannel:function(e,i){if(e>=0&&e<this.length){const r=this.point;e*=4,i.push(r[e],r[e+1],r[e+2],r[e+3])}else if(e>=0&&this.length){const r=this.point;e%=this.length,e*=4,i.push(r[e],r[e+1],r[e+2],r[e+3])}else i.push(0,0,0,1)},getTexCoord:function(e){const i=this.point;for(let r=0,t=0,n=this.length;r<n;++r,t+=4)e[r]=new f(i[t],i[t+1],i[t+2],i[t+3]);return e.length=this.length,e}}),a}),define("x_ite/Components/Texturing3D/TextureTransform3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing/X3DSingleTextureTransformNode","x_ite/Bits/X3DConstants","standard/Math/Numbers/Vector3","standard/Math/Numbers/Rotation4","standard/Math/Numbers/Matrix4"],function(e,i,r,t,n,f,a,s){"use strict";function l(e){t.call(this,e),this.addType(n.TextureTransform3D),this.matrix=new s}return l.prototype=Object.assign(Object.create(t.prototype),{constructor:l,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"mapping",new e.SFString),new i(n.inputOutput,"translation",new e.SFVec3f),new i(n.inputOutput,"rotation",new e.SFRotation),new i(n.inputOutput,"scale",new e.SFVec3f(1,1,1)),new i(n.inputOutput,"center",new e.SFVec3f)]),getTypeName:function(){return"TextureTransform3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"textureTransform"},initialize:function(){t.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},getMatrix:function(){return this.matrix},eventsProcessed:function(){const e=new f(0,0,0);return function(){const i=this.translation_.getValue(),r=this.rotation_.getValue(),t=this.scale_.getValue(),n=this.center_.getValue(),s=this.matrix;s.identity(),n.equals(f.Zero)||s.translate(e.assign(n).negate()),t.equals(f.One)||s.scale(t),r.equals(a.Identity)||s.rotate(r),n.equals(f.Zero)||s.translate(n),i.equals(f.Zero)||s.translate(i),this.setMatrix(s)}}()}),l}),define("x_ite/Components/Texturing3D/TextureTransformMatrix3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing/X3DSingleTextureTransformNode","x_ite/Bits/X3DConstants"],function(e,i,r,t,n){"use strict";function f(e){t.call(this,e),this.addType(n.TextureTransformMatrix3D)}return f.prototype=Object.assign(Object.create(t.prototype),{constructor:f,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"mapping",new e.SFString),new i(n.inputOutput,"matrix",new e.SFMatrix4f)]),getTypeName:function(){return"TextureTransformMatrix3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"textureTransform"},initialize:function(){t.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},getMatrix:function(){return this.matrix_.getValue()},eventsProcessed:function(){this.setMatrix(this.matrix_.getValue())}}),f}),define(["x_ite/Components","x_ite/Components/Texturing3D/ComposedTexture3D","x_ite/Components/Texturing3D/ImageTexture3D","x_ite/Components/Texturing3D/PixelTexture3D","x_ite/Components/Texturing3D/TextureCoordinate3D","x_ite/Components/Texturing3D/TextureCoordinate4D","x_ite/Components/Texturing3D/TextureTransform3D","x_ite/Components/Texturing3D/TextureTransformMatrix3D","x_ite/Components/Texturing3D/X3DTexture3DNode"],function(e,i,r,t,n,f,a,s,l){"use strict";e.addComponent({name:"Texturing3D",types:{ComposedTexture3D:i,ImageTexture3D:r,PixelTexture3D:t,TextureCoordinate3D:n,TextureCoordinate4D:f,TextureTransform3D:a,TextureTransformMatrix3D:s},abstractTypes:{X3DTexture3DNode:l}})})}();
48
+ fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"mapping",new e.SFString),new i(n.inputOutput,"point",new e.MFVec4f)]),getTypeName:function(){return"TextureCoordinate4D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"texCoord"},initialize:function(){t.prototype.initialize.call(this),this.point_.addInterest("set_point__",this),this.set_point__()},set_point__:function(){this.point=this.point_.getValue(),this.length=this.point_.length},isEmpty:function(){return 0===this.length},getSize:function(){return this.length},get1Point:function(e,i){if(e>=0&&e<this.length){const r=this.point;return e*=4,i.set(r[e],r[e+1],r[e+2],r[e+3])}if(e>=0&&this.length){const r=this.point;return e%=this.length,e*=4,i.set(r[e],r[e+1],r[e+2],r[e+3])}return i.set(0,0,0,1)},addTexCoordToChannel:function(e,i){if(e>=0&&e<this.length){const r=this.point;e*=4,i.push(r[e],r[e+1],r[e+2],r[e+3])}else if(e>=0&&this.length){const r=this.point;e%=this.length,e*=4,i.push(r[e],r[e+1],r[e+2],r[e+3])}else i.push(0,0,0,1)},getTexCoord:function(e){const i=this.point;for(let r=0,t=0,n=this.length;r<n;++r,t+=4)e[r]=new f(i[t],i[t+1],i[t+2],i[t+3]);return e.length=this.length,e}}),a}),define("x_ite/Components/Texturing3D/TextureTransform3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing/X3DSingleTextureTransformNode","x_ite/Bits/X3DConstants","standard/Math/Numbers/Vector3","standard/Math/Numbers/Rotation4","standard/Math/Numbers/Matrix4"],function(e,i,r,t,n,f,a,s){"use strict";function l(e){t.call(this,e),this.addType(n.TextureTransform3D),this.matrix=new s}return l.prototype=Object.assign(Object.create(t.prototype),{constructor:l,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"mapping",new e.SFString),new i(n.inputOutput,"translation",new e.SFVec3f),new i(n.inputOutput,"rotation",new e.SFRotation),new i(n.inputOutput,"scale",new e.SFVec3f(1,1,1)),new i(n.inputOutput,"center",new e.SFVec3f)]),getTypeName:function(){return"TextureTransform3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"textureTransform"},initialize:function(){t.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},getMatrix:function(){return this.matrix},eventsProcessed:function(){const e=new f(0,0,0);return function(){const i=this.translation_.getValue(),r=this.rotation_.getValue(),t=this.scale_.getValue(),n=this.center_.getValue(),s=this.matrix;s.identity(),n.equals(f.Zero)||s.translate(e.assign(n).negate()),t.equals(f.One)||s.scale(t),r.equals(a.Identity)||s.rotate(r),n.equals(f.Zero)||s.translate(n),i.equals(f.Zero)||s.translate(i),this.setMatrix(s)}}()}),l}),define("x_ite/Components/Texturing3D/TextureTransformMatrix3D",["x_ite/Fields","x_ite/Basic/X3DFieldDefinition","x_ite/Basic/FieldDefinitionArray","x_ite/Components/Texturing/X3DSingleTextureTransformNode","x_ite/Bits/X3DConstants"],function(e,i,r,t,n){"use strict";function f(e){t.call(this,e),this.addType(n.TextureTransformMatrix3D)}return f.prototype=Object.assign(Object.create(t.prototype),{constructor:f,fieldDefinitions:new r([new i(n.inputOutput,"metadata",new e.SFNode),new i(n.inputOutput,"mapping",new e.SFString),new i(n.inputOutput,"matrix",new e.SFMatrix4f)]),getTypeName:function(){return"TextureTransformMatrix3D"},getComponentName:function(){return"Texturing3D"},getContainerField:function(){return"textureTransform"},initialize:function(){t.prototype.initialize.call(this),this.addInterest("eventsProcessed",this),this.eventsProcessed()},getMatrix:function(){return this.matrix_.getValue()},eventsProcessed:function(){this.setMatrix(this.matrix_.getValue())}}),f}),define(require.getComponentUrl("texturing-3d"),["x_ite/Components","x_ite/Components/Texturing3D/ComposedTexture3D","x_ite/Components/Texturing3D/ImageTexture3D","x_ite/Components/Texturing3D/PixelTexture3D","x_ite/Components/Texturing3D/TextureCoordinate3D","x_ite/Components/Texturing3D/TextureCoordinate4D","x_ite/Components/Texturing3D/TextureTransform3D","x_ite/Components/Texturing3D/TextureTransformMatrix3D","x_ite/Components/Texturing3D/X3DTexture3DNode"],function(e,i,r,t,n,f,a,s,l){"use strict";e.addComponent({name:"Texturing3D",types:{ComposedTexture3D:i,ImageTexture3D:r,PixelTexture3D:t,TextureCoordinate3D:n,TextureCoordinate4D:f,TextureTransform3D:a,TextureTransformMatrix3D:s},abstractTypes:{X3DTexture3DNode:l}})})}();