'use strict';function a6_0x428c(){var _0x41665f=['fixedFoveation','Engine\x20does\x20not\x20have\x20gl\x20rendering\x20context.','materialCount','#define\x20RECIPROCAL_PI2\x200.15915494','ACTION_OnPointerOverTrigger','_injectAtEnd','baseWidth','attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+cornerPos;\x0agl_Position=projection*vec4(viewPos,1.0);\x0auv=offset;\x0a}\x0a','depthPixelShader','storageTexture','_currentBundleList','coordinatesMode','blurDir','onCompiled','spritesPixelShader','HemisphericParticleEmitter','sceneUboDeclaration','_defines','enabled','_areTexturesDirty',')\x20in\x20','DragMovementThreshold','_scene','CubeSampler','depthTest','DEPTH_COMPONENT24','_initClickEvent','\x20=\x20computeCubicCoords(','EnableFor','TEXTURE_3D','videoHeight',',\x20H:\x20','unshift','dataType','ASTC8x8Unorm','pbrBlockAlbedoOpacity','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20texelSize;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20sampleCoordS;\x0avarying\x20vec2\x20sampleCoordE;\x0avarying\x20vec2\x20sampleCoordN;\x0avarying\x20vec2\x20sampleCoordW;\x0avarying\x20vec2\x20sampleCoordNW;\x0avarying\x20vec2\x20sampleCoordSE;\x0avarying\x20vec2\x20sampleCoordNE;\x0avarying\x20vec2\x20sampleCoordSW;\x0aconst\x20float\x20fxaaQualitySubpix=1.0;\x0aconst\x20float\x20fxaaQualityEdgeThreshold=0.166;\x0aconst\x20float\x20fxaaQualityEdgeThresholdMin=0.0833;\x0aconst\x20vec3\x20kLumaCoefficients=vec3(0.2126,0.7152,0.0722);\x0a#define\x20FxaaLuma(rgba)\x20dot(rgba.rgb,kLumaCoefficients)\x0avoid\x20main(){\x0avec2\x20posM;\x0aposM.x=vUV.x;\x0aposM.y=vUV.y;\x0avec4\x20rgbyM=TEXTUREFUNC(textureSampler,vUV,0.0);\x0afloat\x20lumaM=FxaaLuma(rgbyM);\x0afloat\x20lumaS=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordS,0.0));\x0afloat\x20lumaE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordE,0.0));\x0afloat\x20lumaN=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordN,0.0));\x0afloat\x20lumaW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordW,0.0));\x0afloat\x20maxSM=max(lumaS,lumaM);\x0afloat\x20minSM=min(lumaS,lumaM);\x0afloat\x20maxESM=max(lumaE,maxSM);\x0afloat\x20minESM=min(lumaE,minSM);\x0afloat\x20maxWN=max(lumaN,lumaW);\x0afloat\x20minWN=min(lumaN,lumaW);\x0afloat\x20rangeMax=max(maxWN,maxESM);\x0afloat\x20rangeMin=min(minWN,minESM);\x0afloat\x20rangeMaxScaled=rangeMax*fxaaQualityEdgeThreshold;\x0afloat\x20range=rangeMax-rangeMin;\x0afloat\x20rangeMaxClamped=max(fxaaQualityEdgeThresholdMin,rangeMaxScaled);\x0a#ifndef\x20MALI\x0aif(range<rangeMaxClamped)\x20\x0a{\x0agl_FragColor=rgbyM;\x0areturn;\x0a}\x0a#endif\x0afloat\x20lumaNW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordNW,0.0));\x0afloat\x20lumaSE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordSE,0.0));\x0afloat\x20lumaNE=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordNE,0.0));\x0afloat\x20lumaSW=FxaaLuma(TEXTUREFUNC(textureSampler,sampleCoordSW,0.0));\x0afloat\x20lumaNS=lumaN+lumaS;\x0afloat\x20lumaWE=lumaW+lumaE;\x0afloat\x20subpixRcpRange=1.0/range;\x0afloat\x20subpixNSWE=lumaNS+lumaWE;\x0afloat\x20edgeHorz1=(-2.0*lumaM)+lumaNS;\x0afloat\x20edgeVert1=(-2.0*lumaM)+lumaWE;\x0afloat\x20lumaNESE=lumaNE+lumaSE;\x0afloat\x20lumaNWNE=lumaNW+lumaNE;\x0afloat\x20edgeHorz2=(-2.0*lumaE)+lumaNESE;\x0afloat\x20edgeVert2=(-2.0*lumaN)+lumaNWNE;\x0afloat\x20lumaNWSW=lumaNW+lumaSW;\x0afloat\x20lumaSWSE=lumaSW+lumaSE;\x0afloat\x20edgeHorz4=(abs(edgeHorz1)*2.0)+abs(edgeHorz2);\x0afloat\x20edgeVert4=(abs(edgeVert1)*2.0)+abs(edgeVert2);\x0afloat\x20edgeHorz3=(-2.0*lumaW)+lumaNWSW;\x0afloat\x20edgeVert3=(-2.0*lumaS)+lumaSWSE;\x0afloat\x20edgeHorz=abs(edgeHorz3)+edgeHorz4;\x0afloat\x20edgeVert=abs(edgeVert3)+edgeVert4;\x0afloat\x20subpixNWSWNESE=lumaNWSW+lumaNESE;\x0afloat\x20lengthSign=texelSize.x;\x0abool\x20horzSpan=edgeHorz>=edgeVert;\x0afloat\x20subpixA=subpixNSWE*2.0+subpixNWSWNESE;\x0aif\x20(!horzSpan)\x0a{\x0alumaN=lumaW;\x0a}\x0aif\x20(!horzSpan)\x20\x0a{\x0alumaS=lumaE;\x0a}\x0aif\x20(horzSpan)\x20\x0a{\x0alengthSign=texelSize.y;\x0a}\x0afloat\x20subpixB=(subpixA*(1.0/12.0))-lumaM;\x0afloat\x20gradientN=lumaN-lumaM;\x0afloat\x20gradientS=lumaS-lumaM;\x0afloat\x20lumaNN=lumaN+lumaM;\x0afloat\x20lumaSS=lumaS+lumaM;\x0abool\x20pairN=abs(gradientN)>=abs(gradientS);\x0afloat\x20gradient=max(abs(gradientN),abs(gradientS));\x0aif\x20(pairN)\x0a{\x0alengthSign=-lengthSign;\x0a}\x0afloat\x20subpixC=clamp(abs(subpixB)*subpixRcpRange,0.0,1.0);\x0avec2\x20posB;\x0aposB.x=posM.x;\x0aposB.y=posM.y;\x0avec2\x20offNP;\x0aoffNP.x=(!horzSpan)\x20?\x200.0\x20:\x20texelSize.x;\x0aoffNP.y=(horzSpan)\x20?\x200.0\x20:\x20texelSize.y;\x0aif\x20(!horzSpan)\x20\x0a{\x0aposB.x+=lengthSign*0.5;\x0a}\x0aif\x20(horzSpan)\x0a{\x0aposB.y+=lengthSign*0.5;\x0a}\x0avec2\x20posN;\x0aposN.x=posB.x-offNP.x*1.5;\x0aposN.y=posB.y-offNP.y*1.5;\x0avec2\x20posP;\x0aposP.x=posB.x+offNP.x*1.5;\x0aposP.y=posB.y+offNP.y*1.5;\x0afloat\x20subpixD=((-2.0)*subpixC)+3.0;\x0afloat\x20lumaEndN=FxaaLuma(TEXTUREFUNC(textureSampler,posN,0.0));\x0afloat\x20subpixE=subpixC*subpixC;\x0afloat\x20lumaEndP=FxaaLuma(TEXTUREFUNC(textureSampler,posP,0.0));\x0aif\x20(!pairN)\x20\x0a{\x0alumaNN=lumaSS;\x0a}\x0afloat\x20gradientScaled=gradient*1.0/4.0;\x0afloat\x20lumaMM=lumaM-lumaNN*0.5;\x0afloat\x20subpixF=subpixD*subpixE;\x0abool\x20lumaMLTZero=lumaMM<0.0;\x0alumaEndN-=lumaNN*0.5;\x0alumaEndP-=lumaNN*0.5;\x0abool\x20doneN=abs(lumaEndN)>=gradientScaled;\x0abool\x20doneP=abs(lumaEndP)>=gradientScaled;\x0aif\x20(!doneN)\x20\x0a{\x0aposN.x-=offNP.x*3.0;\x0a}\x0aif\x20(!doneN)\x20\x0a{\x0aposN.y-=offNP.y*3.0;\x0a}\x0abool\x20doneNP=(!doneN)\x20||\x20(!doneP);\x0aif\x20(!doneP)\x20\x0a{\x0aposP.x+=offNP.x*3.0;\x0a}\x0aif\x20(!doneP)\x0a{\x0aposP.y+=offNP.y*3.0;\x0a}\x0aif\x20(doneNP)\x0a{\x0aif\x20(!doneN)\x20lumaEndN=FxaaLuma(TEXTUREFUNC(textureSampler,posN.xy,0.0));\x0aif\x20(!doneP)\x20lumaEndP=FxaaLuma(TEXTUREFUNC(textureSampler,posP.xy,0.0));\x0aif\x20(!doneN)\x20lumaEndN=lumaEndN-lumaNN*0.5;\x0aif\x20(!doneP)\x20lumaEndP=lumaEndP-lumaNN*0.5;\x0adoneN=abs(lumaEndN)>=gradientScaled;\x0adoneP=abs(lumaEndP)>=gradientScaled;\x0aif\x20(!doneN)\x20posN.x-=offNP.x*12.0;\x0aif\x20(!doneN)\x20posN.y-=offNP.y*12.0;\x0adoneNP=(!doneN)\x20||\x20(!doneP);\x0aif\x20(!doneP)\x20posP.x+=offNP.x*12.0;\x0aif\x20(!doneP)\x20posP.y+=offNP.y*12.0;\x0a}\x0afloat\x20dstN=posM.x-posN.x;\x0afloat\x20dstP=posP.x-posM.x;\x0aif\x20(!horzSpan)\x0a{\x0adstN=posM.y-posN.y;\x0a}\x0aif\x20(!horzSpan)\x20\x0a{\x0adstP=posP.y-posM.y;\x0a}\x0abool\x20goodSpanN=(lumaEndN<0.0)\x20!=\x20lumaMLTZero;\x0afloat\x20spanLength=(dstP+dstN);\x0abool\x20goodSpanP=(lumaEndP<0.0)\x20!=\x20lumaMLTZero;\x0afloat\x20spanLengthRcp=1.0/spanLength;\x0abool\x20directionN=dstN<dstP;\x0afloat\x20dst=min(dstN,dstP);\x0abool\x20goodSpan=directionN\x20?\x20goodSpanN\x20:\x20goodSpanP;\x0afloat\x20subpixG=subpixF*subpixF;\x0afloat\x20pixelOffset=(dst*(-spanLengthRcp))+0.5;\x0afloat\x20subpixH=subpixG*fxaaQualitySubpix;\x0afloat\x20pixelOffsetGood=goodSpan\x20?\x20pixelOffset\x20:\x200.0;\x0afloat\x20pixelOffsetSubpix=max(pixelOffsetGood,subpixH);\x0aif\x20(!horzSpan)\x0a{\x0aposM.x+=pixelOffsetSubpix*lengthSign;\x0a}\x0aif\x20(horzSpan)\x0a{\x0aposM.y+=pixelOffsetSubpix*lengthSign;\x0a}\x0a#ifdef\x20MALI\x0aif(range<rangeMaxClamped)\x20\x0a{\x0agl_FragColor=rgbyM;\x0a}\x0aelse\x0a{\x0agl_FragColor=TEXTUREFUNC(textureSampler,posM,0.0);\x0a}\x0a#else\x0agl_FragColor=TEXTUREFUNC(textureSampler,posM,0.0);\x0a#endif\x0a}','uniform\x20','updateRenderTargetTextureSampleCount','MODE_SIDEBYSIDE','decode','_mainPassBundleList','restoreDefaultInputTexture','layerMask','#ifdef\x20CLIPPLANE\x0auniform\x20vec4\x20vClipPlane;\x0avarying\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vec4\x20vClipPlane2;\x0avarying\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vec4\x20vClipPlane3;\x0avarying\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vec4\x20vClipPlane4;\x0avarying\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vec4\x20vClipPlane5;\x0avarying\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vec4\x20vClipPlane6;\x0avarying\x20float\x20fClipDistance6;\x0a#endif\x0a','activeTexture','uv6','_bundleListRenderTarget','join','_uniformDeclaration','importExternalTexture','setStencilWriteMask','___###','_processCustomBuffers','setArray','render','Iridescence\x20thickness','setStorageBuffer','struct\x20FragmentInputs\x20{\x0a\x20\x20@builtin(position)\x20position\x20:\x20vec4<f32>,\x0a\x20\x20@builtin(front_facing)\x20frontFacing\x20:\x20bool,\x0a','BABYLON.IridescenceBlock','R32Uint','_addComponent','ALPHA_ADD','getMeshUnderPointerByPointerId','getRenderingCanvas','_camera','MATERIAL_TextureDirtyFlag','#ifdef\x20FOG\x0afloat\x20fog=CalcFogFactor();\x0a#ifdef\x20PBR\x0afog=toLinearSpace(fog);\x0a#endif\x0acolor.rgb=mix(vFogColor,color.rgb,fog);\x0a#endif\x0a','_bonesComputationForcedToCPU','_allocateNewIndices','copyBufferToTexture','parse','\x0a\x20\x20\x20\x20@group(0)\x20@binding(0)\x20var\x20videoSampler:\x20sampler;\x0a\x20\x20\x20\x20@group(0)\x20@binding(1)\x20var\x20videoTexture:\x20texture_external;\x0a\x0a\x20\x20\x20\x20@fragment\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV:\x20vec2<f32>\x0a\x20\x20\x20\x20)\x20->\x20@location(0)\x20vec4<f32>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20textureSampleBaseClampToEdge(videoTexture,\x20videoSampler,\x20fragUV);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','BGRA8Unorm','_textures','WriteOnly','#define\x20CLIPPLANE2','clipPlaneVertexDeclaration','TEXTUREFORMAT_R','array','TEXTURE_TRILINEAR_SAMPLINGMODE','fluidRenderingParticleThicknessVertexShader','TEXTUREFORMAT_LUMINANCE_ALPHA','hasObservers','\x0a#define\x20CONEEMITTERSPAWNPOINT','ALPHA_ALPHATOCOLOR','computeBonesUsingShaders','TEXTURETYPE_UNSIGNED_SHORT_5_6_5','thinInstancePartialBufferUpdate','Depth24PlusStencil8','No\x20fixed\x20size\x20for\x20Stencil8\x20format!','Unable\x20to\x20get\x202d\x20context','_compiledShaders','_getPipeline','textureCubeArray','boundingBoxSize','opStencilFail','_vrExclusivePointerMode','fogDensity','_attributeNamesWGSL','matchesTagsQuery','previousViewProjection','AddStore','_addNewAttachObserver','layout(std140,column_major)\x20uniform;\x0a#include<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a','DEPTH_TEST','normalize(','CreateNewFromPrimitive','meshUnderPointer','startPositionFunction','shift','_halfDomeMask','No\x20fixed\x20size\x20for\x20Depth24PlusStencil8\x20format!','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20vec2\x20direction;\x0auniform\x20float\x20blurWidth;\x0afloat\x20getLuminance(vec3\x20color)\x0a{\x0areturn\x20dot(color,vec3(0.2126,0.7152,0.0722));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20weights[7];\x0aweights[0]=0.05;\x0aweights[1]=0.1;\x0aweights[2]=0.2;\x0aweights[3]=0.3;\x0aweights[4]=0.2;\x0aweights[5]=0.1;\x0aweights[6]=0.05;\x0avec2\x20texelSize=vec2(1.0/screenSize.x,1.0/screenSize.y);\x0avec2\x20texelStep=texelSize*direction*blurWidth;\x0avec2\x20start=vUV-3.0*texelStep;\x0avec4\x20baseColor=vec4(0.,0.,0.,0.);\x0avec2\x20texelOffset=vec2(0.,0.);\x0afor\x20(int\x20i=0;\x20i<7;\x20i++)\x0a{\x0avec4\x20texel=texture2D(textureSampler,start+texelOffset);\x0abaseColor.a+=texel.a*weights[i];\x0afloat\x20luminance=getLuminance(baseColor.rgb);\x0afloat\x20luminanceTexel=getLuminance(texel.rgb);\x0afloat\x20choice=step(luminanceTexel,luminance);\x0abaseColor.rgb=choice*baseColor.rgb+(1.0-choice)*texel.rgb;\x0atexelOffset+=texelStep;\x0a}\x0agl_FragColor=baseColor;\x0a}','RGBA16Float','-etc1.ktx','createFramebuffer','terrainVertexShader','TEXTUREFORMAT_COMPRESSED_RGBA_ASTC_4x4','FLOAT','lightUboDeclaration','isCube','default','bumpVertexDeclaration','_play','GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_ALPHA','postProcessor','Quaternion','E2dArray','lastIndexOf','updateMatrix2x2','#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x20\x0avarying\x20mat3\x20vTBN;\x0a#endif\x0a#endif\x0a','Float\x20textures\x20are\x20not\x20supported.\x20Cube\x20render\x20target\x20forced\x20to\x20TEXTURETYPE_UNESIGNED_BYTE\x20type','temps','_disposeThinInstanceSpecificData','TEXTURE_CUBE_MAP_NEGATIVE_Y','#define\x20CYLINDEREMITTER','Declaration','minimizeInPlace','fogVertex','_lodGenerationOffset','//Uniforms\x0d\x0a','removeVerticesData','GL_ALPHA_EQUATION_SUBTRACT','lineIndex','readFromStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','imageProcessingPixelShader','.texture.coordinatesMode\x20=\x20','#include<sceneUboDeclaration>\x0a',')\x20uniform','IdentityReadOnly','_features','_getCurrentRenderPassIndex','HasTriggers','name','_swipeButtonPressed','-dxt.ktx','_previousDelayedSimpleClickTimeout','precision\x20mediump\x20float','setStencilFailOp','#ifdef\x20LIGHT{X}\x0auniform\x20vec4\x20vLightData{X};\x0auniform\x20vec4\x20vLightDiffuse{X};\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vLightSpecular{X};\x0a#else\x0avec4\x20vLightSpecular{X}=vec4(0.);\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20cascadeBlendFactor{X};\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2DArray\x20depthSampler{X};\x0auniform\x20vec2\x20lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20penumbraDarkness{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20highp\x20sampler2DArray\x20shadowSampler{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0aconst\x20vec3\x20vCascadeColorsMultiplier{X}[8]=vec3[8]\x0a(\x0avec3\x20(\x201.5,0.0,0.0\x20),\x0avec3\x20(\x200.0,1.5,0.0\x20),\x0avec3\x20(\x200.0,0.0,5.5\x20),\x0avec3\x20(\x201.5,0.0,5.5\x20),\x0avec3\x20(\x201.5,1.5,0.0\x20),\x0avec3\x20(\x201.0,1.0,1.0\x20),\x0avec3\x20(\x200.0,1.0,5.5\x20),\x0avec3\x20(\x200.5,3.5,0.75\x20)\x0a);\x0avec3\x20shadowDebug{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aint\x20index{X}=-1;\x0a#else\x0aint\x20index{X}=SHADOWCSMNUM_CASCADES{X}-1;\x0a#endif\x0afloat\x20diff{X}=0.;\x0a#elif\x20defined(SHADOWCUBE{X})\x0auniform\x20samplerCube\x20shadowSampler{X};\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2D\x20depthSampler{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20sampler2D\x20shadowSampler{X};\x0a#endif\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0auniform\x20vec4\x20shadowsInfo{X};\x0auniform\x20vec2\x20depthValues{X};\x0a#endif\x0a#ifdef\x20SPOTLIGHT{X}\x0auniform\x20vec4\x20vLightDirection{X};\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(POINTLIGHT{X})\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(HEMILIGHT{X})\x0auniform\x20vec3\x20vLightGround{X};\x0a#endif\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0auniform\x20mat4\x20textureProjectionMatrix{X};\x0auniform\x20sampler2D\x20projectionLightSampler{X};\x0a#endif\x0a#endif\x0a','_varyingNextLocation','inputTexture','\x20=\x20input.frontFacing;\x0a','direction2','tabIndex','_deferredReleaseBuffers','sampleType','createEffectForParticles','_alreadyAttachedTo','extensions','samplerVertexImplementation','COLOR_BUFFER_BIT','gl_VertexIndex','_lastBuffer','onVRDisplayChangedObservable','sceneVertexDeclaration','#define\x20RECIPROCAL_PI2\x200.15915494\x0a#define\x20RECIPROCAL_PI\x200.31830988618\x0a#define\x20MINIMUMVARIANCE\x200.0005\x0afloat\x20convertRoughnessToAverageSlope(float\x20roughness)\x0a{\x0areturn\x20square(roughness)+MINIMUMVARIANCE;\x0a}\x0afloat\x20fresnelGrazingReflectance(float\x20reflectance0)\x20{\x0afloat\x20reflectance90=saturate(reflectance0*25.0);\x0areturn\x20reflectance90;\x0a}\x0avec2\x20getAARoughnessFactors(vec3\x20normalVector)\x20{\x0a#ifdef\x20SPECULARAA\x0avec3\x20nDfdx=dFdx(normalVector.xyz);\x0avec3\x20nDfdy=dFdy(normalVector.xyz);\x0afloat\x20slopeSquare=max(dot(nDfdx,nDfdx),dot(nDfdy,nDfdy));\x0afloat\x20geometricRoughnessFactor=pow(saturate(slopeSquare),0.333);\x0afloat\x20geometricAlphaGFactor=sqrt(slopeSquare);\x0ageometricAlphaGFactor*=0.75;\x0areturn\x20vec2(geometricRoughnessFactor,geometricAlphaGFactor);\x0a#else\x0areturn\x20vec2(0.);\x0a#endif\x0a}\x0a#ifdef\x20ANISOTROPIC\x0avec2\x20getAnisotropicRoughness(float\x20alphaG,float\x20anisotropy)\x20{\x0afloat\x20alphaT=max(alphaG*(1.0+anisotropy),MINIMUMVARIANCE);\x0afloat\x20alphaB=max(alphaG*(1.0-anisotropy),MINIMUMVARIANCE);\x0areturn\x20vec2(alphaT,alphaB);\x0a}\x0avec3\x20getAnisotropicBentNormals(const\x20vec3\x20T,const\x20vec3\x20B,const\x20vec3\x20N,const\x20vec3\x20V,float\x20anisotropy)\x20{\x0avec3\x20anisotropicFrameDirection=anisotropy>=0.0\x20?\x20B\x20:\x20T;\x0avec3\x20anisotropicFrameTangent=cross(normalize(anisotropicFrameDirection),V);\x0avec3\x20anisotropicFrameNormal=cross(anisotropicFrameTangent,anisotropicFrameDirection);\x0avec3\x20anisotropicNormal=normalize(mix(N,anisotropicFrameNormal,abs(anisotropy)));\x0areturn\x20anisotropicNormal;\x0a}\x0a#endif\x0a#if\x20defined(CLEARCOAT)\x20||\x20defined(SS_REFRACTION)\x0avec3\x20cocaLambert(vec3\x20alpha,float\x20distance)\x20{\x0areturn\x20exp(-alpha*distance);\x0a}\x0avec3\x20cocaLambert(float\x20NdotVRefract,float\x20NdotLRefract,vec3\x20alpha,float\x20thickness)\x20{\x0areturn\x20cocaLambert(alpha,(thickness*((NdotLRefract+NdotVRefract)/(NdotLRefract*NdotVRefract))));\x0a}\x0avec3\x20computeColorAtDistanceInMedia(vec3\x20color,float\x20distance)\x20{\x0areturn\x20-log(color)/distance;\x0a}\x0avec3\x20computeClearCoatAbsorption(float\x20NdotVRefract,float\x20NdotLRefract,vec3\x20clearCoatColor,float\x20clearCoatThickness,float\x20clearCoatIntensity)\x20{\x0avec3\x20clearCoatAbsorption=mix(vec3(1.0),\x0acocaLambert(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness),\x0aclearCoatIntensity);\x0areturn\x20clearCoatAbsorption;\x0a}\x0a#endif\x0a#ifdef\x20MICROSURFACEAUTOMATIC\x0afloat\x20computeDefaultMicroSurface(float\x20microSurface,vec3\x20reflectivityColor)\x0a{\x0aconst\x20float\x20kReflectivityNoAlphaWorkflow_SmoothnessMax=0.95;\x0afloat\x20reflectivityLuminance=getLuminance(reflectivityColor);\x0afloat\x20reflectivityLuma=sqrt(reflectivityLuminance);\x0amicroSurface=reflectivityLuma*kReflectivityNoAlphaWorkflow_SmoothnessMax;\x0areturn\x20microSurface;\x0a}\x0a#endif\x0a','currentRTisSceneRT','vrdisplaydisconnect','//#define\x20','_ProcessShaderConversion','detachCamerasFromRenderPipeline','leftOverUniforms','uniform\x20float\x20conversion;\x0auniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#include<helperFunctions>\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20color=texture2D(textureSampler,vUV);\x0a#ifdef\x20DEPTH_TEXTURE\x0agl_FragDepth=color.r;\x0a#else\x0aif\x20(conversion==1.)\x20{\x0acolor=toLinearSpace(color);\x0a}\x20else\x20if\x20(conversion==2.)\x20{\x0acolor=toGammaSpace(color);\x0a}\x0agl_FragColor=color;\x0a#endif\x0a}\x0a','instancedArrays','_renderTarget','gl_FragDepth','querySet','#ifdef\x20LOGARITHMICDEPTH\x0avFragmentDepth=1.0+gl_Position.w;\x0agl_Position.z=log2(max(0.000001,vFragmentDepth))*logarithmicDepthConstant;\x0a#endif\x0a','prePassVertex','onPointerMove','copyFrom','View','>,\x0a','_cameraObserverCount','Initialize','createComputeEffect','RGB9E5UFloat','previousWorld',');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','_isCullDirty','TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV\x20format\x20not\x20supported\x20in\x20WebGPU','getPointerOverMesh','hdrFilteringPixelShader','ssFilterRadii','#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0auniform\x20vec4\x20color;\x0a#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0a#include<logDepthFragment>\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','diffuseSampler','updateMatrix','tangent','setDepthTestEnabled',');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','LastCreatedScene','IsImageBitmapArray','geometryPixelShader','useStencilGlobalOnly','#ifdef\x20SHADOWS\x0a#if\x20defined(SHADOWCSM{X})\x0avPositionFromCamera{X}=view*worldPos;\x0afor\x20(int\x20i=0;\x20i<SHADOWCSMNUM_CASCADES{X};\x20i++)\x20{\x0avPositionFromLight{X}[i]=lightMatrix{X}[i]*worldPos;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric{X}[i]=(-vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#else\x0avDepthMetric{X}[i]=(vPositionFromLight{X}[i].z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#endif\x0a}\x0a#elif\x20defined(SHADOW{X})\x20&&\x20!defined(SHADOWCUBE{X})\x0avPositionFromLight{X}=lightMatrix{X}*worldPos;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric{X}=(-vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#else\x0avDepthMetric{X}=(vPositionFromLight{X}.z+light{X}.depthValues.x)/light{X}.depthValues.y;\x0a#endif\x0a#endif\x0a#endif\x0a','precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0auniform\x20float\x20time;uniform\x20float\x20speed;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDistortionCoords1;varying\x20vec2\x20vDistortionCoords2;varying\x20vec2\x20vDistortionCoords3;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20DIFFUSE\x0avDiffuseUV=uv;vDiffuseUV.y-=0.2;\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avec3\x20layerSpeed=vec3(-0.2,-0.52,-0.1)*speed;vDistortionCoords1.x=uv.x;vDistortionCoords1.y=uv.y+layerSpeed.x*time/1000.0;vDistortionCoords2.x=uv.x;vDistortionCoords2.y=uv.y+layerSpeed.y*time/1000.0;vDistortionCoords3.x=uv.x;vDistortionCoords3.y=uv.y+layerSpeed.z*time/1000.0;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','ASTC6x6Unorm','\x22,\x20null);\x0d\x0a','PositionKind','depthOfFieldPixelShader','(-yFactor_)*dFdy','var<private>\x20','glowMapMergePixelShader','_disableEffect','_time','_renderTargetWrapperCache','bindGroupLayoutEntries','EACRG11Unorm','done','matrix','.y\x20=\x201.0\x20-\x20','surface','deleteRenderbuffer','_alphaBlend','setFloatArray3','bindBuffer','updateDynamicIndexBuffer','_bindTexture','ASTC10x8UnormSRGB','_pointerOverMesh','autoResetAlpha','setUInt3','depthCullingState','const\x20float\x20PI=3.1415926535897932384626433832795;\x0aconst\x20float\x20HALF_MIN=5.96046448e-08;\x20\x0aconst\x20float\x20LinearEncodePowerApprox=2.2;\x0aconst\x20float\x20GammaEncodePowerApprox=1.0/LinearEncodePowerApprox;\x0aconst\x20vec3\x20LuminanceEncodeApprox=vec3(0.2126,0.7152,0.0722);\x0aconst\x20float\x20Epsilon=0.0000001;\x0a#define\x20saturate(x)\x20clamp(x,0.0,1.0)\x0a#define\x20absEps(x)\x20abs(x)+Epsilon\x0a#define\x20maxEps(x)\x20max(x,Epsilon)\x0a#define\x20saturateEps(x)\x20clamp(x,Epsilon,1.0)\x0amat3\x20transposeMat3(mat3\x20inMatrix)\x20{\x0avec3\x20i0=inMatrix[0];\x0avec3\x20i1=inMatrix[1];\x0avec3\x20i2=inMatrix[2];\x0amat3\x20outMatrix=mat3(\x0avec3(i0.x,i1.x,i2.x),\x0avec3(i0.y,i1.y,i2.y),\x0avec3(i0.z,i1.z,i2.z)\x0a);\x0areturn\x20outMatrix;\x0a}\x0amat3\x20inverseMat3(mat3\x20inMatrix)\x20{\x0afloat\x20a00=inMatrix[0][0],a01=inMatrix[0][1],a02=inMatrix[0][2];\x0afloat\x20a10=inMatrix[1][0],a11=inMatrix[1][1],a12=inMatrix[1][2];\x0afloat\x20a20=inMatrix[2][0],a21=inMatrix[2][1],a22=inMatrix[2][2];\x0afloat\x20b01=a22*a11-a12*a21;\x0afloat\x20b11=-a22*a10+a12*a20;\x0afloat\x20b21=a21*a10-a11*a20;\x0afloat\x20det=a00*b01+a01*b11+a02*b21;\x0areturn\x20mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),\x0ab11,(a22*a00-a02*a20),(-a12*a00+a02*a10),\x0ab21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;\x0a}\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0avec3\x20toLinearSpaceExact(vec3\x20color)\x0a{\x0avec3\x20nearZeroSection=0.0773993808*color;\x0avec3\x20remainingSection=pow(0.947867299*(color+vec3(0.055)),vec3(2.4));\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0areturn\x20mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.04045)));\x0a#else\x0areturn\x0avec3(\x0acolor.r<=0.04045\x20?\x20nearZeroSection.r\x20:\x20remainingSection.r,\x0acolor.g<=0.04045\x20?\x20nearZeroSection.g\x20:\x20remainingSection.g,\x0acolor.b<=0.04045\x20?\x20nearZeroSection.b\x20:\x20remainingSection.b);\x0a#endif\x0a}\x0avec3\x20toGammaSpaceExact(vec3\x20color)\x0a{\x0avec3\x20nearZeroSection=12.92*color;\x0avec3\x20remainingSection=1.055*pow(color,vec3(0.41666))-vec3(0.055);\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0areturn\x20mix(remainingSection,nearZeroSection,lessThanEqual(color,vec3(0.0031308)));\x0a#else\x0areturn\x0avec3(\x0acolor.r<=0.0031308\x20?\x20nearZeroSection.r\x20:\x20remainingSection.r,\x0acolor.g<=0.0031308\x20?\x20nearZeroSection.g\x20:\x20remainingSection.g,\x0acolor.b<=0.0031308\x20?\x20nearZeroSection.b\x20:\x20remainingSection.b);\x0a#endif\x0a}\x0a#endif\x0afloat\x20toLinearSpace(float\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0afloat\x20nearZeroSection=0.0773993808*color;\x0afloat\x20remainingSection=pow(0.947867299*(color+0.055),2.4);\x0areturn\x20color<=0.04045\x20?\x20nearZeroSection\x20:\x20remainingSection;\x0a#else\x0areturn\x20pow(color,LinearEncodePowerApprox);\x0a#endif\x0a}\x0avec3\x20toLinearSpace(vec3\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20toLinearSpaceExact(color);\x0a#else\x0areturn\x20pow(color,vec3(LinearEncodePowerApprox));\x0a#endif\x0a}\x0avec4\x20toLinearSpace(vec4\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20vec4(toLinearSpaceExact(color.rgb),color.a);\x0a#else\x0areturn\x20vec4(pow(color.rgb,vec3(LinearEncodePowerApprox)),color.a);\x0a#endif\x0a}\x0afloat\x20toGammaSpace(float\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0afloat\x20nearZeroSection=12.92*color;\x0afloat\x20remainingSection=1.055*pow(color,0.41666)-0.055;\x0areturn\x20color<=0.0031308\x20?\x20nearZeroSection\x20:\x20remainingSection;\x0a#else\x0areturn\x20pow(color,GammaEncodePowerApprox);\x0a#endif\x0a}\x0avec3\x20toGammaSpace(vec3\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20toGammaSpaceExact(color);\x0a#else\x0areturn\x20pow(color,vec3(GammaEncodePowerApprox));\x0a#endif\x0a}\x0avec4\x20toGammaSpace(vec4\x20color)\x0a{\x0a#if\x20USE_EXACT_SRGB_CONVERSIONS\x0areturn\x20vec4(toGammaSpaceExact(color.rgb),color.a);\x0a#else\x0areturn\x20vec4(pow(color.rgb,vec3(GammaEncodePowerApprox)),color.a);\x0a#endif\x0a}\x0afloat\x20square(float\x20value)\x0a{\x0areturn\x20value*value;\x0a}\x0avec3\x20square(vec3\x20value)\x0a{\x0areturn\x20value*value;\x0a}\x0afloat\x20pow5(float\x20value)\x20{\x0afloat\x20sq=value*value;\x0areturn\x20sq*sq*value;\x0a}\x0afloat\x20getLuminance(vec3\x20color)\x0a{\x0areturn\x20clamp(dot(color,LuminanceEncodeApprox),0.,1.);\x0a}\x0afloat\x20getRand(vec2\x20seed)\x20{\x0areturn\x20fract(sin(dot(seed.xy\x20,vec2(12.9898,78.233)))*43758.5453);\x0a}\x0afloat\x20dither(vec2\x20seed,float\x20varianceAmount)\x20{\x0afloat\x20rand=getRand(seed);\x0afloat\x20normVariance=varianceAmount/255.0;\x0afloat\x20dither=mix(-normVariance,normVariance,rand);\x0areturn\x20dither;\x0a}\x0aconst\x20float\x20rgbdMaxRange=255.0;\x0avec4\x20toRGBD(vec3\x20color)\x20{\x0afloat\x20maxRGB=maxEps(max(color.r,max(color.g,color.b)));\x0afloat\x20D\x20=max(rgbdMaxRange/maxRGB,1.);\x0aD\x20=clamp(floor(D)/255.0,0.,1.);\x0avec3\x20rgb=color.rgb*D;\x0argb=toGammaSpace(rgb);\x0areturn\x20vec4(clamp(rgb,0.,1.),D);\x20\x0a}\x0avec3\x20fromRGBD(vec4\x20rgbd)\x20{\x0argbd.rgb=toLinearSpace(rgbd.rgb);\x0areturn\x20rgbd.rgb/rgbd.a;\x0a}\x0avec3\x20parallaxCorrectNormal(\x20vec3\x20vertexPos,vec3\x20origVec,vec3\x20cubeSize,vec3\x20cubePos\x20)\x20{\x0avec3\x20invOrigVec=vec3(1.0,1.0,1.0)/origVec;\x0avec3\x20halfSize=cubeSize*0.5;\x0avec3\x20intersecAtMaxPlane=(cubePos+halfSize-vertexPos)*invOrigVec;\x0avec3\x20intersecAtMinPlane=(cubePos-halfSize-vertexPos)*invOrigVec;\x0avec3\x20largestIntersec=max(intersecAtMaxPlane,intersecAtMinPlane);\x0afloat\x20distance=min(min(largestIntersec.x,largestIntersec.y),largestIntersec.z);\x0avec3\x20intersectPositionWS=vertexPos+origVec*distance;\x0areturn\x20intersectPositionWS-cubePos;\x0a}\x0a','rgbdEncodePixelShader','\x0a};\x0a','rotate','subSurfaceScattering','pickedMesh','lookForClosingBracketForUniformBuffer','boundingBoxRendererFragmentDeclaration','worldPosition','R8Sint','_copyTextureToTexture','QueueNewFrame','_onVrDisplayConnect','gpuRenderParticlesVertexShader','attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20viewPos;\x0avarying\x20float\x20sphereRadius;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0aattribute\x20vec3\x20velocity;\x0avarying\x20float\x20velocityNorm;\x0a#endif\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0aviewPos=(view*vec4(position,1.0)).xyz;\x0agl_Position=projection*vec4(viewPos+cornerPos,1.0);\x0auv=offset;\x0asphereRadius=size.x/2.0;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0avelocityNorm=length(velocity);\x0a#endif\x0a}\x0a','filterRadii','shadowMapFragment','alphaBlend','\x20\x20output.color\x20=\x20','releaseComputeEffects','_internalTextureDirty','hasFloatTextures','_measureDurationState',',\x20null,\x20undefined,\x20undefined,\x20undefined,\x20','_isUbo','crossEye','polygonOffset','triplanarPixelShader','shadowMapVertexDeclaration','generateOnlyFragmentCode','RandomRange','toGlobal','_keys','updateVector4','string','orderedAttributes','depthTextureExtension','_numFloatTextures','generateMipmap','_releaseComputeEffect','You\x20already\x20reached\x20the\x20maximum\x20number\x20of\x20diffusion\x20profiles.','SphereParticleEmitter','TEXTURE_PLANAR_MODE','thinInstanceRegisterAttribute','onEndFrameObservable','substitutionVars','pbrBlockAnisotropic','var<private>\x20gl_VertexID\x20:\x20u32;\x0avar<private>\x20gl_InstanceID\x20:\x20u32;\x0avar<private>\x20gl_Position\x20:\x20vec4<f32>;\x0a','iridescence','setQuaternion','initialize','\x20@align(16)\x20','DRAW_FRAMEBUFFER','_frontFace','_dumpPropertiesCode','Depth\x20cube\x20texture\x20is\x20not\x20supported\x20by\x20WebGL\x201.','attribute\x20vec3\x20position;\x0aattribute\x20vec4\x20color;\x0aattribute\x20float\x20angle;\x0aattribute\x20vec2\x20size;\x0a#ifdef\x20ANIMATESHEET\x0aattribute\x20float\x20cellIndex;\x0a#endif\x0a#ifndef\x20BILLBOARD\x0aattribute\x20vec3\x20direction;\x0a#endif\x0a#ifdef\x20BILLBOARDSTRETCHED\x0aattribute\x20vec3\x20direction;\x0a#endif\x0a#ifdef\x20RAMPGRADIENT\x0aattribute\x20vec4\x20remapData;\x0a#endif\x0aattribute\x20vec2\x20offset;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20translationPivot;\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec3\x20particlesInfos;\x20\x0a#endif\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20RAMPGRADIENT\x0avarying\x20vec4\x20remapRanges;\x0a#endif\x0a#if\x20defined(BILLBOARD)\x20&&\x20!defined(BILLBOARDY)\x20&&\x20!defined(BILLBOARDSTRETCHED)\x0auniform\x20mat4\x20invView;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<logDepthDeclaration>\x0a#ifdef\x20BILLBOARD\x0auniform\x20vec3\x20eyePosition;\x0a#endif\x0avec3\x20rotate(vec3\x20yaxis,vec3\x20rotatedCorner)\x20{\x0avec3\x20xaxis=normalize(cross(vec3(0.,1.0,0.),yaxis));\x0avec3\x20zaxis=normalize(cross(yaxis,xaxis));\x0avec3\x20row0=vec3(xaxis.x,xaxis.y,xaxis.z);\x0avec3\x20row1=vec3(yaxis.x,yaxis.y,yaxis.z);\x0avec3\x20row2=vec3(zaxis.x,zaxis.y,zaxis.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0areturn\x20position+alignedCorner;\x0a}\x0a#ifdef\x20BILLBOARDSTRETCHED\x0avec3\x20rotateAlign(vec3\x20toCamera,vec3\x20rotatedCorner)\x20{\x0avec3\x20normalizedToCamera=normalize(toCamera);\x0avec3\x20normalizedCrossDirToCamera=normalize(cross(normalize(direction),normalizedToCamera));\x0avec3\x20row0=vec3(normalizedCrossDirToCamera.x,normalizedCrossDirToCamera.y,normalizedCrossDirToCamera.z);\x0avec3\x20row2=vec3(normalizedToCamera.x,normalizedToCamera.y,normalizedToCamera.z);\x0a#ifdef\x20BILLBOARDSTRETCHED_LOCAL\x0avec3\x20row1=direction;\x0a#else\x0avec3\x20crossProduct=normalize(cross(normalizedToCamera,normalizedCrossDirToCamera));\x0avec3\x20row1=vec3(crossProduct.x,crossProduct.y,crossProduct.z);\x0a#endif\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0areturn\x20position+alignedCorner;\x0a}\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec2\x20cornerPos;\x0acornerPos=(vec2(offset.x-0.5,offset.y\x20-0.5)-translationPivot)*size+translationPivot;\x0a#ifdef\x20BILLBOARD\x0avec3\x20rotatedCorner;\x0a#ifdef\x20BILLBOARDY\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=position-eyePosition;\x0ayaxis.y=0.;\x0avPositionW=rotate(normalize(yaxis),rotatedCorner);\x0avec3\x20viewPos=(view*vec4(vPositionW,1.0)).xyz;\x0a#elif\x20defined(BILLBOARDSTRETCHED)\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20toCamera=position-eyePosition;\x0avPositionW=rotateAlign(toCamera,rotatedCorner);\x0avec3\x20viewPos=(view*vec4(vPositionW,1.0)).xyz;\x0a#else\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+rotatedCorner;\x0avPositionW=(invView*vec4(viewPos,1)).xyz;\x0a#endif\x0a#ifdef\x20RAMPGRADIENT\x0aremapRanges=remapData;\x0a#endif\x0agl_Position=projection*vec4(viewPos,1.0);\x0a#else\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=normalize(direction);\x0avPositionW=rotate(yaxis,rotatedCorner);\x0agl_Position=projection*view*vec4(vPositionW,1.0);\x0a#endif\x0avColor=color;\x0a#ifdef\x20ANIMATESHEET\x0afloat\x20rowOffset=floor(cellIndex*particlesInfos.z);\x0afloat\x20columnOffset=cellIndex-rowOffset/particlesInfos.z;\x0avec2\x20uvScale=particlesInfos.xy;\x0avec2\x20uvOffset=vec2(offset.x\x20,1.0-offset.y);\x0avUV=(uvOffset+vec2(columnOffset,rowOffset))*uvScale;\x0a#else\x0avUV=offset;\x0a#endif\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=vec4(vPositionW,1.0);\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','meshVertexDeclaration','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20','_view','spriteMapPixelShader','noColorAttachment','_ProcessIncludes','children','renderWidthHeight','spritesVertexShader','#include<helperFunctions>\x0a#include<importanceSampling>\x0a#include<pbrBRDFFunctions>\x0a#include<hdrFilteringFunctions>\x0auniform\x20float\x20alphaG;\x0auniform\x20samplerCube\x20inputTexture;\x0auniform\x20vec2\x20vFilteringInfo;\x0auniform\x20float\x20hdrScale;\x0avarying\x20vec3\x20direction;\x0avoid\x20main()\x20{\x0avec3\x20color=radiance(alphaG,inputTexture,direction,vFilteringInfo);\x0agl_FragColor=vec4(color*hdrScale,1.0);\x0a}','\x20=\x20computeSkyBoxCoords(','clickToPlay','Cube','sqrt','setAlphaBlendFactors','#ifdef\x20MORPHTARGETS\x0auniform\x20float\x20morphTargetInfluences[NUM_MORPH_INFLUENCERS];\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0aprecision\x20mediump\x20sampler2DArray;\x20\x0auniform\x20float\x20morphTargetTextureIndices[NUM_MORPH_INFLUENCERS];\x0auniform\x20vec3\x20morphTargetTextureInfo;\x0auniform\x20sampler2DArray\x20morphTargets;\x0avec3\x20readVector3FromRawSampler(int\x20targetIndex,float\x20vertexIndex)\x0a{\x20\x0afloat\x20y=floor(vertexIndex/morphTargetTextureInfo.y);\x0afloat\x20x=vertexIndex-y*morphTargetTextureInfo.y;\x0avec3\x20textureUV=vec3((x+0.5)/morphTargetTextureInfo.y,(y+0.5)/morphTargetTextureInfo.z,morphTargetTextureIndices[targetIndex]);\x0areturn\x20texture(morphTargets,textureUV).xyz;\x0a}\x0a#endif\x0a#endif\x0a','_createMultiviewUbo','disablePhysicsEngine','attributeProcessor','_blurNumIterations',';\x0d\x0a','SphereDirectedParticleEmitter','\x20=\x20computeProjectionCoords(','pbrBlockIridescence','size','freeGroupIndex','_attributesDeclWGSL','funcMask','Eval','ReflectionTextureBaseBlock','endFrame','samplerNames','Read','_Stack','updateTextureSamplingMode','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSEX\x0avarying\x20vec2\x20vTextureUVX;\x0auniform\x20sampler2D\x20diffuseSamplerX;\x0a#ifdef\x20BUMPX\x0auniform\x20sampler2D\x20normalSamplerX;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avarying\x20vec2\x20vTextureUVY;\x0auniform\x20sampler2D\x20diffuseSamplerY;\x0a#ifdef\x20BUMPY\x0auniform\x20sampler2D\x20normalSamplerY;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avarying\x20vec2\x20vTextureUVZ;\x0auniform\x20sampler2D\x20diffuseSamplerZ;\x0a#ifdef\x20BUMPZ\x0auniform\x20sampler2D\x20normalSamplerZ;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0avarying\x20mat3\x20tangentSpace;\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(0.,0.,0.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=tangentSpace[2];\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec4\x20baseNormal=vec4(0.0,0.0,0.0,1.0);\x0anormalW*=normalW;\x0a#ifdef\x20DIFFUSEX\x0abaseColor+=texture2D(diffuseSamplerX,vTextureUVX)*normalW.x;\x0a#ifdef\x20BUMPX\x0abaseNormal+=texture2D(normalSamplerX,vTextureUVX)*normalW.x;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0abaseColor+=texture2D(diffuseSamplerY,vTextureUVY)*normalW.y;\x0a#ifdef\x20BUMPY\x0abaseNormal+=texture2D(normalSamplerY,vTextureUVY)*normalW.y;\x0a#endif\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0abaseColor+=texture2D(diffuseSamplerZ,vTextureUVZ)*normalW.z;\x0a#ifdef\x20BUMPZ\x0abaseNormal+=texture2D(normalSamplerZ,vTextureUVZ)*normalW.z;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0anormalW=normalize((2.0*baseNormal.xyz-1.0)*tangentSpace);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','TEXTUREFORMAT_DEPTH32_FLOAT','TEXTUREFORMAT_RGB\x20format\x20not\x20supported\x20in\x20WebGPU','matrixData','IsCompressedFormat','Unable\x20to\x20create\x20webGL\x20texture','ETC2RGB8Unorm','_cacheMatrix','onLoadObservable','UNSIGNED_SHORT','BrowserBack','RGBA8','getNextFreeUBOBinding','_GetBlockInformationFromFormat','CopyDst','is3D','MipMap','mat4','texture','physicsImpostor','TEXTURE0','_ySize','_radius','updateUInt3','getBox','.fx','_currentLayer','search','_frameHandler','TEXTURE_MAG_FILTER','sampler_comparison','texParameteri','Ubo','#if\x20defined(IMAGEPROCESSINGPOSTPROCESS)\x20||\x20defined(SS_SCATTERING)\x0a#if\x20!defined(SKIPFINALCOLORCLAMP)\x0afinalColor.rgb=clamp(finalColor.rgb,0.,30.0);\x0a#endif\x0a#else\x0afinalColor=applyImageProcessing(finalColor);\x0a#endif\x0afinalColor.a*=visibility;\x0a#ifdef\x20PREMULTIPLYALPHA\x0afinalColor.rgb*=finalColor.a;\x0a#endif\x0a','uniform','some','Depth\x20texture\x20is\x20not\x20supported\x20by\x20your\x20browser\x20or\x20hardware.','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20scale;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=(position*madd+madd)*scale;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','hasQueries','Uint','logDepthDeclaration','function','createJoint','TEXTURE_SPHERICAL_MODE','#ifdef\x20UV{X}\x0aattribute\x20vec2\x20uv{X};\x0a#endif\x0a','createEffect','_copyInvertYRenderPassDescr','useCache','precision\x20highp\x20float;\x0d\x0a','hasPointerTriggers','ALPHA_PREMULTIPLIED_PORTERDUFF','_cachedWrapV','R8Snorm','_maxRank','_measureDuration','getBindGroups','RGBA16Sint','#if\x20DEBUGMODE>0\x0aif\x20(vClipSpacePosition.x/vClipSpacePosition.w>=vDebugMode.x)\x20{\x0a#if\x20DEBUGMODE==1\x0agl_FragColor.rgb=vPositionW.rgb;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==2\x20&&\x20defined(NORMAL)\x0agl_FragColor.rgb=vNormalW.rgb;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==3\x20&&\x20defined(BUMP)\x20||\x20DEBUGMODE==3\x20&&\x20defined(PARALLAX)\x20||\x20DEBUGMODE==3\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=TBN[0];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==4\x20&&\x20defined(BUMP)\x20||\x20DEBUGMODE==4\x20&&\x20defined(PARALLAX)\x20||\x20DEBUGMODE==4\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=TBN[1];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==5\x0agl_FragColor.rgb=normalW;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==6\x20&&\x20defined(MAINUV1)\x0agl_FragColor.rgb=vec3(vMainUV1,0.0);\x0a#elif\x20DEBUGMODE==7\x20&&\x20defined(MAINUV2)\x0agl_FragColor.rgb=vec3(vMainUV2,0.0);\x0a#elif\x20DEBUGMODE==8\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_BUMP)\x0agl_FragColor.rgb=clearcoatOut.TBNClearCoat[0];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==9\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_BUMP)\x0agl_FragColor.rgb=clearcoatOut.TBNClearCoat[1];\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==10\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=clearcoatOut.clearCoatNormalW;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==11\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicNormal;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==12\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicTangent;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==13\x20&&\x20defined(ANISOTROPIC)\x0agl_FragColor.rgb=anisotropicOut.anisotropicBitangent;\x0a#define\x20DEBUGMODE_NORMALIZE\x0a#elif\x20DEBUGMODE==20\x20&&\x20defined(ALBEDO)\x0agl_FragColor.rgb=albedoTexture.rgb;\x0a#elif\x20DEBUGMODE==21\x20&&\x20defined(AMBIENT)\x0agl_FragColor.rgb=aoOut.ambientOcclusionColorMap.rgb;\x0a#elif\x20DEBUGMODE==22\x20&&\x20defined(OPACITY)\x0agl_FragColor.rgb=opacityMap.rgb;\x0a#elif\x20DEBUGMODE==23\x20&&\x20defined(EMISSIVE)\x0agl_FragColor.rgb=emissiveColorTex.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==24\x20&&\x20defined(LIGHTMAP)\x0agl_FragColor.rgb=lightmapColor.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==25\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.surfaceMetallicColorMap.rgb;\x0a#elif\x20DEBUGMODE==26\x20&&\x20defined(REFLECTIVITY)\x20&&\x20!defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.surfaceReflectivityColorMap.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==27\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TEXTURE)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatMapData.rg,0.0);\x0a#elif\x20DEBUGMODE==28\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x20&&\x20defined(CLEARCOAT_TINT_TEXTURE)\x0agl_FragColor.rgb=clearcoatOut.clearCoatTintMapData.rgb;\x0a#elif\x20DEBUGMODE==29\x20&&\x20defined(SHEEN)\x20&&\x20defined(SHEEN_TEXTURE)\x0agl_FragColor.rgb=sheenOut.sheenMapData.rgb;\x0a#elif\x20DEBUGMODE==30\x20&&\x20defined(ANISOTROPIC)\x20&&\x20defined(ANISOTROPIC_TEXTURE)\x0agl_FragColor.rgb=anisotropicOut.anisotropyMapData.rgb;\x0a#elif\x20DEBUGMODE==31\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_THICKNESSANDMASK_TEXTURE)\x0agl_FragColor.rgb=subSurfaceOut.thicknessMap.rgb;\x0a#elif\x20DEBUGMODE==40\x20&&\x20defined(SS_REFRACTION)\x0agl_FragColor.rgb=subSurfaceOut.environmentRefraction.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==41\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=reflectionOut.environmentRadiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==42\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=clearcoatOut.environmentClearCoatRadiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==50\x0agl_FragColor.rgb=diffuseBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==51\x20&&\x20defined(SPECULARTERM)\x0agl_FragColor.rgb=specularBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==52\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=clearCoatBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==53\x20&&\x20defined(SHEEN)\x0agl_FragColor.rgb=sheenBase.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==54\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=reflectionOut.environmentIrradiance.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==60\x0agl_FragColor.rgb=surfaceAlbedo.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==61\x0agl_FragColor.rgb=clearcoatOut.specularEnvironmentR0;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==62\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=vec3(reflectivityOut.metallicRoughness.r);\x0a#elif\x20DEBUGMODE==71\x20&&\x20defined(METALLICWORKFLOW)\x0agl_FragColor.rgb=reflectivityOut.metallicF0;\x0a#elif\x20DEBUGMODE==63\x0agl_FragColor.rgb=vec3(roughness);\x0a#elif\x20DEBUGMODE==64\x0agl_FragColor.rgb=vec3(alphaG);\x0a#elif\x20DEBUGMODE==65\x0agl_FragColor.rgb=vec3(NdotV);\x0a#elif\x20DEBUGMODE==66\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x0agl_FragColor.rgb=clearcoatOut.clearCoatColor.rgb;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==67\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatRoughness);\x0a#elif\x20DEBUGMODE==68\x20&&\x20defined(CLEARCOAT)\x0agl_FragColor.rgb=vec3(clearcoatOut.clearCoatNdotV);\x0a#elif\x20DEBUGMODE==69\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_TRANSLUCENCY)\x0agl_FragColor.rgb=subSurfaceOut.transmittance;\x0a#elif\x20DEBUGMODE==70\x20&&\x20defined(SUBSURFACE)\x20&&\x20defined(SS_REFRACTION)\x0agl_FragColor.rgb=subSurfaceOut.refractionTransmittance;\x0a#elif\x20DEBUGMODE==80\x20&&\x20defined(RADIANCEOCCLUSION)\x0agl_FragColor.rgb=vec3(seo);\x0a#elif\x20DEBUGMODE==81\x20&&\x20defined(HORIZONOCCLUSION)\x0agl_FragColor.rgb=vec3(eho);\x0a#elif\x20DEBUGMODE==82\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0agl_FragColor.rgb=vec3(energyConservationFactor);\x0a#elif\x20DEBUGMODE==83\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0agl_FragColor.rgb=specularEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==84\x20&&\x20defined(CLEARCOAT)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0agl_FragColor.rgb=clearcoatOut.clearCoatEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==85\x20&&\x20defined(SHEEN)\x20&&\x20defined(REFLECTION)\x0agl_FragColor.rgb=sheenOut.sheenEnvironmentReflectance;\x0a#define\x20DEBUGMODE_GAMMA\x0a#elif\x20DEBUGMODE==86\x20&&\x20defined(ALPHABLEND)\x0agl_FragColor.rgb=vec3(luminanceOverAlpha);\x0a#elif\x20DEBUGMODE==87\x0agl_FragColor.rgb=vec3(alpha);\x0a#endif\x0agl_FragColor.rgb*=vDebugMode.y;\x0a#ifdef\x20DEBUGMODE_NORMALIZE\x0agl_FragColor.rgb=normalize(gl_FragColor.rgb)*0.5+0.5;\x0a#endif\x0a#ifdef\x20DEBUGMODE_GAMMA\x0agl_FragColor.rgb=toGammaSpace(gl_FragColor.rgb);\x0a#endif\x0agl_FragColor.a=1.0;\x0a#ifdef\x20PREPASS\x0agl_FragData[0]=toLinearSpace(gl_FragColor);\x20\x0agl_FragData[1]=vec4(0.,0.,0.,0.);\x20\x0a#endif\x0areturn;\x0a}\x0a#endif\x0a','_Counter','particleSystems','REPLACE','addEventListener','run',',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}','match','shadowMapVertexExtraDeclaration','heartbeat','MATERIAL_TriangleStripDrawMode','viewProjection','generateStencil','CLIPPLANE3','Raw2DArray','_isSwiping','pbrBlockGeometryInfo','POINTERTAP','setBuffer','_defineEquirectangularName','sampler2DShadow','reset','_pointerCaptures','createMaterialContext','bakedVertexAnimation','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20float\x20alpha;\x0auniform\x20vec3\x20shadowColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include<lightFragment>[0..1]\x0avec4\x20color=vec4(shadowColor,(1.0-clamp(shadow,0.,1.))*alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<imageProcessingDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20result=texture2D(textureSampler,vUV);\x0a#ifdef\x20IMAGEPROCESSING\x0a#ifndef\x20FROMLINEARSPACE\x0aresult.rgb=toLinearSpace(result.rgb);\x0a#endif\x0aresult=applyImageProcessing(result);\x0a#else\x0a#ifdef\x20FROMLINEARSPACE\x0aresult=applyImageProcessing(result);\x0a#endif\x0a#endif\x0agl_FragColor=result;\x0a}','gradientVertexShader','No\x20fixed\x20size\x20for\x20Depth24Plus\x20format!','INTENSITYMODE_LUMINOUSINTENSITY','updateUniformBuffer','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20refractionSampler;\x0auniform\x20vec3\x20baseColor;\x0auniform\x20float\x20depth;\x0auniform\x20float\x20colorLevel;\x0avoid\x20main()\x20{\x0afloat\x20ref=1.0-texture2D(refractionSampler,vUV).r;\x0avec2\x20uv=vUV-vec2(0.5);\x0avec2\x20offset=uv*depth*ref;\x0avec3\x20sourceColor=texture2D(textureSampler,vUV-offset).rgb;\x0agl_FragColor=vec4(sourceColor+sourceColor*ref*colorLevel,1.0);\x0a}','float\x20bayerDither2(vec2\x20_P)\x20{\x0areturn\x20mod(2.0*_P.y+_P.x+1.0,4.0);\x0a}\x0afloat\x20bayerDither4(vec2\x20_P)\x20{\x0avec2\x20P1=mod(_P,2.0);\x20\x0avec2\x20P2=floor(0.5*mod(_P,4.0));\x20\x0areturn\x204.0*bayerDither2(P1)+bayerDither2(P2);\x0a}\x0afloat\x20bayerDither8(vec2\x20_P)\x20{\x0avec2\x20P1=mod(_P,2.0);\x20\x0avec2\x20P2=floor(0.5\x20*mod(_P,4.0));\x20\x0avec2\x20P4=floor(0.25*mod(_P,8.0));\x20\x0areturn\x204.0*(4.0*bayerDither2(P1)+bayerDither2(P2))+bayerDither2(P4);\x0a}\x0a','ASTC4x4Unorm','Unable\x20to\x20create\x20dummy\x20framebuffer','\x20=\x20normalize(vec3(','_onPointerMove','DontInvertY','submitFrame','includesShadersStore','_beforeCompositionPostProcesses','circleOfConfusionPixelShader','loopAnimation','precision\x20highp\x20float;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<instancesDeclaration>\x0a#include<__decl__geometryVertex>\x0a#include<clipPlaneVertexDeclaration>\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#ifdef\x20NEED_UV\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20ALPHATEST\x0auniform\x20mat4\x20diffuseMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20mat4\x20bumpMatrix;\x0avarying\x20vec2\x20vBumpUV;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0auniform\x20mat4\x20reflectivityMatrix;\x0auniform\x20mat4\x20albedoMatrix;\x0avarying\x20vec2\x20vReflectivityUV;\x0avarying\x20vec2\x20vAlbedoUV;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#ifdef\x20BUMP\x0avarying\x20mat4\x20vWorldView;\x0a#endif\x0a#ifdef\x20BUMP\x0avarying\x20vec3\x20vNormalW;\x0a#else\x0avarying\x20vec3\x20vNormalV;\x0a#endif\x0avarying\x20vec4\x20vViewPos;\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avarying\x20vec3\x20vPositionW;\x0a#endif\x0a#ifdef\x20VELOCITY\x0auniform\x20mat4\x20previousViewProjection;\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#if\x20defined(VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=vec4(finalWorld*vec4(positionUpdated,1.0));\x0a#ifdef\x20BUMP\x0avWorldView=view*finalWorld;\x0avNormalW=normalUpdated;\x0a#else\x0avNormalV=normalize(vec3((view*finalWorld)*vec4(normalUpdated,0.0)));\x0a#endif\x0avViewPos=view*worldPos;\x0a#if\x20defined(VELOCITY)\x20&&\x20defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20previousInfluence;\x0apreviousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*previousInfluence*vec4(positionUpdated,1.0);\x0a#else\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#endif\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avPositionW=worldPos.xyz/worldPos.w;\x0a#endif\x0agl_Position=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#include<clipPlaneVertex>\x0a#ifdef\x20NEED_UV\x0a#ifdef\x20UV1\x0a#if\x20defined(ALPHATEST)\x20&&\x20defined(ALPHATEST_UV1)\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#else\x0avUV=uv;\x0a#endif\x0a#ifdef\x20BUMP_UV1\x0avBumpUV=vec2(bumpMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20REFLECTIVITY_UV1\x0avReflectivityUV=vec2(reflectivityMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20ALBEDO_UV1\x0avAlbedoUV=vec2(albedoMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20UV2\x0a#if\x20defined(ALPHATEST)\x20&&\x20defined(ALPHATEST_UV2)\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#else\x0avUV=uv2;\x0a#endif\x0a#ifdef\x20BUMP_UV2\x0avBumpUV=vec2(bumpMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#ifdef\x20REFLECTIVITY_UV2\x0avReflectivityUV=vec2(reflectivityMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#ifdef\x20ALBEDO_UV2\x0avAlbedoUV=vec2(albedoMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#endif\x0a#include<bumpVertex>\x0a}\x0a','_cull','samplerVertexDeclaration','bindMultiviewFramebuffer','_getHalfFloatAsFloatRGBAArrayBuffer','resource','updateDynamicVertexBuffer','LIGHTTYPEID_SPOTLIGHT','setTextureSampler:\x20This\x20engine\x20does\x20not\x20support\x20separate\x20texture\x20sampler\x20objects!','meshUboDeclaration','#ifdef\x20MORPHTARGETS\x0a#ifndef\x20MORPHTARGETS_TEXTURE\x0aattribute\x20position{X}\x20:\x20vec3<f32>;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0aattribute\x20normal{X}\x20:\x20vec3<f32>;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0aattribute\x20tangent{X}\x20:\x20vec3<f32>;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0aattribute\x20uv_{X}\x20:\x20vec2<f32>;\x0a#endif\x0a#endif\x0a#endif\x0a','setAsSystemValue','read_write','\x22\x20is\x20not\x20declared\x20in\x20the\x20vertex\x20shader!\x20This\x20declaration\x20will\x20be\x20ignored.','fluidRenderingBilateralBlurPixelShader','#if\x20SM_NORMALBIAS==1\x0a#if\x20SM_DIRECTIONINLIGHTDATA==1\x0avec3\x20worldLightDirSM=normalize(-lightDataSM.xyz);\x0a#else\x0avec3\x20directionToLightSM=lightDataSM.xyz-worldPos.xyz;\x0avec3\x20worldLightDirSM=normalize(directionToLightSM);\x0a#endif\x0afloat\x20ndlSM=dot(vNormalW,worldLightDirSM);\x0afloat\x20sinNLSM=sqrt(1.0-ndlSM*ndlSM);\x0afloat\x20normalBiasSM=biasAndScaleSM.y*sinNLSM;\x0aworldPos.xyz-=vNormalW*normalBiasSM;\x0a#endif\x0a','#define\x20CONEEMITTER','MatchesQuery','_webVRInitPromise','pbrHelperFunctions','setInt4','onPointerPick','TEXTURE_CUBE_MAP_POSITIVE_X','getAspectRatio','5976732lXTnlH','exitPresent','\x20{\x0ayFactor_:\x20f32,\x0atextureOutputHeight_:\x20f32,\x0a};\x0avar<uniform>\x20internals\x20:\x20','reflectionCoords','\x20=\x20vec3(0,\x200,\x200);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','_opDepthFail','uniform\x20vec3\x20diffusionS[5];\x0auniform\x20float\x20diffusionD[5];\x0auniform\x20float\x20filterRadii[5];','setValue','onPointerDown','dataStoreDataCurrentBufferBlockIndex','depthAttachmentViewDescriptor','#ifdef','copyTextureToTexture','rgbdDecodePixelShader','catch','endRenderTargetPass','drawArraysType','RG32Float','textureCube','#ifdef\x20LOGARITHMICDEPTH\x0auniform\x20float\x20logarithmicDepthConstant;\x0avarying\x20float\x20vFragmentDepth;\x0a#endif\x0a','pointerMoveTrianglePredicate','_updateParameters','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0avertexID=f32(gl_VertexID)*uniforms.morphTargetTextureInfo.x;\x0apositionUpdated=positionUpdated+(readVector3FromRawSampler({X},vertexID)-position)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated=normalUpdated+(readVector3FromRawSampler({X},vertexID)\x20-normal)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated=uvUpdated+(readVector3FromRawSampler({X},vertexID).xy-uv)*uniforms.morphTargetInfluences[{X}];\x0avertexID=vertexID+1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz=tangentUpdated.xyz+(readVector3FromRawSampler({X},vertexID)\x20-tangent.xyz)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#else\x0apositionUpdated=positionUpdated+(position{X}-position)*uniforms.morphTargetInfluences[{X}];\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(normal{X}-normal)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz=tangentUpdated.xyz+(tangent{X}-tangent.xyz)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated=uvUpdated+(uv_{X}-uv)*uniforms.morphTargetInfluences[{X}];\x0a#endif\x0a#endif\x0a#endif\x0a','sources','programValidationError','_attachments','ETC2RGB8A1UnormSRGB','getAlphaMode','getAndRemove','#define\x20','GetExponentOfTwo','serialize','needsImageProcessing','hashCode','ASTC10x6Unorm','matricesIndices','particlesVertexShader','getMappedRange','equals','_getTexture','texturesSupported','_createHardwareRenderTargetWrapper','observable','_tempVector','GL_ALPHA_FUNCTION_ONE_MINUS_CONSTANT_COLOR','Render\x20to\x20half\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.','dataStoreDataByteOffset','charCodeAt','#define\x20CLIPPLANE3','#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0agl_FragColor.rgb=pow(gl_FragColor.rgb,vec3(2.2));\x0a#endif\x0a','_drawWrapperBase','data','invertYPreMultiplyAlpha','preProcessShaderCode','_excludeVariableName','systemValue','setFloat3','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0aattribute\x20vec2\x20uv;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20tUV;\x0avarying\x20vec2\x20stageUnits;\x0avarying\x20vec2\x20levelUnits;\x0avarying\x20vec2\x20tileID;\x0auniform\x20float\x20time;\x0auniform\x20mat4\x20worldViewProjection;\x0auniform\x20vec2\x20outputSize;\x0auniform\x20vec2\x20stageSize;\x0auniform\x20vec2\x20spriteMapSize;\x0auniform\x20float\x20stageScale;\x0avoid\x20main()\x20{\x0avec4\x20p=vec4(\x20position,1.\x20);\x0avPosition=p.xyz;\x0avUV=uv;\x0atUV=uv*stageSize;\x20\x0agl_Position=worldViewProjection*p;\x0a}','_requestVRFrame','_defineLocalCubicName','pbrDirectLightingSetupFunctions','ACTION_OnRightPickTrigger','hasTexture','ASTC12x12UnormSRGB','setFloatArray4','1531304aoXbAc','_TextureTypeByWebGLSamplerType','updateFloatArray','InternalsUBOName','TEXTURETYPE_UNSIGNED_BYTE','imageProcessingPostProcess','updateDirectColor4','push','matricesIndicesExtra','#define','_colorTextureArray','Uniform','morphTargetsVertex','copy','_debugInsertMarker','shouldUseHighPrecisionShader','Texture','\x20levels','ASTC6x5UnormSRGB','additionalDefineKey','Cannot\x20load\x20cubemap\x20because\x20files\x20were\x20not\x20defined','_sampleBurleyDiffusionProfile','subarray','RGBA8UnormSRGB','url','ETC2RGB8UnormSRGB','sizes','RG8Sint','splice','struct\x20iridescenceOutParams\x0a{\x0afloat\x20iridescenceIntensity;\x0afloat\x20iridescenceIOR;\x0afloat\x20iridescenceThickness;\x0avec3\x20specularEnvironmentR0;\x0a};\x0a#ifdef\x20IRIDESCENCE\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20iridescenceBlock(\x0ain\x20vec4\x20vIridescenceParams,\x0ain\x20float\x20viewAngle,\x0ain\x20vec3\x20specularEnvironmentR0,\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0ain\x20vec2\x20iridescenceMapData,\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0ain\x20vec2\x20iridescenceThicknessMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0ain\x20float\x20NdotVUnclamped,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0ain\x20vec2\x20clearCoatMapData,\x0a#endif\x0a#endif\x0aout\x20iridescenceOutParams\x20outParams\x0a)\x0a{\x0afloat\x20iridescenceIntensity=vIridescenceParams.x;\x0afloat\x20iridescenceIOR=vIridescenceParams.y;\x0afloat\x20iridescenceThicknessMin=vIridescenceParams.z;\x0afloat\x20iridescenceThicknessMax=vIridescenceParams.w;\x0afloat\x20iridescenceThicknessWeight=1.;\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0airidescenceIntensity*=iridescenceMapData.x;\x0a#ifdef\x20IRIDESCENCE_USE_THICKNESS_FROM_MAINTEXTURE\x0airidescenceThicknessWeight=iridescenceMapData.g;\x0a#endif\x0a#endif\x0a#if\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0airidescenceThicknessWeight=iridescenceThicknessMapData.g;\x0a#endif\x0afloat\x20iridescenceThickness=mix(iridescenceThicknessMin,iridescenceThicknessMax,iridescenceThicknessWeight);\x0afloat\x20topIor=1.;\x20\x0a#ifdef\x20CLEARCOAT\x0afloat\x20clearCoatIntensity=vClearCoatParams.x;\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatIntensity*=clearCoatMapData.x;\x0a#endif\x0atopIor=mix(1.0,vClearCoatRefractionParams.w-1.,clearCoatIntensity);\x0aviewAngle=sqrt(1.0+square(1.0/topIor)*(square(NdotVUnclamped)-1.0));\x0a#endif\x0avec3\x20iridescenceFresnel=evalIridescence(topIor,iridescenceIOR,viewAngle,iridescenceThickness,specularEnvironmentR0);\x0aoutParams.specularEnvironmentR0=mix(specularEnvironmentR0,iridescenceFresnel,iridescenceIntensity);\x0aoutParams.iridescenceIntensity=iridescenceIntensity;\x0aoutParams.iridescenceThickness=iridescenceThickness;\x0aoutParams.iridescenceIOR=iridescenceIOR;\x0a}\x0a#endif\x0a','NAME_PARTICLESYSTEM','_pickedDownMesh','matrixBuffer','_pipelineContext','layers','maxMSAASamples','struct\x20Particle\x20{\x0aposition\x20:\x20vec3<f32>,\x0aage\x20:\x20f32,\x0asize\x20:\x20vec3<f32>,\x0alife\x20:\x20f32,\x0aseed\x20:\x20vec4<f32>,\x0adirection\x20:\x20vec3<f32>,\x0adummy0:\x20f32,\x0a#ifdef\x20CUSTOMEMITTER\x0ainitialPosition\x20:\x20vec3<f32>,\x0adummy1:\x20f32,\x0a#endif\x0a#ifndef\x20COLORGRADIENTS\x0acolor\x20:\x20vec4<f32>,\x0a#endif\x0a#ifndef\x20BILLBOARD\x0ainitialDirection\x20:\x20vec3<f32>,\x0adummy2:\x20f32,\x0a#endif\x0a#ifdef\x20NOISE\x0anoiseCoordinates1\x20:\x20vec3<f32>,\x0adummy3:\x20f32,\x0anoiseCoordinates2\x20:\x20vec3<f32>,\x0adummy4:\x20f32,\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0aangle\x20:\x20f32,\x0a#else\x0aangle\x20:\x20vec2<f32>,\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0acellIndex\x20:\x20f32,\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0acellStartOffset\x20:\x20f32,\x0a#endif\x0a#endif\x0a};\x0astruct\x20Particles\x20{\x0aparticles\x20:\x20array<Particle>,\x0a};\x0astruct\x20SimParams\x20{\x0acurrentCount\x20:\x20f32,\x0atimeDelta\x20:\x20f32,\x0astopFactor\x20:\x20f32,\x0arandomTextureSize:\x20i32,\x0alifeTime\x20:\x20vec2<f32>,\x0aemitPower\x20:\x20vec2<f32>,\x0a#ifndef\x20COLORGRADIENTS\x0acolor1\x20:\x20vec4<f32>,\x0acolor2\x20:\x20vec4<f32>,\x0a#endif\x0asizeRange\x20:\x20vec2<f32>,\x0ascaleRange\x20:\x20vec4<f32>,\x0aangleRange\x20:\x20vec4<f32>,\x0agravity\x20:\x20vec3<f32>,\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0alimitVelocityDamping\x20:\x20f32,\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0acellInfos\x20:\x20vec4<f32>,\x0a#endif\x0a#ifdef\x20NOISE\x0anoiseStrength\x20:\x20vec3<f32>,\x0a#endif\x0a#ifndef\x20LOCAL\x0aemitterWM\x20:\x20mat4x4<f32>,\x0a#endif\x0a#ifdef\x20BOXEMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0aminEmitBox\x20:\x20vec3<f32>,\x0amaxEmitBox\x20:\x20vec3<f32>,\x0a#endif\x0a#ifdef\x20CONEEMITTER\x0aradius\x20:\x20vec2<f32>,\x0aconeAngle\x20:\x20f32,\x0aheight\x20:\x20vec2<f32>,\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#ifdef\x20CYLINDEREMITTER\x0aradius\x20:\x20f32,\x0aheight\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0a#else\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#endif\x0a#ifdef\x20HEMISPHERICEMITTER\x0aradius\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#ifdef\x20POINTEMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0a#endif\x0a#ifdef\x20SPHEREEMITTER\x0aradius\x20:\x20f32,\x0aradiusRange\x20:\x20f32,\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0adirection1\x20:\x20vec3<f32>,\x0adirection2\x20:\x20vec3<f32>,\x0a#else\x0adirectionRandomizer\x20:\x20f32,\x0a#endif\x0a#endif\x0a};\x0a@binding(0)\x20@group(0)\x20var<uniform>\x20params\x20:\x20SimParams;\x0a@binding(1)\x20@group(0)\x20var<storage,read>\x20particlesIn\x20:\x20Particles;\x0a@binding(2)\x20@group(0)\x20var<storage,read_write>\x20particlesOut\x20:\x20Particles;\x0a@binding(3)\x20@group(0)\x20var\x20randomTexture\x20:\x20texture_2d<f32>;\x0a@binding(4)\x20@group(0)\x20var\x20randomTexture2\x20:\x20texture_2d<f32>;\x0a#ifdef\x20SIZEGRADIENTS\x0a@binding(0)\x20@group(1)\x20var\x20sizeGradientSampler\x20:\x20sampler;\x0a@binding(1)\x20@group(1)\x20var\x20sizeGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0a@binding(2)\x20@group(1)\x20var\x20angularSpeedGradientSampler\x20:\x20sampler;\x0a@binding(3)\x20@group(1)\x20var\x20angularSpeedGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x20\x0a#ifdef\x20VELOCITYGRADIENTS\x0a@binding(4)\x20@group(1)\x20var\x20velocityGradientSampler\x20:\x20sampler;\x0a@binding(5)\x20@group(1)\x20var\x20velocityGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0a@binding(6)\x20@group(1)\x20var\x20limitVelocityGradientSampler\x20:\x20sampler;\x0a@binding(7)\x20@group(1)\x20var\x20limitVelocityGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0a@binding(8)\x20@group(1)\x20var\x20dragGradientSampler\x20:\x20sampler;\x0a@binding(9)\x20@group(1)\x20var\x20dragGradientTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0a#ifdef\x20NOISE\x0a@binding(10)\x20@group(1)\x20var\x20noiseSampler\x20:\x20sampler;\x0a@binding(11)\x20@group(1)\x20var\x20noiseTexture\x20:\x20texture_2d<f32>;\x0a#endif\x0afn\x20getRandomVec3(offset\x20:\x20f32,vertexID\x20:\x20f32)->vec3<f32>\x20{\x0areturn\x20textureLoad(randomTexture2,vec2<i32>(i32(vertexID*offset/params.currentCount*f32(params.randomTextureSize))\x20%\x20params.randomTextureSize,0),0).rgb;\x0a}\x0afn\x20getRandomVec4(offset\x20:\x20f32,vertexID\x20:\x20f32)->vec4<f32>\x20{\x0areturn\x20textureLoad(randomTexture,vec2<i32>(i32(vertexID*offset/params.currentCount*f32(params.randomTextureSize))\x20%\x20params.randomTextureSize,0),0);\x0a}\x0a@stage(compute)\x20@workgroup_size(64)\x0afn\x20main(@builtin(global_invocation_id)\x20GlobalInvocationID\x20:\x20vec3<u32>)\x20{\x0alet\x20index\x20:\x20u32=GlobalInvocationID.x;\x0alet\x20vertexID\x20:\x20f32=f32(index);\x0aif\x20(index>=u32(params.currentCount))\x20{\x0areturn;\x0a}\x0alet\x20PI\x20:\x20f32=3.14159;\x0alet\x20timeDelta\x20:\x20f32=params.timeDelta;\x0alet\x20newAge\x20:\x20f32=particlesIn.particles[index].age+timeDelta;\x0alet\x20life\x20:\x20f32=particlesIn.particles[index].life;\x0alet\x20seed\x20:\x20vec4<f32>=particlesIn.particles[index].seed;\x0alet\x20direction\x20:\x20vec3<f32>=particlesIn.particles[index].direction;\x0aif\x20(newAge>=life\x20&&\x20params.stopFactor\x20!=\x200.)\x20{\x0avar\x20newPosition\x20:\x20vec3<f32>;\x0avar\x20newDirection\x20:\x20vec3<f32>;\x0alet\x20randoms\x20:\x20vec4<f32>=getRandomVec4(seed.x,vertexID);\x0alet\x20outLife\x20:\x20f32=params.lifeTime.x+(params.lifeTime.y-params.lifeTime.x)*randoms.r;\x0aparticlesOut.particles[index].life=outLife;\x0aparticlesOut.particles[index].age=newAge-life;\x0aparticlesOut.particles[index].seed=seed;\x0avar\x20sizex\x20:\x20f32;\x0a#ifdef\x20SIZEGRADIENTS\x20\x0asizex=textureSampleLevel(sizeGradientTexture,sizeGradientSampler,vec2<f32>(0.,0.),0.).r;\x0a#else\x0asizex=params.sizeRange.x+(params.sizeRange.y-params.sizeRange.x)*randoms.g;\x0a#endif\x0aparticlesOut.particles[index].size=vec3<f32>(\x0asizex,\x0aparams.scaleRange.x+(params.scaleRange.y-params.scaleRange.x)*randoms.b,\x0aparams.scaleRange.z+(params.scaleRange.w-params.scaleRange.z)*randoms.a);\x0a#ifndef\x20COLORGRADIENTS\x0aparticlesOut.particles[index].color=params.color1+(params.color2-params.color1)*randoms.b;\x0a#endif\x0a#ifndef\x20ANGULARSPEEDGRADIENTS\x20\x0aparticlesOut.particles[index].angle=vec2<f32>(\x0aparams.angleRange.z+(params.angleRange.w-params.angleRange.z)*randoms.r,\x0aparams.angleRange.x+(params.angleRange.y-params.angleRange.x)*randoms.a);\x0a#else\x0aparticlesOut.particles[index].angle=params.angleRange.z+(params.angleRange.w-params.angleRange.z)*randoms.r;\x0a#endif\x20\x0a#if\x20defined(POINTEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0anewPosition=vec3<f32>(0.,0.,0.);\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x0a#elif\x20defined(BOXEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0anewPosition=params.minEmitBox+(params.maxEmitBox-params.minEmitBox)*randoms2;\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x20\x0a#elif\x20defined(HEMISPHERICEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0alet\x20phi\x20:\x20f32=2.0*PI*randoms2.x;\x0alet\x20theta\x20:\x20f32=acos(-1.0+2.0*randoms2.y);\x0alet\x20randX\x20:\x20f32=cos(phi)*sin(theta);\x0alet\x20randY\x20:\x20f32=cos(theta);\x0alet\x20randZ\x20:\x20f32=sin(phi)*sin(theta);\x0anewPosition=(params.radius-(params.radius*params.radiusRange*randoms2.z))*vec3<f32>(randX,abs(randY),randZ);\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x0a#elif\x20defined(SPHEREEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0alet\x20phi\x20:\x20f32=2.0*PI*randoms2.x;\x0alet\x20theta\x20:\x20f32=acos(-1.0+2.0*randoms2.y);\x0alet\x20randX\x20:\x20f32=cos(phi)*sin(theta);\x0alet\x20randY\x20:\x20f32=cos(theta);\x0alet\x20randZ\x20:\x20f32=sin(phi)*sin(theta);\x0anewPosition=(params.radius-(params.radius*params.radiusRange*randoms2.z))*vec3<f32>(randX,randY,randZ);\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0anewDirection=normalize(params.direction1+(params.direction2-params.direction1)*randoms3);\x0a#else\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x0a#endif\x0a#elif\x20defined(CYLINDEREMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0alet\x20yPos\x20:\x20f32=(-0.5+randoms2.x)*params.height;\x0avar\x20angle\x20:\x20f32=randoms2.y*PI*2.;\x0alet\x20inverseRadiusRangeSquared\x20:\x20f32=(1.-params.radiusRange)*(1.-params.radiusRange);\x0alet\x20positionRadius\x20:\x20f32=params.radius*sqrt(inverseRadiusRangeSquared+randoms2.z*(1.-inverseRadiusRangeSquared));\x0alet\x20xPos\x20:\x20f32=positionRadius*cos(angle);\x0alet\x20zPos\x20:\x20f32=positionRadius*sin(angle);\x0anewPosition=vec3<f32>(xPos,yPos,zPos);\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0anewDirection=params.direction1+(params.direction2-params.direction1)*randoms3;\x0a#else\x0aangle=angle+(-0.5+randoms3.x)*PI*params.directionRandomizer;\x0anewDirection=vec3<f32>(cos(angle),(-0.5+randoms3.y)*params.directionRandomizer,sin(angle));\x0anewDirection=normalize(newDirection);\x0a#endif\x0a#elif\x20defined(CONEEMITTER)\x0alet\x20randoms2\x20:\x20vec3<f32>=getRandomVec3(seed.y,vertexID);\x0alet\x20s\x20:\x20f32=2.0*PI*randoms2.x;\x0a#ifdef\x20CONEEMITTERSPAWNPOINT\x0alet\x20h\x20:\x20f32=0.0001;\x0a#else\x0avar\x20h\x20:\x20f32=randoms2.y*params.height.y;\x0ah=1.-h*h;\x20\x0a#endif\x0avar\x20lRadius\x20:\x20f32=params.radius.x-params.radius.x*randoms2.z*params.radius.y;\x0alRadius=lRadius*h;\x0alet\x20randX\x20:\x20f32=lRadius*sin(s);\x0alet\x20randZ\x20:\x20f32=lRadius*cos(s);\x0alet\x20randY\x20:\x20f32=h\x20*params.height.x;\x0anewPosition=vec3<f32>(randX,randY,randZ);\x20\x0aif\x20(abs(cos(params.coneAngle))==1.0)\x20{\x0anewDirection=vec3<f32>(0.,1.0,0.);\x0a}\x20else\x20{\x0alet\x20randoms3\x20:\x20vec3<f32>=getRandomVec3(seed.z,vertexID);\x0anewDirection=normalize(newPosition+params.directionRandomizer*randoms3);\x20\x0a}\x0a#elif\x20defined(CUSTOMEMITTER)\x0anewPosition=particlesIn.particles[index].initialPosition;\x0aparticlesOut.particles[index].initialPosition=newPosition;\x0a#else\x20\x0anewPosition=vec3<f32>(0.,0.,0.);\x0anewDirection=2.0*(getRandomVec3(seed.w,vertexID)-vec3<f32>(0.5,0.5,0.5));\x0a#endif\x0alet\x20power\x20:\x20f32=params.emitPower.x+(params.emitPower.y-params.emitPower.x)*randoms.a;\x0a#ifdef\x20LOCAL\x0aparticlesOut.particles[index].position=newPosition;\x0a#else\x0aparticlesOut.particles[index].position=(params.emitterWM*vec4<f32>(newPosition,1.)).xyz;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aparticlesOut.particles[index].direction=direction;\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=direction;\x0a#endif\x0a#else\x0a#ifdef\x20LOCAL\x0alet\x20initial\x20:\x20vec3<f32>=newDirection;\x0a#else\x20\x0alet\x20initial\x20:\x20vec3<f32>=(params.emitterWM*vec4<f32>(newDirection,0.)).xyz;\x0a#endif\x0aparticlesOut.particles[index].direction=initial*power;\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=initial;\x0a#endif\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0aparticlesOut.particles[index].cellIndex=params.cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aparticlesOut.particles[index].cellStartOffset=randoms.a*outLife;\x0a#endif\x20\x0a#endif\x0a#ifdef\x20NOISE\x0aparticlesOut.particles[index].noiseCoordinates1=particlesIn.particles[index].noiseCoordinates1;\x0aparticlesOut.particles[index].noiseCoordinates2=particlesIn.particles[index].noiseCoordinates2;\x0a#endif\x0a}\x20else\x20{\x0avar\x20directionScale\x20:\x20f32=timeDelta;\x0aparticlesOut.particles[index].age=newAge;\x0alet\x20ageGradient\x20:\x20f32=newAge/life;\x0a#ifdef\x20VELOCITYGRADIENTS\x0adirectionScale=directionScale*textureSampleLevel(velocityGradientTexture,velocityGradientSampler,vec2<f32>(ageGradient,0.),0.).r;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0adirectionScale=directionScale*(1.0-textureSampleLevel(dragGradientTexture,dragGradientSampler,vec2<f32>(ageGradient,0.),0.).r);\x0a#endif\x0alet\x20position\x20:\x20vec3<f32>=particlesIn.particles[index].position;\x0a#if\x20defined(CUSTOMEMITTER)\x0aparticlesOut.particles[index].position=position+(direction-position)*ageGradient;\x20\x0aparticlesOut.particles[index].initialPosition=particlesIn.particles[index].initialPosition;\x0a#else\x0aparticlesOut.particles[index].position=position+direction*directionScale;\x0a#endif\x0aparticlesOut.particles[index].life=life;\x0aparticlesOut.particles[index].seed=seed;\x0a#ifndef\x20COLORGRADIENTS\x20\x0aparticlesOut.particles[index].color=particlesIn.particles[index].color;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0aparticlesOut.particles[index].size=vec3<f32>(\x0atextureSampleLevel(sizeGradientTexture,sizeGradientSampler,vec2<f32>(ageGradient,0.),0.).r,\x0aparticlesIn.particles[index].size.yz);\x0a#else\x0aparticlesOut.particles[index].size=particlesIn.particles[index].size;\x0a#endif\x20\x0a#ifndef\x20BILLBOARD\x20\x0aparticlesOut.particles[index].initialDirection=particlesIn.particles[index].initialDirection;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aparticlesOut.particles[index].direction=direction;\x0a#else\x0avar\x20updatedDirection\x20:\x20vec3<f32>=direction+params.gravity*timeDelta;\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0alet\x20limitVelocity\x20:\x20f32=textureSampleLevel(limitVelocityGradientTexture,limitVelocityGradientSampler,vec2<f32>(ageGradient,0.),0.).r;\x0alet\x20currentVelocity\x20:\x20f32=length(updatedDirection);\x0aif\x20(currentVelocity>limitVelocity)\x20{\x0aupdatedDirection=updatedDirection*params.limitVelocityDamping;\x0a}\x0a#endif\x0aparticlesOut.particles[index].direction=updatedDirection;\x0a#ifdef\x20NOISE\x0alet\x20noiseCoordinates1\x20:\x20vec3<f32>=particlesIn.particles[index].noiseCoordinates1;\x0alet\x20noiseCoordinates2\x20:\x20vec3<f32>=particlesIn.particles[index].noiseCoordinates2;\x0alet\x20fetchedR\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates1.x,noiseCoordinates1.y)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20fetchedG\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates1.z,noiseCoordinates2.x)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20fetchedB\x20:\x20f32=textureSampleLevel(noiseTexture,noiseSampler,vec2<f32>(noiseCoordinates2.y,noiseCoordinates2.z)*vec2<f32>(0.5,0.5)+vec2<f32>(0.5,0.5),0.).r;\x0alet\x20force\x20:\x20vec3<f32>=vec3<f32>(-1.+2.*fetchedR,-1.+2.*fetchedG,-1.+2.*fetchedB)*params.noiseStrength;\x0aparticlesOut.particles[index].direction=particlesOut.particles[index].direction+force*timeDelta;\x0aparticlesOut.particles[index].noiseCoordinates1=noiseCoordinates1;\x0aparticlesOut.particles[index].noiseCoordinates2=noiseCoordinates2;\x0a#endif\x20\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0alet\x20angularSpeed\x20:\x20f32=textureSampleLevel(angularSpeedGradientTexture,angularSpeedGradientSampler,vec2<f32>(ageGradient,0.),0.).r;\x0aparticlesOut.particles[index].angle=particlesIn.particles[index].angle+angularSpeed*timeDelta;\x0a#else\x0alet\x20angle\x20:\x20vec2<f32>=particlesIn.particles[index].angle;\x0aparticlesOut.particles[index].angle=vec2<f32>(angle.x+angle.y*timeDelta,angle.y);\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0avar\x20offsetAge\x20:\x20f32=particlesOut.particles[index].age;\x0alet\x20dist\x20:\x20f32=params.cellInfos.y-params.cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0alet\x20cellStartOffset\x20:\x20f32=particlesIn.particles[index].cellStartOffset;\x0aparticlesOut.particles[index].cellStartOffset=cellStartOffset;\x0aoffsetAge=offsetAge+cellStartOffset;\x0a#else\x0alet\x20cellStartOffset\x20:\x20f32=0.;\x0a#endif\x20\x0avar\x20ratio\x20:\x20f32;\x0aif\x20(params.cellInfos.w==1.0)\x20{\x0aratio=clamp(((cellStartOffset+params.cellInfos.z*offsetAge)\x20%\x20life)/life,0.,1.0);\x0a}\x0aelse\x20{\x0aratio=clamp((cellStartOffset+params.cellInfos.z*offsetAge)/life,0.,1.0);\x0a}\x0aparticlesOut.particles[index].cellIndex=f32(i32(params.cellInfos.x+ratio*dist));\x0a#endif\x0a}\x0a}\x0a','testExpression','canBeginQuery','_postProcessRunningIndex','_drawWrapperFog','postprocessVertexShader','_count','_cascadeLoadFiles','_valueCache','MATERIAL_LineStripDrawMode','insertDebugMarker','_currentFramebuffer','stage','funcRef','_bindGroupEntries','precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;uniform\x20mat4\x20textureMatrix;uniform\x20vec2\x20vTextureInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vTextureInfos.x==0.)\x0a{vTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','diffuseTexture','kernelBlurFragment2','bloomMergePixelShader','_framebufferDepthStencil','addDiffusionProfile','CreateNewFromScene','Move','Color3','exec','false','_AddTagTo','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x0avar\x20vertexID\x20:\x20f32;\x0a#endif\x0a#endif\x0a','deleteTexture','deviceType','GetIndividualParser','defaultUboDeclaration','writeTexture','_clearReverseDepthValue','isEnabled','SNAPSHOTRENDERING_FAST','faceForward','uniform\x20mat4\x20projection;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20viewPos;\x0avarying\x20float\x20sphereRadius;\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0avarying\x20float\x20velocityNorm;\x0a#endif\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0anormal.z=sqrt(1.0-r2);\x0a#ifndef\x20FLUIDRENDERING_RHS\x0anormal.z=-normal.z;\x0a#endif\x0avec4\x20realViewPos=vec4(viewPos+normal*sphereRadius,1.0);\x0avec4\x20clipSpacePos=projection*realViewPos;\x0a#ifdef\x20WEBGPU\x0agl_FragDepth=clipSpacePos.z/clipSpacePos.w;\x0a#else\x0agl_FragDepth=(clipSpacePos.z/clipSpacePos.w)*0.5+0.5;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_RHS\x0arealViewPos.z=-realViewPos.z;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0aglFragColor=vec4(realViewPos.z,velocityNorm,0.,1.);\x0a#else\x0aglFragColor=vec4(realViewPos.z,0.,0.,1.);\x0a#endif\x0a}\x0a','TEXTURE_WRAP_T','hasSpecificMask','isArray','getBoundingInfo','stop','attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0avarying\x20vec4\x20vPosition;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vUVDiffuse;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#endif\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vUVOpacity;\x0auniform\x20mat4\x20opacityMatrix;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avarying\x20vec2\x20vUVEmissive;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0aattribute\x20vec4\x20color;\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20CUBEMAP\x0avPosition=worldPos;\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a#else\x0avPosition=viewProjection*worldPos;\x0agl_Position=vPosition;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0a#ifdef\x20DIFFUSEUV1\x0avUVDiffuse=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20DIFFUSEUV2\x0avUVDiffuse=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20OPACITY\x0a#ifdef\x20OPACITYUV1\x0avUVOpacity=vec2(opacityMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20OPACITYUV2\x0avUVOpacity=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20EMISSIVE\x0a#ifdef\x20EMISSIVEUV1\x0avUVEmissive=vec2(emissiveMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20EMISSIVEUV2\x0avUVEmissive=vec2(emissiveMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0avColor=color;\x0a#endif\x0a#include<clipPlaneVertex>\x0a}','#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20world0;\x0aattribute\x20vec4\x20world1;\x0aattribute\x20vec4\x20world2;\x0aattribute\x20vec4\x20world3;\x0a#ifdef\x20INSTANCESCOLOR\x0aattribute\x20vec4\x20instanceColor;\x0a#endif\x0a#if\x20defined(THIN_INSTANCES)\x20&&\x20!defined(WORLD_UBO)\x0auniform\x20mat4\x20world;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0aattribute\x20vec4\x20previousWorld0;\x0aattribute\x20vec4\x20previousWorld1;\x0aattribute\x20vec4\x20previousWorld2;\x0aattribute\x20vec4\x20previousWorld3;\x0a#ifdef\x20THIN_INSTANCES\x0auniform\x20mat4\x20previousWorld;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0auniform\x20mat4\x20world;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0auniform\x20mat4\x20previousWorld;\x0a#endif\x0a#endif\x0a','updateFloat3','mapAsync','_oldSize','gridPixelShader','ACTION_OnPickDownTrigger','_defineProjectionName','shadowsVertex','\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20Uniforms\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20vec4\x20color;\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','UNSIGNED_BYTE','shadowsFragmentFunctions','#if\x20defined(','isVRDevicePresent','forcedBindableBlocks','getViewMatrix','bindBuffers','_depthMask','#ifdef\x20MORPHTARGETS\x0a#ifndef\x20MORPHTARGETS_TEXTURE\x0aattribute\x20vec3\x20position{X};\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0aattribute\x20vec3\x20normal{X};\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0aattribute\x20vec3\x20tangent{X};\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0aattribute\x20vec2\x20uv_{X};\x0a#endif\x0a#endif\x0a#endif\x0a','depthPrePass','__VERSION__','_doNotHandleContextLost','TEXTURE_CUBE_MAP','LIGHTTYPEID_POINTLIGHT','copyExternalImageToTexture','_cacheSampler','UNPACK_ALIGNMENT','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','zOffsetUnits','checks','PREPASS_POSITION_TEXTURE_TYPE','PREPASS_VELOCITY_TEXTURE_TYPE','layer','#ifdef\x20CLIPPLANE\x0avarying\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0avarying\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0avarying\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0avarying\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0avarying\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0avarying\x20float\x20fClipDistance6;\x0a#endif\x0a','reflectionColor','\x0a#define\x20BILLBOARD\x0a','TEXTURE_MAX_LEVEL','noMipmap','renderHeight','#define\x20MULTIVIEW',']\x20is\x20not\x20connected\x20and\x20is\x20not\x20optional.\x0d\x0a','enableBlur','R16Float','RGB','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20scale;\x0auniform\x20vec2\x20offset;\x0auniform\x20mat4\x20textureMatrix;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec2\x20shiftedPosition=position*scale+offset;\x0avUV=vec2(textureMatrix*vec4(shiftedPosition*madd+madd,1.0,0.0));\x0agl_Position=vec4(shiftedPosition,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','availableTextures','ShadersStore','bindBufferBase','INTENSITYMODE_AUTOMATIC','_extension','_builtCompilationString','texImage2D','#define\x20NUM_BONE_INFLUENCERS\x200','Texture,\x20','decorate','_cacheRenderPipeline','previousWorldMatrices','PREPASS_COLOR_TEXTURE_TYPE','ETC2RGBA8Unorm','supportUniformBuffers','Sampler','_renderPipelines','BYTES_PER_ELEMENT','GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR','_dstBuffers','ExponentialBackoff','ConvertCubeMapTextureToSphericalPolynomial','_preCreateBindGroupEntries','split','_physicsEngine','shadowEnabled','SRC_ALPHA','_projectionMatrix','attribute\x20vec3\x20position;\x0a#include<__decl__boundingBoxRendererVertex>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec4\x20worldPos=world*vec4(position,1.0);\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','blurMaxFilterSize','color','flushFramebuffer','_transformTextureUrl','isFloatTexture','_getFreeDefineName','Depth32Float','_animate','BACK','DEPTH24_STENCIL8','colorBufferFloat','\x20\x20output.position\x20=\x20','RG8Uint','ALPHA_ONEONE_ONEZERO','#include<__decl__defaultFragment>\x0a#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0a#include<prePassDeclaration>[SCENE_MRT_COUNT]\x0a#include<oitDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_BEGIN\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0a#define\x20RECIPROCAL_PI2\x200.15915494\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse,_SAMPLERNAME_,diffuse)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_SAMPLERNAME_,ambient)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_SAMPLERNAME_,opacity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_SAMPLERNAME_,emissive)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_SAMPLERNAME_,lightmap)\x0a#ifdef\x20REFRACTION\x0a#ifdef\x20REFRACTIONMAP_3D\x0auniform\x20samplerCube\x20refractionCubeSampler;\x0a#else\x0auniform\x20sampler2D\x20refraction2DSampler;\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULARTERM)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular,_SAMPLERNAME_,specular)\x0a#endif\x0a#include<fresnelFunction>\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0auniform\x20samplerCube\x20reflectionCubeSampler;\x0a#else\x0auniform\x20sampler2D\x20reflection2DSampler;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#include<reflectionFunction>\x0a#endif\x0a#include<imageProcessingDeclaration>\x0a#include<imageProcessingFunctions>\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=normalize(-cross(dFdx(vPositionW),dFdy(vPositionW)));\x0a#endif\x0a#include<bumpFragment>\x0a#ifdef\x20TWOSIDEDLIGHTING\x0anormalW=gl_FrontFacing\x20?\x20normalW\x20:\x20-normalW;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV+uvOffset);\x0a#if\x20defined(ALPHATEST)\x20&&\x20!defined(ALPHATEST_AFTERALLALPHACOMPUTATIONS)\x0aif\x20(baseColor.a<alphaCutOff)\x0adiscard;\x0a#endif\x0a#ifdef\x20ALPHAFROMDIFFUSE\x0aalpha*=baseColor.a;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALPHA\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#include<depthPrePass>\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20DETAIL\x0abaseColor.rgb=baseColor.rgb*2.0*mix(0.5,detailColor.r,vDetailInfos.y);\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_DIFFUSE\x0avec3\x20baseAmbientColor=vec3(1.,1.,1.);\x0a#ifdef\x20AMBIENT\x0abaseAmbientColor=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb*vAmbientInfos.y;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_LIGHTS\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#ifdef\x20SPECULAR\x0avec4\x20specularMapColor=texture2D(specularSampler,vSpecularUV+uvOffset);\x0aspecularColor=specularMapColor.rgb;\x0a#ifdef\x20GLOSSINESS\x0aglossiness=glossiness*specularMapColor.a;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0afloat\x20shadow=1.;\x0a#ifdef\x20LIGHTMAP\x0avec4\x20lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset);\x0a#ifdef\x20RGBDLIGHTMAP\x0alightmapColor.rgb=fromRGBD(lightmapColor);\x0a#endif\x0alightmapColor.rgb*=vLightmapInfos.y;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0avec4\x20refractionColor=vec4(0.,0.,0.,1.);\x0a#ifdef\x20REFRACTION\x0avec3\x20refractionVector=normalize(refract(-viewDirectionW,normalW,vRefractionInfos.y));\x0a#ifdef\x20REFRACTIONMAP_3D\x0a#ifdef\x20USE_LOCAL_REFRACTIONMAP_CUBIC\x0arefractionVector=parallaxCorrectNormal(vPositionW,refractionVector,vRefractionSize,vRefractionPosition);\x0a#endif\x0arefractionVector.y=refractionVector.y*vRefractionInfos.w;\x0aif\x20(dot(refractionVector,viewDirectionW)<1.0)\x20{\x0arefractionColor=textureCube(refractionCubeSampler,refractionVector);\x0a}\x0a#else\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\x0avec2\x20refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\x0arefractionCoords.y=1.0-refractionCoords.y;\x0arefractionColor=texture2D(refraction2DSampler,refractionCoords);\x0a#endif\x0a#ifdef\x20RGBDREFRACTION\x0arefractionColor.rgb=fromRGBD(refractionColor);\x0a#endif\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractionColor.rgb=toGammaSpace(refractionColor.rgb);\x0a#endif\x0arefractionColor.rgb*=vRefractionInfos.x;\x0a#endif\x0avec4\x20reflectionColor=vec4(0.,0.,0.,1.);\x0a#ifdef\x20REFLECTION\x0avec3\x20vReflectionUVW=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0avReflectionUVW.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#ifdef\x20ROUGHNESS\x0afloat\x20bias=vReflectionInfos.y;\x0a#ifdef\x20SPECULARTERM\x0a#ifdef\x20SPECULAR\x0a#ifdef\x20GLOSSINESS\x0abias*=(1.0-specularMapColor.a);\x0a#endif\x0a#endif\x0a#endif\x0areflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW,bias);\x0a#else\x0areflectionColor=textureCube(reflectionCubeSampler,vReflectionUVW);\x0a#endif\x0a#else\x0avec2\x20coords=vReflectionUVW.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0acoords/=vReflectionUVW.z;\x0a#endif\x0acoords.y=1.0-coords.y;\x0areflectionColor=texture2D(reflection2DSampler,coords);\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0areflectionColor.rgb=fromRGBD(reflectionColor);\x0a#endif\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectionColor.rgb=toGammaSpace(reflectionColor.rgb);\x0a#endif\x0areflectionColor.rgb*=vReflectionInfos.x;\x0a#ifdef\x20REFLECTIONFRESNEL\x0afloat\x20reflectionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,reflectionRightColor.a,reflectionLeftColor.a);\x0a#ifdef\x20REFLECTIONFRESNELFROMSPECULAR\x0a#ifdef\x20SPECULARTERM\x0areflectionColor.rgb*=specularColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#else\x0areflectionColor.rgb*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#endif\x0a#else\x0areflectionColor.rgb*=reflectionLeftColor.rgb*(1.0-reflectionFresnelTerm)+reflectionFresnelTerm*reflectionRightColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20REFRACTIONFRESNEL\x0afloat\x20refractionFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,refractionRightColor.a,refractionLeftColor.a);\x0arefractionColor.rgb*=refractionLeftColor.rgb*(1.0-refractionFresnelTerm)+refractionFresnelTerm*refractionRightColor.rgb;\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\x0a#ifdef\x20OPACITYRGB\x0aopacityMap.rgb=opacityMap.rgb*vec3(0.3,0.59,0.11);\x0aalpha*=(opacityMap.x+opacityMap.y+opacityMap.z)*\x20vOpacityInfos.y;\x0a#else\x0aalpha*=opacityMap.a*vOpacityInfos.y;\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0afloat\x20opacityFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,opacityParts.z,opacityParts.w);\x0aalpha+=opacityParts.x*(1.0-opacityFresnelTerm)+opacityFresnelTerm*opacityParts.y;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0a#ifdef\x20ALPHATEST_AFTERALLALPHACOMPUTATIONS\x0aif\x20(alpha<alphaCutOff)\x0adiscard;\x0a#endif\x0a#ifndef\x20ALPHABLEND\x0aalpha=1.0;\x0a#endif\x0a#endif\x0avec3\x20emissiveColor=vEmissiveColor;\x0a#ifdef\x20EMISSIVE\x0aemissiveColor+=texture2D(emissiveSampler,vEmissiveUV+uvOffset).rgb*vEmissiveInfos.y;\x0a#endif\x0a#ifdef\x20EMISSIVEFRESNEL\x0afloat\x20emissiveFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,emissiveRightColor.a,emissiveLeftColor.a);\x0aemissiveColor*=emissiveLeftColor.rgb*(1.0-emissiveFresnelTerm)+emissiveFresnelTerm*emissiveRightColor.rgb;\x0a#endif\x0a#ifdef\x20DIFFUSEFRESNEL\x0afloat\x20diffuseFresnelTerm=computeFresnelTerm(viewDirectionW,normalW,diffuseRightColor.a,diffuseLeftColor.a);\x0adiffuseBase*=diffuseLeftColor.rgb*(1.0-diffuseFresnelTerm)+diffuseFresnelTerm*diffuseRightColor.rgb;\x0a#endif\x0a#ifdef\x20EMISSIVEASILLUMINATION\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0a#ifdef\x20LINKEMISSIVEWITHDIFFUSE\x0avec3\x20finalDiffuse=clamp((diffuseBase+emissiveColor)*diffuseColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor+emissiveColor+vAmbientColor,0.0,1.0)*baseColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#ifdef\x20SPECULAROVERALPHA\x0aalpha=clamp(alpha+dot(finalSpecular,vec3(0.3,0.59,0.11)),0.,1.);\x0a#endif\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#ifdef\x20REFLECTIONOVERALPHA\x0aalpha=clamp(alpha+dot(reflectionColor.rgb,vec3(0.3,0.59,0.11)),0.,1.);\x0a#endif\x0a#ifdef\x20EMISSIVEASILLUMINATION\x0avec4\x20color=vec4(clamp(finalDiffuse*baseAmbientColor+finalSpecular+reflectionColor.rgb+emissiveColor+refractionColor.rgb,0.0,1.0),alpha);\x0a#else\x0avec4\x20color=vec4(finalDiffuse*baseAmbientColor+finalSpecular+reflectionColor.rgb+refractionColor.rgb,alpha);\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0a#ifndef\x20LIGHTMAPEXCLUDED\x0a#ifdef\x20USELIGHTMAPASSHADOWMAP\x0acolor.rgb*=lightmapColor.rgb;\x0a#else\x0acolor.rgb+=lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FOG\x0acolor.rgb=max(color.rgb,0.);\x0a#include<logDepthFragment>\x0a#include<fogFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0acolor.rgb=toLinearSpace(color.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0acolor.rgb=toLinearSpace(color.rgb);\x0acolor=applyImageProcessing(color);\x0a#endif\x0a#endif\x0acolor.a*=visibility;\x0a#ifdef\x20PREMULTIPLYALPHA\x0acolor.rgb*=color.a;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR\x0a#ifdef\x20PREPASS\x0afloat\x20writeGeometryInfo=color.a>0.4\x20?\x201.0\x20:\x200.0;\x0agl_FragData[0]=color;\x20\x0a#ifdef\x20PREPASS_POSITION\x0agl_FragData[PREPASS_POSITION_INDEX]=vec4(vPositionW,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[PREPASS_VELOCITY_INDEX]=vec4(velocity,0.0,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_IRRADIANCE\x0agl_FragData[PREPASS_IRRADIANCE_INDEX]=vec4(0.0,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[PREPASS_DEPTH_INDEX]=vec4(vViewPos.z,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[PREPASS_NORMAL_INDEX]=vec4((view*vec4(normalW,0.0)).rgb,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0agl_FragData[PREPASS_ALBEDO_SQRT_INDEX]=vec4(0.0,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_REFLECTIVITY\x0a#if\x20defined(SPECULARTERM)\x0a#if\x20defined(SPECULAR)\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(specularMapColor)*writeGeometryInfo;\x20\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(specularColor,1.0)*writeGeometryInfo;\x0a#endif\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(0.0,0.0,0.0,1.0)*writeGeometryInfo;\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20!defined(PREPASS)\x20||\x20defined(WEBGL2)\x0agl_FragColor=color;\x0a#endif\x0a#include<oitFragment>\x0a#if\x20ORDER_INDEPENDENT_TRANSPARENCY\x0aif\x20(fragDepth==nearestDepth)\x20{\x0afrontColor.rgb+=color.rgb*color.a*alphaMultiplier;\x0afrontColor.a=1.0-alphaMultiplier*(1.0-color.a);\x0a}\x20else\x20{\x0abackColor+=color;\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','setDepthBias','cellInfo','addBundle','uv3','getRenderTarget','beginOcclusionQuery','TEXTURETYPE_BYTE','lensFlareVertexShader','_startingPointerPosition','viewMatrix','reflectionTexture','Raw3D','depthFunc','pbrBlockLightmapInit','_processStridedUniformArrays','precision\x20highp\x20float;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;uniform\x20mat4\x20textureMatrix;uniform\x20vec2\x20vTextureInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);gl_Position=viewProjection*worldPos;vPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vTextureInfos.x==0.)\x0a{vTextureUV=vec2(textureMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vTextureUV=vec2(textureMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20glFragCoord_\x20=\x20gl_FragCoord;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(yFactor_\x20==\x201.)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20glFragCoord_.y\x20=\x20textureOutputHeight_\x20-\x20glFragCoord_.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','#version\x203','attached','_rigCameras','availableBuffers','Output','BrowserForward','shadowMapVertexNormalBias','#define\x20SPHEREEMITTER\x0a#define\x20DIRECTEDSPHEREEMITTER','beginRenderPass','_mesh','#include<instancesDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec4\x20normal;\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20float\x20width;\x0auniform\x20float\x20aspectRatio;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0amat4\x20worldViewProjection=viewProjection*finalWorld;\x0avec4\x20viewPosition=worldViewProjection*vec4(position,1.0);\x0avec4\x20viewPositionNext=worldViewProjection*vec4(normal.xyz,1.0);\x0avec2\x20currentScreen=viewPosition.xy/viewPosition.w;\x0avec2\x20nextScreen=viewPositionNext.xy/viewPositionNext.w;\x0acurrentScreen.x*=aspectRatio;\x0anextScreen.x*=aspectRatio;\x0avec2\x20dir=normalize(nextScreen-currentScreen);\x0avec2\x20normalDir=vec2(-dir.y,dir.x);\x0anormalDir*=width/2.0;\x0anormalDir.x/=aspectRatio;\x0avec4\x20offset=vec4(normalDir*normal.w,0.0,0.0);\x0agl_Position=viewPosition+offset;\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#include<clipPlaneVertex>\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_defineSkyboxName','ETC2RGB8A1Unorm','#endif','_ExtractOperation','setUniqueId','_sphericalPolynomialComputed','_preProcessors','UniformSizes','DeepCopy','#ifdef\x20PREPASS\x0a#ifdef\x20PREPASS_DEPTH\x0avarying\x20vec3\x20vViewPos;\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0auniform\x20mat4\x20previousViewProjection;\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#endif\x0a','noisePixelShader','_areLightsDisposed','#define\x20INVERTY\x0d\x0a','setCommandEncoder','GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA','_useSRGBBuffer','ASTC5x4Unorm','_excludedCompressedTextures','substr','ADVANCED','materialContext','renderTargetBlur','WebGPUComputeContext.getBindGroups:\x20bindingsMapping\x20is\x20required\x20until\x20browsers\x20support\x20reflection\x20for\x20wgsl\x20shaders!','additionalDefineValue','removeEventListener','previousBones','_depthFunc','onPointerUp','_emit2DSampler','_cacheFloat4','RG8Unorm','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20int\x20maxFilterSize;\x0auniform\x20vec2\x20blurDir;\x0auniform\x20float\x20projectedParticleConstant;\x0auniform\x20float\x20depthThreshold;\x0avarying\x20vec2\x20vUV;\x0avoid\x20main(void)\x20{\x0afloat\x20depth=textureLod(textureSampler,vUV,0.).x;\x0aif\x20(depth>=1e6\x20||\x20depth<=0.)\x20{\x0aglFragColor=vec4(vec3(depth),1.);\x0areturn;\x0a}\x0aint\x20filterSize=min(maxFilterSize,int(ceil(projectedParticleConstant/depth)));\x0afloat\x20sigma=float(filterSize)/3.0;\x0afloat\x20two_sigma2=2.0*sigma*sigma;\x0afloat\x20sigmaDepth=depthThreshold/3.0;\x0afloat\x20two_sigmaDepth2=2.0*sigmaDepth*sigmaDepth;\x0afloat\x20sum=0.;\x0afloat\x20wsum=0.;\x0afloat\x20sumVel=0.;\x0afor\x20(int\x20x=-filterSize;\x20x<=filterSize;\x20++x)\x20{\x0avec2\x20coords=vec2(x);\x0avec2\x20sampleDepthVel=textureLod(textureSampler,vUV+coords*blurDir,0.).rg;\x0afloat\x20r=dot(coords,coords);\x0afloat\x20w=exp(-r/two_sigma2);\x0afloat\x20rDepth=sampleDepthVel.r-depth;\x0afloat\x20wd=exp(-rDepth*rDepth/two_sigmaDepth2);\x0asum+=sampleDepthVel.r*w*wd;\x0asumVel+=sampleDepthVel.g*w*wd;\x0awsum+=w*wd;\x0a}\x0aglFragColor=vec4(sum/wsum,sumVel/wsum,0.,1.);\x0a}\x0a','updateDynamicTexture',')\x20uniform\x20','wmips','#elif','requestPresent','createSampler','_bufferManager','#define\x20CLIPPLANE5','onInputChangedObservable','textureFormatInUse','gl_FragColor','ACTION_OnLeftPickTrigger','textureSampler','setBlendConstant','Half\x20float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.','ASTC10x5Unorm','asArray','TEXTURE_MIN_FILTER','attributeNamesFromEffect','pbrVertexShader','Invalid\x20fragment\x20shader:\x20The\x20varying\x20named\x20\x22','indexStart','TEXTUREFORMAT_RED_INTEGER','sampler2D','_getShaderSource','onXRFrameObservable','depthOrArrayLayers','gradientPixelShader','RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU','RGBA','compatibilityMode','defineProperty','_bindGroups','_cacheFloat3','_framebuffer','BC5RGSnorm','LINEAR_MIPMAP_LINEAR','precision\x20highp\x20float;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20translationPivot;\x0auniform\x20vec3\x20worldOffset;\x0a#ifdef\x20LOCAL\x0auniform\x20mat4\x20emitterWM;\x0a#endif\x0aattribute\x20vec3\x20position;\x0aattribute\x20float\x20age;\x0aattribute\x20float\x20life;\x0aattribute\x20vec3\x20size;\x0a#ifndef\x20BILLBOARD\x0aattribute\x20vec3\x20initialDirection;\x0a#endif\x0a#ifdef\x20BILLBOARDSTRETCHED\x0aattribute\x20vec3\x20direction;\x0a#endif\x0aattribute\x20float\x20angle;\x0a#ifdef\x20ANIMATESHEET\x0aattribute\x20float\x20cellIndex;\x0a#endif\x0aattribute\x20vec2\x20offset;\x0aattribute\x20vec2\x20uv;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20defined(BILLBOARD)\x20&&\x20!defined(BILLBOARDY)\x20&&\x20!defined(BILLBOARDSTRETCHED)\x0auniform\x20mat4\x20invView;\x0a#endif\x0a#include<clipPlaneVertexDeclaration2>\x0a#include<logDepthDeclaration>\x0a#ifdef\x20COLORGRADIENTS\x0auniform\x20sampler2D\x20colorGradientSampler;\x0a#else\x0auniform\x20vec4\x20colorDead;\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec3\x20sheetInfos;\x0a#endif\x0a#ifdef\x20BILLBOARD\x0auniform\x20vec3\x20eyePosition;\x0a#endif\x0avec3\x20rotate(vec3\x20yaxis,vec3\x20rotatedCorner)\x20{\x0avec3\x20xaxis=normalize(cross(vec3(0.,1.0,0.),yaxis));\x0avec3\x20zaxis=normalize(cross(yaxis,xaxis));\x0avec3\x20row0=vec3(xaxis.x,xaxis.y,xaxis.z);\x0avec3\x20row1=vec3(yaxis.x,yaxis.y,yaxis.z);\x0avec3\x20row2=vec3(zaxis.x,zaxis.y,zaxis.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0a#ifdef\x20LOCAL\x0areturn\x20((emitterWM*vec4(position,1.0)).xyz+worldOffset)+alignedCorner;\x0a#else\x0areturn\x20(position+worldOffset)+alignedCorner;\x0a#endif\x0a}\x0a#ifdef\x20BILLBOARDSTRETCHED\x0avec3\x20rotateAlign(vec3\x20toCamera,vec3\x20rotatedCorner)\x20{\x0avec3\x20normalizedToCamera=normalize(toCamera);\x0avec3\x20normalizedCrossDirToCamera=normalize(cross(normalize(direction),normalizedToCamera));\x0avec3\x20crossProduct=normalize(cross(normalizedToCamera,normalizedCrossDirToCamera));\x0avec3\x20row0=vec3(normalizedCrossDirToCamera.x,normalizedCrossDirToCamera.y,normalizedCrossDirToCamera.z);\x0avec3\x20row1=vec3(crossProduct.x,crossProduct.y,crossProduct.z);\x0avec3\x20row2=vec3(normalizedToCamera.x,normalizedToCamera.y,normalizedToCamera.z);\x0amat3\x20rotMatrix=\x20mat3(row0,row1,row2);\x0avec3\x20alignedCorner=rotMatrix*rotatedCorner;\x0a#ifdef\x20LOCAL\x0areturn\x20((emitterWM*vec4(position,1.0)).xyz+worldOffset)+alignedCorner;\x0a#else\x0areturn\x20(position+worldOffset)+alignedCorner;\x0a#endif\x0a}\x0a#endif\x0avoid\x20main()\x20{\x0a#ifdef\x20ANIMATESHEET\x0afloat\x20rowOffset=floor(cellIndex/sheetInfos.z);\x0afloat\x20columnOffset=cellIndex-rowOffset*sheetInfos.z;\x0avec2\x20uvScale=sheetInfos.xy;\x0avec2\x20uvOffset=vec2(uv.x\x20,1.0-uv.y);\x0avUV=(uvOffset+vec2(columnOffset,rowOffset))*uvScale;\x0a#else\x0avUV=uv;\x0a#endif\x0afloat\x20ratio=age/life;\x0a#ifdef\x20COLORGRADIENTS\x0avColor=texture2D(colorGradientSampler,vec2(ratio,0));\x0a#else\x0avColor=color*vec4(1.0-ratio)+colorDead*vec4(ratio);\x0a#endif\x0avec2\x20cornerPos=(offset-translationPivot)*size.yz*size.x+translationPivot;\x0a#ifdef\x20BILLBOARD\x0avec4\x20rotatedCorner;\x0arotatedCorner.w=0.;\x0a#ifdef\x20BILLBOARDY\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.y=0.;\x0avec3\x20yaxis=(position+worldOffset)-eyePosition;\x0ayaxis.y=0.;\x0avPositionW=rotate(normalize(yaxis),rotatedCorner.xyz);\x0avec4\x20viewPosition=(view*vec4(vPositionW,1.0));\x0a#elif\x20defined(BILLBOARDSTRETCHED)\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0avec3\x20toCamera=(position+worldOffset)-eyePosition;\x0avPositionW=rotateAlign(toCamera,rotatedCorner.xyz);\x0avec4\x20viewPosition=(view*vec4(vPositionW,1.0));\x0a#else\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0a#ifdef\x20LOCAL\x0avec4\x20viewPosition=view*vec4(((emitterWM*vec4(position,1.0)).xyz+worldOffset),1.0)+rotatedCorner;\x0a#else\x0avec4\x20viewPosition=view*vec4((position+worldOffset),1.0)+rotatedCorner;\x0a#endif\x0avPositionW=(invView*viewPosition).xyz;\x0a#endif\x0a#else\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=0.;\x0arotatedCorner.z=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0avec3\x20yaxis=normalize(initialDirection);\x0avPositionW=rotate(yaxis,rotatedCorner);\x0avec4\x20viewPosition=view*vec4(vPositionW,1.0);\x0a#endif\x0agl_Position=projection*viewPosition;\x0a#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0avec4\x20worldPos=vec4(vPositionW,1.0);\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a}','uvAttributeDeclaration','generateCubeMipmaps','bindFramebuffer','_reflectionPositionName','canvasTabIndex','updateRawTexture2DArray','_func','_workingCanvas','attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20vec2\x20depthValues;\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0avarying\x20float\x20vDepthMetric;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#include<clipPlaneVertex>\x0agl_Position=viewProjection*worldPos;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetric=((-gl_Position.z+depthValues.x)/(depthValues.y));\x0a#else\x0avDepthMetric=((gl_Position.z+depthValues.x)/(depthValues.y));\x0a#endif\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(BASIC_RENDER)\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a}\x0a','indexInGroupEntries','getFileName','getTranslation','fluidRenderingParticleDepthVertexShader','_processPointerUp','allowEmptyVertexProgram','Int','TEXTURE_BILINEAR_SAMPLINGMODE','IgnoreTexturesAtLoadTime','texture(','_checkSize','prePassDeclaration','_itemLength','!false','_retrieveQueryBuffer','_areImageProcessingDirty','matrixBufferSize','_injectStartingAndEndingCode','rotation','pointermove','setInt3','ALPHA_ONEONE','#ifdef\x20WEBGL2\x0auniform\x20vec4\x20color;\x0auniform\x20mat4\x20world;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a#else\x0alayout(std140,column_major)\x20uniform;\x0auniform\x20BoundingBoxRenderer\x20{\x0avec4\x20color;\x0amat4\x20world;\x0amat4\x20viewProjection;\x0amat4\x20viewProjectionR;\x0a};\x0a#endif\x0a','now','ASTC6x5Unorm','_emitExtension','TEXTUREFORMAT_RGB','POINTERWHEEL','isReady','textE','TEXTURETYPE_UNSIGNED_INT','geometryUboDeclaration','renderTargets','samplerShadow','clipPlaneVertex','Texture\x20loader\x20does\x20not\x20support\x20cascades.','_onPointerUp','set','input\x20','_depthStencilTextureArray','number','_delayedSimpleClickTimeout','ASTC12x10Unorm','CLIPPLANE4','comparisonFunction','oitBackBlendPixelShader','_meshPickProceed','disableVR','fresnelFunction','pbrBRDFFunctions','\x20premultiplyAlpha=','webVR\x20submitFrame\x20has\x20had\x20an\x20unexpected\x20failure:\x20','\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x20\x20\x20\x20const\x20vec2\x20tex[4]\x20=\x20vec2[4](vec2(0.0f,\x200.0f),\x20vec2(1.0f,\x200.0f),\x20vec2(0.0f,\x201.0f),\x20vec2(1.0f,\x201.0f));\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec2\x20vTex;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20vTex\x20=\x20tex[gl_VertexIndex];\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','vec4\x20pack(float\x20depth)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(255.0*255.0*255.0,255.0*255.0,255.0,1.0);\x0aconst\x20vec4\x20bit_mask=vec4(0.0,1.0/255.0,1.0/255.0,1.0/255.0);\x0avec4\x20res=fract(depth*bit_shift);\x0ares-=res.xxyz*bit_mask;\x0areturn\x20res;\x0a}\x0afloat\x20unpack(vec4\x20color)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);\x0areturn\x20dot(color,bit_shift);\x0a}','operand','LongPressDelay','shadowOnlyPixelShader','getInputElement','HALF_FLOAT','resetTextureCache','getEffectDefines','Instantiate','hasPickTriggers','createDepthStencilTexture','pointerX','customizeMaterialCount','uniform\x20bool\x20alphaTest;\x0avarying\x20vec4\x20vColor;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20color=texture2D(diffuseSampler,vUV);\x0afloat\x20fAlphaTest=float(alphaTest);\x0aif\x20(fAlphaTest\x20!=\x200.)\x0a{\x0aif\x20(color.a<0.95)\x0adiscard;\x0a}\x0acolor*=vColor;\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','allowSingleMeshMaxTriangleFaceQuantity','then','textureMaxLevel','REFLECTIONMAP_EQUIRECTANGULAR_FIXED','Matrices','VertexAndFragment','_handlesSpectorRebuildCallback','object','#define\x20CYLINDEREMITTER\x0a#define\x20DIRECTEDCYLINDEREMITTER','getBindGroupLayout','MAINUV3','_bundleEncoder','KnownUBOs','attribute\x20vec2\x20position;\x0avarying\x20vec3\x20direction;\x0auniform\x20vec3\x20up;\x0auniform\x20vec3\x20right;\x0auniform\x20vec3\x20front;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0amat3\x20view=mat3(up,right,front);\x0adirection=view*vec3(position,1.0);\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','restoreSingleAttachment','POINTERMOVE','updateInt4','meshInstancesCount','gpuRenderParticlesPixelShader','resolve','BC3RGBAUnormSRGB','BABYLON.ReflectionTextureBaseBlock','_missingVaryings','_depthRTWrapper','from','AddParser','fov','wrapU','int','startsWith','createView','Boolean','FRAMEBUFFER','_glslang','_createRenderBuffer','_createDepthStencilTexture','defined($1)','removeAttributes','mask','_epsilon','fillMode','textureHalfFloatLinearFiltering','.rgb','_prepareFrame','value','Int?','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','renderPageFocus','length','ALWAYS','constants','\x20\x20@builtin(frag_depth)\x20fragDepth:\x20f32,\x0a','FLOAT_32_UNSIGNED_INT_24_8_REV','Auto','scale','_rt','_getProjectedParticleConstant','toFixed','texelSize','_textureType','forceBindGroupCreation','_findStartingGroupBinding','updateId','setAsAttribute','shadowMapVertexShader','spriteMapVertexShader','displayPassPixelShader','uniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20ALBEDO\x0auniform\x20mat4\x20albedoMatrix;\x0auniform\x20vec2\x20vAlbedoInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20mat4\x20ambientMatrix;\x0auniform\x20vec4\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0auniform\x20mat4\x20lightmapMatrix;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x20\x0auniform\x20vec3\x20vReflectivityInfos;\x0auniform\x20mat4\x20reflectivityMatrix;\x0a#endif\x0a#ifdef\x20METALLIC_REFLECTANCE\x0auniform\x20vec2\x20vMetallicReflectanceInfos;\x0auniform\x20mat4\x20metallicReflectanceMatrix;\x0a#endif\x0a#ifdef\x20REFLECTANCE\x0auniform\x20vec2\x20vReflectanceInfos;\x0auniform\x20mat4\x20reflectanceMatrix;\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0auniform\x20vec2\x20vMicroSurfaceSamplerInfos;\x0auniform\x20mat4\x20microSurfaceSamplerMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20mat4\x20bumpMatrix;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#if\x20defined(CLEARCOAT_TEXTURE)\x20||\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vClearCoatInfos;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0auniform\x20mat4\x20clearCoatMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20clearCoatRoughnessMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0auniform\x20vec2\x20vClearCoatBumpInfos;\x0auniform\x20mat4\x20clearCoatBumpMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0auniform\x20vec2\x20vClearCoatTintInfos;\x0auniform\x20mat4\x20clearCoatTintMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#if\x20defined(IRIDESCENCE_TEXTURE)\x20||\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0auniform\x20vec4\x20vIridescenceInfos;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0auniform\x20mat4\x20iridescenceMatrix;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0auniform\x20mat4\x20iridescenceThicknessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0auniform\x20vec2\x20vAnisotropyInfos;\x0auniform\x20mat4\x20anisotropyMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#if\x20defined(SHEEN_TEXTURE)\x20||\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vSheenInfos;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE\x0auniform\x20mat4\x20sheenMatrix;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20sheenRoughnessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0auniform\x20vec4\x20vRefractionInfos;\x0auniform\x20mat4\x20refractionMatrix;\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0auniform\x20vec2\x20vThicknessInfos;\x0auniform\x20mat4\x20thicknessMatrix;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0auniform\x20vec2\x20vRefractionIntensityInfos;\x0auniform\x20mat4\x20refractionIntensityMatrix;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0auniform\x20vec2\x20vTranslucencyIntensityInfos;\x0auniform\x20mat4\x20translucencyIntensityMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20NORMAL\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0auniform\x20vec3\x20vSphericalL00;\x0auniform\x20vec3\x20vSphericalL1_1;\x0auniform\x20vec3\x20vSphericalL10;\x0auniform\x20vec3\x20vSphericalL11;\x0auniform\x20vec3\x20vSphericalL2_2;\x0auniform\x20vec3\x20vSphericalL2_1;\x0auniform\x20vec3\x20vSphericalL20;\x0auniform\x20vec3\x20vSphericalL21;\x0auniform\x20vec3\x20vSphericalL22;\x0a#else\x0auniform\x20vec3\x20vSphericalX;\x0auniform\x20vec3\x20vSphericalY;\x0auniform\x20vec3\x20vSphericalZ;\x0auniform\x20vec3\x20vSphericalXX_ZZ;\x0auniform\x20vec3\x20vSphericalYY_ZZ;\x0auniform\x20vec3\x20vSphericalZZ;\x0auniform\x20vec3\x20vSphericalXY;\x0auniform\x20vec3\x20vSphericalYZ;\x0auniform\x20vec3\x20vSphericalZX;\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0auniform\x20mat4\x20detailMatrix;\x0a#endif\x0a#define\x20ADDITIONAL_VERTEX_DECLARATION\x0a','_DefaultIndexOfRefraction','addItem','\x20=\x20input.vertexIndex;\x0a\x20\x20','enableEffect','hasSwiped','_areFresnelDirty','indexOf','_lines','_ssDiffusionD','_deleteComputePipelineContext','isPickable','glowMapMergeVertexShader','gl_Position.y\x20*=\x20yFactor_;\x0a','_texture','UInt?','subSurfaceConfiguration','scheduler','#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x20||\x20defined(FORCENORMALFORWARD)\x20||\x20defined(SPECULARAA)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#extension\x20GL_EXT_shader_texture_lod\x20:\x20enable\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_BEGIN\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0a#include<prePassDeclaration>[SCENE_MRT_COUNT]\x0aprecision\x20highp\x20float;\x0a#include<oitDeclaration>\x0a#ifndef\x20FROMLINEARSPACE\x0a#define\x20FROMLINEARSPACE\x0a#endif\x0a#include<__decl__pbrFragment>\x0a#include<pbrFragmentExtraDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<pbrFragmentSamplersDeclaration>\x0a#include<imageProcessingDeclaration>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#include<helperFunctions>\x0a#include<subSurfaceScatteringFunctions>\x0a#include<importanceSampling>\x0a#include<pbrHelperFunctions>\x0a#include<imageProcessingFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<harmonicsFunctions>\x0a#include<pbrDirectLightingSetupFunctions>\x0a#include<pbrDirectLightingFalloffFunctions>\x0a#include<pbrBRDFFunctions>\x0a#include<hdrFilteringFunctions>\x0a#include<pbrDirectLightingFunctions>\x0a#include<pbrIBLFunctions>\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#ifdef\x20REFLECTION\x0a#include<reflectionFunction>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#include<pbrBlockAlbedoOpacity>\x0a#include<pbrBlockReflectivity>\x0a#include<pbrBlockAmbientOcclusion>\x0a#include<pbrBlockAlphaFresnel>\x0a#include<pbrBlockAnisotropic>\x0a#include<pbrBlockReflection>\x0a#include<pbrBlockSheen>\x0a#include<pbrBlockClearcoat>\x0a#include<pbrBlockIridescence>\x0a#include<pbrBlockSubSurface>\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a#include<pbrBlockNormalGeometric>\x0a#include<bumpFragment>\x0a#include<pbrBlockNormalFinal>\x0aalbedoOpacityOutParams\x20albedoOpacityOut;\x0a#ifdef\x20ALBEDO\x0avec4\x20albedoTexture=texture2D(albedoSampler,vAlbedoUV+uvOffset);\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vOpacityUV+uvOffset);\x0a#endif\x0aalbedoOpacityBlock(\x0avAlbedoColor,\x0a#ifdef\x20ALBEDO\x0aalbedoTexture,\x0avAlbedoInfos,\x0a#endif\x0a#ifdef\x20OPACITY\x0aopacityMap,\x0avOpacityInfos,\x0a#endif\x0a#ifdef\x20DETAIL\x0adetailColor,\x0avDetailInfos,\x0a#endif\x0aalbedoOpacityOut\x0a);\x0avec3\x20surfaceAlbedo=albedoOpacityOut.surfaceAlbedo;\x0afloat\x20alpha=albedoOpacityOut.alpha;\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALPHA\x0a#include<depthPrePass>\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_LIGHTS\x0aambientOcclusionOutParams\x20aoOut;\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionColorMap=texture2D(ambientSampler,vAmbientUV+uvOffset).rgb;\x0a#endif\x0aambientOcclusionBlock(\x0a#ifdef\x20AMBIENT\x0aambientOcclusionColorMap,\x0avAmbientInfos,\x0a#endif\x0aaoOut\x0a);\x0a#include<pbrBlockLightmapInit>\x0a#ifdef\x20UNLIT\x0avec3\x20diffuseBase=vec3(1.,1.,1.);\x0a#else\x0avec3\x20baseColor=surfaceAlbedo;\x0areflectivityOutParams\x20reflectivityOut;\x0a#if\x20defined(REFLECTIVITY)\x0avec4\x20surfaceMetallicOrReflectivityColorMap=texture2D(reflectivitySampler,vReflectivityUV+uvOffset);\x0avec4\x20baseReflectivity=surfaceMetallicOrReflectivityColorMap;\x0a#ifndef\x20METALLICWORKFLOW\x0a#ifdef\x20REFLECTIVITY_GAMMA\x0asurfaceMetallicOrReflectivityColorMap=toLinearSpace(surfaceMetallicOrReflectivityColorMap);\x0a#endif\x0asurfaceMetallicOrReflectivityColorMap.rgb*=vReflectivityInfos.y;\x0a#endif\x0a#endif\x0a#if\x20defined(MICROSURFACEMAP)\x0avec4\x20microSurfaceTexel=texture2D(microSurfaceSampler,vMicroSurfaceSamplerUV+uvOffset)*vMicroSurfaceSamplerInfos.y;\x0a#endif\x0a#ifdef\x20METALLICWORKFLOW\x0avec4\x20metallicReflectanceFactors=vMetallicReflectanceFactors;\x0a#ifdef\x20REFLECTANCE\x0avec4\x20reflectanceFactorsMap=texture2D(reflectanceSampler,vReflectanceUV+uvOffset);\x0a#ifdef\x20REFLECTANCE_GAMMA\x0areflectanceFactorsMap=toLinearSpace(reflectanceFactorsMap);\x0a#endif\x0ametallicReflectanceFactors.rgb*=reflectanceFactorsMap.rgb;\x0a#endif\x0a#ifdef\x20METALLIC_REFLECTANCE\x0avec4\x20metallicReflectanceFactorsMap=texture2D(metallicReflectanceSampler,vMetallicReflectanceUV+uvOffset);\x0a#ifdef\x20METALLIC_REFLECTANCE_GAMMA\x0ametallicReflectanceFactorsMap=toLinearSpace(metallicReflectanceFactorsMap);\x0a#endif\x0a#ifndef\x20METALLIC_REFLECTANCE_USE_ALPHA_ONLY\x0ametallicReflectanceFactors.rgb*=metallicReflectanceFactorsMap.rgb;\x0a#endif\x0ametallicReflectanceFactors*=metallicReflectanceFactorsMap.a;\x0a#endif\x0a#endif\x0areflectivityBlock(\x0avReflectivityColor,\x0a#ifdef\x20METALLICWORKFLOW\x0asurfaceAlbedo,\x0ametallicReflectanceFactors,\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0avReflectivityInfos,\x0asurfaceMetallicOrReflectivityColorMap,\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0aaoOut.ambientOcclusionColor,\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0amicroSurfaceTexel,\x0a#endif\x0a#ifdef\x20DETAIL\x0adetailColor,\x0avDetailInfos,\x0a#endif\x0areflectivityOut\x0a);\x0afloat\x20microSurface=reflectivityOut.microSurface;\x0afloat\x20roughness=reflectivityOut.roughness;\x0a#ifdef\x20METALLICWORKFLOW\x0asurfaceAlbedo=reflectivityOut.surfaceAlbedo;\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0aaoOut.ambientOcclusionColor=reflectivityOut.ambientOcclusionColor;\x0a#endif\x0a#ifdef\x20ALPHAFRESNEL\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(ALPHABLEND)\x0aalphaFresnelOutParams\x20alphaFresnelOut;\x0aalphaFresnelBlock(\x0anormalW,\x0aviewDirectionW,\x0aalpha,\x0amicroSurface,\x0aalphaFresnelOut\x0a);\x0aalpha=alphaFresnelOut.alpha;\x0a#endif\x0a#endif\x0a#include<pbrBlockGeometryInfo>\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOutParams\x20anisotropicOut;\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0avec3\x20anisotropyMapData=texture2D(anisotropySampler,vAnisotropyUV+uvOffset).rgb*vAnisotropyInfos.y;\x0a#endif\x0aanisotropicBlock(\x0avAnisotropy,\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0aanisotropyMapData,\x0a#endif\x0aTBN,\x0anormalW,\x0aviewDirectionW,\x0aanisotropicOut\x0a);\x0a#endif\x0a#ifdef\x20REFLECTION\x0areflectionOutParams\x20reflectionOut;\x0a#ifndef\x20USE_CUSTOM_REFLECTION\x0areflectionBlock(\x0avPositionW,\x0anormalW,\x0aalphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aroughness,\x0a#endif\x0areflectionSampler,\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avEnvironmentIrradiance,\x0a#endif\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0areflectionMatrix,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0airradianceSampler,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0areflectionOut\x0a);\x0a#else\x0a#define\x20CUSTOM_REFLECTION\x0a#endif\x0a#endif\x0a#include<pbrBlockReflectance0>\x0a#ifdef\x20SHEEN\x0asheenOutParams\x20sheenOut;\x0a#ifdef\x20SHEEN_TEXTURE\x0avec4\x20sheenMapData=texture2D(sheenSampler,vSheenUV+uvOffset);\x0a#endif\x0a#if\x20defined(SHEEN_ROUGHNESS)\x20&&\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0avec4\x20sheenMapRoughnessData=texture2D(sheenRoughnessSampler,vSheenRoughnessUV+uvOffset)*vSheenInfos.w;\x0a#endif\x0asheenBlock(\x0avSheenColor,\x0a#ifdef\x20SHEEN_ROUGHNESS\x0avSheenRoughness,\x0a#if\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0asheenMapRoughnessData,\x0a#endif\x0a#endif\x0aroughness,\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenMapData,\x0avSheenInfos.y,\x0a#endif\x0areflectance,\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0abaseColor,\x0asurfaceAlbedo,\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0aNdotV,\x0aenvironmentBrdf,\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0aAARoughnessFactors,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0avLightingIntensity,\x0areflectionSampler,\x0areflectionOut.reflectionCoords,\x0aNdotVUnclamped,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0aseo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0aeho,\x0a#endif\x0a#endif\x0asheenOut\x0a);\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0asurfaceAlbedo=sheenOut.surfaceAlbedo;\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0avec2\x20clearCoatMapData=texture2D(clearCoatSampler,vClearCoatUV+uvOffset).rg*vClearCoatInfos.y;\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0airidescenceOutParams\x20iridescenceOut;\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0avec2\x20iridescenceMapData=texture2D(iridescenceSampler,vIridescenceUV+uvOffset).rg*vIridescenceInfos.y;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0avec2\x20iridescenceThicknessMapData=texture2D(iridescenceThicknessSampler,vIridescenceThicknessUV+uvOffset).rg*vIridescenceInfos.w;\x0a#endif\x0airidescenceBlock(\x0avIridescenceParams,\x0aNdotV,\x0aspecularEnvironmentR0,\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0airidescenceMapData,\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0airidescenceThicknessMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aNdotVUnclamped,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatMapData,\x0a#endif\x0a#endif\x0airidescenceOut\x0a);\x0afloat\x20iridescenceIntensity=iridescenceOut.iridescenceIntensity;\x0aspecularEnvironmentR0=iridescenceOut.specularEnvironmentR0;\x0a#endif\x0aclearcoatOutParams\x20clearcoatOut;\x0a#ifdef\x20CLEARCOAT\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0avec4\x20clearCoatMapRoughnessData=texture2D(clearCoatRoughnessSampler,vClearCoatRoughnessUV+uvOffset)*vClearCoatInfos.w;\x0a#endif\x0a#if\x20defined(CLEARCOAT_TINT)\x20&&\x20defined(CLEARCOAT_TINT_TEXTURE)\x0avec4\x20clearCoatTintMapData=texture2D(clearCoatTintSampler,vClearCoatTintUV+uvOffset);\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0avec4\x20clearCoatBumpMapData=texture2D(clearCoatBumpSampler,vClearCoatBumpUV+uvOffset);\x0a#endif\x0aclearcoatBlock(\x0avPositionW,\x0ageometricNormalW,\x0aviewDirectionW,\x0avClearCoatParams,\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0aclearCoatMapRoughnessData,\x0a#endif\x0aspecularEnvironmentR0,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avClearCoatTintParams,\x0aclearCoatColorAtDistance,\x0avClearCoatRefractionParams,\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0aclearCoatTintMapData,\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0avClearCoatBumpInfos,\x0aclearCoatBumpMapData,\x0avClearCoatBumpUV,\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0avTBN,\x0a#else\x0avClearCoatTangentSpaceParams,\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0anormalMatrix,\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0afaceNormal,\x0a#endif\x0a#ifdef\x20REFLECTION\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0avLightingIntensity,\x0areflectionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0aambientMonochrome,\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(TWOSIDEDLIGHTING)\x0a(gl_FrontFacing\x20?\x201.\x20:\x20-1.),\x0a#endif\x0aclearcoatOut\x0a);\x0a#else\x0aclearcoatOut.specularEnvironmentR0=specularEnvironmentR0;\x0a#endif\x0a#include<pbrBlockReflectance>\x0asubSurfaceOutParams\x20subSurfaceOut;\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0avec4\x20thicknessMap=texture2D(thicknessSampler,vThicknessUV+uvOffset);\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0avec4\x20refractionIntensityMap=texture2D(refractionIntensitySampler,vRefractionIntensityUV+uvOffset);\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0avec4\x20translucencyIntensityMap=texture2D(translucencyIntensitySampler,vTranslucencyIntensityUV+uvOffset);\x0a#endif\x0asubSurfaceBlock(\x0avSubSurfaceIntensity,\x0avThicknessParam,\x0avTintColor,\x0anormalW,\x0aspecularEnvironmentReflectance,\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0athicknessMap,\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0arefractionIntensityMap,\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0atranslucencyIntensityMap,\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20SS_TRANSLUCENCY\x0areflectionMatrix,\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0areflectionOut.irradianceVector,\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0areflectionSampler,\x0avReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0airradianceSampler,\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20||\x20defined(SS_TRANSLUCENCY)\x0asurfaceAlbedo,\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avPositionW,\x0aviewDirectionW,\x0aview,\x0avRefractionInfos,\x0arefractionMatrix,\x0avRefractionMicrosurfaceInfos,\x0avLightingIntensity,\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0aalpha,\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20SS_LINEARSPECULARREFRACTION\x0aroughness,\x0a#endif\x0aalphaG,\x0arefractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0arefractionSamplerLow,\x0arefractionSamplerHigh,\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avRefractionFilteringInfo,\x0a#endif\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0avRefractionPosition,\x0avRefractionSize,\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0avDiffusionDistance,\x0a#endif\x0asubSurfaceOut\x0a);\x0a#ifdef\x20SS_REFRACTION\x0asurfaceAlbedo=subSurfaceOut.surfaceAlbedo;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0aalpha=subSurfaceOut.alpha;\x0a#endif\x0a#endif\x0a#else\x0asubSurfaceOut.specularEnvironmentReflectance=specularEnvironmentReflectance;\x0a#endif\x0a#include<pbrBlockDirectLighting>\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#include<pbrBlockFinalLitComponents>\x0a#endif\x20\x0a#include<pbrBlockFinalUnlitComponents>\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FINALCOLORCOMPOSITION\x0a#include<pbrBlockFinalColorComposition>\x0a#include<logDepthFragment>\x0a#include<fogFragment>(color,finalColor)\x0a#include<pbrBlockImageProcessing>\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FRAGCOLOR\x0a#ifdef\x20PREPASS\x0afloat\x20writeGeometryInfo=finalColor.a>0.4\x20?\x201.0\x20:\x200.0;\x0a#ifdef\x20PREPASS_POSITION\x0agl_FragData[PREPASS_POSITION_INDEX]=vec4(vPositionW,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[PREPASS_VELOCITY_INDEX]=vec4(velocity,0.0,writeGeometryInfo);\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0avec3\x20sqAlbedo=sqrt(surfaceAlbedo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_IRRADIANCE\x0avec3\x20irradiance=finalDiffuse;\x0a#ifndef\x20UNLIT\x0a#ifdef\x20REFLECTION\x0airradiance+=finalIrradiance;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_SCATTERING\x0agl_FragData[0]=vec4(finalColor.rgb-irradiance,finalColor.a);\x20\x0airradiance/=sqAlbedo;\x0a#else\x0agl_FragData[0]=finalColor;\x20\x0afloat\x20scatteringDiffusionProfile=255.;\x0a#endif\x0agl_FragData[PREPASS_IRRADIANCE_INDEX]=vec4(clamp(irradiance,vec3(0.),vec3(1.)),writeGeometryInfo*scatteringDiffusionProfile/255.);\x20\x0a#else\x0agl_FragData[0]=vec4(finalColor.rgb,finalColor.a);\x0a#endif\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[PREPASS_DEPTH_INDEX]=vec4(vViewPos.z,0.0,0.0,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[PREPASS_NORMAL_INDEX]=vec4((view*vec4(normalW,0.0)).rgb,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_ALBEDO_SQRT\x0agl_FragData[PREPASS_ALBEDO_SQRT_INDEX]=vec4(sqAlbedo,writeGeometryInfo);\x20\x0a#endif\x0a#ifdef\x20PREPASS_REFLECTIVITY\x0a#ifndef\x20UNLIT\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(toGammaSpace(specularEnvironmentR0),microSurface)*writeGeometryInfo;\x0a#else\x0agl_FragData[PREPASS_REFLECTIVITY_INDEX]=vec4(\x200.0,0.0,0.0,1.0\x20)*writeGeometryInfo;\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20!defined(PREPASS)\x20||\x20defined(WEBGL2)\x0agl_FragColor=finalColor;\x0a#endif\x0a#include<oitFragment>\x0a#if\x20ORDER_INDEPENDENT_TRANSPARENCY\x0aif\x20(fragDepth==nearestDepth)\x20{\x0afrontColor.rgb+=finalColor.rgb*finalColor.a*alphaMultiplier;\x0afrontColor.a=1.0-alphaMultiplier*(1.0-finalColor.a);\x0a}\x20else\x20{\x0abackColor+=finalColor;\x0a}\x0a#endif\x0a#include<pbrDebug>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','etc2','setArray2','TEXTUREFORMAT_RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU','setExternalTexture:\x20This\x20engine\x20does\x20not\x20support\x20external\x20textures!','IncludesShadersStore','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','worldPos','textD','Warn','setVector2','IRIDESCENCE_TEXTURE','LEQUAL','lightVxFragmentDeclaration','textureBlur','_ProcessPrecision','401780SBOepR','volumetricLightScatteringPixelShader','setUIntArray','webGLVersion','useReverseDepthBuffer','getVRDevice','world','_cullFace','BC2RGBAUnorm','not','attributes','floor','bufferData','FloatN','releaseTexture','buildUniformLayout','uniforms','precision\x20highp\x20float;\x0auniform\x20sampler2D\x20uBackColor;\x0avoid\x20main()\x20{\x0aglFragColor=texelFetch(uBackColor,ivec2(gl_FragCoord.xy),0);\x0aif\x20(glFragColor.a==0.0)\x20{\x20\x0adiscard;\x0a}\x0a}','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20motionStrength;\x0auniform\x20float\x20motionScale;\x0auniform\x20vec2\x20screenSize;\x0a#ifdef\x20OBJECT_BASED\x0auniform\x20sampler2D\x20velocitySampler;\x0a#else\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20mat4\x20inverseViewProjection;\x0auniform\x20mat4\x20prevViewProjection;\x0auniform\x20mat4\x20projection;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#ifdef\x20GEOMETRY_SUPPORTED\x0a#ifdef\x20OBJECT_BASED\x0avec2\x20texelSize=1.0/screenSize;\x0avec4\x20velocityColor=texture2D(velocitySampler,vUV);\x0avelocityColor.rg=velocityColor.rg*2.0-vec2(1.0);\x0avec2\x20velocity=vec2(pow(velocityColor.r,3.0),pow(velocityColor.g,3.0))*velocityColor.a;\x0avelocity*=motionScale*motionStrength;\x0afloat\x20speed=length(velocity/texelSize);\x0aint\x20samplesCount=int(clamp(speed,1.0,SAMPLES));\x0avelocity=normalize(velocity)*texelSize;\x0afloat\x20hlim=float(-samplesCount)*0.5+0.5;\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i<int(SAMPLES);\x20++i)\x0a{\x0aif\x20(i>=samplesCount)\x0abreak;\x0avec2\x20offset=vUV+velocity*(hlim+float(i));\x0aresult+=texture2D(textureSampler,offset);\x0a}\x0agl_FragColor=result/float(samplesCount);\x0agl_FragColor.a=1.0;\x0a#else\x0avec2\x20texelSize=1.0/screenSize;\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0adepth=projection[2].z+projection[3].z/depth;\x20\x0avec4\x20cpos=vec4(vUV*2.0-1.0,depth,1.0);\x0acpos=inverseViewProjection*cpos;\x0acpos/=cpos.w;\x0avec4\x20ppos=prevViewProjection*cpos;\x0appos/=ppos.w;\x0appos.xy=ppos.xy*0.5+0.5;\x0avec2\x20velocity=(ppos.xy-vUV)*motionScale*motionStrength;\x0afloat\x20speed=length(velocity/texelSize);\x0aint\x20nSamples=int(clamp(speed,1.0,SAMPLES));\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i<int(SAMPLES);\x20++i)\x20{\x0aif\x20(i>=nSamples)\x0abreak;\x0avec2\x20offset1=vUV+velocity*(float(i)/float(nSamples-1)-0.5);\x0aresult+=texture2D(textureSampler,offset1);\x0a}\x0agl_FragColor=result/float(nSamples);\x0a#endif\x0a#else\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a#endif\x0a}\x0a','ALPHA_PREMULTIPLIED','ALPHA_EQUATION_DARKEN','wrapV','QueryResolve','document','coneAngle','vertexBuffers','#include<__decl__boundingBoxRendererFragment>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20vTextureInfos;\x0auniform\x20sampler2D\x20diffuse1Sampler;\x0auniform\x20sampler2D\x20diffuse2Sampler;\x0auniform\x20sampler2D\x20diffuse3Sampler;\x0auniform\x20vec2\x20diffuse1Infos;\x0auniform\x20vec2\x20diffuse2Infos;\x0auniform\x20vec2\x20diffuse3Infos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20sampler2D\x20bump1Sampler;\x0auniform\x20sampler2D\x20bump2Sampler;\x0auniform\x20sampler2D\x20bump3Sampler;\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#ifdef\x20BUMP\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0amat3\x20cotangent_frame(vec3\x20normal,vec3\x20p,vec2\x20uv)\x0a{\x0avec3\x20dp1=dFdx(p);\x0avec3\x20dp2=dFdy(p);\x0avec2\x20duv1=dFdx(uv);\x0avec2\x20duv2=dFdy(uv);\x0avec3\x20dp2perp=cross(dp2,normal);\x0avec3\x20dp1perp=cross(normal,dp1);\x0avec3\x20tangent=dp2perp*duv1.x+dp1perp*duv2.x;\x0avec3\x20binormal=dp2perp*duv1.y+dp1perp*duv2.y;\x0afloat\x20invmax=inversesqrt(max(dot(tangent,tangent),dot(binormal,binormal)));\x0areturn\x20mat3(tangent*invmax,binormal*invmax,normal);\x0a}\x0avec3\x20perturbNormal(vec3\x20viewDir,vec3\x20mixColor)\x0a{\x0avec3\x20bump1Color=texture2D(bump1Sampler,vTextureUV*diffuse1Infos).xyz;\x0avec3\x20bump2Color=texture2D(bump2Sampler,vTextureUV*diffuse2Infos).xyz;\x0avec3\x20bump3Color=texture2D(bump3Sampler,vTextureUV*diffuse3Infos).xyz;\x0abump1Color.rgb*=mixColor.r;\x0abump2Color.rgb=mix(bump1Color.rgb,bump2Color.rgb,mixColor.g);\x0avec3\x20map=mix(bump2Color.rgb,bump3Color.rgb,mixColor.b);\x0amap=map*255./127.-128./127.;\x0amat3\x20TBN=cotangent_frame(vNormalW*vTextureInfos.y,-viewDir,vTextureUV);\x0areturn\x20normalize(TBN*map);\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(textureSampler,vTextureUV);\x0a#if\x20defined(BUMP)\x20&&\x20defined(DIFFUSE)\x0anormalW=perturbNormal(viewDirectionW,baseColor.rgb);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\x0avec4\x20diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\x0avec4\x20diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\x0adiffuse1Color.rgb*=baseColor.r;\x0adiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,baseColor.g);\x0abaseColor.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,baseColor.b);\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor*baseColor.rgb,0.0,1.0);\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','_thinInstanceUpdateBufferSize','setFloat2','_videoTextureSupported','isDisposed','screenSpaceReflectionPixelShader','updateRawCubeTexture','_unTranslatedPointerY','TEXTURETYPE_SHORT','_attributeDeclaration','uniform\x20float\x20particleAlpha;\x0avarying\x20vec2\x20uv;\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0afloat\x20thickness=sqrt(1.0-r2);\x0aglFragColor=vec4(vec3(particleAlpha*thickness),1.0);\x0a}\x0a','_SimplifiedKnownBindings','PREPASS_IRRADIANCE_TEXTURE_TYPE','_mipmapGenBindGroup','frameMaxRenderMemoryLength','CubeArray','instancesVertex','ASTC10x5UnormSRGB','onSizeChangedObservable','supportedPipelines','Vector3','bindGroupLayoutEntryInfo','backgroundVertexDeclaration','oitFragment','\x20{\x0a\x20\x20\x20\x20','_createRenderTarget','queue','varyingProcessor','GL_ALPHA_EQUATION_MAX','_frustumPlanes','bufferSubData','SubSurfaceSceneComponent','setArray4','_isDepthMaskDirty','InvertY','define','multiview','.xyz,\x20','_vertexBuffers','compileGLSL','FromArrayToRef','\x20-\x20','onLoadErrorObservable','precision\x20highp\x20float;uniform\x20float\x20time;uniform\x20float\x20lowFrequencySpeed;varying\x20float\x20noise;attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20mat4\x20diffuseMatrix;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a/*\x20NOISE\x20FUNCTIONS\x20*/\x0avec3\x20mod289(vec3\x20x)\x0a{return\x20x-floor(x*(1.0/289.0))*289.0;}\x0avec4\x20mod289(vec4\x20x)\x0a{return\x20x-floor(x*(1.0/289.0))*289.0;}\x0avec4\x20permute(vec4\x20x)\x0a{return\x20mod289(((x*34.0)+1.0)*x);}\x0avec4\x20taylorInvSqrt(vec4\x20r)\x0a{return\x201.79284291400159-0.85373472095314*r;}\x0avec3\x20fade(vec3\x20t)\x20{return\x20t*t*t*(t*(t*6.0-15.0)+10.0);}\x0afloat\x20pnoise(vec3\x20P,vec3\x20rep)\x0a{vec3\x20Pi0=mod(floor(P),rep);\x20\x0avec3\x20Pi1=mod(Pi0+vec3(1.0),rep);\x20\x0aPi0=mod289(Pi0);Pi1=mod289(Pi1);vec3\x20Pf0=fract(P);\x20\x0avec3\x20Pf1=Pf0-vec3(1.0);\x20\x0avec4\x20ix=vec4(Pi0.x,Pi1.x,Pi0.x,Pi1.x);vec4\x20iy=vec4(Pi0.yy,Pi1.yy);vec4\x20iz0=Pi0.zzzz;vec4\x20iz1=Pi1.zzzz;vec4\x20ixy=permute(permute(ix)+iy);vec4\x20ixy0=permute(ixy+iz0);vec4\x20ixy1=permute(ixy+iz1);vec4\x20gx0=ixy0*(1.0/7.0);vec4\x20gy0=fract(floor(gx0)*(1.0/7.0))-0.5;gx0=fract(gx0);vec4\x20gz0=vec4(0.5)-abs(gx0)-abs(gy0);vec4\x20sz0=step(gz0,vec4(0.0));gx0-=sz0*(step(0.0,gx0)-0.5);gy0-=sz0*(step(0.0,gy0)-0.5);vec4\x20gx1=ixy1*(1.0/7.0);vec4\x20gy1=fract(floor(gx1)*(1.0/7.0))-0.5;gx1=fract(gx1);vec4\x20gz1=vec4(0.5)-abs(gx1)-abs(gy1);vec4\x20sz1=step(gz1,vec4(0.0));gx1-=sz1*(step(0.0,gx1)-0.5);gy1-=sz1*(step(0.0,gy1)-0.5);vec3\x20g000=vec3(gx0.x,gy0.x,gz0.x);vec3\x20g100=vec3(gx0.y,gy0.y,gz0.y);vec3\x20g010=vec3(gx0.z,gy0.z,gz0.z);vec3\x20g110=vec3(gx0.w,gy0.w,gz0.w);vec3\x20g001=vec3(gx1.x,gy1.x,gz1.x);vec3\x20g101=vec3(gx1.y,gy1.y,gz1.y);vec3\x20g011=vec3(gx1.z,gy1.z,gz1.z);vec3\x20g111=vec3(gx1.w,gy1.w,gz1.w);vec4\x20norm0=taylorInvSqrt(vec4(dot(g000,g000),dot(g010,g010),dot(g100,g100),dot(g110,g110)));g000*=norm0.x;g010*=norm0.y;g100*=norm0.z;g110*=norm0.w;vec4\x20norm1=taylorInvSqrt(vec4(dot(g001,g001),dot(g011,g011),dot(g101,g101),dot(g111,g111)));g001*=norm1.x;g011*=norm1.y;g101*=norm1.z;g111*=norm1.w;float\x20n000=dot(g000,Pf0);float\x20n100=dot(g100,vec3(Pf1.x,Pf0.yz));float\x20n010=dot(g010,vec3(Pf0.x,Pf1.y,Pf0.z));float\x20n110=dot(g110,vec3(Pf1.xy,Pf0.z));float\x20n001=dot(g001,vec3(Pf0.xy,Pf1.z));float\x20n101=dot(g101,vec3(Pf1.x,Pf0.y,Pf1.z));float\x20n011=dot(g011,vec3(Pf0.x,Pf1.yz));float\x20n111=dot(g111,Pf1);vec3\x20fade_xyz=fade(Pf0);vec4\x20n_z=mix(vec4(n000,n100,n010,n110),vec4(n001,n101,n011,n111),fade_xyz.z);vec2\x20n_yz=mix(n_z.xy,n_z.zw,fade_xyz.y);float\x20n_xyz=mix(n_yz.x,n_yz.y,fade_xyz.x);return\x202.2*n_xyz;}\x0a/*\x20END\x20FUNCTION\x20*/\x0afloat\x20turbulence(\x20vec3\x20p\x20)\x20{float\x20w=100.0;float\x20t=-.5;for\x20(float\x20f=1.0\x20;\x20f<=10.0\x20;\x20f++\x20){float\x20power=pow(\x202.0,f\x20);t+=abs(\x20pnoise(\x20vec3(\x20power*p\x20),vec3(\x2010.0,10.0,10.0\x20)\x20)/power\x20);}\x0areturn\x20t;}\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0a#ifdef\x20NORMAL\x0anoise=10.0*\x20-.10*turbulence(\x20.5*normal+time*1.15\x20);float\x20b=lowFrequencySpeed*5.0*pnoise(\x200.05*position\x20+vec3(time*1.025),vec3(\x20100.0\x20)\x20);float\x20displacement=-\x201.5*noise+b;vec3\x20newPosition=position+normal*displacement;gl_Position=viewProjection*finalWorld*vec4(\x20newPosition,1.0\x20);vec4\x20worldPos=finalWorld*vec4(newPosition,1.0);vPositionW=vec3(worldPos);vNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','atan2','vertex','add',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','setStencilDepthFailOp','_reflectionCoordsName','\x0d\x0a#endif','_workingContext','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec3\x20vReflectionColor;\x0auniform\x20vec4\x20vAlbedoColor;\x0auniform\x20vec4\x20vLightingIntensity;\x0auniform\x20vec4\x20vReflectivityColor;\x0auniform\x20vec4\x20vMetallicReflectanceFactors;\x0auniform\x20vec3\x20vEmissiveColor;\x0auniform\x20float\x20visibility;\x0auniform\x20vec3\x20vAmbientColor;\x0a#ifdef\x20ALBEDO\x0auniform\x20vec2\x20vAlbedoInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20vec4\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0auniform\x20vec3\x20vReflectivityInfos;\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0auniform\x20vec2\x20vMicroSurfaceSamplerInfos;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(SS_REFRACTION)\x20||\x20defined(PREPASS)\x0auniform\x20mat4\x20view;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0a#ifdef\x20REALTIME_FILTERING\x0auniform\x20vec2\x20vReflectionFilteringInfo;\x0a#endif\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0a#if\x20defined(USE_LOCAL_REFLECTIONMAP_CUBIC)\x20&&\x20defined(REFLECTIONMAP_CUBIC)\x0auniform\x20vec3\x20vReflectionPosition;\x0auniform\x20vec3\x20vReflectionSize;\x20\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20&&\x20defined(SS_USE_LOCAL_REFRACTIONMAP_CUBIC)\x0auniform\x20vec3\x20vRefractionPosition;\x0auniform\x20vec3\x20vRefractionSize;\x20\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0auniform\x20vec2\x20vClearCoatParams;\x0auniform\x20vec4\x20vClearCoatRefractionParams;\x0a#if\x20defined(CLEARCOAT_TEXTURE)\x20||\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vClearCoatInfos;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0auniform\x20mat4\x20clearCoatMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20clearCoatRoughnessMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0auniform\x20vec2\x20vClearCoatBumpInfos;\x0auniform\x20vec2\x20vClearCoatTangentSpaceParams;\x0auniform\x20mat4\x20clearCoatBumpMatrix;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0auniform\x20vec4\x20vClearCoatTintParams;\x0auniform\x20float\x20clearCoatColorAtDistance;\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0auniform\x20vec2\x20vClearCoatTintInfos;\x0auniform\x20mat4\x20clearCoatTintMatrix;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0auniform\x20vec4\x20vIridescenceParams;\x0a#if\x20defined(IRIDESCENCE_TEXTURE)\x20||\x20defined(IRIDESCENCE_THICKNESS_TEXTURE)\x0auniform\x20vec4\x20vIridescenceInfos;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_TEXTURE\x0auniform\x20mat4\x20iridescenceMatrix;\x0a#endif\x0a#ifdef\x20IRIDESCENCE_THICKNESS_TEXTURE\x0auniform\x20mat4\x20iridescenceThicknessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0auniform\x20vec3\x20vAnisotropy;\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0auniform\x20vec2\x20vAnisotropyInfos;\x0auniform\x20mat4\x20anisotropyMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0auniform\x20vec4\x20vSheenColor;\x0a#ifdef\x20SHEEN_ROUGHNESS\x0auniform\x20float\x20vSheenRoughness;\x0a#endif\x0a#if\x20defined(SHEEN_TEXTURE)\x20||\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0auniform\x20vec4\x20vSheenInfos;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE\x0auniform\x20mat4\x20sheenMatrix;\x0a#endif\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS\x0auniform\x20mat4\x20sheenRoughnessMatrix;\x0a#endif\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0auniform\x20vec4\x20vRefractionMicrosurfaceInfos;\x0auniform\x20vec4\x20vRefractionInfos;\x0auniform\x20mat4\x20refractionMatrix;\x0a#ifdef\x20REALTIME_FILTERING\x0auniform\x20vec2\x20vRefractionFilteringInfo;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0auniform\x20vec2\x20vThicknessInfos;\x0auniform\x20mat4\x20thicknessMatrix;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0auniform\x20vec2\x20vRefractionIntensityInfos;\x0auniform\x20mat4\x20refractionIntensityMatrix;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0auniform\x20vec2\x20vTranslucencyIntensityInfos;\x0auniform\x20mat4\x20translucencyIntensityMatrix;\x0a#endif\x0auniform\x20vec2\x20vThicknessParam;\x0auniform\x20vec3\x20vDiffusionDistance;\x0auniform\x20vec4\x20vTintColor;\x0auniform\x20vec3\x20vSubSurfaceIntensity;\x0a#endif\x0a#ifdef\x20PREPASS\x0a#ifdef\x20SS_SCATTERING\x0auniform\x20float\x20scatteringDiffusionProfile;\x0a#endif\x0a#endif\x0a#if\x20DEBUGMODE>0\x0auniform\x20vec2\x20vDebugMode;\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0a#endif\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0auniform\x20vec3\x20vSphericalL00;\x0auniform\x20vec3\x20vSphericalL1_1;\x0auniform\x20vec3\x20vSphericalL10;\x0auniform\x20vec3\x20vSphericalL11;\x0auniform\x20vec3\x20vSphericalL2_2;\x0auniform\x20vec3\x20vSphericalL2_1;\x0auniform\x20vec3\x20vSphericalL20;\x0auniform\x20vec3\x20vSphericalL21;\x0auniform\x20vec3\x20vSphericalL22;\x0a#else\x0auniform\x20vec3\x20vSphericalX;\x0auniform\x20vec3\x20vSphericalY;\x0auniform\x20vec3\x20vSphericalZ;\x0auniform\x20vec3\x20vSphericalXX_ZZ;\x0auniform\x20vec3\x20vSphericalYY_ZZ;\x0auniform\x20vec3\x20vSphericalZZ;\x0auniform\x20vec3\x20vSphericalXY;\x0auniform\x20vec3\x20vSphericalYZ;\x0auniform\x20vec3\x20vSphericalZX;\x0a#endif\x0a#endif\x0a#define\x20ADDITIONAL_FRAGMENT_DECLARATION\x0a','isFragment','RG16Float','processor','_prepareComputePipelineContext','hdrFilteringFunctions','cameraId','updateUInt2','markAsLightDirty','_vrSupported','offlineProvider','oitFinalPixelShader','occlusionQuerySet','_SimplifyNegation','defined[$1]','float','thinInstanceSetAttributeAt','fxaaPixelShader','_blurTextureType','modelList','_crossEye','_renderTargetEncoder','STENCIL_ATTACHMENT','getSampler','ASTC8x5Unorm','_updateMultiviewUbo','_getFragmentShaderCode','endOcclusionQuery','\x20=\x20input.position;\x0a\x20\x20','viewForWriting','query','TransformNormalFromFloatsToRef','_checkForPicking','_getRGBABufferInternalSizedFormat','rtt','#if\x20NUM_BONE_INFLUENCERS>0\x0aattribute\x20vec4\x20matricesIndices;\x0aattribute\x20vec4\x20matricesWeights;\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aattribute\x20vec4\x20matricesIndicesExtra;\x0aattribute\x20vec4\x20matricesWeightsExtra;\x0a#endif\x0a#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#ifdef\x20BONETEXTURE\x0auniform\x20sampler2D\x20boneSampler;\x0auniform\x20float\x20boneTextureWidth;\x0a#else\x0auniform\x20mat4\x20mBones[BonesPerMesh];\x0a#ifdef\x20BONES_VELOCITY_ENABLED\x0auniform\x20mat4\x20mPreviousBones[BonesPerMesh];\x0a#endif\x0a#endif\x0a#ifdef\x20BONETEXTURE\x0a#define\x20inline\x0amat4\x20readMatrixFromRawSampler(sampler2D\x20smp,float\x20index)\x0a{\x0afloat\x20offset=index\x20*4.0;\x0afloat\x20dx=1.0/boneTextureWidth;\x0avec4\x20m0=texture2D(smp,vec2(dx*(offset+0.5),0.));\x0avec4\x20m1=texture2D(smp,vec2(dx*(offset+1.5),0.));\x0avec4\x20m2=texture2D(smp,vec2(dx*(offset+2.5),0.));\x0avec4\x20m3=texture2D(smp,vec2(dx*(offset+3.5),0.));\x0areturn\x20mat4(m0,m1,m2,m3);\x0a}\x0a#endif\x0a#endif\x0a#endif\x0a','Iridescence\x20intensity','struct\x20Mesh\x20{\x0aworld\x20:\x20mat4x4<f32>,\x0avisibility\x20:\x20f32,\x0a};\x0avar<uniform>\x20mesh\x20:\x20Mesh;\x0a#define\x20WORLD_UBO\x0a','processingContext','_currentRenderTextureInd','#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avColor=vec4(1.0);\x0a#ifdef\x20VERTEXCOLOR\x0a#ifdef\x20VERTEXALPHA\x0avColor*=color;\x0a#else\x0avColor.rgb*=color.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20INSTANCESCOLOR\x0avColor*=instanceColor;\x0a#endif\x0a#endif\x0a','ssDiffusionProfileColors','version','resolveQuerySet','_disposePhysicsObserver','TextureBinding','stencilMask','_varyingsDeclWGSL','buttons','_SamplerFunctionByWebGLSamplerType','call','uniform\x20samplerCube\x20','hdrFilteringVertexShader','fogEnd','_key','_spriteBuffer','importanceSampling','copyWithInvertY','harmonicsFunctions','#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM*alpha)\x20discard;\x0a#endif\x0a','_releaseBuffer','_uploadEncoder','irradianceSampler','drawContext','TEXTURE_INVCUBIC_MODE','POINTERDOUBLETAP','TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT5','_currentMaterialContext','actionManager','MAINUV2','defaultPixelShader','#ifdef\x20CLIPPLANE\x0afClipDistance=dot(worldPos,uniforms.vClipPlane);\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0afClipDistance2=dot(worldPos,uniforms.vClipPlane2);\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0afClipDistance3=dot(worldPos,uniforms.vClipPlane3);\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0afClipDistance4=dot(worldPos,uniforms.vClipPlane4);\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0afClipDistance5=dot(worldPos,uniforms.vClipPlane5);\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0afClipDistance6=dot(worldPos,uniforms.vClipPlane6);\x0a#endif\x0a','MultiRenderTarget','setColor4','BGRA8UnormSRGB','uniform\x20float\x20particleAlpha;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20diffuseColor;\x0avoid\x20main(void)\x20{\x0avec3\x20normal;\x0anormal.xy=uv*2.0-1.0;\x0afloat\x20r2=dot(normal.xy,normal.xy);\x0aif\x20(r2>1.0)\x20discard;\x0aglFragColor=vec4(diffuseColor,1.0);\x0a}\x0a','R16Sint','_pipelines','_partialLoadImg','getDescendants','#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x0afloat\x20vertexID;\x0a#endif\x0a#endif\x0a','_doubleClick','ALPHA_SUBTRACT','updateRawTexture3D','HasDepthAndStencilAspects','_mipmapSampler','gl_FrontFacing','_reflectionSizeName','blocksWithDefines','parent','NEAREST','_skipPointerTap','createMipMaps','ASTC4x4UnormSRGB','bonesVertex','addPipeline','_alphaState','subMeshes','bakedVertexAnimationDeclaration','createGPUTextureForInternalTexture','setAlphaEquation','#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20influence;\x0a#ifdef\x20BONETEXTURE\x0ainfluence=readMatrixFromRawSampler(boneSampler,matricesIndices[0])*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[1])*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[2])*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndices[3])*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[0])*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[1])*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[2])*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence+=readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[3])*matricesWeightsExtra[3];\x0a#endif\x0a#else\x0ainfluence=mBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence+=mBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence+=mBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence+=mBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence+=mBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence+=mBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence+=mBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence+=mBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0a#endif\x0afinalWorld=finalWorld*influence;\x0a#endif\x0a#endif\x0a','_getGLType','maxCubemapTextureSize','_delayQuerySetDispose','clipPlane','thinInstanceAdd','externalTexture','_BuildExpression','bufferNames','_drawWrapperDepth','useInstancing','_textureMode','nearInteractionPickingInfo','(-internals.yFactor_)*dpdy','_isUnique','motionBlur','\x20from\x20block\x20','GL_ALPHA_EQUATION_REVERSE_SUBTRACT','inverts','gpuFrameTimeCounter','#ifdef\x20_DEFINENAME_\x0a#if\x20_DEFINENAME_DIRECTUV==1\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV1\x0a#elif\x20_DEFINENAME_DIRECTUV==2\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV2\x0a#elif\x20_DEFINENAME_DIRECTUV==3\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV3\x0a#elif\x20_DEFINENAME_DIRECTUV==4\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV4\x0a#elif\x20_DEFINENAME_DIRECTUV==5\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV5\x0a#elif\x20_DEFINENAME_DIRECTUV==6\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV6\x0a#else\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0auniform\x20sampler2D\x20_SAMPLERNAME_Sampler;\x0a#endif\x0a','setColorFormat','vScale','testValue','updateArray','outlineVertexShader','_bindFrameBuffer','endOfUniformBufferProcessor','updateStorageBuffer','createImageBitmap','PREPASS_REFLECTIVITY_TEXTURE_TYPE','setDepthStencilFormat','albedoSampler','skipPointerUpPicking','_singleClick','_registerTempVariable','#include\x20<','inputBlocks','MAINUV5','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20LIGHTING\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20NORMAL\x0abaseColor=mix(baseColor,vec4(vNormalW,1.0),0.5);\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20LIGHTING\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include<lightFragment>[0]\x0a#include<lightFragment>[1]\x0a#include<lightFragment>[2]\x0a#include<lightFragment>[3]\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0a#else\x0avec3\x20finalDiffuse=\x20baseColor.rgb;\x0a#endif\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT1','ownerBlock','depth','initWebVRAsync','bumpVertex','#include<__decl__defaultVertex>\x0a#define\x20CUSTOM_VERTEX_BEGIN\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0aattribute\x20vec4\x20tangent;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#include<uvAttributeDeclaration>[2..7]\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<helperFunctions>\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0a#include<prePassVertexDeclaration>\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)\x0a#if\x20defined(SPECULARTERM)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular)\x0a#endif\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<bumpVertexDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0avec4\x20tangentUpdated=tangent;\x0a#endif\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=positionUpdated;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_POSITION\x0a#define\x20CUSTOM_VERTEX_UPDATE_NORMAL\x0a#include<instancesVertex>\x0a#if\x20defined(PREPASS)\x20&&\x20defined(PREPASS_VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));\x0avNormalW=normalize(normalWorld*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normalUpdated);\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_WORLDPOS\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0avPositionW=vec3(worldPos);\x0a#include<prePassVertex>\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uvUpdated=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uvUpdated;\x0a#endif\x0a#include<uvVariableDeclaration>[2..7]\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DIFFUSE,_VARYINGNAME_,Diffuse,_MATRIXNAME_,diffuse,_INFONAME_,DiffuseInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)\x0a#if\x20defined(SPECULARTERM)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SPECULAR,_VARYINGNAME_,Specular,_MATRIXNAME_,specular,_INFONAME_,SpecularInfos.x)\x0a#endif\x0a#include<samplerVertexImplementation>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)\x0a#include<bumpVertex>\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#include<pointCloudVertex>\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','_getFreeVariableName','_keyTemp','clipPlane2','Vertex','REFLECTIONMAP_EQUIRECTANGULAR','_cubeSamplerName','compilationString','_currentRenderTarget','#ifdef\x20','struct\x20clearcoatOutParams\x0a{\x0avec3\x20specularEnvironmentR0;\x0afloat\x20conservationFactor;\x0avec3\x20clearCoatNormalW;\x0avec2\x20clearCoatAARoughnessFactors;\x0afloat\x20clearCoatIntensity;\x0afloat\x20clearCoatRoughness;\x0a#ifdef\x20REFLECTION\x0avec3\x20finalClearCoatRadianceScaled;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20absorption;\x0afloat\x20clearCoatNdotVRefract;\x0avec3\x20clearCoatColor;\x0afloat\x20clearCoatThickness;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0avec3\x20energyConservationFactorClearCoat;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0amat3\x20TBNClearCoat;\x0avec2\x20clearCoatMapData;\x0avec4\x20clearCoatTintMapData;\x0avec4\x20environmentClearCoatRadiance;\x0afloat\x20clearCoatNdotV;\x0avec3\x20clearCoatEnvironmentReflectance;\x0a#endif\x0a};\x0a#ifdef\x20CLEARCOAT\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20clearcoatBlock(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20geometricNormalW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20vec2\x20vClearCoatParams,\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0ain\x20vec4\x20clearCoatMapRoughnessData,\x0a#endif\x0ain\x20vec3\x20specularEnvironmentR0,\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0ain\x20vec2\x20clearCoatMapData,\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0ain\x20vec4\x20vClearCoatTintParams,\x0ain\x20float\x20clearCoatColorAtDistance,\x0ain\x20vec4\x20vClearCoatRefractionParams,\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0ain\x20vec4\x20clearCoatTintMapData,\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT_BUMP\x0ain\x20vec2\x20vClearCoatBumpInfos,\x0ain\x20vec4\x20clearCoatBumpMapData,\x0ain\x20vec2\x20vClearCoatBumpUV,\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0ain\x20mat3\x20vTBN,\x0a#else\x0ain\x20vec2\x20vClearCoatTangentSpaceParams,\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0ain\x20mat4\x20normalMatrix,\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0ain\x20vec3\x20faceNormal,\x0a#endif\x0a#ifdef\x20REFLECTION\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0ain\x20float\x20ambientMonochrome,\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(TWOSIDEDLIGHTING)\x0ain\x20float\x20frontFacingMultiplier,\x0a#endif\x0aout\x20clearcoatOutParams\x20outParams\x0a)\x0a{\x0afloat\x20clearCoatIntensity=vClearCoatParams.x;\x0afloat\x20clearCoatRoughness=vClearCoatParams.y;\x0a#ifdef\x20CLEARCOAT_TEXTURE\x0aclearCoatIntensity*=clearCoatMapData.x;\x0a#ifdef\x20CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE\x0aclearCoatRoughness*=clearCoatMapData.y;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatMapData=clearCoatMapData;\x0a#endif\x0a#endif\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0a#ifdef\x20CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL\x0aclearCoatRoughness*=clearCoatMapData.y;\x0a#else\x0aclearCoatRoughness*=clearCoatMapRoughnessData.y;\x0a#endif\x0a#endif\x0aoutParams.clearCoatIntensity=clearCoatIntensity;\x0aoutParams.clearCoatRoughness=clearCoatRoughness;\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20clearCoatColor=vClearCoatTintParams.rgb;\x0afloat\x20clearCoatThickness=vClearCoatTintParams.a;\x0a#ifdef\x20CLEARCOAT_TINT_TEXTURE\x0a#ifdef\x20CLEARCOAT_TINT_GAMMATEXTURE\x0aclearCoatColor*=toLinearSpace(clearCoatTintMapData.rgb);\x0a#else\x0aclearCoatColor*=clearCoatTintMapData.rgb;\x0a#endif\x0aclearCoatThickness*=clearCoatTintMapData.a;\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatTintMapData=clearCoatTintMapData;\x0a#endif\x0a#endif\x0aoutParams.clearCoatColor=computeColorAtDistanceInMedia(clearCoatColor,clearCoatColorAtDistance);\x0aoutParams.clearCoatThickness=clearCoatThickness;\x0a#endif\x0a#ifdef\x20CLEARCOAT_REMAP_F0\x0avec3\x20specularEnvironmentR0Updated=getR0RemappedForClearCoat(specularEnvironmentR0);\x0a#else\x0avec3\x20specularEnvironmentR0Updated=specularEnvironmentR0;\x0a#endif\x0aoutParams.specularEnvironmentR0=mix(specularEnvironmentR0,specularEnvironmentR0Updated,clearCoatIntensity);\x0avec3\x20clearCoatNormalW=geometricNormalW;\x0a#ifdef\x20CLEARCOAT_BUMP\x0a#ifdef\x20NORMALXYSCALE\x0afloat\x20clearCoatNormalScale=1.0;\x0a#else\x0afloat\x20clearCoatNormalScale=vClearCoatBumpInfos.y;\x0a#endif\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBNClearCoat=vTBN;\x0a#else\x0avec2\x20TBNClearCoatUV=vClearCoatBumpUV*frontFacingMultiplier;\x0amat3\x20TBNClearCoat=cotangent_frame(clearCoatNormalW*clearCoatNormalScale,vPositionW,TBNClearCoatUV,vClearCoatTangentSpaceParams);\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.TBNClearCoat=TBNClearCoat;\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0aclearCoatNormalW=normalize(clearCoatBumpMapData.xyz\x20*2.0-1.0);\x0aclearCoatNormalW=normalize(mat3(normalMatrix)*clearCoatNormalW);\x0a#else\x0aclearCoatNormalW=perturbNormal(TBNClearCoat,clearCoatBumpMapData.xyz,vClearCoatBumpInfos.y);\x0a#endif\x0a#endif\x0a#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0aclearCoatNormalW*=sign(dot(clearCoatNormalW,faceNormal));\x0a#endif\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0aclearCoatNormalW=clearCoatNormalW*frontFacingMultiplier;\x0a#endif\x0aoutParams.clearCoatNormalW=clearCoatNormalW;\x0aoutParams.clearCoatAARoughnessFactors=getAARoughnessFactors(clearCoatNormalW.xyz);\x0afloat\x20clearCoatNdotVUnclamped=dot(clearCoatNormalW,viewDirectionW);\x0afloat\x20clearCoatNdotV=absEps(clearCoatNdotVUnclamped);\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatNdotV=clearCoatNdotV;\x0a#endif\x0a#ifdef\x20CLEARCOAT_TINT\x0avec3\x20clearCoatVRefract=refract(-viewDirectionW,clearCoatNormalW,vClearCoatRefractionParams.y);\x0aoutParams.clearCoatNdotVRefract=absEps(dot(clearCoatNormalW,clearCoatVRefract));\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20(!defined(REFLECTIONMAP_SKYBOX)\x20||\x20defined(MS_BRDF_ENERGY_CONSERVATION))\x0avec3\x20environmentClearCoatBrdf=getBRDFLookup(clearCoatNdotV,clearCoatRoughness);\x0a#endif\x0a#if\x20defined(REFLECTION)\x0afloat\x20clearCoatAlphaG=convertRoughnessToAverageSlope(clearCoatRoughness);\x0a#ifdef\x20SPECULARAA\x0aclearCoatAlphaG+=outParams.clearCoatAARoughnessFactors.y;\x0a#endif\x0avec4\x20environmentClearCoatRadiance=vec4(0.,0.,0.,0.);\x0avec3\x20clearCoatReflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),clearCoatNormalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0aclearCoatReflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20clearCoatReflectionCoords=clearCoatReflectionVector;\x0a#else\x0avec2\x20clearCoatReflectionCoords=clearCoatReflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0aclearCoatReflectionCoords/=clearCoatReflectionVector.z;\x0a#endif\x0aclearCoatReflectionCoords.y=1.0-clearCoatReflectionCoords.y;\x0a#endif\x0asampleReflectionTexture(\x0aclearCoatAlphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aclearCoatNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aclearCoatRoughness,\x0a#endif\x0areflectionSampler,\x0aclearCoatReflectionCoords,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentClearCoatRadiance\x0a);\x0a#if\x20DEBUGMODE>0\x0aoutParams.environmentClearCoatRadiance=environmentClearCoatRadiance;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0avec3\x20clearCoatEnvironmentReflectance=getReflectanceFromBRDFLookup(vec3(vClearCoatRefractionParams.x),environmentClearCoatBrdf);\x0a#ifdef\x20RADIANCEOCCLUSION\x0afloat\x20clearCoatSeo=environmentRadianceOcclusion(ambientMonochrome,clearCoatNdotVUnclamped);\x0aclearCoatEnvironmentReflectance*=clearCoatSeo;\x0a#endif\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0afloat\x20clearCoatEho=environmentHorizonOcclusion(-viewDirectionW,clearCoatNormalW,geometricNormalW);\x0aclearCoatEnvironmentReflectance*=clearCoatEho;\x0a#endif\x0a#endif\x0a#endif\x0a#else\x0avec3\x20clearCoatEnvironmentReflectance=getReflectanceFromAnalyticalBRDFLookup_Jones(clearCoatNdotV,vec3(1.),vec3(1.),sqrt(1.-clearCoatRoughness));\x0a#endif\x0aclearCoatEnvironmentReflectance*=clearCoatIntensity;\x0a#if\x20DEBUGMODE>0\x0aoutParams.clearCoatEnvironmentReflectance=clearCoatEnvironmentReflectance;\x0a#endif\x0aoutParams.finalClearCoatRadianceScaled=\x0aenvironmentClearCoatRadiance.rgb\x20*\x0aclearCoatEnvironmentReflectance\x20*\x0avLightingIntensity.z;\x0a#endif\x0a#if\x20defined(CLEARCOAT_TINT)\x0aoutParams.absorption=computeClearCoatAbsorption(outParams.clearCoatNdotVRefract,outParams.clearCoatNdotVRefract,outParams.clearCoatColor,clearCoatThickness,clearCoatIntensity);\x0a#endif\x0afloat\x20fresnelIBLClearCoat=fresnelSchlickGGX(clearCoatNdotV,vClearCoatRefractionParams.x,CLEARCOATREFLECTANCE90);\x0afresnelIBLClearCoat*=clearCoatIntensity;\x0aoutParams.conservationFactor=(1.-fresnelIBLClearCoat);\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0aoutParams.energyConservationFactorClearCoat=getEnergyConservationFactor(outParams.specularEnvironmentR0,environmentClearCoatBrdf);\x0a#endif\x0a}\x0a#endif\x0a','_generateLeftOverUBOCode','uniformBufferProcessor','POINTERUP','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<helperFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=vec4(fromRGBD(texture2D(textureSampler,vUV)),1.0);\x0a}','log','MAINUV7','isReadyOrNotBlocking','target','createRenderTargetTexture','#include<shadowMapFragmentExtraDeclaration>\x0a#ifdef\x20ALPHATEXTURE\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEXTURE\x0afloat\x20alphaFromAlphaTexture=texture2D(diffuseSampler,vUV).a;\x0a#ifdef\x20ALPHATESTVALUE\x0aif\x20(alphaFromAlphaTexture<ALPHATESTVALUE)\x0adiscard;\x0a#endif\x0a#endif\x0a#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0a#ifdef\x20ALPHATEXTURE\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM*alphaFromAlphaTexture)\x20discard;\x0a#else\x0aif\x20((bayerDither8(floor(mod(gl_FragCoord.xy,8.0))))/64.0>=softTransparentShadowSM)\x20discard;\x0a#endif\x0a#endif\x0a#include<shadowMapFragment>\x0a}','setFrontFace','isFixedFoveationSupported','TEXTUREFORMAT_RG','lavaPixelShader','boxMax','requestPointerLock','ACTION_OnPointerOutTrigger','varying\x20vec2\x20sampleCoord{X};','cellIndex','_textureHelper','emitFromSpawnPointOnly','SetData','TEXTURE_2D_ARRAY','is32Bits','_IsInternalTexture','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0avarying\x20vec3\x20vPosition;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0avPosition=position;\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','FALLOFF_PHYSICAL','fogEnabled','Timestamp','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#include<helperFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=toRGBD(texture2D(textureSampler,vUV).rgb);\x0a}','_engine','__framebufferDepthStencil','uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vPrimaryColor;\x0a#ifdef\x20USEHIGHLIGHTANDSHADOWCOLORS\x0auniform\x20vec4\x20vPrimaryColorShadow;\x0a#endif\x0auniform\x20float\x20shadowLevel;\x0auniform\x20float\x20alpha;\x0a#ifdef\x20DIFFUSE\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0a#endif\x0a#if\x20defined(REFLECTIONFRESNEL)\x20||\x20defined(OPACITYFRESNEL)\x0auniform\x20vec3\x20vBackgroundCenter;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20vReflectionControl;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFRACTION)\x0auniform\x20mat4\x20view;\x0a#endif\x0a','resetDepthCullingState','toGlobalToRef','draw','mode','finish','#if\x20defined(FORCENORMALFORWARD)\x20&&\x20defined(NORMAL)\x0avec3\x20faceNormal=normalize(cross(dFdx(vPositionW),dFdy(vPositionW)))*vEyePosition.w;\x0a#if\x20defined(TWOSIDEDLIGHTING)\x0afaceNormal=gl_FrontFacing\x20?\x20faceNormal\x20:\x20-faceNormal;\x0a#endif\x0anormalW*=sign(dot(normalW,faceNormal));\x0a#endif\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0anormalW=gl_FrontFacing\x20?\x20normalW\x20:\x20-normalW;\x0a#endif\x0a','TransformCoordinatesFromFloatsToRef','drawImage','_numExternalTextures','buildTextureLayout','insert','removeIfDef','setTextures','style','getHostWindow','_record','_depthTest','currentOffsetStartTemp','#ifdef\x20LIGHT{X}\x0a#if\x20defined(SHADOWONLY)\x20||\x20defined(LIGHTMAP)\x20&&\x20defined(LIGHTMAPEXCLUDED{X})\x20&&\x20defined(LIGHTMAPNOSPECULAR{X})\x0a#else\x0a#ifdef\x20PBR\x0a#ifdef\x20SPOTLIGHT{X}\x0apreInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(POINTLIGHT{X})\x0apreInfo=computePointAndSpotPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(HEMILIGHT{X})\x0apreInfo=computeHemisphericPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#elif\x20defined(DIRLIGHT{X})\x0apreInfo=computeDirectionalPreLightingInfo(light{X}.vLightData,viewDirectionW,normalW);\x0a#endif\x0apreInfo.NdotV=NdotV;\x0a#ifdef\x20SPOTLIGHT{X}\x0a#ifdef\x20LIGHT_FALLOFF_GLTF{X}\x0apreInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_GLTF(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);\x0a#elif\x20defined(LIGHT_FALLOFF_PHYSICAL{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_Physical(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w);\x0a#elif\x20defined(LIGHT_FALLOFF_STANDARD{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);\x0apreInfo.attenuation*=computeDirectionalLightFalloff_Standard(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w);\x0a#else\x0apreInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);\x0apreInfo.attenuation*=computeDirectionalLightFalloff(light{X}.vLightDirection.xyz,preInfo.L,light{X}.vLightDirection.w,light{X}.vLightData.w,light{X}.vLightFalloff.z,light{X}.vLightFalloff.w);\x0a#endif\x0a#elif\x20defined(POINTLIGHT{X})\x0a#ifdef\x20LIGHT_FALLOFF_GLTF{X}\x0apreInfo.attenuation=computeDistanceLightFalloff_GLTF(preInfo.lightDistanceSquared,light{X}.vLightFalloff.y);\x0a#elif\x20defined(LIGHT_FALLOFF_PHYSICAL{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Physical(preInfo.lightDistanceSquared);\x0a#elif\x20defined(LIGHT_FALLOFF_STANDARD{X})\x0apreInfo.attenuation=computeDistanceLightFalloff_Standard(preInfo.lightOffset,light{X}.vLightFalloff.x);\x0a#else\x0apreInfo.attenuation=computeDistanceLightFalloff(preInfo.lightOffset,preInfo.lightDistanceSquared,light{X}.vLightFalloff.x,light{X}.vLightFalloff.y);\x0a#endif\x0a#else\x0apreInfo.attenuation=1.0;\x0a#endif\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=roughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(roughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0apreInfo.iridescenceIntensity=iridescenceIntensity;\x0a#endif\x0a#ifdef\x20HEMILIGHT{X}\x0ainfo.diffuse=computeHemisphericDiffuseLighting(preInfo,light{X}.vLightDiffuse.rgb,light{X}.vLightGround);\x0a#elif\x20defined(SS_TRANSLUCENCY)\x0ainfo.diffuse=computeDiffuseAndTransmittedLighting(preInfo,light{X}.vLightDiffuse.rgb,subSurfaceOut.transmittance);\x0a#else\x0ainfo.diffuse=computeDiffuseLighting(preInfo,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0a#ifdef\x20ANISOTROPIC\x0ainfo.specular=computeAnisotropicSpecularLighting(preInfo,viewDirectionW,normalW,anisotropicOut.anisotropicTangent,anisotropicOut.anisotropicBitangent,anisotropicOut.anisotropy,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#else\x0ainfo.specular=computeSpecularLighting(preInfo,normalW,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0apreInfo.roughness=sheenOut.sheenIntensity;\x0a#else\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=sheenOut.sheenRoughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(sheenOut.sheenRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0a#endif\x0ainfo.sheen=computeSheenLighting(preInfo,normalW,sheenOut.sheenColor,specularEnvironmentR90,AARoughnessFactors.x,light{X}.vLightDiffuse.rgb);\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifdef\x20HEMILIGHT{X}\x0apreInfo.roughness=clearcoatOut.clearCoatRoughness;\x0a#else\x0apreInfo.roughness=adjustRoughnessFromLightProperties(clearcoatOut.clearCoatRoughness,light{X}.vLightSpecular.a,preInfo.lightDistance);\x0a#endif\x0ainfo.clearCoat=computeClearCoatLighting(preInfo,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatAARoughnessFactors.x,clearcoatOut.clearCoatIntensity,light{X}.vLightDiffuse.rgb);\x0a#ifdef\x20CLEARCOAT_TINT\x0aabsorption=computeClearCoatLightingAbsorption(clearcoatOut.clearCoatNdotVRefract,preInfo.L,clearcoatOut.clearCoatNormalW,clearcoatOut.clearCoatColor,clearcoatOut.clearCoatThickness,clearcoatOut.clearCoatIntensity);\x0ainfo.diffuse*=absorption;\x0a#ifdef\x20SPECULARTERM\x0ainfo.specular*=absorption;\x0a#endif\x0a#endif\x0ainfo.diffuse*=info.clearCoat.w;\x0a#ifdef\x20SPECULARTERM\x0ainfo.specular*=info.clearCoat.w;\x0a#endif\x0a#ifdef\x20SHEEN\x0ainfo.sheen*=info.clearCoat.w;\x0a#endif\x0a#endif\x0a#else\x0a#ifdef\x20SPOTLIGHT{X}\x0ainfo=computeSpotLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDirection,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightDiffuse.a,glossiness);\x0a#elif\x20defined(HEMILIGHT{X})\x0ainfo=computeHemisphericLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightGround,glossiness);\x0a#elif\x20defined(POINTLIGHT{X})\x20||\x20defined(DIRLIGHT{X})\x0ainfo=computeLighting(viewDirectionW,normalW,light{X}.vLightData,light{X}.vLightDiffuse.rgb,light{X}.vLightSpecular.rgb,light{X}.vLightDiffuse.a,glossiness);\x0a#endif\x0a#endif\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0ainfo.diffuse*=computeProjectionTextureDiffuseLighting(projectionLightSampler{X},textureProjectionMatrix{X});\x0a#endif\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0afor\x20(int\x20i=0;\x20i<SHADOWCSMNUM_CASCADES{X};\x20i++)\x20\x0a{\x0a#ifdef\x20SHADOWCSM_RIGHTHANDED{X}\x0adiff{X}=viewFrustumZ{X}[i]+vPositionFromCamera{X}.z;\x0a#else\x0adiff{X}=viewFrustumZ{X}[i]-vPositionFromCamera{X}.z;\x0a#endif\x0aif\x20(diff{X}>=0.)\x20{\x0aindex{X}=i;\x0abreak;\x0a}\x0a}\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aif\x20(index{X}>=0)\x0a#endif\x0a{\x0a#if\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#else\x0ashadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#endif\x0a#else\x0ashadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0ashadowDebug{X}=vec3(shadow)*vCascadeColorsMultiplier{X}[index{X}];\x0a#endif\x0a#ifndef\x20SHADOWCSMNOBLEND{X}\x0afloat\x20frustumLength=frustumLengths{X}[index{X}];\x0afloat\x20diffRatio=clamp(diff{X}/frustumLength,0.,1.)*cascadeBlendFactor{X};\x0aif\x20(index{X}<(SHADOWCSMNUM_CASCADES{X}-1)\x20&&\x20diffRatio<1.)\x0a{\x0aindex{X}+=1;\x0afloat\x20nextShadow=0.;\x0a#if\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0anextShadow=computeShadowWithCSMPCF1(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0anextShadow=computeShadowWithCSMPCF3(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0anextShadow=computeShadowWithCSMPCF5(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0anextShadow=computeShadowWithCSMPCSS16(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0anextShadow=computeShadowWithCSMPCSS32(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#else\x0anextShadow=computeShadowWithCSMPCSS64(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w,lightSizeUVCorrection{X}[index{X}],depthCorrection{X}[index{X}],penumbraDarkness{X});\x0a#endif\x0a#else\x0anextShadow=computeShadowCSM(float(index{X}),vPositionFromLight{X}[index{X}],vDepthMetric{X}[index{X}],shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0ashadow=mix(nextShadow,shadow,diffRatio);\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0ashadowDebug{X}=mix(vec3(nextShadow)*vCascadeColorsMultiplier{X}[index{X}],shadowDebug{X},diffRatio);\x0a#endif\x0a}\x0a#endif\x0a}\x0a#elif\x20defined(SHADOWCLOSEESM{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithCloseESMCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithCloseESM(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWESM{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithESMCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithESM(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.z,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPOISSON{X})\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowWithPoissonSamplingCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.depthValues);\x0a#else\x0ashadow=computeShadowWithPoissonSampling(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCF{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithPCF1(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithPCF3(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithPCF5(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.yz,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#elif\x20defined(SHADOWPCSS{X})\x0a#if\x20defined(SHADOWLOWQUALITY{X})\x0ashadow=computeShadowWithPCSS16(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#elif\x20defined(SHADOWMEDIUMQUALITY{X})\x0ashadow=computeShadowWithPCSS32(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#else\x0ashadow=computeShadowWithPCSS64(vPositionFromLight{X},vDepthMetric{X},depthSampler{X},shadowSampler{X},light{X}.shadowsInfo.y,light{X}.shadowsInfo.z,light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#else\x0a#if\x20defined(SHADOWCUBE{X})\x0ashadow=computeShadowCube(light{X}.vLightData.xyz,shadowSampler{X},light{X}.shadowsInfo.x,light{X}.depthValues);\x0a#else\x0ashadow=computeShadow(vPositionFromLight{X},vDepthMetric{X},shadowSampler{X},light{X}.shadowsInfo.x,light{X}.shadowsInfo.w);\x0a#endif\x0a#endif\x0a#ifdef\x20SHADOWONLY\x0a#ifndef\x20SHADOWINUSE\x0a#define\x20SHADOWINUSE\x0a#endif\x0aglobalShadow+=shadow;\x0ashadowLightCount+=1.0;\x0a#endif\x0a#else\x0ashadow=1.;\x0a#endif\x0a#ifndef\x20SHADOWONLY\x0a#ifdef\x20CUSTOMUSERLIGHTING\x0adiffuseBase+=computeCustomDiffuseLighting(info,diffuseBase,shadow);\x0a#ifdef\x20SPECULARTERM\x0aspecularBase+=computeCustomSpecularLighting(info,specularBase,shadow);\x0a#endif\x0a#elif\x20defined(LIGHTMAP)\x20&&\x20defined(LIGHTMAPEXCLUDED{X})\x0adiffuseBase+=lightmapColor.rgb*shadow;\x0a#ifdef\x20SPECULARTERM\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0aspecularBase+=info.specular*shadow*lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0aclearCoatBase+=info.clearCoat.rgb*shadow*lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0a#ifndef\x20LIGHTMAPNOSPECULAR{X}\x0asheenBase+=info.sheen.rgb*shadow;\x0a#endif\x0a#endif\x0a#else\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0adiffuseBase+=info.diffuse*shadowDebug{X};\x0a#else\x20\x0adiffuseBase+=info.diffuse*shadow;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0aspecularBase+=info.specular*shadow;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aclearCoatBase+=info.clearCoat.rgb*shadow;\x0a#endif\x0a#ifdef\x20SHEEN\x0asheenBase+=info.sheen.rgb*shadow;\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a','float\x20computeDistanceLightFalloff_Standard(vec3\x20lightOffset,float\x20range)\x0a{\x0areturn\x20max(0.,1.0-length(lightOffset)/range);\x0a}\x0afloat\x20computeDistanceLightFalloff_Physical(float\x20lightDistanceSquared)\x0a{\x0areturn\x201.0/maxEps(lightDistanceSquared);\x0a}\x0afloat\x20computeDistanceLightFalloff_GLTF(float\x20lightDistanceSquared,float\x20inverseSquaredRange)\x0a{\x0afloat\x20lightDistanceFalloff=1.0/maxEps(lightDistanceSquared);\x0afloat\x20factor=lightDistanceSquared*inverseSquaredRange;\x0afloat\x20attenuation=saturate(1.0-factor*factor);\x0aattenuation*=attenuation;\x0alightDistanceFalloff*=attenuation;\x0areturn\x20lightDistanceFalloff;\x0a}\x0afloat\x20computeDistanceLightFalloff(vec3\x20lightOffset,float\x20lightDistanceSquared,float\x20range,float\x20inverseSquaredRange)\x0a{\x0a#ifdef\x20USEPHYSICALLIGHTFALLOFF\x0areturn\x20computeDistanceLightFalloff_Physical(lightDistanceSquared);\x0a#elif\x20defined(USEGLTFLIGHTFALLOFF)\x0areturn\x20computeDistanceLightFalloff_GLTF(lightDistanceSquared,inverseSquaredRange);\x0a#else\x0areturn\x20computeDistanceLightFalloff_Standard(lightOffset,range);\x0a#endif\x0a}\x0afloat\x20computeDirectionalLightFalloff_Standard(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle,float\x20exponent)\x0a{\x0afloat\x20falloff=0.0;\x0afloat\x20cosAngle=maxEps(dot(-lightDirection,directionToLightCenterW));\x0aif\x20(cosAngle>=cosHalfAngle)\x0a{\x0afalloff=max(0.,pow(cosAngle,exponent));\x0a}\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff_Physical(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle)\x0a{\x0aconst\x20float\x20kMinusLog2ConeAngleIntensityRatio=6.64385618977;\x20\x0afloat\x20concentrationKappa=kMinusLog2ConeAngleIntensityRatio/(1.0-cosHalfAngle);\x0avec4\x20lightDirectionSpreadSG=vec4(-lightDirection*concentrationKappa,-concentrationKappa);\x0afloat\x20falloff=exp2(dot(vec4(directionToLightCenterW,1.0),lightDirectionSpreadSG));\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff_GLTF(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20lightAngleScale,float\x20lightAngleOffset)\x0a{\x0afloat\x20cd=dot(-lightDirection,directionToLightCenterW);\x0afloat\x20falloff=saturate(cd*lightAngleScale+lightAngleOffset);\x0afalloff*=falloff;\x0areturn\x20falloff;\x0a}\x0afloat\x20computeDirectionalLightFalloff(vec3\x20lightDirection,vec3\x20directionToLightCenterW,float\x20cosHalfAngle,float\x20exponent,float\x20lightAngleScale,float\x20lightAngleOffset)\x0a{\x0a#ifdef\x20USEPHYSICALLIGHTFALLOFF\x0areturn\x20computeDirectionalLightFalloff_Physical(lightDirection,directionToLightCenterW,cosHalfAngle);\x0a#elif\x20defined(USEGLTFLIGHTFALLOFF)\x0areturn\x20computeDirectionalLightFalloff_GLTF(lightDirection,directionToLightCenterW,lightAngleScale,lightAngleOffset);\x0a#else\x0areturn\x20computeDirectionalLightFalloff_Standard(lightDirection,directionToLightCenterW,cosHalfAngle,exponent);\x0a#endif\x0a}','disableVertexArrayObjects','PREPASS_DEPTH_TEXTURE_TYPE','_getComponent','_onBaseAnimationEnd','markAsFresnelDirty','_opStencilDepthPass','createQuery','textureFloat','createRenderTargetCubeTexture','_buffer','GetNumChannelsFromWebGPUTextureFormat','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20colorDepth=vec4(0.0);\x0afor\x20(int\x20x=-OFFSET;\x20x<=OFFSET;\x20x++)\x0afor\x20(int\x20y=-OFFSET;\x20y<=OFFSET;\x20y++)\x0acolorDepth+=texture2D(textureSampler,vUV+vec2(x,y)/screenSize);\x0agl_FragColor=(colorDepth/float((OFFSET*2+1)*(OFFSET*2+1)));\x0a}','createVertexBuffer','TEXTUREFORMAT_RGBA_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU\x20when\x20type\x20is\x20TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV','indexCount','uv5','precision\x20highp\x20float;\x0a#include<__decl__backgroundVertex>\x0a#include<helperFunctions>\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20MAINUV1\x0avarying\x20vec2\x20vMainUV1;\x0a#endif\x0a#ifdef\x20MAINUV2\x0avarying\x20vec2\x20vMainUV2;\x0a#endif\x0a#if\x20defined(DIFFUSE)\x20&&\x20DIFFUSEDIRECTUV==0\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=position;\x0a#endif\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*finalWorld*vec4(position,1.0);\x0a}\x0a#else\x0agl_Position=viewProjection*finalWorld*vec4(position,1.0);\x0a#endif\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normal);\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(position,0.0)));\x0a#ifdef\x20EQUIRECTANGULAR_RELFECTION_FOV\x0amat3\x20screenToWorld=inverseMat3(mat3(finalWorld*viewProjection));\x0avec3\x20segment=mix(vDirectionW,screenToWorld*vec3(0.0,0.0,1.0),abs(fFovMultiplier-1.0));\x0aif\x20(fFovMultiplier<=1.0)\x20{\x0avDirectionW=normalize(segment);\x0a}\x20else\x20{\x0avDirectionW=normalize(vDirectionW+(vDirectionW-segment));\x0a}\x0a#endif\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uv;\x0a#endif\x0a#ifdef\x20MAINUV2\x0avMainUV2=uv2;\x0a#endif\x0a#if\x20defined(DIFFUSE)\x20&&\x20DIFFUSEDIRECTUV==0\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#ifdef\x20VERTEXCOLOR\x0avColor=color;\x0a#endif\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','executeBundles','textureFloatLinearFiltering','textureAdditionalUsages','fovMultiplier','_OperatorPriority','encode','_generateStencilBuffer','waterPixelShader','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20delta;\x0avarying\x20vec2\x20sampleCenter;\x0a#ifdef\x20DOF\x0auniform\x20sampler2D\x20circleOfConfusionSampler;\x0afloat\x20sampleCoC(in\x20vec2\x20offset)\x20{\x0afloat\x20coc=texture2D(circleOfConfusionSampler,offset).r;\x0areturn\x20coc;\x20\x0a}\x0a#endif\x0a#include<kernelBlurVaryingDeclaration>[0..varyingCount]\x0a#ifdef\x20PACKEDFLOAT\x0a#include<packingFunctions>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20computedWeight=0.0;\x0a#ifdef\x20PACKEDFLOAT\x0afloat\x20blend=0.;\x0a#else\x0avec4\x20blend=vec4(0.);\x0a#endif\x0a#ifdef\x20DOF\x0afloat\x20sumOfWeights=CENTER_WEIGHT;\x20\x0afloat\x20factor=0.0;\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCenter))*CENTER_WEIGHT;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCenter)*CENTER_WEIGHT;\x0a#endif\x0a#endif\x0a#include<kernelBlurFragment>[0..varyingCount]\x0a#include<kernelBlurFragment2>[0..depCount]\x0a#ifdef\x20PACKEDFLOAT\x0agl_FragColor=pack(blend);\x0a#else\x0agl_FragColor=blend;\x0a#endif\x0a#ifdef\x20DOF\x0agl_FragColor/=sumOfWeights;\x0a#endif\x0a}','_IsComparisonSamplerByWebGPUSamplerType','updateCubeTextures','addUniform','useSRGBBuffers','matricesWeights','NAME_SUBSURFACE','convertSpirV2WGSL','AddSamplers','renderPass','bool\x20testLightingForSSS(float\x20diffusionProfile)\x0a{\x0areturn\x20diffusionProfile<1.;\x0a}','fogStart','ssDiffusionD','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20vec2\x20sharpnessAmounts;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20onePixel=vec2(1.0,1.0)/screenSize;\x0avec4\x20color=texture2D(textureSampler,vUV);\x0avec4\x20edgeDetection=texture2D(textureSampler,vUV+onePixel*vec2(0,-1))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,0))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,0))\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,1))\x20-\x0acolor*4.0;\x0agl_FragColor=max(vec4(color.rgb*sharpnessAmounts.y,color.a)-(sharpnessAmounts.x*vec4(edgeDetection.rgb,0)),0.);\x0a}','CreateNew','focus','#ifdef\x20PREPASS_DEPTH\x0avViewPos=(view*worldPos).rgb;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20&&\x20defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*worldPos;\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0amat4\x20previousInfluence;\x0apreviousInfluence=mPreviousBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0apreviousInfluence+=mPreviousBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0apreviousInfluence+=mPreviousBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*previousInfluence*vec4(positionUpdated,1.0);\x0a#else\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#endif\x0a','onDeviceConnectedObservable','thickness','_areMiscDirty','TEXTURE_CUBE_MAP_NEGATIVE_X','_vertexSourceCode','_transformMatrixR','radius','getTextureMatrix','types','_data','_strided_arr','setBool','varying\x20vec2\x20vUV;\x0auniform\x20samplerCube\x20textureSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec2\x20uv=vUV*2.0-1.0;\x0a#ifdef\x20POSITIVEX\x0agl_FragColor=textureCube(textureSampler,vec3(1.001,uv.y,uv.x));\x0a#endif\x0a#ifdef\x20NEGATIVEX\x0agl_FragColor=textureCube(textureSampler,vec3(-1.001,uv.y,uv.x));\x0a#endif\x0a#ifdef\x20POSITIVEY\x0agl_FragColor=textureCube(textureSampler,vec3(uv.y,1.001,uv.x));\x0a#endif\x0a#ifdef\x20NEGATIVEY\x0agl_FragColor=textureCube(textureSampler,vec3(uv.y,-1.001,uv.x));\x0a#endif\x0a#ifdef\x20POSITIVEZ\x0agl_FragColor=textureCube(textureSampler,vec3(uv,1.001));\x0a#endif\x0a#ifdef\x20NEGATIVEZ\x0agl_FragColor=textureCube(textureSampler,vec3(uv,-1.001));\x0a#endif\x0a}','proceduralVertexShader','IntArray?','CONSTANT_ALPHA','ASTC8x6UnormSRGB','forceSphericalPolynomialsRecompute','record','TEXTUREFORMAT_COMPRESSED_RGB_BPTC_SIGNED_FLOAT','#if\x20defined(BUMP)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_SAMPLERNAME_,bump)\x0a#endif\x0a#if\x20defined(DETAIL)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_SAMPLERNAME_,detail)\x0a#endif\x0a#if\x20defined(BUMP)\x20&&\x20defined(PARALLAX)\x0aconst\x20float\x20minSamples=4.;\x0aconst\x20float\x20maxSamples=15.;\x0aconst\x20int\x20iMaxSamples=15;\x0avec2\x20parallaxOcclusion(vec3\x20vViewDirCoT,vec3\x20vNormalCoT,vec2\x20texCoord,float\x20parallaxScale)\x20{\x0afloat\x20parallaxLimit=length(vViewDirCoT.xy)/vViewDirCoT.z;\x0aparallaxLimit*=parallaxScale;\x0avec2\x20vOffsetDir=normalize(vViewDirCoT.xy);\x0avec2\x20vMaxOffset=vOffsetDir*parallaxLimit;\x0afloat\x20numSamples=maxSamples+(dot(vViewDirCoT,vNormalCoT)*(minSamples-maxSamples));\x0afloat\x20stepSize=1.0/numSamples;\x0afloat\x20currRayHeight=1.0;\x0avec2\x20vCurrOffset=vec2(0,0);\x0avec2\x20vLastOffset=vec2(0,0);\x0afloat\x20lastSampledHeight=1.0;\x0afloat\x20currSampledHeight=1.0;\x0abool\x20keepWorking=true;\x0afor\x20(int\x20i=0;\x20i<iMaxSamples;\x20i++)\x0a{\x0acurrSampledHeight=texture2D(bumpSampler,texCoord+vCurrOffset).w;\x0aif\x20(!keepWorking)\x0a{\x0a}\x0aelse\x20if\x20(currSampledHeight>currRayHeight)\x0a{\x0afloat\x20delta1=currSampledHeight-currRayHeight;\x0afloat\x20delta2=(currRayHeight+stepSize)-lastSampledHeight;\x0afloat\x20ratio=delta1/(delta1+delta2);\x0avCurrOffset=(ratio)*\x20vLastOffset+(1.0-ratio)*vCurrOffset;\x0akeepWorking=false;\x0a}\x0aelse\x0a{\x0acurrRayHeight-=stepSize;\x0avLastOffset=vCurrOffset;\x0avCurrOffset+=stepSize*vMaxOffset;\x0alastSampledHeight=currSampledHeight;\x0a}\x0a}\x0areturn\x20vCurrOffset;\x0a}\x0avec2\x20parallaxOffset(vec3\x20viewDir,float\x20heightScale)\x0a{\x0afloat\x20height=texture2D(bumpSampler,vBumpUV).w;\x0avec2\x20texCoordOffset=heightScale*viewDir.xy*height;\x0areturn\x20-texCoordOffset;\x0a}\x0a#endif\x0a','IsExternalTexture','_growArray','_connectVREvents','USE_LOCAL_REFLECTIONMAP_CUBIC','true','\x20=\x20computeCubicLocalCoords(','_readTexturePixelsSync','_WEBGL','ONE','createShaderModule','layerType','handleVertexSide','_alphaMode','_useStandardBlur','previousMatrix','Texture_','simpleVertexShader','markAsMiscDirty','ALPHA_MULTIPLY','#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0avec3\x20specularEnvironmentReflectance=getReflectanceFromBRDFLookup(clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,environmentBrdf);\x0a#ifdef\x20RADIANCEOCCLUSION\x0aspecularEnvironmentReflectance*=seo;\x0a#endif\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0aspecularEnvironmentReflectance*=eho;\x0a#endif\x0a#endif\x0a#endif\x0a#else\x0avec3\x20specularEnvironmentReflectance=getReflectanceFromAnalyticalBRDFLookup_Jones(NdotV,clearcoatOut.specularEnvironmentR0,specularEnvironmentR90,sqrt(microSurface));\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aspecularEnvironmentReflectance*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0aspecularEnvironmentReflectance*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a','_deferredReleaseTextures','buffer','generateDepthBuffer','_currentItemIsBundle','status','_dummyFramebuffer','clone','destroyDeferredTextures','textureProcessor','ALPHA_INTERPOLATE','glowBlurPostProcessPixelShader','_emitCodeFromInclude','indexOfRefraction','dataStoreObject','GetSamplerHashCode','getReflectionTextureMatrix','_frameLastBuffer','enableGPUDebugMarkers','opDepthFail','//Constants\x0d\x0a','pointerMovePredicate','pointerdown','depthBoxBlurPixelShader','_resetPostProcessChain','autoPlay','viewportSize','_updatePointerPosition','updateMultipleRenderTargetTextureSampleCount','Array?','multiplyToRef','NodeMaterial\x20does\x20not\x20have\x20a\x20vertex\x20output.\x20You\x20need\x20to\x20at\x20least\x20add\x20a\x20block\x20that\x20generates\x20a\x20glPosition\x20value.\x0d\x0a','textureInfos','FIXED_EQUIRECTANGULAR_MIRRORED_MODE','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20passSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(passSampler,vUV);\x0a}','createRawTexture','ASTC8x8UnormSRGB','MATERIAL_LineListDrawMode','setAlphaBlendEnabled','RG32Sint','Touch','verticesCount','_emitFloat','subSurfaceScatteringFunctions','Float3','repeatKey','invertV','\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20@size(16)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20el:\x20','attribute','_OnGenerateOnlyFragmentCodeChanged','_meshUnderPointerId','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSEX\x0avarying\x20vec2\x20vTextureUVX;\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avarying\x20vec2\x20vTextureUVY;\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avarying\x20vec2\x20vTextureUVZ;\x0a#endif\x0auniform\x20float\x20tileSize;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20mat3\x20tangentSpace;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20DIFFUSEX\x0avTextureUVX=worldPos.zy/tileSize;\x0a#endif\x0a#ifdef\x20DIFFUSEY\x0avTextureUVY=worldPos.xz/tileSize;\x0a#endif\x0a#ifdef\x20DIFFUSEZ\x0avTextureUVZ=worldPos.xy/tileSize;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20xtan=vec3(0,0,1);\x0avec3\x20xbin=vec3(0,1,0);\x0avec3\x20ytan=vec3(1,0,0);\x0avec3\x20ybin=vec3(0,0,1);\x0avec3\x20ztan=vec3(1,0,0);\x0avec3\x20zbin=vec3(0,1,0);\x0avec3\x20normalizedNormal=normalize(normal);\x0anormalizedNormal*=normalizedNormal;\x0avec3\x20worldBinormal=normalize(xbin*normalizedNormal.x+ybin*normalizedNormal.y+zbin*normalizedNormal.z);\x0avec3\x20worldTangent=normalize(xtan*normalizedNormal.x+ytan*normalizedNormal.y+ztan*normalizedNormal.z);\x0aworldTangent=(world*vec4(worldTangent,0.0)).xyz;\x0aworldBinormal=(world*vec4(worldBinormal,0.0)).xyz;\x0avec3\x20worldNormal=(world*vec4(normalize(normal),0.0)).xyz;\x0atangentSpace[0]=worldTangent;\x0atangentSpace[1]=worldBinormal;\x0atangentSpace[2]=worldNormal;\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','shadowMapFragmentExtraDeclaration','autoClear','_timestampQuery','simulatePointerUp','POLYGON_OFFSET_FILL','_compression','modelDataLength','_textureArrayProcessing','xrNativeFeatureName','_previousButtonPressed','_videoPipelines','BACKSIDE','ASTC10x10UnormSRGB','getInputElementClientRect','message','ETC2RGBA8UnormSRGB','_pendingDebugCommands','LIGHTMAP_SPECULAR','onApplyObservable','projectToRef','maxRenderTriangleCount','_lodGenerationScale','setUIntArray4','UNIFORM_BUFFER','_codeVariableName','defined(','DoubleClickDelay','RenderAttachment','isParallelCompiled','updateInt2','vOffset','setInt','abs','invertY','copyToArray','ui8d','skipOnKeyboardObservable','DEPTH_ATTACHMENT','charAt','COLOR_ATTACHMENT0','finalize','clear','visibility','endsWith','updateCount','uOffset','vec3\x20diffuseBase=vec3(0.,0.,0.);\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec3\x20clearCoatBase=vec3(0.,0.,0.);\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20sheenBase=vec3(0.,0.,0.);\x0a#endif\x0apreLightingInfo\x20preInfo;\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x20\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOAT_TINT)\x0avec3\x20absorption=vec3(0.);\x0a#endif\x0a','_zOffset','func','postProcessManager','fluidRenderingParticleDiffusePixelShader','_getEngine','useMultiview','_effect','_processPointerMove','_TextureLoaders','ColorInstanceKind','unmap','depthSampler','Vector4','msaaTexture','InvertYPremultiplyAlphaWithOfst','RGBA16Uint','readPixels','uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20gain;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0avarying\x20vec2\x20vUV;\x0avec4\x20highlightColor(vec4\x20color)\x20{\x0avec4\x20highlight=color;\x0afloat\x20luminance=dot(highlight.rgb,vec3(0.2125,0.7154,0.0721));\x0afloat\x20lum_threshold;\x0aif\x20(threshold>1.0)\x20{\x20lum_threshold=0.94+0.01*threshold;\x20}\x0aelse\x20{\x20lum_threshold=0.5+0.44*threshold;\x20}\x0aluminance=clamp((luminance-lum_threshold)*(1.0/(1.0-lum_threshold)),0.0,1.0);\x0ahighlight*=luminance*gain;\x0ahighlight.a=1.0;\x0areturn\x20highlight;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20original=texture2D(textureSampler,vUV);\x0aif\x20(gain==-1.0)\x20{\x0agl_FragColor=vec4(0.0,0.0,0.0,1.0);\x0areturn;\x0a}\x0afloat\x20w=2.0/screen_width;\x0afloat\x20h=2.0/screen_height;\x0afloat\x20weight=1.0;\x0avec4\x20blurred=vec4(0.0,0.0,0.0,0.0);\x0a#ifdef\x20PENTAGON\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.84*w,0.43*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.48*w,-1.29*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.61*w,1.51*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.55*w,-0.74*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.71*w,-0.52*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.94*w,1.59*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.40*w,-1.87*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.62*w,1.16*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.09*w,0.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.46*w,-1.71*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.08*w,2.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.85*w,-1.89*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.89*w,0.16*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.29*w,1.88*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.40*w,-2.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.54*w,2.26*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.60*w,-0.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.31*w,-1.30*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.83*w,2.53*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.12*w,-2.48*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.60*w,1.11*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.82*w,0.99*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.50*w,-2.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.85*w,3.33*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.94*w,-1.92*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.27*w,-0.53*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.95*w,2.48*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.23*w,-3.04*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.17*w,2.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.97*w,-0.04*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.25*w,-2.00*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.31*w,3.08*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.94*w,-2.59*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.37*w,0.64*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.13*w,1.93*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.03*w,-3.65*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.60*w,3.17*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.14*w,-1.19*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.00*w,-1.19*h)));\x0a#else\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.85*w,0.36*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.52*w,-1.14*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.46*w,1.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.46*w,-0.83*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.79*w,-0.42*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.11*w,1.62*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.29*w,-2.07*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.69*w,1.39*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.28*w,0.12*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.65*w,-1.69*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.08*w,2.44*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.63*w,-1.90*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.55*w,0.31*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.13*w,1.52*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.56*w,-2.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.38*w,2.34*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.64*w,-0.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.53*w,-1.21*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.06*w,2.63*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.00*w,-2.69*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.59*w,1.32*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.82*w,0.78*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.57*w,-2.50*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(0.54*w,2.93*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.39*w,-1.81*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.01*w,-0.28*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.04*w,2.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.02*w,-3.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.09*w,2.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-3.07*w,-0.25*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.44*w,-1.90*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-0.52*w,3.05*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-1.68*w,-2.61*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(3.01*w,0.79*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.76*w,1.46*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.05*w,-2.94*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(1.21*w,2.88*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(-2.84*w,-1.30*h)));\x0ablurred+=highlightColor(texture2D(textureSampler,vUV+vec2(2.98*w,-0.96*h)));\x0a#endif\x0ablurred/=39.0;\x0agl_FragColor=blurred;\x0a}','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20delta;\x0avarying\x20vec2\x20sampleCenter;\x0a#include<kernelBlurVaryingDeclaration>[0..varyingCount]\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0asampleCenter=(position*madd+madd);\x0a#include<kernelBlurVertex>[0..varyingCount]\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_modeSaved','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20highlightsSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20grainSampler;\x0auniform\x20float\x20grain_amount;\x0auniform\x20bool\x20blur_noise;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0auniform\x20float\x20distortion;\x0auniform\x20bool\x20dof_enabled;\x0auniform\x20float\x20screen_distance;\x20\x0auniform\x20float\x20aperture;\x0auniform\x20float\x20darken;\x0auniform\x20float\x20edge_blur;\x0auniform\x20bool\x20highlights;\x0auniform\x20float\x20near;\x0auniform\x20float\x20far;\x0avarying\x20vec2\x20vUV;\x0a#define\x20PI\x203.14159265\x0a#define\x20TWOPI\x206.28318530\x0a#define\x20inverse_focal_length\x200.1\x20\x0avec2\x20centered_screen_pos;\x0avec2\x20distorted_coords;\x0afloat\x20radius2;\x0afloat\x20radius;\x0avec2\x20rand(vec2\x20co)\x0a{\x0afloat\x20noise1=(fract(sin(dot(co,vec2(12.9898,78.233)))*43758.5453));\x0afloat\x20noise2=(fract(sin(dot(co,vec2(12.9898,78.233)*2.0))*43758.5453));\x0areturn\x20clamp(vec2(noise1,noise2),0.0,1.0);\x0a}\x0avec2\x20getDistortedCoords(vec2\x20coords)\x20{\x0aif\x20(distortion==0.0)\x20{\x20return\x20coords;\x20}\x0avec2\x20direction=1.0*normalize(centered_screen_pos);\x0avec2\x20dist_coords=vec2(0.5,0.5);\x0adist_coords.x=0.5+direction.x*radius2*1.0;\x0adist_coords.y=0.5+direction.y*radius2*1.0;\x0afloat\x20dist_amount=clamp(distortion*0.23,0.0,1.0);\x0adist_coords=mix(coords,dist_coords,dist_amount);\x0areturn\x20dist_coords;\x0a}\x0afloat\x20sampleScreen(inout\x20vec4\x20color,in\x20vec2\x20offset,in\x20float\x20weight)\x20{\x0avec2\x20coords=distorted_coords;\x0afloat\x20angle=rand(coords*100.0).x*TWOPI;\x0acoords+=vec2(offset.x*cos(angle)-offset.y*sin(angle),offset.x*sin(angle)+offset.y*cos(angle));\x0acolor+=texture2D(textureSampler,coords)*weight;\x0areturn\x20weight;\x0a}\x0afloat\x20getBlurLevel(float\x20size)\x20{\x0areturn\x20min(3.0,ceil(size/1.0));\x0a}\x0avec4\x20getBlurColor(float\x20size)\x20{\x0avec4\x20col=texture2D(textureSampler,distorted_coords);\x0afloat\x20blur_level=getBlurLevel(size);\x0afloat\x20w=(size/screen_width);\x0afloat\x20h=(size/screen_height);\x0afloat\x20total_weight=1.0;\x0avec2\x20sample_coords;\x0atotal_weight+=sampleScreen(col,vec2(-0.50*w,0.24*h),0.93);\x0atotal_weight+=sampleScreen(col,vec2(0.30*w,-0.75*h),0.90);\x0atotal_weight+=sampleScreen(col,vec2(0.36*w,0.96*h),0.87);\x0atotal_weight+=sampleScreen(col,vec2(-1.08*w,-0.55*h),0.85);\x0atotal_weight+=sampleScreen(col,vec2(1.33*w,-0.37*h),0.83);\x0atotal_weight+=sampleScreen(col,vec2(-0.82*w,1.31*h),0.80);\x0atotal_weight+=sampleScreen(col,vec2(-0.31*w,-1.67*h),0.78);\x0atotal_weight+=sampleScreen(col,vec2(1.47*w,1.11*h),0.76);\x0atotal_weight+=sampleScreen(col,vec2(-1.97*w,0.19*h),0.74);\x0atotal_weight+=sampleScreen(col,vec2(1.42*w,-1.57*h),0.72);\x0aif\x20(blur_level>1.0)\x20{\x0atotal_weight+=sampleScreen(col,vec2(0.01*w,2.25*h),0.70);\x0atotal_weight+=sampleScreen(col,vec2(-1.62*w,-1.74*h),0.67);\x0atotal_weight+=sampleScreen(col,vec2(2.49*w,0.20*h),0.65);\x0atotal_weight+=sampleScreen(col,vec2(-2.07*w,1.61*h),0.63);\x0atotal_weight+=sampleScreen(col,vec2(0.46*w,-2.70*h),0.61);\x0atotal_weight+=sampleScreen(col,vec2(1.55*w,2.40*h),0.59);\x0atotal_weight+=sampleScreen(col,vec2(-2.88*w,-0.75*h),0.56);\x0atotal_weight+=sampleScreen(col,vec2(2.73*w,-1.44*h),0.54);\x0atotal_weight+=sampleScreen(col,vec2(-1.08*w,3.02*h),0.52);\x0atotal_weight+=sampleScreen(col,vec2(-1.28*w,-3.05*h),0.49);\x0a}\x0aif\x20(blur_level>2.0)\x20{\x0atotal_weight+=sampleScreen(col,vec2(3.11*w,1.43*h),0.46);\x0atotal_weight+=sampleScreen(col,vec2(-3.36*w,1.08*h),0.44);\x0atotal_weight+=sampleScreen(col,vec2(1.80*w,-3.16*h),0.41);\x0atotal_weight+=sampleScreen(col,vec2(0.83*w,3.65*h),0.38);\x0atotal_weight+=sampleScreen(col,vec2(-3.16*w,-2.19*h),0.34);\x0atotal_weight+=sampleScreen(col,vec2(3.92*w,-0.53*h),0.31);\x0atotal_weight+=sampleScreen(col,vec2(-2.59*w,3.12*h),0.26);\x0atotal_weight+=sampleScreen(col,vec2(-0.20*w,-4.15*h),0.22);\x0atotal_weight+=sampleScreen(col,vec2(3.02*w,3.00*h),0.15);\x0a}\x0acol/=total_weight;\x20\x0aif\x20(darken>0.0)\x20{\x0acol.rgb*=clamp(0.3,1.0,1.05-size*0.5*darken);\x0a}\x0areturn\x20col;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0acentered_screen_pos=vec2(vUV.x-0.5,vUV.y-0.5);\x0aradius2=centered_screen_pos.x*centered_screen_pos.x+centered_screen_pos.y*centered_screen_pos.y;\x0aradius=sqrt(radius2);\x0adistorted_coords=getDistortedCoords(vUV);\x20\x0avec2\x20texels_coords=vec2(vUV.x*screen_width,vUV.y*screen_height);\x20\x0afloat\x20depth=texture2D(depthSampler,distorted_coords).r;\x20\x0afloat\x20distance=near+(far-near)*depth;\x20\x0avec4\x20color=texture2D(textureSampler,vUV);\x20\x0afloat\x20coc=abs(aperture*(screen_distance*(inverse_focal_length-1.0/distance)-1.0));\x0aif\x20(dof_enabled==false\x20||\x20coc<0.07)\x20{\x20coc=0.0;\x20}\x0afloat\x20edge_blur_amount=0.0;\x0aif\x20(edge_blur>0.0)\x20{\x0aedge_blur_amount=clamp((radius*2.0-1.0+0.15*edge_blur)*1.5,0.0,1.0)*1.3;\x0a}\x0afloat\x20blur_amount=max(edge_blur_amount,coc);\x0aif\x20(blur_amount==0.0)\x20{\x0agl_FragColor=texture2D(textureSampler,distorted_coords);\x0a}\x0aelse\x20{\x0agl_FragColor=getBlurColor(blur_amount*1.7);\x0aif\x20(highlights)\x20{\x0agl_FragColor.rgb+=clamp(coc,0.0,1.0)*texture2D(highlightsSampler,distorted_coords).rgb;\x0a}\x0aif\x20(blur_noise)\x20{\x0avec2\x20noise=rand(distorted_coords)*0.01*blur_amount;\x0avec2\x20blurred_coord=vec2(distorted_coords.x+noise.x,distorted_coords.y+noise.y);\x0agl_FragColor=0.04*texture2D(textureSampler,blurred_coord)+0.96*gl_FragColor;\x0a}\x0a}\x0aif\x20(grain_amount>0.0)\x20{\x0avec4\x20grain_color=texture2D(grainSampler,texels_coords*0.003);\x0agl_FragColor.rgb+=(-0.5+grain_color.rgb)*0.30*grain_amount;\x0a}\x0a}\x0a','particles','DEPTH_COMPONENT','pbrFragmentDeclaration','onAfterPhysicsObservable','\x20=\x20texture2DLodEXT(','bindAttachments','maxFilterSize','_ubDontInvertY','@location(','\x20\x20\x20\x20','meshCount','clipPlane5','refractionPixelShader','isVRPresenting','_xOffset','toString','setTextureSampler','15IdUBLa','ignore','texturesRequired','RGBA32Sint','PointParticleEmitter','_depthStencilTexture','attach','detachControl','numDrawCalls','_availableIndices','pickId','setCompressedTextureExclusions','TEXTUREFORMAT_RG_INTEGER','precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;varying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0auniform\x20sampler2D\x20distortionSampler;uniform\x20sampler2D\x20opacitySampler;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDistortionCoords1;varying\x20vec2\x20vDistortionCoords2;varying\x20vec2\x20vDistortionCoords3;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0avec4\x20bx2(vec4\x20x)\x0a{return\x20vec4(2.0)*x-vec4(1.0);}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=vec4(1.,1.,1.,1.);float\x20alpha=1.0;\x0a#ifdef\x20DIFFUSE\x0aconst\x20float\x20distortionAmount0\x20=0.092;const\x20float\x20distortionAmount1\x20=0.092;const\x20float\x20distortionAmount2\x20=0.092;vec2\x20heightAttenuation=vec2(0.3,0.39);vec4\x20noise0=texture2D(distortionSampler,vDistortionCoords1);vec4\x20noise1=texture2D(distortionSampler,vDistortionCoords2);vec4\x20noise2=texture2D(distortionSampler,vDistortionCoords3);vec4\x20noiseSum=bx2(noise0)*distortionAmount0+bx2(noise1)*distortionAmount1+bx2(noise2)*distortionAmount2;vec4\x20perturbedBaseCoords=vec4(vDiffuseUV,0.0,1.0)+noiseSum*(vDiffuseUV.y*heightAttenuation.x+heightAttenuation.y);vec4\x20opacityColor=texture2D(opacitySampler,perturbedBaseCoords.xy);\x0a#ifdef\x20ALPHATEST\x0aif\x20(opacityColor.r<0.1)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor=texture2D(diffuseSampler,perturbedBaseCoords.xy)*2.0;baseColor*=opacityColor;baseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(1.0,1.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec4\x20color=vec4(baseColor.rgb,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','uniform\x20sampler2D\x20','.z;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20','EACRG11Snorm','DEPTH_COMPONENT16','width','_multiviewTexture','pick','group','TEXTUREFORMAT_DEPTH24_STENCIL8','#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#if\x20NUM_BONE_INFLUENCERS>0\x0avar\x20influence\x20:\x20mat4x4<f32>;\x0a#ifdef\x20BONETEXTURE\x0ainfluence=readMatrixFromRawSampler(boneSampler,matricesIndices[0])*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndices[1])*matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndices[2])*matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndices[3])*matricesWeights[3];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[0])*matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[1])*matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[2])*matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence=influence+readMatrixFromRawSampler(boneSampler,matricesIndicesExtra[3])*matricesWeightsExtra[3];\x0a#endif\x20\x0a#else\x20\x0ainfluence=uniforms.mBones[int(matricesIndices[0])]*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0ainfluence=influence+uniforms.mBones[int(matricesIndices[1])]*matricesWeights[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0ainfluence=influence+uniforms.mBones[int(matricesIndices[2])]*matricesWeights[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0ainfluence=influence+uniforms.mBones[int(matricesIndices[3])]*matricesWeights[3];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0ainfluence=influence+uniforms.mBones[int(matricesIndicesExtra[0])]*matricesWeightsExtra[0];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0ainfluence=influence+uniforms.mBones[int(matricesIndicesExtra[1])]*matricesWeightsExtra[1];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0ainfluence=influence+uniforms.mBones[int(matricesIndicesExtra[2])]*matricesWeightsExtra[2];\x0a#endif\x20\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0ainfluence=influence+uniforms.mBones[int(matricesIndicesExtra[3])]*matricesWeightsExtra[3];\x0a#endif\x20\x0a#endif\x0afinalWorld=finalWorld*influence;\x0a#endif\x0a#endif\x0a','ALPHA_COMBINE','createCubeTexture','UIntArray?','_attachCameras','strides','#if\x20!defined(UV{X})\x20&&\x20defined(MAINUV{X})\x0avec2\x20uv{X}=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV{X}\x0avMainUV{X}=uv{X};\x0a#endif\x0a','lightsFragmentFunctions','bindGroupLayouts','setAlphaEquationParameters','#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0aif\x20(false)\x20{}\x0a#endif\x0a#ifdef\x20CLIPPLANE\x0aelse\x20if\x20(fClipDistance>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0aelse\x20if\x20(fClipDistance2>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0aelse\x20if\x20(fClipDistance3>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0aelse\x20if\x20(fClipDistance4>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0aelse\x20if\x20(fClipDistance5>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0aelse\x20if\x20(fClipDistance6>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a','ASTC5x5Unorm','reduce','uniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20float\x20shadowLevel;\x0a#ifdef\x20DIFFUSE\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0auniform\x20float\x20fFovMultiplier;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a','apply','filterSize','Keyboard','Generate\x20only\x20fragment\x20code','varyingFragmentKeywordName','TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1\x20format\x20not\x20supported\x20in\x20WebGPU','_isDirty','LeftOvertUBOName','useEquirectangularFOV','uniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20circleOfConfusionSampler;\x0auniform\x20sampler2D\x20blurStep0;\x0a#if\x20BLUR_LEVEL>0\x0auniform\x20sampler2D\x20blurStep1;\x0a#endif\x0a#if\x20BLUR_LEVEL>1\x0auniform\x20sampler2D\x20blurStep2;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20coc=texture2D(circleOfConfusionSampler,vUV).r;\x0a#if\x20BLUR_LEVEL==0\x0avec4\x20original=texture2D(textureSampler,vUV);\x0avec4\x20blurred0=texture2D(blurStep0,vUV);\x0agl_FragColor=mix(original,blurred0,coc);\x0a#endif\x0a#if\x20BLUR_LEVEL==1\x0aif(coc<0.5){\x0avec4\x20original=texture2D(textureSampler,vUV);\x0avec4\x20blurred1=texture2D(blurStep1,vUV);\x0agl_FragColor=mix(original,blurred1,coc/0.5);\x0a}else{\x0avec4\x20blurred0=texture2D(blurStep0,vUV);\x0avec4\x20blurred1=texture2D(blurStep1,vUV);\x0agl_FragColor=mix(blurred1,blurred0,(coc-0.5)/0.5);\x0a}\x0a#endif\x0a#if\x20BLUR_LEVEL==2\x0aif(coc<0.33){\x0avec4\x20original=texture2D(textureSampler,vUV);\x0avec4\x20blurred2=texture2D(blurStep2,vUV);\x0agl_FragColor=mix(original,blurred2,coc/0.33);\x0a}else\x20if(coc<0.66){\x0avec4\x20blurred1=texture2D(blurStep1,vUV);\x0avec4\x20blurred2=texture2D(blurStep2,vUV);\x0agl_FragColor=mix(blurred2,blurred1,(coc-0.33)/0.33);\x0a}else{\x0avec4\x20blurred0=texture2D(blurStep0,vUV);\x0avec4\x20blurred1=texture2D(blurStep1,vUV);\x0agl_FragColor=mix(blurred1,blurred0,(coc-0.66)/0.34);\x0a}\x0a#endif\x0a}\x0a','_fixReusablePostProcess','ASTC12x12Unorm','AutoSamplerSuffix','E1d','TEXTURE_NEAREST_SAMPLINGMODE','Float','_bufferView','action','_ssDiffusionS','removeVaryings','13389509jmsRoO','_setReady','hasSpecificTrigger','##INJECTCODE##','vClipPlane4','createExternalTexture','mainUVVaryingDeclaration','_bundleList','_activeCamera','boundingBoxPosition','notifyObservers','waterVertexShader','_listLength','setStencilReadMask','byteOffset','TEXTURETYPE_UNSIGNED_SHORT_5_6_5\x20format\x20not\x20supported\x20in\x20WebGPU','_checkPrePointerObservable','colorVertexShader','R16Uint','_mode','World','vrdisplaypointerrestricted','_SceneComponentInitialization','_countIncrement','supportSpriteInstancing','setExternalTexture','getBuffer','defaultVertexDeclaration','setMatrices','colorAttachment','RegisteredExternalClasses','halfDomeMode','hasOwnProperty','_buildBlock','getRenderWidth','\x20=\x20textureCubeLodEXT(','directionW','thinInstanceGetWorldMatrices','REFLECTIONMAP_SKYBOX','_width','prePassRenderer','#ifdef\x20DEPTHPREPASS\x0agl_FragColor=vec4(0.,0.,0.,1.0);\x0areturn;\x0a#endif\x0a','storage','KEYUP','vClipPlane3','#ifdef\x20CLIPPLANE\x0auniform\x20vec4\x20vClipPlane;\x0aout\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vec4\x20vClipPlane2;\x0aout\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vec4\x20vClipPlane3;\x0aout\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vec4\x20vClipPlane4;\x0aout\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vec4\x20vClipPlane5;\x0aout\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vec4\x20vClipPlane6;\x0aout\x20float\x20fClipDistance6;\x0a#endif\x0a','getOrAddWithFactory','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20originalColor;\x0auniform\x20vec4\x20viewport;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20ssaoColor=texture2D(textureSampler,viewport.xy+vUV*viewport.zw);\x0avec4\x20sceneColor=texture2D(originalColor,vUV);\x0agl_FragColor=sceneColor*ssaoColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','REFLECTIONMAP_OPPOSITEZ','boundingVectors','_rigPostProcess','destroyDeferredBuffers','_unIndexed','canLoad','_blendEquationParameters','preventDefault','ONE_MINUS_SRC_ALPHA','TEXTURETYPE_UNSIGNED_INT_2_10_10_10_REV','itemLength','_mipmapGenRenderPassDescr','notConnectedNonOptionalInputs','_fragmentSourceCode','setUIntArray3','#version\x20300\x20es','offsets','observers','ASTC5x5UnormSRGB','previousMatrixBuffer','premultiplyAlpha','HasTags','byteLength','parts','\x0d\x0a}','textBuffer','MiddleClick','REFLECTIONMAP_PLANAR','sphericalPolynomial','ONE_MINUS_CONSTANT_COLOR','CLAMP_TO_EDGE','_reportDrawCall','Depth16Unorm','externalTextureSamplerBinding','screenSpaceReflections','pbrBlockAmbientOcclusion','_FileToolsLoadFile','setPipeline','RG16Sint','#else','_nativeTexture','startFrame','textureUsages','#ifdef\x20REFLECTION\x0astruct\x20reflectionOutParams\x0a{\x0avec4\x20environmentRadiance;\x0avec3\x20environmentIrradiance;\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords;\x0a#else\x0avec2\x20reflectionCoords;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0avec3\x20irradianceVector;\x0a#endif\x0a#endif\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20createReflectionCoords(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20normalW,\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0aout\x20vec3\x20reflectionCoords\x0a#else\x0aout\x20vec2\x20reflectionCoords\x0a#endif\x0a)\x0a{\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),anisotropicOut.anisotropicNormal);\x0a#else\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0areflectionCoords=reflectionVector;\x0a#else\x0areflectionCoords=reflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areflectionCoords/=reflectionVector.z;\x0a#endif\x0areflectionCoords.y=1.0-reflectionCoords.y;\x0a#endif\x0a}\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20sampleReflectionTexture(\x0ain\x20float\x20alphaG,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0ain\x20float\x20roughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0aconst\x20vec3\x20reflectionCoords,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0aconst\x20vec2\x20reflectionCoords,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0aout\x20vec4\x20environmentRadiance\x0a)\x0a{\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0afloat\x20reflectionLOD=getLodFromAlphaG(vReflectionMicrosurfaceInfos.x,alphaG,NdotVUnclamped);\x0a#elif\x20defined(LINEARSPECULARREFLECTION)\x0afloat\x20reflectionLOD=getLinearLodFromRoughness(vReflectionMicrosurfaceInfos.x,roughness);\x0a#else\x0afloat\x20reflectionLOD=getLodFromAlphaG(vReflectionMicrosurfaceInfos.x,alphaG);\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0areflectionLOD=reflectionLOD*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;\x0a#ifdef\x20LODINREFLECTIONALPHA\x0afloat\x20automaticReflectionLOD=UNPACK_LOD(sampleReflection(reflectionSampler,reflectionCoords).a);\x0afloat\x20requestedReflectionLOD=max(automaticReflectionLOD,reflectionLOD);\x0a#else\x0afloat\x20requestedReflectionLOD=reflectionLOD;\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0aenvironmentRadiance=vec4(radiance(alphaG,reflectionSampler,reflectionCoords,vReflectionFilteringInfo),1.0);\x0a#else\x0aenvironmentRadiance=sampleReflectionLod(reflectionSampler,reflectionCoords,reflectionLOD);\x0a#endif\x0a#else\x0afloat\x20lodReflectionNormalized=saturate(reflectionLOD/log2(vReflectionMicrosurfaceInfos.x));\x0afloat\x20lodReflectionNormalizedDoubled=lodReflectionNormalized*2.0;\x0avec4\x20environmentMid=sampleReflection(reflectionSampler,reflectionCoords);\x0aif\x20(lodReflectionNormalizedDoubled<1.0){\x0aenvironmentRadiance=mix(\x0asampleReflection(reflectionSamplerHigh,reflectionCoords),\x0aenvironmentMid,\x0alodReflectionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0aenvironmentRadiance=mix(\x0aenvironmentMid,\x0asampleReflection(reflectionSamplerLow,reflectionCoords),\x0alodReflectionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0aenvironmentRadiance.rgb=fromRGBD(environmentRadiance);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0aenvironmentRadiance.rgb=toLinearSpace(environmentRadiance.rgb);\x0a#endif\x0aenvironmentRadiance.rgb*=vReflectionInfos.x;\x0aenvironmentRadiance.rgb*=vReflectionColor.rgb;\x0a}\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20reflectionBlock(\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20normalW,\x0ain\x20float\x20alphaG,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0ain\x20float\x20roughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0a#endif\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0ain\x20vec3\x20vEnvironmentIrradiance,\x0a#endif\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0ain\x20mat4\x20reflectionMatrix,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20irradianceSampler,\x0a#else\x0ain\x20sampler2D\x20irradianceSampler,\x0a#endif\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0aout\x20reflectionOutParams\x20outParams\x0a)\x0a{\x0avec4\x20environmentRadiance=vec4(0.,0.,0.,0.);\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords=vec3(0.);\x0a#else\x0avec2\x20reflectionCoords=vec2(0.);\x0a#endif\x0acreateReflectionCoords(\x0avPositionW,\x0anormalW,\x0a#ifdef\x20ANISOTROPIC\x0aanisotropicOut,\x0a#endif\x0areflectionCoords\x0a);\x0asampleReflectionTexture(\x0aalphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0aroughness,\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0areflectionSampler,\x0areflectionCoords,\x0a#else\x0areflectionSampler,\x0areflectionCoords,\x0a#endif\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentRadiance\x0a);\x0avec3\x20environmentIrradiance=vec3(0.,0.,0.);\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x0aenvironmentIrradiance=vEnvironmentIrradiance;\x0a#else\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(anisotropicOut.anisotropicNormal,0)).xyz;\x0a#else\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(normalW,0)).xyz;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0airradianceVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20INVERTCUBICMAP\x0airradianceVector.y*=-1.0;\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0aenvironmentIrradiance=irradiance(reflectionSampler,irradianceVector,vReflectionFilteringInfo);\x0a#else\x0aenvironmentIrradiance=computeEnvironmentIrradiance(irradianceVector);\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0aoutParams.irradianceVector=irradianceVector;\x0a#endif\x0a#endif\x0a#elif\x20defined(USEIRRADIANCEMAP)\x0avec4\x20environmentIrradiance4=sampleReflection(irradianceSampler,reflectionCoords);\x0aenvironmentIrradiance=environmentIrradiance4.rgb;\x0a#ifdef\x20RGBDREFLECTION\x0aenvironmentIrradiance.rgb=fromRGBD(environmentIrradiance4);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0aenvironmentIrradiance.rgb=toLinearSpace(environmentIrradiance.rgb);\x0a#endif\x0a#endif\x0aenvironmentIrradiance*=vReflectionColor.rgb;\x0aoutParams.environmentRadiance=environmentRadiance;\x0aoutParams.environmentIrradiance=environmentIrradiance;\x0aoutParams.reflectionCoords=reflectionCoords;\x0a}\x0a#endif\x0a','_initActionManager','view','MouseWheelX','attribute\x20vec3\x20position;\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<vertexColorMixing>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','framebufferTextureMultiviewOVR','cursor','GL_ALPHA_FUNCTION_DST_ALPHA','pointCloudVertex','-pvrtc.ktx','DST_ALPHA','varyingVertexKeywordName','lastIndex','ssao2','_onKeyUp','componentCount','clearQuadVertexShader','references','backgroundVertexShader','TEXTUREFORMAT_DEPTH16','setMatrix','\x20=\x20computeEquirectangularCoords(','_setRayOnPointerInfo','TEXTUREFORMAT_RGBA','#ifdef\x20TEXTURELODSUPPORT\x0a#extension\x20GL_EXT_shader_texture_lod\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0a#include<__decl__backgroundFragment>\x0a#include<helperFunctions>\x0a#define\x20RECIPROCAL_PI2\x200.15915494\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20MAINUV1\x0avarying\x20vec2\x20vMainUV1;\x0a#endif\x20\x0a#ifdef\x20MAINUV2\x20\x0avarying\x20vec2\x20vMainUV2;\x20\x0a#endif\x20\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20DIFFUSE\x0a#if\x20DIFFUSEDIRECTUV==1\x0a#define\x20vDiffuseUV\x20vMainUV1\x0a#elif\x20DIFFUSEDIRECTUV==2\x0a#define\x20vDiffuseUV\x20vMainUV2\x0a#else\x0avarying\x20vec2\x20vDiffuseUV;\x0a#endif\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#define\x20sampleReflection(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#ifdef\x20TEXTURELODSUPPORT\x0a#define\x20sampleReflectionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#else\x0a#define\x20sampleReflection(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20reflectionSampler;\x0a#ifdef\x20TEXTURELODSUPPORT\x0a#define\x20sampleReflectionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#include<reflectionFunction>\x0a#endif\x0a#ifndef\x20FROMLINEARSPACE\x0a#define\x20FROMLINEARSPACE;\x0a#endif\x0a#ifndef\x20SHADOWONLY\x0a#define\x20SHADOWONLY;\x0a#endif\x0a#include<imageProcessingDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<imageProcessingFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#ifdef\x20REFLECTIONFRESNEL\x0a#define\x20FRESNEL_MAXIMUM_ON_ROUGH\x200.25\x0avec3\x20fresnelSchlickEnvironmentGGX(float\x20VdotN,vec3\x20reflectance0,vec3\x20reflectance90,float\x20smoothness)\x0a{\x0afloat\x20weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);\x0areturn\x20reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));\x0a}\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(0.0,1.0,0.0);\x0a#endif\x0afloat\x20shadow=1.;\x0afloat\x20globalShadow=0.;\x0afloat\x20shadowLightCount=0.;\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20SHADOWINUSE\x0aglobalShadow/=shadowLightCount;\x0a#else\x0aglobalShadow=1.0;\x0a#endif\x0a#ifndef\x20BACKMAT_SHADOWONLY\x0avec4\x20reflectionColor=vec4(1.,1.,1.,1.);\x0a#ifdef\x20REFLECTION\x0avec3\x20reflectionVector=computeReflectionCoords(vec4(vPositionW,1.0),normalW);\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20reflectionCoords=reflectionVector;\x0a#else\x0avec2\x20reflectionCoords=reflectionVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areflectionCoords/=reflectionVector.z;\x0a#endif\x0areflectionCoords.y=1.0-reflectionCoords.y;\x0a#endif\x0a#ifdef\x20REFLECTIONBLUR\x0afloat\x20reflectionLOD=vReflectionInfos.y;\x0a#ifdef\x20TEXTURELODSUPPORT\x0areflectionLOD=reflectionLOD*log2(vReflectionMicrosurfaceInfos.x)*vReflectionMicrosurfaceInfos.y+vReflectionMicrosurfaceInfos.z;\x0areflectionColor=sampleReflectionLod(reflectionSampler,reflectionCoords,reflectionLOD);\x0a#else\x0afloat\x20lodReflectionNormalized=saturate(reflectionLOD);\x0afloat\x20lodReflectionNormalizedDoubled=lodReflectionNormalized*2.0;\x0avec4\x20reflectionSpecularMid=sampleReflection(reflectionSampler,reflectionCoords);\x0aif(lodReflectionNormalizedDoubled<1.0){\x0areflectionColor=mix(\x0asampleReflection(reflectionSamplerHigh,reflectionCoords),\x0areflectionSpecularMid,\x0alodReflectionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0areflectionColor=mix(\x0areflectionSpecularMid,\x0asampleReflection(reflectionSamplerLow,reflectionCoords),\x0alodReflectionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#else\x0avec4\x20reflectionSample=sampleReflection(reflectionSampler,reflectionCoords);\x0areflectionColor=reflectionSample;\x0a#endif\x0a#ifdef\x20RGBDREFLECTION\x0areflectionColor.rgb=fromRGBD(reflectionColor);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0areflectionColor.rgb=toLinearSpace(reflectionColor.rgb);\x0a#endif\x0a#ifdef\x20REFLECTIONBGR\x0areflectionColor.rgb=reflectionColor.bgr;\x0a#endif\x0areflectionColor.rgb*=vReflectionInfos.x;\x0a#endif\x0avec3\x20diffuseColor=vec3(1.,1.,1.);\x0afloat\x20finalAlpha=alpha;\x0a#ifdef\x20DIFFUSE\x0avec4\x20diffuseMap=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20GAMMADIFFUSE\x0adiffuseMap.rgb=toLinearSpace(diffuseMap.rgb);\x0a#endif\x0adiffuseMap.rgb*=vDiffuseInfos.y;\x0a#ifdef\x20DIFFUSEHASALPHA\x0afinalAlpha*=diffuseMap.a;\x0a#endif\x0adiffuseColor=diffuseMap.rgb;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0avec3\x20colorBase=diffuseColor;\x0a#else\x0avec3\x20colorBase=reflectionColor.rgb*diffuseColor;\x0a#endif\x0acolorBase=max(colorBase,0.0);\x0a#ifdef\x20USERGBCOLOR\x0avec3\x20finalColor=colorBase;\x0a#else\x0a#ifdef\x20USEHIGHLIGHTANDSHADOWCOLORS\x0avec3\x20mainColor=mix(vPrimaryColorShadow.rgb,vPrimaryColor.rgb,colorBase);\x0a#else\x0avec3\x20mainColor=vPrimaryColor.rgb;\x0a#endif\x0avec3\x20finalColor=colorBase*mainColor;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0avec3\x20reflectionAmount=vReflectionControl.xxx;\x0avec3\x20reflectionReflectance0=vReflectionControl.yyy;\x0avec3\x20reflectionReflectance90=vReflectionControl.zzz;\x0afloat\x20VdotN=dot(normalize(vEyePosition.xyz),normalW);\x0avec3\x20planarReflectionFresnel=fresnelSchlickEnvironmentGGX(saturate(VdotN),reflectionReflectance0,reflectionReflectance90,1.0);\x0areflectionAmount*=planarReflectionFresnel;\x0a#ifdef\x20REFLECTIONFALLOFF\x0afloat\x20reflectionDistanceFalloff=1.0-saturate(length(vPositionW.xyz-vBackgroundCenter)*vReflectionControl.w);\x0areflectionDistanceFalloff*=reflectionDistanceFalloff;\x0areflectionAmount*=reflectionDistanceFalloff;\x0a#endif\x0afinalColor=mix(finalColor,reflectionColor.rgb,saturate(reflectionAmount));\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0afloat\x20viewAngleToFloor=dot(normalW,normalize(vEyePosition.xyz-vBackgroundCenter));\x0aconst\x20float\x20startAngle=0.1;\x0afloat\x20fadeFactor=saturate(viewAngleToFloor/startAngle);\x0afinalAlpha*=fadeFactor*fadeFactor;\x0a#endif\x0a#ifdef\x20SHADOWINUSE\x0afinalColor=mix(finalColor*shadowLevel,finalColor,globalShadow);\x0a#endif\x0avec4\x20color=vec4(finalColor,finalAlpha);\x0a#else\x0avec4\x20color=vec4(vPrimaryColor.rgb,(1.0-clamp(globalShadow,0.,1.))*alpha);\x0a#endif\x0a#include<fogFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0a#if\x20!defined(SKIPFINALCOLORCLAMP)\x0acolor.rgb=clamp(color.rgb,0.,30.0);\x0a#endif\x0a#else\x0acolor=applyImageProcessing(color);\x0a#endif\x0a#ifdef\x20PREMULTIPLYALPHA\x0acolor.rgb*=color.a;\x0a#endif\x0a#ifdef\x20NOISE\x0acolor.rgb+=dither(vPositionW.xy,0.5);\x0acolor=max(color,0.0);\x0a#endif\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','internal\x20process\x20texture\x20-\x20invertY=','ALPHA_EQUATION_ADD','trim','_gl','updateInt','getContext','release','_currentRank','ONE_MINUS_DST_ALPHA','iridescenceOut','arrayBufferBlockCount','_isRenderingStateCompiled','subtractToRef','setColor3','lavaVertexShader','createRenderTargetTextureProvider','TEXTUREFORMAT_RGB_INTEGER','#include<clipPlaneFragmentDeclaration>\x0auniform\x20vec4\x20color;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','_RemoveTagFrom','attribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20world0;\x0aattribute\x20vec4\x20world1;\x0aattribute\x20vec4\x20world2;\x0aattribute\x20vec4\x20world3;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__shadowMapVertex>\x0a#ifdef\x20ALPHATEXTURE\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#include<shadowMapVertexExtraDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0a#ifdef\x20NORMAL\x0amat3\x20normWorldSM=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avec3\x20vNormalW=normalUpdated/vec3(dot(normWorldSM[0],normWorldSM[0]),dot(normWorldSM[1],normWorldSM[1]),dot(normWorldSM[2],normWorldSM[2]));\x0avNormalW=normalize(normWorldSM*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormWorldSM=transposeMat3(inverseMat3(normWorldSM));\x0a#endif\x0avec3\x20vNormalW=normalize(normWorldSM*normalUpdated);\x0a#endif\x0a#endif\x0a#include<shadowMapVertexNormalBias>\x0agl_Position=viewProjection*worldPos;\x0a#include<shadowMapVertexMetric>\x0a#ifdef\x20ALPHATEXTURE\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#include<clipPlaneVertex>\x0a}','samples','Dynamic','DEPTH_STENCIL','applyImpulse','prototype','colorPixelShader','\x20ANIMATESHEET','preProcessor','TEXTURE_WRAP_S','glowMapGenerationVertexShader','vrdisplaypointerunrestricted','BC1RGBAUnormSRGB','_queryBuffer','//\x20Internals\x20UBO','_debugPopGroup','getOrAdd','setIntArray4','#include<helperFunctions>\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20exposure;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0afloat\x20luma=dot(LuminanceEncodeApprox,gl_FragColor.rgb*exposure);\x0agl_FragColor.rgb=step(threshold,luma)*gl_FragColor.rgb;\x0a}','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20topColor;\x0auniform\x20vec4\x20bottomColor;\x0auniform\x20float\x20offset;\x0auniform\x20float\x20scale;\x0auniform\x20float\x20smoothness;\x0avarying\x20vec3\x20vPositionW;\x0avarying\x20vec3\x20vPosition;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0afloat\x20h=vPosition.y*scale+offset;\x0afloat\x20mysmoothness=clamp(smoothness,0.01,max(smoothness,10.));\x0avec4\x20baseColor=mix(bottomColor,topColor,max(pow(max(h,0.0),mysmoothness),0.0));\x0avec3\x20diffuseColor=baseColor.rgb;\x0afloat\x20alpha=baseColor.a;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avec3\x20diffuseBase=baseColor.rgb;\x0a#else\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0a#endif\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','setUInt2','diffuseBase','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20mat4\x20kernelMatrix;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20baseColor=texture2D(textureSampler,vUV).rgb;\x0avec3\x20updatedColor=(kernelMatrix*vec4(baseColor,1.0)).rgb;\x0agl_FragColor=vec4(updatedColor,1.0);\x0a}','TEXTURE_EXPLICIT_MODE','oitDeclaration','setInt2','#ifdef\x20CLIPPLANE\x0ain\x20float\x20fClipDistance;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0ain\x20float\x20fClipDistance2;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0ain\x20float\x20fClipDistance3;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0ain\x20float\x20fClipDistance4;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0ain\x20float\x20fClipDistance5;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0ain\x20float\x20fClipDistance6;\x0a#endif\x0a','getHardwareScalingLevel','#extension\x20GL_OVR_multiview2\x20:\x20require\x0alayout\x20(num_views\x20=\x202)\x20in;\x0a','precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;uniform\x20vec4\x20vDiffuseColor;varying\x20vec3\x20vPositionW;uniform\x20float\x20time;uniform\x20float\x20speed;uniform\x20float\x20movingSpeed;uniform\x20vec3\x20fogColor;uniform\x20sampler2D\x20noiseTexture;uniform\x20float\x20fogDensity;varying\x20float\x20noise;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0]\x0a#include<__decl__lightFragment>[1]\x0a#include<__decl__lightFragment>[2]\x0a#include<__decl__lightFragment>[3]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0afloat\x20random(\x20vec3\x20scale,float\x20seed\x20){return\x20fract(\x20sin(\x20dot(\x20gl_FragCoord.xyz+seed,scale\x20)\x20)*43758.5453+seed\x20)\x20;}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=vec4(1.,1.,1.,1.);vec3\x20diffuseColor=vDiffuseColor.rgb;float\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0avec4\x20noiseTex=texture2D(\x20noiseTexture,vDiffuseUV\x20);vec2\x20T1=vDiffuseUV+vec2(\x201.5,-1.5\x20)*time\x20*0.02;vec2\x20T2=vDiffuseUV+vec2(\x20-0.5,2.0\x20)*time*0.01*speed;T1.x+=noiseTex.x*2.0;T1.y+=noiseTex.y*2.0;T2.x-=noiseTex.y*0.2+time*0.001*movingSpeed;T2.y+=noiseTex.z*0.2+time*0.002*movingSpeed;float\x20p=texture2D(\x20noiseTexture,T1*3.0\x20).a;vec4\x20lavaColor=texture2D(\x20diffuseSampler,T2*4.0);vec4\x20temp=lavaColor*(\x20vec4(\x20p,p,p,p\x20)*2.\x20)+(\x20lavaColor*lavaColor-0.1\x20);baseColor=temp;float\x20depth=gl_FragCoord.z*4.0;const\x20float\x20LOG2=1.442695;float\x20fogFactor=exp2(-fogDensity*fogDensity*depth*depth*LOG2\x20);fogFactor=1.0-clamp(\x20fogFactor,0.0,1.0\x20);baseColor=mix(\x20baseColor,vec4(\x20fogColor,baseColor.w\x20),fogFactor\x20);diffuseColor=baseColor.rgb;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20UNLIT\x0avec3\x20diffuseBase=vec3(1.,1.,1.);\x0a#else\x0avec3\x20diffuseBase=vec3(0.,0.,0.);lightingInfo\x20info;float\x20shadow=1.;float\x20glossiness=0.;\x0a#include<lightFragment>[0]\x0a#include<lightFragment>[1]\x0a#include<lightFragment>[2]\x0a#include<lightFragment>[3]\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;vec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','maxTextureSize','//Varyings\x0d\x0a','terrainPixelShader','setDepthWriteEnabled','_textureFormat','_defineOppositeZ','645276KYuflx','modelTotalCount','NEVER','groupIndex','_vertexBufferSize','bundles','_reflectionVectorName','_commandEncoderForCreation','data:','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0auniform\x20float\x20bakedVertexAnimationTime;\x0auniform\x20vec2\x20bakedVertexAnimationTextureSizeInverted;\x0auniform\x20vec4\x20bakedVertexAnimationSettings;\x0auniform\x20sampler2D\x20bakedVertexAnimationTexture;\x0a#ifdef\x20INSTANCES\x0aattribute\x20vec4\x20bakedVertexAnimationSettingsInstanced;\x0a#endif\x0a#define\x20inline\x0amat4\x20readMatrixFromRawSamplerVAT(sampler2D\x20smp,float\x20index,float\x20frame)\x0a{\x0afloat\x20offset=index*4.0;\x0afloat\x20frameUV=(frame+0.5)*bakedVertexAnimationTextureSizeInverted.y;\x0afloat\x20dx=bakedVertexAnimationTextureSizeInverted.x;\x0avec4\x20m0=texture2D(smp,vec2(dx*(offset+0.5),frameUV));\x0avec4\x20m1=texture2D(smp,vec2(dx*(offset+1.5),frameUV));\x0avec4\x20m2=texture2D(smp,vec2(dx*(offset+2.5),frameUV));\x0avec4\x20m3=texture2D(smp,vec2(dx*(offset+3.5),frameUV));\x0areturn\x20mat4(m0,m1,m2,m3);\x0a}\x0a#endif\x0a','zOffset','#define\x20HEMISPHERICEMITTER','getSubTimeStep','logDepthVertex','diffusionProfile','popDebugGroup','getVRDisplays','-etc2.ktx','_indexBuffer','createPostProcess','StorageBinding','_leftOverUniformsByName','attribute\x20vec3\x20position;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0auniform\x20vec2\x20depthValues;\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0a#if\x20(defined(ALPHATEST)\x20||\x20defined(NEED_UV))\x20&&\x20defined(UV1)\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0agl_Position=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(BASIC_RENDER)\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a}\x0a','intensity','getAttributes','_GpuTextureViewDimensionByWebGPUTextureType','computeDispatch:\x20The\x20texture\x20(name=',',\x20binding\x20=\x20','pollInput','rightOperand','GL_ALPHA_FUNCTION_CONSTANT_COLOR','_gpuFrameTimeCounter','setAlphaMode','compressedTexImage2D','_funcRef','_setupDepthStencilTexture','_doubleClickOccured','setTextureFormatToUse','computePipeline','STATIC_DRAW','#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0a#if\x20defined(BUMP)\x20||\x20!defined(NORMAL)\x0a#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0a#ifdef\x20BUMP\x0avarying\x20mat4\x20vWorldView;\x0avarying\x20vec3\x20vNormalW;\x0a#else\x0avarying\x20vec3\x20vNormalV;\x0a#endif\x0avarying\x20vec4\x20vViewPos;\x0a#if\x20defined(POSITION)\x20||\x20defined(BUMP)\x0avarying\x20vec3\x20vPositionW;\x0a#endif\x0a#ifdef\x20VELOCITY\x0avarying\x20vec4\x20vCurrentPosition;\x0avarying\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#ifdef\x20NEED_UV\x0avarying\x20vec2\x20vUV;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#if\x20defined(REFLECTIVITY)\x0a#if\x20defined(ORMTEXTURE)\x20||\x20defined(SPECULARGLOSSINESSTEXTURE)\x20||\x20defined(REFLECTIVITYTEXTURE)\x0auniform\x20sampler2D\x20reflectivitySampler;\x0avarying\x20vec2\x20vReflectivityUV;\x0a#endif\x0a#ifdef\x20ALBEDOTEXTURE\x0avarying\x20vec2\x20vAlbedoUV;\x0auniform\x20sampler2D\x20albedoSampler;\x0a#endif\x0a#ifdef\x20REFLECTIVITYCOLOR\x0auniform\x20vec3\x20reflectivityColor;\x0a#endif\x0a#ifdef\x20ALBEDOCOLOR\x0auniform\x20vec3\x20albedoColor;\x0a#endif\x0a#ifdef\x20METALLIC\x0auniform\x20float\x20metallic;\x0a#endif\x0a#ifdef\x20ROUGHNESS\x0auniform\x20float\x20glossiness;\x0a#endif\x0a#endif\x0a#ifdef\x20ALPHATEST\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<mrtFragmentDeclaration>[RENDER_TARGET_COUNT]\x0a#include<bumpFragmentMainFunctions>\x0a#include<bumpFragmentFunctions>\x0a#include<helperFunctions>\x0avoid\x20main()\x20{\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0avec3\x20normalOutput;\x0a#ifdef\x20BUMP\x0avec3\x20normalW=normalize(vNormalW);\x0a#include<bumpFragment>\x0anormalOutput=normalize(vec3(vWorldView*vec4(normalW,0.0)));\x0a#else\x0anormalOutput=normalize(vNormalV);\x0a#endif\x0a#ifdef\x20PREPASS\x0a#ifdef\x20PREPASS_DEPTH\x0agl_FragData[DEPTH_INDEX]=vec4(vViewPos.z/vViewPos.w,0.0,0.0,1.0);\x0a#endif\x0a#ifdef\x20PREPASS_NORMAL\x0agl_FragData[NORMAL_INDEX]=vec4(normalOutput,1.0);\x0a#endif\x0a#else\x0agl_FragData[0]=vec4(vViewPos.z/vViewPos.w,0.0,0.0,1.0);\x0agl_FragData[1]=vec4(normalOutput,1.0);\x0a#endif\x0a#ifdef\x20POSITION\x0agl_FragData[POSITION_INDEX]=vec4(vPositionW,1.0);\x0a#endif\x0a#ifdef\x20VELOCITY\x0avec2\x20a=(vCurrentPosition.xy/vCurrentPosition.w)*0.5+0.5;\x0avec2\x20b=(vPreviousPosition.xy/vPreviousPosition.w)*0.5+0.5;\x0avec2\x20velocity=abs(a-b);\x0avelocity=vec2(pow(velocity.x,1.0/3.0),pow(velocity.y,1.0/3.0))*sign(a-b)*0.5+0.5;\x0agl_FragData[VELOCITY_INDEX]=vec4(velocity,0.0,1.0);\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0avec4\x20reflectivity=vec4(1.0,1.0,1.0,1.0);\x0a#ifdef\x20METALLICWORKFLOW\x0afloat\x20metal=1.0;\x0afloat\x20roughness=1.0;\x0a#ifdef\x20ORMTEXTURE\x0ametal*=texture2D(reflectivitySampler,vReflectivityUV).b;\x0aroughness*=texture2D(reflectivitySampler,vReflectivityUV).g;\x0a#endif\x0a#ifdef\x20METALLIC\x0ametal*=metallic;\x0a#endif\x0a#ifdef\x20ROUGHNESS\x0aroughness*=(1.0-glossiness);\x20\x0a#endif\x0areflectivity.a-=roughness;\x0avec3\x20color=vec3(1.0);\x0a#ifdef\x20ALBEDOTEXTURE\x0acolor=texture2D(albedoSampler,vAlbedoUV).rgb;\x0a#ifdef\x20GAMMAALBEDO\x0acolor=toLinearSpace(color);\x0a#endif\x0a#endif\x0a#ifdef\x20ALBEDOCOLOR\x0acolor*=albedoColor.xyz;\x0a#endif\x0areflectivity.rgb=mix(vec3(0.04),color,metal);\x0a#else\x0a#ifdef\x20SPECULARGLOSSINESSTEXTURE\x0areflectivity=texture2D(reflectivitySampler,vReflectivityUV);\x0a#ifdef\x20GAMMAREFLECTIVITYTEXTURE\x0areflectivity.rgb=toLinearSpace(reflectivity.rgb);\x0a#endif\x0a#ifdef\x20GLOSSINESSS\x0areflectivity.a*=glossiness;\x0a#endif\x0a#else\x20\x0a#ifdef\x20REFLECTIVITYTEXTURE\x0areflectivity.rbg=texture2D(reflectivitySampler,vReflectivityUV).rbg;\x0a#ifdef\x20GAMMAREFLECTIVITYTEXTURE\x0areflectivity.rgb=toLinearSpace(reflectivity.rgb);\x0a#endif\x0a#else\x0a#ifdef\x20REFLECTIVITYCOLOR\x0areflectivity.rgb=reflectivityColor.xyz;\x0areflectivity.a=1.0;\x0a#endif\x0a#endif\x20\x0a#ifdef\x20GLOSSINESSS\x0areflectivity.a=glossiness;\x20\x0a#else\x0areflectivity.a=1.0;\x20\x0a#endif\x0a#endif\x0a#endif\x0areflectivity.rgb=toGammaSpace(reflectivity.rgb);\x20\x0agl_FragData[REFLECTIVITY_INDEX]=reflectivity;\x0a#endif\x0a}\x0a','glFragColor','dispatchWorkgroups','_drawWrapperFogDepth','file:','colorCorrectionPixelShader','getCaps','programLinkError','TEXTURETYPE_FLOAT_32_UNSIGNED_INT_24_8_REV','_processSamplers','textureMode','clipPlane6','setRawData','_lastUpdateFrameId','EACR11Snorm','compute','_setCursorAndPointerOverMesh','mPreviousBones','setMRTAttachments','_reflectionColorName','RGBA32Float','disableDepthWrite','markAsImageProcessingDirty','Int3','_GetTextureTypeFromFormat','_samples','computeDispatch','Matrix3x3','INVERTCUBICMAP','struct\x20FragmentInputs\x20{\x0a\x20\x20@builtin(position)\x20position\x20:\x20vec4<f32>,\x0a','uniform\x20sampler2D\x20depthSampler;\x0avarying\x20vec2\x20vUV;\x0auniform\x20vec2\x20cameraMinMaxZ;\x0auniform\x20float\x20focusDistance;\x0auniform\x20float\x20cocPrecalculation;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0a#define\x20CUSTOM_COC_DEPTH\x0afloat\x20pixelDistance=(cameraMinMaxZ.x+cameraMinMaxZ.y*depth)*1000.0;\x20\x0a#define\x20CUSTOM_COC_PIXELDISTANCE\x0afloat\x20coc=abs(cocPrecalculation*((focusDistance-pixelDistance)/pixelDistance));\x0acoc=clamp(coc,0.0,1.0);\x0agl_FragColor=vec4(coc,coc,coc,1.0);\x0a}\x0a','bonesDeclaration','Comparison','thinInstanceSetBuffer','setUInt','#include<','matricesWeightsExtra','_internalCount','projection','GL_ES','vrMultiviewToSingleviewPixelShader','GetRightPlaneToRef','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0auniform\x20bakedVertexAnimationTime:\x20f32;\x0auniform\x20bakedVertexAnimationTextureSizeInverted:\x20vec2<f32>;\x0auniform\x20bakedVertexAnimationSettings:\x20vec4<f32>;\x0avar\x20bakedVertexAnimationTexture\x20:\x20texture_2d<f32>;\x0a#ifdef\x20INSTANCES\x0aattribute\x20bakedVertexAnimationSettingsInstanced\x20:\x20vec4<f32>;\x0a#endif\x0afn\x20readMatrixFromRawSamplerVAT(smp\x20:\x20texture_2d<f32>,index\x20:\x20f32,frame\x20:\x20f32)->mat4x4<f32>\x0a{\x0alet\x20offset=i32(index)*4;\x0alet\x20frameUV=i32(frame);\x0alet\x20m0=textureLoad(smp,vec2<i32>(offset+0,frameUV),0);\x0alet\x20m1=textureLoad(smp,vec2<i32>(offset+1,frameUV),0);\x0alet\x20m2=textureLoad(smp,vec2<i32>(offset+2,frameUV),0);\x0alet\x20m3=textureLoad(smp,vec2<i32>(offset+3,frameUV),0);\x0areturn\x20mat4x4<f32>(m0,m1,m2,m3);\x0a}\x0a#endif\x0a','shaderLanguage','Unknown','shadowMapPixelShader','clientY','#define\x20POINTEMITTER','_onVrDisplayPresentChange','GetWebGPUTextureFormat','first','GetTags','BLEND','meshes','R32Sint','_uniforms','ACTION_OnKeyUpTrigger','_PreparePreProcessors','#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0auniform\x20vec4\x20textureMask;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<imageProcessingDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\x0a#ifdef\x20RAMPGRADIENT\x0avarying\x20vec4\x20remapRanges;\x0auniform\x20sampler2D\x20rampSampler;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec4\x20textureColor=texture2D(diffuseSampler,vUV);\x0avec4\x20baseColor=(textureColor*textureMask+(vec4(1.,1.,1.,1.)-textureMask))*vColor;\x0a#ifdef\x20RAMPGRADIENT\x0afloat\x20alpha=baseColor.a;\x0afloat\x20remappedColorIndex=clamp((alpha-remapRanges.x)/remapRanges.y,0.0,1.0);\x0avec4\x20rampColor=texture2D(rampSampler,vec2(1.0-remappedColorIndex,0.));\x0abaseColor.rgb*=rampColor.rgb;\x0afloat\x20finalAlpha=baseColor.a;\x0abaseColor.a=clamp((alpha*rampColor.a-remapRanges.z)/remapRanges.w,0.0,1.0);\x0a#endif\x0a#ifdef\x20BLENDMULTIPLYMODE\x0afloat\x20sourceAlpha=vColor.a*textureColor.a;\x0abaseColor.rgb=baseColor.rgb*sourceAlpha+vec3(1.0)*(1.0-sourceAlpha);\x0a#endif\x0a#include<logDepthFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0abaseColor.rgb=toLinearSpace(baseColor.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0abaseColor.rgb=toLinearSpace(baseColor.rgb);\x0abaseColor=applyImageProcessing(baseColor);\x0a#endif\x0a#endif\x0agl_FragColor=baseColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0a#define\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#else\x0auniform\x20vec4\x20color;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0agl_FragColor=vColor;\x0a#else\x0agl_FragColor=color;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','vec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=normalize(cross(dFdx(vPositionW),dFdy(vPositionW)))*vEyePosition.w;\x0a#endif\x0avec3\x20geometricNormalW=normalW;\x0a#if\x20defined(TWOSIDEDLIGHTING)\x20&&\x20defined(NORMAL)\x0ageometricNormalW=gl_FrontFacing\x20?\x20geometricNormalW\x20:\x20-geometricNormalW;\x0a#endif\x0a','_startingPointerTime','MATERIAL_TriangleFanDrawMode','isTextureArray','_halfDome','setTimeout','ssaoCombinePixelShader','STENCIL_TEST','lightVxUboDeclaration','TEXTURE_LINEAR_LINEAR','Clear','updateInt3','#ifdef\x20CLIPPLANE\x0afClipDistance=dot(worldPos,vClipPlane);\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0afClipDistance2=dot(worldPos,vClipPlane2);\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0afClipDistance3=dot(worldPos,vClipPlane3);\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0afClipDistance4=dot(worldPos,vClipPlane4);\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0afClipDistance5=dot(worldPos,vClipPlane5);\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0afClipDistance6=dot(worldPos,vClipPlane6);\x0a#endif\x0a','uScale','_defineCubicName','_material','blendEquationSeparate','Store','#if\x20defined(COLORGRADING)\x20&&\x20!defined(COLORGRADING3D)\x0a/**\x20\x0a*\x20Polyfill\x20for\x20SAMPLE_TEXTURE_3D,which\x20is\x20unsupported\x20in\x20WebGL.\x0a*\x20sampler3dSetting.x=textureOffset\x20(0.5/textureSize).\x0a*\x20sampler3dSetting.y=textureSize.\x0a*/\x0a#define\x20inline\x0avec3\x20sampleTexture3D(sampler2D\x20colorTransform,vec3\x20color,vec2\x20sampler3dSetting)\x0a{\x0afloat\x20sliceSize=2.0*sampler3dSetting.x;\x20\x0a#ifdef\x20SAMPLER3DGREENDEPTH\x0afloat\x20sliceContinuous=(color.g-sampler3dSetting.x)*sampler3dSetting.y;\x0a#else\x0afloat\x20sliceContinuous=(color.b-sampler3dSetting.x)*sampler3dSetting.y;\x0a#endif\x0afloat\x20sliceInteger=floor(sliceContinuous);\x0afloat\x20sliceFraction=sliceContinuous-sliceInteger;\x0a#ifdef\x20SAMPLER3DGREENDEPTH\x0avec2\x20sliceUV=color.rb;\x0a#else\x0avec2\x20sliceUV=color.rg;\x0a#endif\x0asliceUV.x*=sliceSize;\x0asliceUV.x+=sliceInteger*sliceSize;\x0asliceUV=saturate(sliceUV);\x0avec4\x20slice0Color=texture2D(colorTransform,sliceUV);\x0asliceUV.x+=sliceSize;\x0asliceUV=saturate(sliceUV);\x0avec4\x20slice1Color=texture2D(colorTransform,sliceUV);\x0avec3\x20result=mix(slice0Color.rgb,slice1Color.rgb,sliceFraction);\x0a#ifdef\x20SAMPLER3DBGRMAP\x0acolor.rgb=result.rgb;\x0a#else\x0acolor.rgb=result.bgr;\x0a#endif\x0areturn\x20color;\x0a}\x0a#endif\x0a#ifdef\x20TONEMAPPING_ACES\x0aconst\x20mat3\x20ACESInputMat=mat3(\x0avec3(0.59719,0.07600,0.02840),\x0avec3(0.35458,0.90834,0.13383),\x0avec3(0.04823,0.01566,0.83777)\x0a);\x0aconst\x20mat3\x20ACESOutputMat=mat3(\x0avec3(\x201.60475,-0.10208,-0.00327),\x0avec3(-0.53108,\x201.10813,-0.07276),\x0avec3(-0.07367,-0.00605,\x201.07602)\x0a);\x0avec3\x20RRTAndODTFit(vec3\x20v)\x0a{\x0avec3\x20a=v*(v+0.0245786)-0.000090537;\x0avec3\x20b=v*(0.983729*v+0.4329510)+0.238081;\x0areturn\x20a/b;\x0a}\x0avec3\x20ACESFitted(vec3\x20color)\x0a{\x0acolor=ACESInputMat*color;\x0acolor=RRTAndODTFit(color);\x0acolor=ACESOutputMat*color;\x0acolor=saturate(color);\x0areturn\x20color;\x0a}\x0a#endif\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_DEFINITIONS\x0avec4\x20applyImageProcessing(vec4\x20result)\x20{\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATSTART\x0a#ifdef\x20EXPOSURE\x0aresult.rgb*=exposureLinear;\x0a#endif\x0a#ifdef\x20VIGNETTE\x0avec2\x20viewportXY=gl_FragCoord.xy*vInverseScreenSize;\x0aviewportXY=viewportXY*2.0-1.0;\x0avec3\x20vignetteXY1=vec3(viewportXY*vignetteSettings1.xy+vignetteSettings1.zw,1.0);\x0afloat\x20vignetteTerm=dot(vignetteXY1,vignetteXY1);\x0afloat\x20vignette=pow(vignetteTerm,vignetteSettings2.w);\x0avec3\x20vignetteColor=vignetteSettings2.rgb;\x0a#ifdef\x20VIGNETTEBLENDMODEMULTIPLY\x0avec3\x20vignetteColorMultiplier=mix(vignetteColor,vec3(1,1,1),vignette);\x0aresult.rgb*=vignetteColorMultiplier;\x0a#endif\x0a#ifdef\x20VIGNETTEBLENDMODEOPAQUE\x0aresult.rgb=mix(vignetteColor,result.rgb,vignette);\x0a#endif\x0a#endif\x0a#ifdef\x20TONEMAPPING\x0a#ifdef\x20TONEMAPPING_ACES\x0aresult.rgb=ACESFitted(result.rgb);\x0a#else\x0aconst\x20float\x20tonemappingCalibration=1.590579;\x0aresult.rgb=1.0-exp2(-tonemappingCalibration*result.rgb);\x0a#endif\x0a#endif\x0aresult.rgb=toGammaSpace(result.rgb);\x0aresult.rgb=saturate(result.rgb);\x0a#ifdef\x20CONTRAST\x0avec3\x20resultHighContrast=result.rgb*result.rgb*(3.0-2.0*result.rgb);\x0aif\x20(contrast<1.0)\x20{\x0aresult.rgb=mix(vec3(0.5,0.5,0.5),result.rgb,contrast);\x0a}\x20else\x20{\x0aresult.rgb=mix(result.rgb,resultHighContrast,contrast-1.0);\x0a}\x0a#endif\x0a#ifdef\x20COLORGRADING\x0avec3\x20colorTransformInput=result.rgb*colorTransformSettings.xxx+colorTransformSettings.yyy;\x0a#ifdef\x20COLORGRADING3D\x0avec3\x20colorTransformOutput=texture(txColorTransform,colorTransformInput).rgb;\x0a#else\x0avec3\x20colorTransformOutput=sampleTexture3D(txColorTransform,colorTransformInput,colorTransformSettings.yz).rgb;\x0a#endif\x0aresult.rgb=mix(result.rgb,colorTransformOutput,colorTransformSettings.www);\x0a#endif\x0a#ifdef\x20COLORCURVES\x0afloat\x20luma=getLuminance(result.rgb);\x0avec2\x20curveMix=clamp(vec2(luma*3.0-1.5,luma*-3.0+1.5),vec2(0.0),vec2(1.0));\x0avec4\x20colorCurve=vCameraColorCurveNeutral+curveMix.x*vCameraColorCurvePositive-curveMix.y*vCameraColorCurveNegative;\x0aresult.rgb*=colorCurve.rgb;\x0aresult.rgb=mix(vec3(luma),result.rgb,colorCurve.a);\x0a#endif\x0a#ifdef\x20DITHER\x0afloat\x20rand=getRand(gl_FragCoord.xy*vInverseScreenSize);\x0afloat\x20dither=mix(-ditherIntensity,ditherIntensity,rand);\x0aresult.rgb=saturate(result.rgb+vec3(dither));\x0a#endif\x0a#define\x20CUSTOM_IMAGEPROCESSINGFUNCTIONS_UPDATERESULT_ATEND\x0areturn\x20result;\x0a}','\x20=\x20computeFixedEquirectangularCoords(','pointerId','button','_internalAbstractMeshDataInfo','setViewport','_height','_deviceSourceManager','subSurfaceScatteringPixelShader','createComputePipelineContext','sin','BC7RGBAUnormSRGB','toIndex','_toIndex','\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x20\x20\x20\x20const\x20vec2\x20tex[4]\x20=\x20vec2[4](vec2(0.0f,\x200.0f),\x20vec2(1.0f,\x200.0f),\x20vec2(0.0f,\x201.0f),\x20vec2(1.0f,\x201.0f));\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vTextureSize\x20=\x20textureSize(img,\x200);\x0a\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','Parse','uniformBuffer','\x20=\x20input.instanceIndex;\x0a','Unsupported\x20Physics\x20plugin\x20version.','bumpFragmentFunctions','_onBeforeCameraRenderObserver','pointerUpPredicate','_addUniformToLeftOverUBO','fluidRenderingBilateralBlur','_HandleParenthesisContent','processTrigger','uniformProcessor','setColorWrite','volumetricLightScatteringPassVertexShader','_blendConstants','NONE','ASTC6x6UnormSRGB','previous','_getWebGLTextureType','_useVAO','layout(location\x20=\x20','onKeyboardObservable','_onVrDisplayDisconnect','#if\x20defined(REFLECTION)\x20||\x20defined(SS_REFRACTION)\x0afloat\x20getLodFromAlphaG(float\x20cubeMapDimensionPixels,float\x20microsurfaceAverageSlope)\x20{\x0afloat\x20microsurfaceAverageSlopeTexels=cubeMapDimensionPixels*microsurfaceAverageSlope;\x0afloat\x20lod=log2(microsurfaceAverageSlopeTexels);\x0areturn\x20lod;\x0a}\x0afloat\x20getLinearLodFromRoughness(float\x20cubeMapDimensionPixels,float\x20roughness)\x20{\x0afloat\x20lod=log2(cubeMapDimensionPixels)*roughness;\x0areturn\x20lod;\x0a}\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(RADIANCEOCCLUSION)\x0afloat\x20environmentRadianceOcclusion(float\x20ambientOcclusion,float\x20NdotVUnclamped)\x20{\x0afloat\x20temp=NdotVUnclamped+ambientOcclusion;\x0areturn\x20saturate(square(temp)-1.0+ambientOcclusion);\x0a}\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(HORIZONOCCLUSION)\x0afloat\x20environmentHorizonOcclusion(vec3\x20view,vec3\x20normal,vec3\x20geometricNormal)\x20{\x0avec3\x20reflection=reflect(view,normal);\x0afloat\x20temp=saturate(1.0+1.1*dot(reflection,geometricNormal));\x0areturn\x20square(temp);\x0a}\x0a#endif\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20||\x20defined(SS_LODINREFRACTIONALPHA)\x0a#define\x20UNPACK_LOD(x)\x20(1.0-x)*255.0\x0afloat\x20getLodFromAlphaG(float\x20cubeMapDimensionPixels,float\x20alphaG,float\x20NdotV)\x20{\x0afloat\x20microsurfaceAverageSlope=alphaG;\x0amicrosurfaceAverageSlope*=sqrt(abs(NdotV));\x0areturn\x20getLodFromAlphaG(cubeMapDimensionPixels,microsurfaceAverageSlope);\x0a}\x0a#endif\x0a','layout(std140,column_major)\x20uniform;\x0auniform\x20Scene\x20{\x0amat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0amat4\x20viewProjectionR;\x0a#endif\x20\x0amat4\x20view;\x0amat4\x20projection;\x0avec4\x20vEyePosition;\x0a};\x0a','textures','position','_onKeyDown','ALPHA_ONEONE_ONEONE','FileTools','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a{\x0a#ifdef\x20INSTANCES\x0a#define\x20BVASNAME\x20bakedVertexAnimationSettingsInstanced\x0a#else\x0a#define\x20BVASNAME\x20bakedVertexAnimationSettings\x0a#endif\x0afloat\x20VATStartFrame=BVASNAME.x;\x0afloat\x20VATEndFrame=BVASNAME.y;\x0afloat\x20VATOffsetFrame=BVASNAME.z;\x0afloat\x20VATSpeed=BVASNAME.w;\x0afloat\x20totalFrames=VATEndFrame-VATStartFrame+1.0;\x0afloat\x20time=bakedVertexAnimationTime*VATSpeed/totalFrames;\x0afloat\x20frameCorrection=time<1.0\x20?\x200.0\x20:\x201.0;\x0afloat\x20numOfFrames=totalFrames-frameCorrection;\x0afloat\x20VATFrameNum=fract(time)*numOfFrames;\x0aVATFrameNum=mod(VATFrameNum+VATOffsetFrame,numOfFrames);\x0aVATFrameNum=floor(VATFrameNum);\x0aVATFrameNum+=VATStartFrame+frameCorrection;\x0amat4\x20VATInfluence;\x0aVATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[0],VATFrameNum)*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[1],VATFrameNum)*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[2],VATFrameNum)*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[3],VATFrameNum)*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[0],VATFrameNum)*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[1],VATFrameNum)*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[2],VATFrameNum)*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0aVATInfluence+=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[3],VATFrameNum)*matricesWeightsExtra[3];\x0a#endif\x0afinalWorld=finalWorld*VATInfluence;\x0a}\x0a#endif\x0a','struct\x20reflectivityOutParams\x0a{\x0afloat\x20microSurface;\x0afloat\x20roughness;\x0avec3\x20surfaceReflectivityColor;\x0a#ifdef\x20METALLICWORKFLOW\x0avec3\x20surfaceAlbedo;\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0avec3\x20ambientOcclusionColor;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avec4\x20surfaceMetallicColorMap;\x0avec4\x20surfaceReflectivityColorMap;\x0avec2\x20metallicRoughness;\x0avec3\x20metallicF0;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20reflectivityBlock(\x0ain\x20vec4\x20vReflectivityColor,\x0a#ifdef\x20METALLICWORKFLOW\x0ain\x20vec3\x20surfaceAlbedo,\x0ain\x20vec4\x20metallicReflectanceFactors,\x0a#endif\x0a#ifdef\x20REFLECTIVITY\x0ain\x20vec3\x20reflectivityInfos,\x0ain\x20vec4\x20surfaceMetallicOrReflectivityColorMap,\x0a#endif\x0a#if\x20defined(METALLICWORKFLOW)\x20&&\x20defined(REFLECTIVITY)\x20&&\x20defined(AOSTOREINMETALMAPRED)\x0ain\x20vec3\x20ambientOcclusionColorIn,\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0ain\x20vec4\x20microSurfaceTexel,\x0a#endif\x0a#ifdef\x20DETAIL\x0ain\x20vec4\x20detailColor,\x0ain\x20vec4\x20vDetailInfos,\x0a#endif\x0aout\x20reflectivityOutParams\x20outParams\x0a)\x0a{\x0afloat\x20microSurface=vReflectivityColor.a;\x0avec3\x20surfaceReflectivityColor=vReflectivityColor.rgb;\x0a#ifdef\x20METALLICWORKFLOW\x0avec2\x20metallicRoughness=surfaceReflectivityColor.rg;\x0a#ifdef\x20REFLECTIVITY\x0a#if\x20DEBUGMODE>0\x0aoutParams.surfaceMetallicColorMap=surfaceMetallicOrReflectivityColorMap;\x0a#endif\x0a#ifdef\x20AOSTOREINMETALMAPRED\x0avec3\x20aoStoreInMetalMap=vec3(surfaceMetallicOrReflectivityColorMap.r,surfaceMetallicOrReflectivityColorMap.r,surfaceMetallicOrReflectivityColorMap.r);\x0aoutParams.ambientOcclusionColor=mix(ambientOcclusionColorIn,aoStoreInMetalMap,reflectivityInfos.z);\x0a#endif\x0a#ifdef\x20METALLNESSSTOREINMETALMAPBLUE\x0ametallicRoughness.r*=surfaceMetallicOrReflectivityColorMap.b;\x0a#else\x0ametallicRoughness.r*=surfaceMetallicOrReflectivityColorMap.r;\x0a#endif\x0a#ifdef\x20ROUGHNESSSTOREINMETALMAPALPHA\x0ametallicRoughness.g*=surfaceMetallicOrReflectivityColorMap.a;\x0a#else\x0a#ifdef\x20ROUGHNESSSTOREINMETALMAPGREEN\x0ametallicRoughness.g*=surfaceMetallicOrReflectivityColorMap.g;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0afloat\x20detailRoughness=mix(0.5,detailColor.b,vDetailInfos.w);\x0afloat\x20loLerp=mix(0.,metallicRoughness.g,detailRoughness*2.);\x0afloat\x20hiLerp=mix(metallicRoughness.g,1.,(detailRoughness-0.5)*2.);\x0ametallicRoughness.g=mix(loLerp,hiLerp,step(detailRoughness,0.5));\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0ametallicRoughness.g*=microSurfaceTexel.r;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.metallicRoughness=metallicRoughness;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_METALLICROUGHNESS\x0amicroSurface=1.0-metallicRoughness.g;\x0avec3\x20baseColor=surfaceAlbedo;\x0a#ifdef\x20FROSTBITE_REFLECTANCE\x0aoutParams.surfaceAlbedo=baseColor.rgb*(1.0-metallicRoughness.r);\x0asurfaceReflectivityColor=mix(0.16*reflectance*reflectance,baseColor,metallicRoughness.r);\x0a#else\x0avec3\x20metallicF0=metallicReflectanceFactors.rgb;\x0a#if\x20DEBUGMODE>0\x0aoutParams.metallicF0=metallicF0;\x0a#endif\x0aoutParams.surfaceAlbedo=mix(baseColor.rgb*(1.0-metallicF0),vec3(0.,0.,0.),metallicRoughness.r);\x0asurfaceReflectivityColor=mix(metallicF0,baseColor,metallicRoughness.r);\x0a#endif\x0a#else\x0a#ifdef\x20REFLECTIVITY\x0asurfaceReflectivityColor*=surfaceMetallicOrReflectivityColorMap.rgb;\x0a#if\x20DEBUGMODE>0\x0aoutParams.surfaceReflectivityColorMap=surfaceMetallicOrReflectivityColorMap;\x0a#endif\x0a#ifdef\x20MICROSURFACEFROMREFLECTIVITYMAP\x0amicroSurface*=surfaceMetallicOrReflectivityColorMap.a;\x0amicroSurface*=reflectivityInfos.z;\x0a#else\x0a#ifdef\x20MICROSURFACEAUTOMATIC\x0amicroSurface*=computeDefaultMicroSurface(microSurface,surfaceReflectivityColor);\x0a#endif\x0a#ifdef\x20MICROSURFACEMAP\x0amicroSurface*=microSurfaceTexel.r;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_MICROSURFACE\x0a#endif\x0a#endif\x0a#endif\x0amicroSurface=saturate(microSurface);\x0afloat\x20roughness=1.-microSurface;\x0aoutParams.microSurface=microSurface;\x0aoutParams.roughness=roughness;\x0aoutParams.surfaceReflectivityColor=surfaceReflectivityColor;\x0a}\x0a','_cache','_depthTextureFormat','_webgpuTexture','setVector4','_createInternalTexture','COLOR_ATTACHMENT','\x0a//','RENDERBUFFER','GL_ALPHA_FUNCTION_DST_COLOR','addFallback','_physicsImpostor','angle','substring','getRenderHeight','struct\x20preLightingInfo\x0a{\x0avec3\x20lightOffset;\x0afloat\x20lightDistanceSquared;\x0afloat\x20lightDistance;\x0afloat\x20attenuation;\x0avec3\x20L;\x0avec3\x20H;\x0afloat\x20NdotV;\x0afloat\x20NdotLUnclamped;\x0afloat\x20NdotL;\x0afloat\x20VdotH;\x0afloat\x20roughness;\x0a#ifdef\x20IRIDESCENCE\x0afloat\x20iridescenceIntensity;\x0a#endif\x0a};\x0apreLightingInfo\x20computePointAndSpotPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.lightOffset=lightData.xyz-vPositionW;\x0aresult.lightDistanceSquared=dot(result.lightOffset,result.lightOffset);\x0aresult.lightDistance=sqrt(result.lightDistanceSquared);\x0aresult.L=normalize(result.lightOffset);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0aresult.NdotLUnclamped=dot(N,result.L);\x0aresult.NdotL=saturateEps(result.NdotLUnclamped);\x0areturn\x20result;\x0a}\x0apreLightingInfo\x20computeDirectionalPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.lightDistance=length(-lightData.xyz);\x0aresult.L=normalize(-lightData.xyz);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0aresult.NdotLUnclamped=dot(N,result.L);\x0aresult.NdotL=saturateEps(result.NdotLUnclamped);\x0areturn\x20result;\x0a}\x0apreLightingInfo\x20computeHemisphericPreLightingInfo(vec4\x20lightData,vec3\x20V,vec3\x20N)\x20{\x0apreLightingInfo\x20result;\x0aresult.NdotL=dot(N,lightData.xyz)*0.5+0.5;\x0aresult.NdotL=saturateEps(result.NdotL);\x0aresult.NdotLUnclamped=result.NdotL;\x0a#ifdef\x20SPECULARTERM\x0aresult.L=normalize(lightData.xyz);\x0aresult.H=normalize(V+result.L);\x0aresult.VdotH=saturate(dot(V,result.H));\x0a#endif\x0areturn\x20result;\x0a}','TEXTURE_2D','//Samplers\x0d\x0a','bindUniformBuffer','morphTargetsVertexGlobalDeclaration','_currentTotalIndices','fluidRenderingParticleDiffuseVertexShader','setUIntArray2','originMesh','ALPHA_EQUATION_REVERSE_SUBTRACT','ARRAY_BUFFER','bindUniformBufferBase','directRender','MAINUV1','#version\x20450\x0d\x0a','_renderEncoder','simplePixelShader','CylinderDirectedParticleEmitter','CLIPPLANE5','helperFunctions','vec3\x20','_resetIndexBufferBinding','hasEndpoints','timerQuery','GL_ALPHA_EQUATION_ADD','_previousStartingPointerPosition','setFloatArray2','MapWrite','TEXTURETYPE_UNSIGNED_INT_24_8','clipPlaneFragmentDeclaration','reflectionUVW','_mainRenderPassWrapper','_rebuild','_generatePickInfo','replace','isPresenting','lines','vec4\x20finalColor=vec4(\x0a#ifndef\x20UNLIT\x0a#ifdef\x20REFLECTION\x0afinalIrradiance\x20+\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0afinalSpecularScaled\x20+\x0a#endif\x0a#ifdef\x20SHEEN\x0afinalSheenScaled\x20+\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0afinalClearCoatScaled\x20+\x0a#endif\x0a#ifdef\x20REFLECTION\x0afinalRadianceScaled\x20+\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asheenOut.finalSheenRadianceScaled\x20+\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0aclearcoatOut.finalClearCoatRadianceScaled\x20+\x0a#endif\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0asubSurfaceOut.finalRefraction\x20+\x0a#endif\x0a#endif\x0afinalAmbient\x20+\x0afinalDiffuse,\x0aalpha);\x0a#ifdef\x20LIGHTMAP\x0a#ifndef\x20LIGHTMAPEXCLUDED\x0a#ifdef\x20USELIGHTMAPASSHADOWMAP\x0afinalColor.rgb*=lightmapColor.rgb;\x0a#else\x0afinalColor.rgb+=lightmapColor.rgb;\x0a#endif\x0a#endif\x0a#endif\x0afinalColor.rgb+=finalEmissive;\x0a#define\x20CUSTOM_FRAGMENT_BEFORE_FOG\x0afinalColor=max(finalColor,0.0);\x0a','ZERO','_2DSamplerName','opacityFresnel',',\x20falling\x20back\x20to\x20the\x20','parseGLES3','getUniforms','_isStencilFuncDirty','_defaultAttachments','_emitFunctionFromInclude','mag','TextureWithoutSampler','fileName','platformName','onVRRequestPresentStart','ALPHA_EQUATION_SUBSTRACT','#if\x20defined(BUMP)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x20||\x20defined(DETAIL)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x20\x0avarying\x20mat3\x20vTBN;\x0a#endif\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0auniform\x20mat4\x20normalMatrix;\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x0amat4\x20toNormalMatrix(mat4\x20wMatrix)\x0a{\x0amat4\x20ret=inverse(wMatrix);\x0aret=transpose(ret);\x0aret[0][3]=0.;\x0aret[1][3]=0.;\x0aret[2][3]=0.;\x0aret[3]=vec4(0.,0.,0.,1.);\x0areturn\x20ret;\x0a}\x0a#else\x0amat4\x20toNormalMatrix(mat4\x20m)\x0a{\x0afloat\x0aa00=m[0][0],a01=m[0][1],a02=m[0][2],a03=m[0][3],\x0aa10=m[1][0],a11=m[1][1],a12=m[1][2],a13=m[1][3],\x0aa20=m[2][0],a21=m[2][1],a22=m[2][2],a23=m[2][3],\x0aa30=m[3][0],a31=m[3][1],a32=m[3][2],a33=m[3][3],\x0ab00=a00*a11-a01*a10,\x0ab01=a00*a12-a02*a10,\x0ab02=a00*a13-a03*a10,\x0ab03=a01*a12-a02*a11,\x0ab04=a01*a13-a03*a11,\x0ab05=a02*a13-a03*a12,\x0ab06=a20*a31-a21*a30,\x0ab07=a20*a32-a22*a30,\x0ab08=a20*a33-a23*a30,\x0ab09=a21*a32-a22*a31,\x0ab10=a21*a33-a23*a31,\x0ab11=a22*a33-a23*a32,\x0adet=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;\x0amat4\x20mi=mat4(\x0aa11*b11-a12*b10+a13*b09,\x0aa02*b10-a01*b11-a03*b09,\x0aa31*b05-a32*b04+a33*b03,\x0aa22*b04-a21*b05-a23*b03,\x0aa12*b08-a10*b11-a13*b07,\x0aa00*b11-a02*b08+a03*b07,\x0aa32*b02-a30*b05-a33*b01,\x0aa20*b05-a22*b02+a23*b01,\x0aa10*b10-a11*b08+a13*b06,\x0aa01*b08-a00*b10-a03*b06,\x0aa30*b04-a31*b02+a33*b00,\x0aa21*b02-a20*b04-a23*b00,\x0aa11*b07-a10*b09-a12*b06,\x0aa00*b09-a01*b07+a02*b06,\x0aa31*b01-a30*b03-a32*b00,\x0aa20*b03-a21*b01+a22*b00)/det;\x0areturn\x20mat4(mi[0][0],mi[1][0],mi[2][0],mi[3][0],\x0ami[0][1],mi[1][1],mi[2][1],mi[3][1],\x0ami[0][2],mi[1][2],mi[2][2],mi[3][2],\x0ami[0][3],mi[1][3],mi[2][3],mi[3][3]);\x0a}\x0a#endif\x0a#endif\x0avec3\x20perturbNormalBase(mat3\x20cotangentFrame,vec3\x20normal,float\x20scale)\x0a{\x0a#ifdef\x20NORMALXYSCALE\x0anormal=normalize(normal*vec3(scale,scale,1.0));\x0a#endif\x0areturn\x20normalize(cotangentFrame*normal);\x0a}\x0avec3\x20perturbNormal(mat3\x20cotangentFrame,vec3\x20textureSample,float\x20scale)\x0a{\x0areturn\x20perturbNormalBase(cotangentFrame,textureSample*2.0-1.0,scale);\x0a}\x0amat3\x20cotangent_frame(vec3\x20normal,vec3\x20p,vec2\x20uv,vec2\x20tangentSpaceParams)\x0a{\x0avec3\x20dp1=dFdx(p);\x0avec3\x20dp2=dFdy(p);\x0avec2\x20duv1=dFdx(uv);\x0avec2\x20duv2=dFdy(uv);\x0avec3\x20dp2perp=cross(dp2,normal);\x0avec3\x20dp1perp=cross(normal,dp1);\x0avec3\x20tangent=dp2perp*duv1.x+dp1perp*duv2.x;\x0avec3\x20bitangent=dp2perp*duv1.y+dp1perp*duv2.y;\x0atangent*=tangentSpaceParams.x;\x0abitangent*=tangentSpaceParams.y;\x0afloat\x20det=max(dot(tangent,tangent),dot(bitangent,bitangent));\x0afloat\x20invmax=det==0.0\x20?\x200.0\x20:\x20inversesqrt(det);\x0areturn\x20mat3(tangent*invmax,bitangent*invmax,normal);\x0a}\x0a#endif\x0a','TEXTUREFORMAT_COMPRESSED_RGBA_S3TC_DXT3','baseDepth','updateFloat2','IsExponentOfTwo','_thinInstanceCreateMatrixBuffer','forEach','originalPickingInfo','uniform\x20vec4\x20color;\x0a','isPhysicsEnabled','BC3RGBAUnorm','_resizeOrCreateMultiviewTexture','SNAPSHOTRENDERING_STANDARD','446328qeSvbD','initWebVR','_animationStarted','setFloat','_depthStencilTextureWithStencil','textureNames','colorFormats','registerOutput','pickWorldNormal','GL_ALPHA_FUNCTION_CONSTANT_ALPHA','_webgpuMSAATexture','updateVector3','uniformBlockBinding','\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20sampler\x20imgSampler;\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x201)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20in\x20vec2\x20vTex;\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20texture(sampler2D(img,\x20imgSampler),\x20vTex);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','_movePointerInfo','TEXTUREFORMAT_COMPRESSED_RGB8_ETC2','472ZeGAkz','pbrBlockDirectLighting','TEXTURE_EQUIRECTANGULAR_MODE','UniformBuffer','TEXTUREFORMAT_DEPTH24','TEXTURETYPE_FLOAT','setUsage','\x20\x20var\x20output\x20:\x20FragmentInputs;\x0a\x20\x20','float\x20NdotVUnclamped=dot(normalW,viewDirectionW);\x0afloat\x20NdotV=absEps(NdotVUnclamped);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0avec2\x20AARoughnessFactors=getAARoughnessFactors(normalW.xyz);\x0a#ifdef\x20SPECULARAA\x0aalphaG+=AARoughnessFactors.y;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x0avec3\x20environmentBrdf=getBRDFLookup(NdotV,roughness);\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0a#ifdef\x20RADIANCEOCCLUSION\x0a#ifdef\x20AMBIENTINGRAYSCALE\x0afloat\x20ambientMonochrome=aoOut.ambientOcclusionColor.r;\x0a#else\x0afloat\x20ambientMonochrome=getLuminance(aoOut.ambientOcclusionColor);\x0a#endif\x0afloat\x20seo=environmentRadianceOcclusion(ambientMonochrome,NdotVUnclamped);\x0a#endif\x0a#ifdef\x20HORIZONOCCLUSION\x0a#ifdef\x20BUMP\x0a#ifdef\x20REFLECTIONMAP_3D\x0afloat\x20eho=environmentHorizonOcclusion(-viewDirectionW,normalW,geometricNormalW);\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a','BilateralBlurX','getTimeStep','_wasPreviouslyReady','_ApplyPreProcessing','setAlphaConstants','InvertYPremultiplyAlpha','_webgpuProcessingContext','_MSAAFramebuffer','ASTC8x5UnormSRGB','readBuffer','precision\x20highp\x20float;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec3\x20cameraOffset;\x0auniform\x20vec3\x20up;\x0auniform\x20float\x20luminance;\x0auniform\x20float\x20turbidity;\x0auniform\x20float\x20rayleigh;\x0auniform\x20float\x20mieCoefficient;\x0auniform\x20float\x20mieDirectionalG;\x0auniform\x20vec3\x20sunPosition;\x0a#include<fogFragmentDeclaration>\x0aconst\x20float\x20e=2.71828182845904523536028747135266249775724709369995957;\x0aconst\x20float\x20pi=3.141592653589793238462643383279502884197169;\x0aconst\x20float\x20n=1.0003;\x0aconst\x20float\x20N=2.545E25;\x0aconst\x20float\x20pn=0.035;\x0aconst\x20vec3\x20lambda=vec3(680E-9,550E-9,450E-9);\x0aconst\x20vec3\x20K=vec3(0.686,0.678,0.666);\x0aconst\x20float\x20v=4.0;\x0aconst\x20float\x20rayleighZenithLength=8.4E3;\x0aconst\x20float\x20mieZenithLength=1.25E3;\x0aconst\x20float\x20EE=1000.0;\x0aconst\x20float\x20sunAngularDiameterCos=0.999956676946448443553574619906976478926848692873900859324;\x0aconst\x20float\x20cutoffAngle=pi/1.95;\x0aconst\x20float\x20steepness=1.5;\x0avec3\x20totalRayleigh(vec3\x20lambda)\x0a{\x0areturn\x20(8.0*pow(pi,3.0)*pow(pow(n,2.0)-1.0,2.0)*(6.0+3.0*pn))/(3.0*N*pow(lambda,vec3(4.0))*(6.0-7.0*pn));\x0a}\x0avec3\x20simplifiedRayleigh()\x0a{\x0areturn\x200.0005/vec3(94,40,18);\x0a}\x0afloat\x20rayleighPhase(float\x20cosTheta)\x0a{\x20\x0areturn\x20(3.0/(16.0*pi))*(1.0+pow(cosTheta,2.0));\x0a}\x0avec3\x20totalMie(vec3\x20lambda,vec3\x20K,float\x20T)\x0a{\x0afloat\x20c=(0.2*T\x20)*10E-18;\x0areturn\x200.434*c*pi*pow((2.0*pi)/lambda,vec3(v-2.0))*K;\x0a}\x0afloat\x20hgPhase(float\x20cosTheta,float\x20g)\x0a{\x0areturn\x20(1.0/(4.0*pi))*((1.0-pow(g,2.0))/pow(1.0-2.0*g*cosTheta+pow(g,2.0),1.5));\x0a}\x0afloat\x20sunIntensity(float\x20zenithAngleCos)\x0a{\x0areturn\x20EE*max(0.0,1.0-exp((-(cutoffAngle-acos(zenithAngleCos))/steepness)));\x0a}\x0afloat\x20A=0.15;\x0afloat\x20B=0.50;\x0afloat\x20C=0.10;\x0afloat\x20D=0.20;\x0afloat\x20EEE=0.02;\x0afloat\x20F=0.30;\x0afloat\x20W=1000.0;\x0avec3\x20Uncharted2Tonemap(vec3\x20x)\x0a{\x0areturn\x20((x*(A*x+C*B)+D*EEE)/(x*(A*x+B)+D*F))-EEE/F;\x0a}\x0a#if\x20DITHER\x0a#include<helperFunctions>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0a/**\x0a*--------------------------------------------------------------------------------------------------\x0a*\x20Sky\x20Color\x0a*--------------------------------------------------------------------------------------------------\x0a*/\x0afloat\x20sunfade=1.0-clamp(1.0-exp((sunPosition.y/450000.0)),0.0,1.0);\x0afloat\x20rayleighCoefficient=rayleigh-(1.0*(1.0-sunfade));\x0avec3\x20sunDirection=normalize(sunPosition);\x0afloat\x20sunE=sunIntensity(dot(sunDirection,up));\x0avec3\x20betaR=simplifiedRayleigh()*rayleighCoefficient;\x0avec3\x20betaM=totalMie(lambda,K,turbidity)*mieCoefficient;\x0afloat\x20zenithAngle=acos(max(0.0,dot(up,normalize(vPositionW-cameraPosition+cameraOffset))));\x0afloat\x20sR=rayleighZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\x0afloat\x20sM=mieZenithLength/(cos(zenithAngle)+0.15*pow(93.885-((zenithAngle*180.0)/pi),-1.253));\x0avec3\x20Fex=exp(-(betaR*sR+betaM*sM));\x0afloat\x20cosTheta=dot(normalize(vPositionW-cameraPosition),sunDirection);\x0afloat\x20rPhase=rayleighPhase(cosTheta*0.5+0.5);\x0avec3\x20betaRTheta=betaR*rPhase;\x0afloat\x20mPhase=hgPhase(cosTheta,mieDirectionalG);\x0avec3\x20betaMTheta=betaM*mPhase;\x0avec3\x20Lin=pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*(1.0-Fex),vec3(1.5));\x0aLin*=mix(vec3(1.0),pow(sunE*((betaRTheta+betaMTheta)/(betaR+betaM))*Fex,vec3(1.0/2.0)),clamp(pow(1.0-dot(up,sunDirection),5.0),0.0,1.0));\x0avec3\x20direction=normalize(vPositionW-cameraPosition);\x0afloat\x20theta=acos(direction.y);\x0afloat\x20phi=atan(direction.z,direction.x);\x0avec2\x20uv=vec2(phi,theta)/vec2(2.0*pi,pi)+vec2(0.5,0.0);\x0avec3\x20L0=vec3(0.1)*Fex;\x0afloat\x20sundisk=smoothstep(sunAngularDiameterCos,sunAngularDiameterCos+0.00002,cosTheta);\x0aL0+=(sunE*19000.0*Fex)*sundisk;\x0avec3\x20whiteScale=1.0/Uncharted2Tonemap(vec3(W));\x0avec3\x20texColor=(Lin+L0);\x0atexColor*=0.04\x20;\x0atexColor+=vec3(0.0,0.001,0.0025)*0.3;\x0afloat\x20g_fMaxLuminance=1.0;\x0afloat\x20fLumScaled=0.1/luminance;\x20\x0afloat\x20fLumCompressed=(fLumScaled*(1.0+(fLumScaled/(g_fMaxLuminance*g_fMaxLuminance))))/(1.0+fLumScaled);\x20\x0afloat\x20ExposureBias=fLumCompressed;\x0avec3\x20curr=Uncharted2Tonemap((log2(2.0/pow(luminance,4.0)))*texColor);\x0avec3\x20retColor=curr*whiteScale;\x0a/**\x0a*--------------------------------------------------------------------------------------------------\x0a*\x20Sky\x20Color\x0a*--------------------------------------------------------------------------------------------------\x0a*/\x0afloat\x20alpha=1.0;\x0a#ifdef\x20VERTEXCOLOR\x0aretColor.rgb*=vColor.rgb;\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#if\x20DITHER\x0aretColor.rgb+=dither(gl_FragCoord.xy,0.5);\x0a#endif\x0avec4\x20color=clamp(vec4(retColor.rgb,alpha),0.0,1.0);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','_yOffset','_vrDisplay','webpackChunkBim','ALPHA_MAXIMIZED','boxMin','_emitUniformFromString','createRenderPipeline','volumetricLightScatteringPassPixelShader','_isCullFaceDirty','copy\x20video\x20to\x20texture\x20-\x20invertY=','varyings','ASTC10x8Unorm','supportsUniformBuffers','textureLod(','BilateralBlurY','imageProcessingDeclaration','_setCubeMapTextureParams','_cacheFloatN','setMatrix2x2','onPreKeyboardObservable','test','\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20in\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.x,\x20vTextureSize.y\x20-\x20gl_FragCoord.y),\x200);\x0a\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.xy),\x200);\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20#ifdef\x20PREMULTIPLYALPHA\x0a\x20\x20\x20\x20\x20\x20\x20\x20color.rgb\x20*=\x20color.a;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','simulatePointerMove','_registeredActions','lineVertexShader','vec4','pushDebugGroup','main','CreateNewFromSprite','cellWidth','#if\x20defined(DIFFUSE_ISLINEAR)\x20||\x20defined(EMISSIVE_ISLINEAR)\x0a#include<helperFunctions>\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vUVDiffuse;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vUVOpacity;\x0auniform\x20sampler2D\x20opacitySampler;\x0auniform\x20float\x20opacityIntensity;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avarying\x20vec2\x20vUVEmissive;\x0auniform\x20sampler2D\x20emissiveSampler;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0avarying\x20vec4\x20vColor;\x0a#endif\x0auniform\x20vec4\x20glowColor;\x0a#include<clipPlaneFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\x0avec4\x20finalColor=glowColor;\x0a#ifdef\x20DIFFUSE\x0avec4\x20albedoTexture=texture2D(diffuseSampler,vUVDiffuse);\x0a#ifdef\x20DIFFUSE_ISLINEAR\x0aalbedoTexture=toGammaSpace(albedoTexture);\x0a#endif\x0a#ifdef\x20GLOW\x0afinalColor.a*=albedoTexture.a;\x0a#endif\x0a#ifdef\x20HIGHLIGHT\x0afinalColor.a=albedoTexture.a;\x0a#endif\x0a#endif\x0a#ifdef\x20OPACITY\x0avec4\x20opacityMap=texture2D(opacitySampler,vUVOpacity);\x0a#ifdef\x20OPACITYRGB\x0afinalColor.a*=getLuminance(opacityMap.rgb);\x0a#else\x0afinalColor.a*=opacityMap.a;\x0a#endif\x0afinalColor.a*=opacityIntensity;\x0a#endif\x0a#ifdef\x20VERTEXALPHA\x0afinalColor.a*=vColor.a;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(finalColor.a<ALPHATESTVALUE)\x0adiscard;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0avec4\x20emissive=texture2D(emissiveSampler,vUVEmissive);\x0a#ifdef\x20EMISSIVE_ISLINEAR\x0aemissive=toGammaSpace(emissive);\x0a#endif\x0agl_FragColor=emissive*finalColor;\x0a#else\x0agl_FragColor=finalColor;\x0a#endif\x0a#ifdef\x20HIGHLIGHT\x0agl_FragColor.a=glowColor.a;\x0a#endif\x0a}','IRIDESCENCE','_deviceInputSystem','RGBA8Uint','_bindUnboundFramebuffer','pbrBlockReflectance','fn\x20main','isTrue','start','createComputeContext','captureGPUFrameTime','ALPHA_DISABLE','setIntArray','_emitFunction','_MSAARenderBuffer','_getBuffer','boundingBox','prepareDefines','prePassComposition','float\x20reflectance=max(max(reflectivityOut.surfaceReflectivityColor.r,reflectivityOut.surfaceReflectivityColor.g),reflectivityOut.surfaceReflectivityColor.b);\x0avec3\x20specularEnvironmentR0=reflectivityOut.surfaceReflectivityColor.rgb;\x0a#ifdef\x20METALLICWORKFLOW\x0avec3\x20specularEnvironmentR90=vec3(metallicReflectanceFactors.a);\x0a#else\x20\x0avec3\x20specularEnvironmentR90=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20ALPHAFRESNEL\x0afloat\x20reflectance90=fresnelGrazingReflectance(reflectance);\x0aspecularEnvironmentR90=specularEnvironmentR90*reflectance90;\x0a#endif\x0a','blendFuncSeparate','subtract','restoreSingleAttachmentForRenderTarget','mixPixelShader','alphaTest','TriangleStrip','_userThinInstanceBuffersStorage','No\x20\x22main\x22\x20function\x20found\x20in\x20shader\x20code!\x20Processing\x20aborted.','_videoCompiledShaders','mesh','thinInstanceAddSelf','R32Float','addCPUSkinningFallback','_directionWName','dataStoreArrayBuffer','_definePlanarName','_readTexturePixels','material','#define\x20CLEARCOATREFLECTANCE90\x201.0\x0astruct\x20lightingInfo\x0a{\x0avec3\x20diffuse;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specular;\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec4\x20clearCoat;\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20sheen;\x0a#endif\x0a};\x0afloat\x20adjustRoughnessFromLightProperties(float\x20roughness,float\x20lightRadius,float\x20lightDistance)\x20{\x0a#if\x20defined(USEPHYSICALLIGHTFALLOFF)\x20||\x20defined(USEGLTFLIGHTFALLOFF)\x0afloat\x20lightRoughness=lightRadius/lightDistance;\x0afloat\x20totalRoughness=saturate(lightRoughness+roughness);\x0areturn\x20totalRoughness;\x0a#else\x0areturn\x20roughness;\x0a#endif\x0a}\x0avec3\x20computeHemisphericDiffuseLighting(preLightingInfo\x20info,vec3\x20lightColor,vec3\x20groundColor)\x20{\x0areturn\x20mix(groundColor,lightColor,info.NdotL);\x0a}\x0avec3\x20computeDiffuseLighting(preLightingInfo\x20info,vec3\x20lightColor)\x20{\x0afloat\x20diffuseTerm=diffuseBRDF_Burley(info.NdotL,info.NdotV,info.VdotH,info.roughness);\x0areturn\x20diffuseTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#define\x20inline\x0avec3\x20computeProjectionTextureDiffuseLighting(sampler2D\x20projectionLightSampler,mat4\x20textureProjectionMatrix){\x0avec4\x20strq=textureProjectionMatrix*vec4(vPositionW,1.0);\x0astrq/=strq.w;\x0avec3\x20textureColor=texture2D(projectionLightSampler,strq.xy).rgb;\x0areturn\x20toLinearSpace(textureColor);\x0a}\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20computeDiffuseAndTransmittedLighting(preLightingInfo\x20info,vec3\x20lightColor,vec3\x20transmittance)\x20{\x0afloat\x20NdotL=absEps(info.NdotLUnclamped);\x0afloat\x20wrapNdotL=computeWrappedDiffuseNdotL(NdotL,0.02);\x0afloat\x20trAdapt=step(0.,info.NdotLUnclamped);\x0avec3\x20transmittanceNdotL=mix(transmittance*wrapNdotL,vec3(wrapNdotL),trAdapt);\x0afloat\x20diffuseTerm=diffuseBRDF_Burley(NdotL,info.NdotV,info.VdotH,info.roughness);\x0areturn\x20diffuseTerm*transmittanceNdotL*info.attenuation*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20computeSpecularLighting(preLightingInfo\x20info,vec3\x20N,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20roughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0avec3\x20fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\x0a#ifdef\x20IRIDESCENCE\x0afresnel=mix(fresnel,reflectance0,info.iridescenceIntensity);\x0a#endif\x0afloat\x20distribution=normalDistributionFunction_TrowbridgeReitzGGX(NdotH,alphaG);\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0afloat\x20smithVisibility=smithVisibility_GGXCorrelated(info.NdotL,info.NdotV,alphaG);\x0a#else\x0afloat\x20smithVisibility=smithVisibility_TrowbridgeReitzGGXFast(info.NdotL,info.NdotV,alphaG);\x0a#endif\x0avec3\x20specTerm=fresnel*distribution*smithVisibility;\x0areturn\x20specTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20computeAnisotropicSpecularLighting(preLightingInfo\x20info,vec3\x20V,vec3\x20N,vec3\x20T,vec3\x20B,float\x20anisotropy,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20TdotH=dot(T,info.H);\x0afloat\x20BdotH=dot(B,info.H);\x0afloat\x20TdotV=dot(T,V);\x0afloat\x20BdotV=dot(B,V);\x0afloat\x20TdotL=dot(T,info.L);\x0afloat\x20BdotL=dot(B,info.L);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(info.roughness);\x0avec2\x20alphaTB=getAnisotropicRoughness(alphaG,anisotropy);\x0aalphaTB=max(alphaTB,square(geometricRoughnessFactor));\x0avec3\x20fresnel=fresnelSchlickGGX(info.VdotH,reflectance0,reflectance90);\x0a#ifdef\x20IRIDESCENCE\x0afresnel=mix(fresnel,reflectance0,info.iridescenceIntensity);\x0a#endif\x0afloat\x20distribution=normalDistributionFunction_BurleyGGX_Anisotropic(NdotH,TdotH,BdotH,alphaTB);\x0afloat\x20smithVisibility=smithVisibility_GGXCorrelated_Anisotropic(info.NdotL,info.NdotV,TdotV,BdotV,TdotL,BdotL,alphaTB);\x0avec3\x20specTerm=fresnel*distribution*smithVisibility;\x0areturn\x20specTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec4\x20computeClearCoatLighting(preLightingInfo\x20info,vec3\x20Ncc,float\x20geometricRoughnessFactor,float\x20clearCoatIntensity,vec3\x20lightColor)\x20{\x0afloat\x20NccdotL=saturateEps(dot(Ncc,info.L));\x0afloat\x20NccdotH=saturateEps(dot(Ncc,info.H));\x0afloat\x20clearCoatRoughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(clearCoatRoughness);\x0afloat\x20fresnel=fresnelSchlickGGX(info.VdotH,vClearCoatRefractionParams.x,CLEARCOATREFLECTANCE90);\x0afresnel*=clearCoatIntensity;\x0afloat\x20distribution=normalDistributionFunction_TrowbridgeReitzGGX(NccdotH,alphaG);\x0afloat\x20kelemenVisibility=visibility_Kelemen(info.VdotH);\x0afloat\x20clearCoatTerm=fresnel*distribution*kelemenVisibility;\x0areturn\x20vec4(\x0aclearCoatTerm*info.attenuation*NccdotL*lightColor,\x0a1.0-fresnel\x0a);\x0a}\x0avec3\x20computeClearCoatLightingAbsorption(float\x20NdotVRefract,vec3\x20L,vec3\x20Ncc,vec3\x20clearCoatColor,float\x20clearCoatThickness,float\x20clearCoatIntensity)\x20{\x0avec3\x20LRefract=-refract(L,Ncc,vClearCoatRefractionParams.y);\x0afloat\x20NdotLRefract=saturateEps(dot(Ncc,LRefract));\x0avec3\x20absorption=computeClearCoatAbsorption(NdotVRefract,NdotLRefract,clearCoatColor,clearCoatThickness,clearCoatIntensity);\x0areturn\x20absorption;\x0a}\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20computeSheenLighting(preLightingInfo\x20info,vec3\x20N,vec3\x20reflectance0,vec3\x20reflectance90,float\x20geometricRoughnessFactor,vec3\x20lightColor)\x20{\x0afloat\x20NdotH=saturateEps(dot(N,info.H));\x0afloat\x20roughness=max(info.roughness,geometricRoughnessFactor);\x0afloat\x20alphaG=convertRoughnessToAverageSlope(roughness);\x0afloat\x20fresnel=1.;\x0afloat\x20distribution=normalDistributionFunction_CharlieSheen(NdotH,alphaG);\x0a/*#ifdef\x20SHEEN_SOFTER\x0afloat\x20visibility=visibility_CharlieSheen(info.NdotL,info.NdotV,alphaG);\x0a#else\x20*/\x0afloat\x20visibility=visibility_Ashikhmin(info.NdotL,info.NdotV);\x0a/*\x20#endif\x20*/\x0afloat\x20sheenTerm=fresnel*distribution*visibility;\x0areturn\x20sheenTerm*info.attenuation*info.NdotL*lightColor;\x0a}\x0a#endif\x0a','_getVertexShaderCode','isNDCHalfZRange','_addTextureBindingDescription','worldMatrices','defaultCursor','_collectBindingNames','setAlphaBlendFunctionParameters','Depth24Plus','MODE_MONOSCOPIC','capacity','_pointerDownStage','PrePass\x20and\x20subsurface\x20configuration\x20needs\x20to\x20be\x20enabled\x20for\x20subsurface\x20scattering.','removePendingData','next','bayerDitherFunctions','ACTION_OnPickUpTrigger','blocksWithFallbacks','_sphericalPolynomial','diffusionS','_deserialize','AddModel','onDisposeObservable','TextureCube_','UNSIGNED_INT_24_8','markAsTexturesDirty','GL_ALPHA_EQUATION_MIN','_currentPickResult','iridescenceOutParams\x20iridescenceOut;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20IRIDESCENCE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20iridescenceBlock(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4(','layout(set\x20=\x20','sampler','\x20:\x20','gl_FragCoord','#ifdef\x20_DEFINENAME_\x0a#if\x20_DEFINENAME_DIRECTUV==1\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV1\x0a#elif\x20_DEFINENAME_DIRECTUV==2\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV2\x0a#elif\x20_DEFINENAME_DIRECTUV==3\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV3\x0a#elif\x20_DEFINENAME_DIRECTUV==4\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV4\x0a#elif\x20_DEFINENAME_DIRECTUV==5\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV5\x0a#elif\x20_DEFINENAME_DIRECTUV==6\x0a#define\x20v_VARYINGNAME_UV\x20vMainUV6\x0a#else\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0a#endif\x0a','pbrBlockReflectivity',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20','Filtering','uniform\x20mat4\x20viewProjection;\x0auniform\x20mat4\x20view;\x0a#ifdef\x20DIFFUSE\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20mat4\x20ambientMatrix;\x0auniform\x20vec2\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0auniform\x20mat4\x20emissiveMatrix;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0auniform\x20mat4\x20lightmapMatrix;\x0a#endif\x0a#if\x20defined(SPECULAR)\x20&&\x20defined(SPECULARTERM)\x0auniform\x20vec2\x20vSpecularInfos;\x0auniform\x20mat4\x20specularMatrix;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20mat4\x20bumpMatrix;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0auniform\x20mat4\x20detailMatrix;\x0a#endif\x0a#define\x20ADDITIONAL_VERTEX_DECLARATION\x0a','_onXRFrame','texStorage3D','GLSL','readDataFromBuffer','BC1RGBAUnorm','_partialLoadFile','NAME_PHYSICSENGINE','_copyInvertYBindGroup','fetchNewFrame','defineNames','updateFlag','UNSIGNED_INT','readValues','MouseWheelZ','_bufferViewArray','_device','boundingBoxRendererPixelShader','_releaseFramebufferObjects','deleteCompoundImpostor','TEXTUREFORMAT_LUMINANCE','underlyingResource','_addBufferBindingDescription','CopyVideoToTexture_','ALPHA_LAYER_ACCUMULATE','_advancePhysicsEngineStep','#ifndef','createRawCubeTextureFromUrl','_BuildSubExpression','setEnabled','setTexture','cellPixelShader','\x0a\x20\x20\x20\x20#extension\x20GL_EXT_samplerless_texture_functions\x20:\x20enable\x0a\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x200)\x20uniform\x20texture2D\x20img;\x0a\x20\x20\x20\x20layout(set\x20=\x200,\x20binding\x20=\x201)\x20uniform\x20Params\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20ofstX;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20ofstY;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20width;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20height;\x0a\x20\x20\x20\x20};\x0a\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20layout(location\x20=\x200)\x20in\x20flat\x20ivec2\x20vTextureSize;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20layout(location\x20=\x200)\x20out\x20vec4\x20outColor;\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(gl_FragCoord.x\x20<\x20ofstX\x20||\x20gl_FragCoord.x\x20>=\x20ofstX\x20+\x20width)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(gl_FragCoord.y\x20<\x20ofstY\x20||\x20gl_FragCoord.y\x20>=\x20ofstY\x20+\x20height)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#ifdef\x20INVERTY\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.x,\x20ofstY\x20+\x20height\x20-\x20(gl_FragCoord.y\x20-\x20ofstY)),\x200);\x0a\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20texelFetch(img,\x20ivec2(gl_FragCoord.xy),\x200);\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20#ifdef\x20PREMULTIPLYALPHA\x0a\x20\x20\x20\x20\x20\x20\x20\x20color.rgb\x20*=\x20color.a;\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20outColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','BC4RUnorm','ShadersStoreWGSL','attachControl','pbrDebug','MATERIAL_TriangleFillMode','pbrBlockAlphaFresnel','getGPUFrameTimeCounter','dispose','_projectOnUnIndexedTrianglesToRef','createCanvas','vec4\x20glFragCoord_;\x0a','createTexture','RG8Snorm','_canUseMultipleBuffers',',\x201.,\x20','createRawCubeTexture','_textureBlurred','Process','GL_ALPHA_FUNCTION_SRC_ALPHA','applyBlurPostProcesses','DEPTH32F_STENCIL8','deviceSlot','CLAMP_ADDRESSMODE','#ifdef\x20LOGARITHMICDEPTH\x0agl_FragDepthEXT=log2(vFragmentDepth)*logarithmicDepthConstant*0.5;\x0a#endif\x0a','createCommandEncoder','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20LensCenter;\x0auniform\x20vec2\x20Scale;\x0auniform\x20vec2\x20ScaleIn;\x0auniform\x20vec4\x20HmdWarpParam;\x0avec2\x20HmdWarp(vec2\x20in01)\x20{\x0avec2\x20theta=(in01-LensCenter)*ScaleIn;\x20\x0afloat\x20rSq=theta.x*theta.x+theta.y*theta.y;\x0avec2\x20rvector=theta*(HmdWarpParam.x+HmdWarpParam.y*rSq+HmdWarpParam.z*rSq*rSq+HmdWarpParam.w*rSq*rSq*rSq);\x0areturn\x20LensCenter+Scale*rvector;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20tc=HmdWarp(vUV);\x0aif\x20(tc.x\x20<0.0\x20||\x20tc.x>1.0\x20||\x20tc.y<0.0\x20||\x20tc.y>1.0)\x0agl_FragColor=vec4(0.0,0.0,0.0,0.0);\x0aelse{\x0agl_FragColor=texture2D(textureSampler,tc);\x0a}\x0a}','getUniqueId','incrementReferences','_zOffsetUnits','RightClick','[0..','_bundleLists','_SamplerTypeByWebGLSamplerType','_isBlendEquationParametersDirty','_attached','DepthStencil','_submitVRFrame','setFileName','onLoadedObservable','applyToShader','_onGenerateOnlyFragmentCodeChanged','removeTags','generateStencilBuffer','format','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20','#ifdef\x20CLIPPLANE\x0avarying\x20fClipDistance:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0avarying\x20fClipDistance2:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0avarying\x20fClipDistance3:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0avarying\x20fClipDistance4:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0avarying\x20fClipDistance5:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0avarying\x20fClipDistance6:\x20f32;\x0a#endif\x0a','getTransformMatrix','u32','textureBlocks','preventDefaultOnPointerDown','_isDepthFuncDirty',';\x0a\x20\x20output.position.y\x20=\x20output.position.y\x20*\x20internals.yFactor_;\x0a','pvrtc','#ifdef\x20CLIPPLANE\x0auniform\x20vClipPlane:\x20vec4<f32>;\x0avarying\x20fClipDistance:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0auniform\x20vClipPlane2:\x20vec4<f32>;\x0avarying\x20fClipDistance2:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0auniform\x20vClipPlane3:\x20vec4<f32>;\x0avarying\x20fClipDistance3:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0auniform\x20vClipPlane4:\x20vec4<f32>;\x0avarying\x20fClipDistance4:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0auniform\x20vClipPlane5:\x20vec4<f32>;\x0avarying\x20fClipDistance5:\x20f32;\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0auniform\x20vClipPlane6:\x20vec4<f32>;\x0avarying\x20fClipDistance6:\x20f32;\x0a#endif\x0a','#if\x20','_alreadyAttached','heightRange','void\x20main','createRenderBundleEncoder','_thinInstanceDataStorage','_bindTextureRenderTarget','getInputBlockByPredicate','LINEAR','thinInstanceBufferUpdated','TEXTURE_CUBE_MAP_POSITIVE_Z','Build\x20of\x20NodeMaterial\x20failed:\x0d\x0a','renderWidth','isConnected','unTranslatedPointer','instancesCount','.texture\x20=\x20new\x20BABYLON.Texture(\x22','precision\x20highp\x20float;\x0a#include<__decl__pbrVertex>\x0a#define\x20CUSTOM_VERTEX_BEGIN\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0aattribute\x20vec4\x20tangent;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#include<uvAttributeDeclaration>[2..7]\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<helperFunctions>\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0a#include<prePassVertexDeclaration>\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness)\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy)\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity)\x0a#include<samplerVertexDeclaration>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity)\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#if\x20DEBUGMODE>0\x0avarying\x20vec4\x20vClipSpacePosition;\x0a#endif\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avarying\x20vec3\x20vEnvironmentIrradiance;\x0a#include<harmonicsFunctions>\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<bumpVertexDeclaration>\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightVxFragment>[0..maxSimultaneousLights]\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20positionUpdated=position;\x0a#ifdef\x20NORMAL\x0avec3\x20normalUpdated=normal;\x0a#endif\x0a#ifdef\x20TANGENT\x0avec4\x20tangentUpdated=tangent;\x0a#endif\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avPositionUVW=positionUpdated;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_POSITION\x0a#define\x20CUSTOM_VERTEX_UPDATE_NORMAL\x0a#include<instancesVertex>\x0a#if\x20defined(PREPASS)\x20&&\x20defined(PREPASS_VELOCITY)\x20&&\x20!defined(BONES_VELOCITY_ENABLED)\x0avCurrentPosition=viewProjection*finalWorld*vec4(positionUpdated,1.0);\x0avPreviousPosition=previousViewProjection*finalPreviousWorld*vec4(positionUpdated,1.0);\x0a#endif\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(positionUpdated,1.0);\x0avPositionW=vec3(worldPos);\x0a#include<prePassVertex>\x0a#ifdef\x20NORMAL\x0amat3\x20normalWorld=mat3(finalWorld);\x0a#if\x20defined(INSTANCES)\x20&&\x20defined(THIN_INSTANCES)\x0avNormalW=normalUpdated/vec3(dot(normalWorld[0],normalWorld[0]),dot(normalWorld[1],normalWorld[1]),dot(normalWorld[2],normalWorld[2]));\x0avNormalW=normalize(normalWorld*vNormalW);\x0a#else\x0a#ifdef\x20NONUNIFORMSCALING\x0anormalWorld=transposeMat3(inverseMat3(normalWorld));\x0a#endif\x0avNormalW=normalize(normalWorld*normalUpdated);\x0a#endif\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avec3\x20reflectionVector=vec3(reflectionMatrix*vec4(vNormalW,0)).xyz;\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0areflectionVector.z*=-1.0;\x0a#endif\x0avEnvironmentIrradiance=computeEnvironmentIrradiance(reflectionVector);\x0a#endif\x0a#endif\x0a#define\x20CUSTOM_VERTEX_UPDATE_WORLDPOS\x0a#ifdef\x20MULTIVIEW\x0aif\x20(gl_ViewID_OVR==0u)\x20{\x0agl_Position=viewProjection*worldPos;\x0a}\x20else\x20{\x0agl_Position=viewProjectionR*worldPos;\x0a}\x0a#else\x0agl_Position=viewProjection*worldPos;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avClipSpacePosition=gl_Position;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avDirectionW=normalize(vec3(finalWorld*vec4(positionUpdated,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uvUpdated=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20MAINUV1\x0avMainUV1=uvUpdated;\x0a#endif\x0a#include<uvVariableDeclaration>[2..7]\x0a#include<samplerVertexImplementation>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_MATRIXNAME_,albedo,_INFONAME_,AlbedoInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,DETAIL,_VARYINGNAME_,Detail,_MATRIXNAME_,detail,_INFONAME_,DetailInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_MATRIXNAME_,ambient,_INFONAME_,AmbientInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_MATRIXNAME_,opacity,_INFONAME_,OpacityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_MATRIXNAME_,emissive,_INFONAME_,EmissiveInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_MATRIXNAME_,lightmap,_INFONAME_,LightmapInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_MATRIXNAME_,reflectivity,_INFONAME_,ReflectivityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_MATRIXNAME_,microSurfaceSampler,_INFONAME_,MicroSurfaceSamplerInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_MATRIXNAME_,metallicReflectance,_INFONAME_,MetallicReflectanceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_MATRIXNAME_,reflectance,_INFONAME_,ReflectanceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,BUMP,_VARYINGNAME_,Bump,_MATRIXNAME_,bump,_INFONAME_,BumpInfos.x)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_MATRIXNAME_,clearCoat,_INFONAME_,ClearCoatInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness,_MATRIXNAME_,clearCoatRoughness,_INFONAME_,ClearCoatInfos.z)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_MATRIXNAME_,clearCoatBump,_INFONAME_,ClearCoatBumpInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_MATRIXNAME_,clearCoatTint,_INFONAME_,ClearCoatTintInfos.x)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_MATRIXNAME_,iridescence,_INFONAME_,IridescenceInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_MATRIXNAME_,iridescenceThickness,_INFONAME_,IridescenceInfos.z)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness,_MATRIXNAME_,sheen,_INFONAME_,SheenInfos.z)\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include<samplerVertexImplementation>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy,_MATRIXNAME_,anisotropy,_INFONAME_,AnisotropyInfos.x)\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_MATRIXNAME_,thickness,_INFONAME_,ThicknessInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_MATRIXNAME_,refractionIntensity,_INFONAME_,RefractionIntensityInfos.x)\x0a#include<samplerVertexImplementation>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_MATRIXNAME_,translucencyIntensity,_INFONAME_,TranslucencyIntensityInfos.x)\x0a#endif\x0a#include<bumpVertex>\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4','TEXTURETYPE_UNSIGNED_SHORT_4_4_4_4\x20format\x20not\x20supported\x20in\x20WebGPU','_defineExplicitName','_totalPointersPressed','setDepthCompare','colorAttachmentGPUTextures','//\x20Internals\x20UBO\x0d\x0auniform\x20','#define\x20IOR\x201.333\x0a#define\x20ETA\x201.0/IOR\x0a#define\x20F0\x200.02\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0a#ifdef\x20FLUIDRENDERING_DIFFUSETEXTURE\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#else\x0auniform\x20vec3\x20diffuseColor;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_FIXED_THICKNESS\x0auniform\x20float\x20thickness;\x0auniform\x20sampler2D\x20bgDepthSampler;\x0a#else\x0auniform\x20float\x20minimumThickness;\x0auniform\x20sampler2D\x20thicknessSampler;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_ENVIRONMENT\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#endif\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_TEXTURE)\x0auniform\x20sampler2D\x20debugSampler;\x0a#endif\x0auniform\x20mat4\x20viewMatrix;\x0auniform\x20mat4\x20projectionMatrix;\x0auniform\x20mat4\x20invProjectionMatrix;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20vec3\x20dirLight;\x0auniform\x20float\x20cameraFar;\x0auniform\x20float\x20density;\x0auniform\x20float\x20refractionStrength;\x0auniform\x20float\x20fresnelClamp;\x0auniform\x20float\x20specularPower;\x0avarying\x20vec2\x20vUV;\x0avec3\x20computeViewPosFromUVDepth(vec2\x20texCoord,float\x20depth)\x20{\x0avec4\x20ndc;\x0andc.xy=texCoord*2.0-1.0;\x0a#ifdef\x20FLUIDRENDERING_RHS\x0andc.z=-projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0a#else\x0andc.z=projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0a#endif\x0andc.w=1.0;\x0avec4\x20eyePos=invProjectionMatrix*ndc;\x0aeyePos.xyz/=eyePos.w;\x0areturn\x20eyePos.xyz;\x0a}\x0avec3\x20getViewPosFromTexCoord(vec2\x20texCoord)\x20{\x0afloat\x20depth=textureLod(depthSampler,texCoord,0.).x;\x0areturn\x20computeViewPosFromUVDepth(texCoord,depth);\x0a}\x0avoid\x20main(void)\x20{\x0avec2\x20texCoord=vUV;\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_TEXTURE)\x0avec4\x20color=texture2D(debugSampler,texCoord);\x0a#ifdef\x20FLUIDRENDERING_DEBUG_DEPTH\x0aglFragColor=vec4(color.rgb/vec3(2.0),1.);\x0aif\x20(color.r>0.999\x20&&\x20color.g>0.999)\x20{\x0aglFragColor=texture2D(textureSampler,texCoord);\x0a}\x0a#else\x0aglFragColor=vec4(color.rgb,1.);\x0aif\x20(color.r<0.001\x20&&\x20color.g<0.001\x20&&\x20color.b<0.001)\x20{\x0aglFragColor=texture2D(textureSampler,texCoord);\x0a}\x0a#endif\x0areturn;\x0a#endif\x0avec2\x20depthVel=textureLod(depthSampler,texCoord,0.).rg;\x0afloat\x20depth=depthVel.r;\x0a#ifndef\x20FLUIDRENDERING_FIXED_THICKNESS\x0afloat\x20thickness=texture2D(thicknessSampler,texCoord).x;\x0a#else\x0afloat\x20bgDepth=texture2D(bgDepthSampler,texCoord).x;\x0afloat\x20depthNonLinear=projectionMatrix[2].z+projectionMatrix[3].z/depth;\x0adepthNonLinear=depthNonLinear*0.5+0.5;\x0a#endif\x0avec3\x20backColor=texture2D(textureSampler,texCoord).rgb;\x0a#ifndef\x20FLUIDRENDERING_FIXED_THICKNESS\x0aif\x20(depth>=cameraFar\x20||\x20depth<=0.\x20||\x20thickness<=minimumThickness)\x20{\x0a#else\x0aif\x20(depth>=cameraFar\x20||\x20depth<=0.\x20||\x20bgDepth<=depthNonLinear)\x20{\x0a#endif\x0aglFragColor=vec4(backColor,1.);\x0areturn;\x0a}\x0avec3\x20viewPos=computeViewPosFromUVDepth(texCoord,depth);\x0avec3\x20ddx=getViewPosFromTexCoord(texCoord+vec2(texelSize.x,0.))-viewPos;\x0avec3\x20ddy=getViewPosFromTexCoord(texCoord+vec2(0.,texelSize.y))-viewPos;\x0avec3\x20ddx2=viewPos-getViewPosFromTexCoord(texCoord+vec2(-texelSize.x,0.));\x0aif\x20(abs(ddx.z)>abs(ddx2.z))\x20{\x0addx=ddx2;\x0a}\x0avec3\x20ddy2=viewPos-getViewPosFromTexCoord(texCoord+vec2(0.,-texelSize.y));\x0aif\x20(abs(ddy.z)>abs(ddy2.z))\x20{\x0addy=ddy2;\x0a}\x0avec3\x20normal=normalize(cross(ddy,ddx));\x0a#ifdef\x20FLUIDRENDERING_RHS\x0anormal=-normal;\x0a#endif\x0a#ifndef\x20WEBGPU\x0aif(isnan(normal.x)\x20||\x20isnan(normal.y)\x20||\x20isnan(normal.z)\x20||\x20isinf(normal.x)\x20||\x20isinf(normal.y)\x20||\x20isinf(normal.z))\x20{\x0anormal=vec3(0.,0.,-1.);\x0a}\x0a#endif\x0a#if\x20defined(FLUIDRENDERING_DEBUG)\x20&&\x20defined(FLUIDRENDERING_DEBUG_SHOWNORMAL)\x0aglFragColor=vec4(normal*0.5+0.5,1.0);\x0areturn;\x0a#endif\x0avec3\x20rayDir=normalize(viewPos);\x20\x0a#ifdef\x20FLUIDRENDERING_DIFFUSETEXTURE\x0avec3\x20diffuseColor=texture2D(diffuseSampler,texCoord).rgb;\x0a#endif\x0avec3\x20lightDir=normalize(vec3(viewMatrix*vec4(-dirLight,0.)));\x0avec3\x20H\x20=normalize(lightDir-rayDir);\x0afloat\x20specular=pow(max(0.0,dot(H,normal)),specularPower);\x0a#ifdef\x20FLUIDRENDERING_DEBUG_DIFFUSERENDERING\x0afloat\x20diffuse\x20=max(0.0,dot(lightDir,normal))*1.0;\x0aglFragColor=vec4(vec3(0.1)\x20/*ambient*/+vec3(0.42,0.50,1.00)*diffuse+vec3(0,0,0.2)+specular,1.);\x0areturn;\x0a#endif\x0avec3\x20refractionDir=refract(rayDir,normal,ETA);\x0avec3\x20transmitted=(texture2D(textureSampler,vec2(texCoord+refractionDir.xy*thickness*refractionStrength)).rgb);\x0avec3\x20transmittance=exp(-density*thickness*(1.0-diffuseColor));\x20\x0avec3\x20refractionColor=transmitted*transmittance;\x0a#ifdef\x20FLUIDRENDERING_ENVIRONMENT\x0avec3\x20reflectionDir=reflect(rayDir,normal);\x0avec3\x20reflectionColor=(textureCube(reflectionSampler,reflectionDir).rgb);\x0afloat\x20fresnel=clamp(F0+(1.0-F0)*pow(1.0-dot(normal,-rayDir),5.0),0.,fresnelClamp);\x0avec3\x20finalColor=mix(refractionColor,reflectionColor,fresnel)+specular;\x0a#else\x0avec3\x20finalColor=refractionColor+specular;\x0a#endif\x0a#ifdef\x20FLUIDRENDERING_VELOCITY\x0afloat\x20velocity=depthVel.g;\x0afinalColor=mix(finalColor,vec3(1.0),smoothstep(0.3,1.0,velocity/6.0));\x0a#endif\x0aglFragColor=vec4(finalColor,1.);\x0a}\x0a','TEXTURE_CLAMP_ADDRESSMODE','TEXTUREFORMAT_LUMINANCE_ALPHA\x20format\x20not\x20supported\x20in\x20WebGPU','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0aconst\x20vec3\x20RGBLuminanceCoefficients=vec3(0.2126,0.7152,0.0722);\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20tex=texture2D(textureSampler,vUV);\x0avec3\x20c=tex.rgb;\x0afloat\x20luma=dot(c.rgb,RGBLuminanceCoefficients);\x0agl_FragColor=vec4(pow(c,vec3(25.0-luma*15.0)),tex.a);\x20\x0a}','startDirectionFunction','_isZOffsetDirty','uniformRegexp','furPixelShader','source','blendMode','_samplerDeclaration','onPointerObservable','\x0a\x20\x20\x20\x20const\x20vec2\x20pos[4]\x20=\x20vec2[4](vec2(-1.0f,\x201.0f),\x20vec2(1.0f,\x201.0f),\x20vec2(-1.0f,\x20-1.0f),\x20vec2(1.0f,\x20-1.0f));\x0a\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20gl_Position\x20=\x20vec4(pos[gl_VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','handleFragmentSideInits','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0auniform\x20mat4\x20world;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0agl_Position=viewProjection*world*vec4(position,1.0);\x0avec4\x20worldPos=world*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#ifdef\x20VERTEXCOLOR\x0avColor=color;\x0a#endif\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','refreshBoundingInfo','gpuUpdateParticlesPixelShader','setAlphaBlendConstants','indexParameters','_context','samplingMode','Matrix','pbrBlockNormalGeometric','MaterialStencilState','acos','.xyz,\x200.0)));\x0d\x0a','_hasSwiped','setArray3','needShaderCodeInlining','setPointerOverMesh','_defineMirroredEquirectangularFixedName','setImmediate','createMultipleRenderTarget','depthThreshold','markAllAsDirty','createCubeTextureBase','PREPASS_ALBEDO_SQRT_TEXTURE_TYPE','direction1','FALLOFF_GLTF','process','boundingBoxRendererVertexShader','_irradianceTexture','triplanarVertexShader','fragmentShader','binding','RGB\x20format\x20not\x20supported\x20in\x20WebGPU','clipPlane3','deleteQuery','cos','.z\x20*=\x20-1.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','TEXTURE_FIXED_EQUIRECTANGULAR_MODE','bind','.xyz;\x0d\x0a','fluidRenderingRenderPixelShader','setStencilEnabled','HasStencilAspect','depthValue','line','onVRRequestPresentComplete','_pointerOverDisableMeshTesting','texture3D','baseHeight','_pickedUpMesh','_compiledComputeEffects','shadowMapVertexMetric','BUFFER_CREATIONFLAG_STORAGE','_removeOnDetach','bindForSubMesh','copyFromFloats','availableSamplers','updateMatrix3x3','metersPerUnit','generateDepthTexture','sampler3D','slice','LeftClick','fireVertexShader','loop','vClipPlane6','#if\x20SM_USEDISTANCE==1\x0avPositionWSM=worldPos.xyz;\x0a#endif\x0a#if\x20SM_DEPTHTEXTURE==1\x0a#ifdef\x20IS_NDC_HALF_ZRANGE\x0a#define\x20BIASFACTOR\x200.5\x0a#else\x0a#define\x20BIASFACTOR\x201.0\x0a#endif\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0agl_Position.z-=biasAndScaleSM.x*gl_Position.w*BIASFACTOR;\x0a#else\x0agl_Position.z+=biasAndScaleSM.x*gl_Position.w*BIASFACTOR;\x0a#endif\x0a#endif\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0azSM=gl_Position.z;\x0agl_Position.z=0.0;\x0a#elif\x20SM_USEDISTANCE==0\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0avDepthMetricSM=(-gl_Position.z+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0avDepthMetricSM=(gl_Position.z+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#endif\x0a','ASTC8x6Unorm','DEPTH_COMPONENT32F','_SimplifiedKnownUBOs','detach','_appendSpriteVertex','struct\x20','needsPreviousWorldMatrices','geometryVertexShader','Invalid\x20multiview\x20frame\x20buffer','bilinearFiltering','DEPTH_STENCIL_ATTACHMENT','TEXTURE_CUBE_MAP_POSITIVE_Y','blurDepthScale','attributeKeywordName','getQueryResult','getWidth','_occlusionQuery','_currentDrawContext','RGB10A2Unorm','viewProjectionR','LIGHTTYPEID_HEMISPHERICLIGHT','registerInput','_multiviewSceneUbo','_useInstancing','_endRenderTargetRenderPass','bindingIndex','_getDepthThreshold','firePixelShader','unBindMesh','_coroutineScheduler','thinInstanceCount','createDynamicUniformBuffer','_prepareVRComponent','_isStencilTestDirty','_delayedSimpleClick','_MoveCursor','enablePointerMoveEvents','setHardwareScalingLevel','depthTextureFormat','exitPointerLock','distanceOrScreenCoverage','normalize',')\x20var<uniform>\x20uniforms\x20:\x20','_bindTextureDirectly','_areLightsDirty','_currentRenderPass','remove','KEYDOWN','_finalizeFrame','createRawTexture2DArray','foveationLevel','R8Uint','resolution','};\x0a\x0a','_pickMove','BuildArray','_finishBundle','connectTo','isAsync','TEXTURE_NEAREST_LINEAR_MIPNEAREST','getEngine','glFragData','\x5cs*\x5c[(.*)\x5c]','infixToPostfix','uniform\x20vec4\x20color;\x0avoid\x20main()\x20{\x0agl_FragColor=color;\x0a}\x0a','uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec4\x20vEyePosition;\x0a','isRightCamera','Uint16','_getVRDisplaysAsync','_IsHardwareTexture','opStencilDepthPass','#define\x20SPHEREEMITTER','getVaryingNextLocation','_isBlendFunctionParametersDirty','TEXTURETYPE_INT','precision\x20highp\x20float','layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x0a{\x0auniform\x20vec4\x20vPrimaryColor;\x0auniform\x20vec4\x20vPrimaryColorShadow;\x0auniform\x20vec2\x20vDiffuseInfos;\x0auniform\x20vec2\x20vReflectionInfos;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20mat4\x20reflectionMatrix;\x0auniform\x20vec3\x20vReflectionMicrosurfaceInfos;\x0auniform\x20float\x20fFovMultiplier;\x0auniform\x20float\x20pointSize;\x0auniform\x20float\x20shadowLevel;\x0auniform\x20float\x20alpha;\x0a#if\x20defined(REFLECTIONFRESNEL)\x20||\x20defined(OPACITYFRESNEL)\x0auniform\x20vec3\x20vBackgroundCenter;\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20vReflectionControl;\x0a#endif\x0a};\x0a#include<sceneUboDeclaration>\x0a','updateRawTexture','Stencil8','All','isAttribute','Too\x20many\x20textures\x20or\x20UBOs\x20have\x20been\x20declared\x20and\x20it\x20is\x20not\x20supported\x20in\x20WebGPU.','halfDome','TEXTURETYPE_UNSIGNED_INTEGER','_cloneRenderTargetWrapper','_enabled','dynamicUniformBlocks','bindUniformBlock','framebufferRenderbuffer','struct\x20FragmentOutputs\x20{\x0a\x20\x20@location(0)\x20color\x20:\x20vec4<f32>,\x0a','shadowMapUboDeclaration','ACTION_OnLongPressTrigger','uniform\x20float\x20depthValue;\x0aconst\x20vec2\x20pos[4]={\x0avec2(-1.0,1.0),\x0avec2(1.0,1.0),\x0avec2(-1.0,-1.0),\x0avec2(1.0,-1.0)\x0a};\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0agl_Position=vec4(pos[gl_VertexID],depthValue,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','fogMode','_webGLTexture','isMultiview','oculusMultiview','varyingDeclaration','uniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0a#if\x20defined(PASS_POST_PROCESS)\x0avoid\x20main(void)\x0a{\x0avec4\x20color=texture2D(textureSampler,vUV);\x0agl_FragColor=color;\x0a}\x0a#endif\x0a#if\x20defined(DOWN_SAMPLE_X4)\x0auniform\x20vec2\x20dsOffsets[16];\x0avoid\x20main(void)\x0a{\x0avec4\x20average=vec4(0.0,0.0,0.0,0.0);\x0aaverage=texture2D(textureSampler,vUV+dsOffsets[0]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[1]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[2]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[3]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[4]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[5]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[6]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[7]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[8]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[9]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[10]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[11]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[12]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[13]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[14]);\x0aaverage+=texture2D(textureSampler,vUV+dsOffsets[15]);\x0aaverage/=16.0;\x0agl_FragColor=average;\x0a}\x0a#endif\x0a#if\x20defined(BRIGHT_PASS)\x0auniform\x20vec2\x20dsOffsets[4];\x0auniform\x20float\x20brightThreshold;\x0avoid\x20main(void)\x0a{\x0avec4\x20average=vec4(0.0,0.0,0.0,0.0);\x0aaverage=texture2D(textureSampler,vUV+vec2(dsOffsets[0].x,dsOffsets[0].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[1].x,dsOffsets[1].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[2].x,dsOffsets[2].y));\x0aaverage+=texture2D(textureSampler,vUV+vec2(dsOffsets[3].x,dsOffsets[3].y));\x0aaverage*=0.25;\x0afloat\x20luminance=length(average.rgb);\x0aif\x20(luminance<brightThreshold)\x20{\x0aaverage=vec4(0.0,0.0,0.0,1.0);\x0a}\x0agl_FragColor=average;\x0a}\x0a#endif\x0a#if\x20defined(TEXTURE_ADDER)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20lensSampler;\x0auniform\x20float\x20exposure;\x0avoid\x20main(void)\x0a{\x0avec3\x20colour=texture2D(textureSampler,vUV).rgb;\x0acolour*=exposure;\x0avec3\x20X=max(vec3(0.0,0.0,0.0),colour-0.004);\x0avec3\x20retColor=(X*(6.2*X+0.5))/(X*(6.2*X+1.7)+0.06);\x0acolour=retColor*retColor;\x0acolour+=colour*texture2D(lensSampler,vUV).rgb;\x0avec4\x20finalColor=vec4(colour.rgb,1.0)+texture2D(otherSampler,vUV);\x0agl_FragColor=finalColor;\x0a}\x0a#endif\x0a#if\x20defined(VLS)\x0a#define\x20PI\x203.1415926535897932384626433832795\x0auniform\x20mat4\x20shadowViewProjection;\x0auniform\x20mat4\x20lightWorld;\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec3\x20sunDirection;\x0auniform\x20vec3\x20sunColor;\x0auniform\x20vec2\x20depthValues;\x0auniform\x20float\x20scatteringCoefficient;\x0auniform\x20float\x20scatteringPower;\x0auniform\x20sampler2D\x20shadowMapSampler;\x0auniform\x20sampler2D\x20positionSampler;\x0afloat\x20computeScattering(float\x20lightDotView)\x0a{\x0afloat\x20result=1.0-scatteringCoefficient*scatteringCoefficient;\x0aresult/=(4.0*PI*pow(1.0+scatteringCoefficient*scatteringCoefficient-(2.0*scatteringCoefficient)*lightDotView,1.5));\x0areturn\x20result;\x0a}\x0avoid\x20main(void)\x0a{\x0avec3\x20worldPos=texture2D(positionSampler,vUV).rgb;\x0avec3\x20startPosition=cameraPosition;\x0avec3\x20rayVector=worldPos-startPosition;\x0afloat\x20rayLength=length(rayVector);\x0avec3\x20rayDirection=rayVector/rayLength;\x0afloat\x20stepLength=rayLength/NB_STEPS;\x0avec3\x20stepL=rayDirection*stepLength;\x0avec3\x20currentPosition=startPosition;\x0avec3\x20accumFog=vec3(0.0);\x0afor\x20(int\x20i=0;\x20i<int(NB_STEPS);\x20i++)\x0a{\x0avec4\x20worldInShadowCameraSpace=shadowViewProjection*vec4(currentPosition,1.0);\x0afloat\x20depthMetric=\x20(worldInShadowCameraSpace.z+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.0,1.0);\x0aworldInShadowCameraSpace.xyz/=worldInShadowCameraSpace.w;\x0aworldInShadowCameraSpace.xyz=0.5*worldInShadowCameraSpace.xyz+vec3(0.5);\x0afloat\x20shadowMapValue=texture2D(shadowMapSampler,worldInShadowCameraSpace.xy).r;\x0aif\x20(shadowMapValue>shadowPixelDepth)\x0aaccumFog+=sunColor*computeScattering(dot(rayDirection,sunDirection));\x0acurrentPosition+=stepL;\x0a}\x0aaccumFog/=NB_STEPS;\x0avec3\x20color=accumFog*scatteringPower;\x0agl_FragColor=vec4(color*exp(color)\x20,1.0);\x0a}\x0a#endif\x0a#if\x20defined(VLSMERGE)\x0auniform\x20sampler2D\x20originalSampler;\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(originalSampler,vUV)+texture2D(textureSampler,vUV);\x0a}\x0a#endif\x0a#if\x20defined(LUMINANCE)\x0auniform\x20vec2\x20lumOffsets[4];\x0avoid\x20main()\x0a{\x0afloat\x20average=0.0;\x0avec4\x20color=vec4(0.0);\x0afloat\x20maximum=-1e20;\x0avec3\x20weight=vec3(0.299,0.587,0.114);\x0afor\x20(int\x20i=0;\x20i<4;\x20i++)\x0a{\x0acolor=texture2D(textureSampler,vUV+\x20lumOffsets[i]);\x0afloat\x20GreyValue=dot(color.rgb,vec3(0.33,0.33,0.33));\x0a#ifdef\x20WEIGHTED_AVERAGE\x0afloat\x20GreyValue=dot(color.rgb,weight);\x0a#endif\x0a#ifdef\x20BRIGHTNESS\x0afloat\x20GreyValue=max(color.r,max(color.g,color.b));\x0a#endif\x0a#ifdef\x20HSL_COMPONENT\x0afloat\x20GreyValue=0.5*(max(color.r,max(color.g,color.b))+min(color.r,min(color.g,color.b)));\x0a#endif\x0a#ifdef\x20MAGNITUDE\x0afloat\x20GreyValue=length(color.rgb);\x0a#endif\x0amaximum=max(maximum,GreyValue);\x0aaverage+=(0.25*log(1e-5+GreyValue));\x0a}\x0aaverage=exp(average);\x0agl_FragColor=vec4(average,maximum,0.0,1.0);\x0a}\x0a#endif\x0a#if\x20defined(LUMINANCE_DOWN_SAMPLE)\x0auniform\x20vec2\x20dsOffsets[9];\x0auniform\x20float\x20halfDestPixelSize;\x0a#ifdef\x20FINAL_DOWN_SAMPLER\x0a#include<packingFunctions>\x0a#endif\x0avoid\x20main()\x0a{\x0avec4\x20color=vec4(0.0);\x0afloat\x20average=0.0;\x0afor\x20(int\x20i=0;\x20i<9;\x20i++)\x0a{\x0acolor=texture2D(textureSampler,vUV+vec2(halfDestPixelSize,halfDestPixelSize)+dsOffsets[i]);\x0aaverage+=color.r;\x0a}\x0aaverage/=9.0;\x0a#ifdef\x20FINAL_DOWN_SAMPLER\x0agl_FragColor=pack(average);\x0a#else\x0agl_FragColor=vec4(average,average,0.0,1.0);\x0a#endif\x0a}\x0a#endif\x0a#if\x20defined(HDR)\x0auniform\x20sampler2D\x20textureAdderSampler;\x0auniform\x20float\x20averageLuminance;\x0avoid\x20main()\x0a{\x0avec4\x20color=texture2D(textureAdderSampler,vUV);\x0a#ifndef\x20AUTO_EXPOSURE\x0avec4\x20adjustedColor=color/averageLuminance;\x0acolor=adjustedColor;\x0acolor.a=1.0;\x0a#endif\x0agl_FragColor=color;\x0a}\x0a#endif\x0a#if\x20defined(LENS_FLARE)\x0a#define\x20GHOSTS\x203\x0auniform\x20sampler2D\x20lensColorSampler;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20ghostDispersal;\x0auniform\x20float\x20haloWidth;\x0auniform\x20vec2\x20resolution;\x0auniform\x20float\x20distortionStrength;\x0afloat\x20hash(vec2\x20p)\x0a{\x0afloat\x20h=dot(p,vec2(127.1,311.7));\x0areturn\x20-1.0+2.0*fract(sin(h)*43758.5453123);\x0a}\x0afloat\x20noise(in\x20vec2\x20p)\x0a{\x0avec2\x20i=floor(p);\x0avec2\x20f=fract(p);\x0avec2\x20u=f*f*(3.0-2.0*f);\x0areturn\x20mix(mix(hash(i+vec2(0.0,0.0)),\x0ahash(i+vec2(1.0,0.0)),u.x),\x0amix(hash(i+vec2(0.0,1.0)),\x0ahash(i+vec2(1.0,1.0)),u.x),u.y);\x0a}\x0afloat\x20fbm(vec2\x20p)\x0a{\x0afloat\x20f=0.0;\x0af+=0.5000*noise(p);\x20p*=2.02;\x0af+=0.2500*noise(p);\x20p*=2.03;\x0af+=0.1250*noise(p);\x20p*=2.01;\x0af+=0.0625*noise(p);\x20p*=2.04;\x0af/=0.9375;\x0areturn\x20f;\x0a}\x0avec3\x20pattern(vec2\x20uv)\x0a{\x0avec2\x20p=-1.0+2.0*uv;\x0afloat\x20p2=dot(p,p);\x0afloat\x20f=fbm(vec2(15.0*p2))/2.0;\x0afloat\x20r=0.2+0.6*sin(12.5*length(uv-vec2(0.5)));\x0afloat\x20g=0.2+0.6*sin(20.5*length(uv-vec2(0.5)));\x0afloat\x20b=0.2+0.6*sin(17.2*length(uv-vec2(0.5)));\x0areturn\x20(1.0-f)*vec3(r,g,b);\x0a}\x0afloat\x20luminance(vec3\x20color)\x0a{\x0areturn\x20dot(color.rgb,vec3(0.2126,0.7152,0.0722));\x0a}\x0avec4\x20textureDistorted(sampler2D\x20tex,vec2\x20texcoord,vec2\x20direction,vec3\x20distortion)\x0a{\x0areturn\x20vec4(\x0atexture2D(tex,texcoord+direction*distortion.r).r,\x0atexture2D(tex,texcoord+direction*distortion.g).g,\x0atexture2D(tex,texcoord+direction*distortion.b).b,\x0a1.0\x0a);\x0a}\x0avoid\x20main(void)\x0a{\x0avec2\x20uv=-vUV+vec2(1.0);\x0avec2\x20ghostDir=(vec2(0.5)-uv)*ghostDispersal;\x0avec2\x20texelSize=1.0/resolution;\x0avec3\x20distortion=vec3(-texelSize.x*distortionStrength,0.0,texelSize.x*distortionStrength);\x0avec4\x20result=vec4(0.0);\x0afloat\x20ghostIndice=1.0;\x0afor\x20(int\x20i=0;\x20i<GHOSTS;\x20++i)\x0a{\x0avec2\x20offset=fract(uv+ghostDir*ghostIndice);\x0afloat\x20weight=length(vec2(0.5)-offset)/length(vec2(0.5));\x0aweight=pow(1.0-weight,10.0);\x0aresult+=textureDistorted(textureSampler,offset,normalize(ghostDir),distortion)*weight*strength;\x0aghostIndice+=1.0;\x0a}\x0avec2\x20haloVec=normalize(ghostDir)*haloWidth;\x0afloat\x20weight=length(vec2(0.5)-fract(uv+haloVec))/length(vec2(0.5));\x0aweight=pow(1.0-weight,10.0);\x0aresult+=textureDistorted(textureSampler,fract(uv+haloVec),normalize(ghostDir),distortion)*weight*strength;\x0aresult*=texture2D(lensColorSampler,vec2(length(vec2(0.5)-uv)/length(vec2(0.5))));\x0agl_FragColor=result;\x0a}\x0a#endif\x0a#if\x20defined(LENS_FLARE_COMPOSE)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20lensDirtSampler;\x0auniform\x20sampler2D\x20lensStarSampler;\x0auniform\x20mat4\x20lensStarMatrix;\x0avoid\x20main(void)\x0a{\x0avec2\x20lensFlareCoords=(lensStarMatrix*vec4(vUV,1.0,1.0)).xy;\x0avec4\x20lensMod=texture2D(lensDirtSampler,vUV);\x0alensMod+=texture2D(lensStarSampler,vUV/*lensFlareCoords*/);\x0avec4\x20result=texture2D(textureSampler,vUV)*lensMod;\x0agl_FragColor=texture2D(otherSampler,vUV)+result;\x0a}\x0a#endif\x0a#if\x20defined(DEPTH_OF_FIELD)\x0auniform\x20sampler2D\x20otherSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20float\x20distance;\x0avoid\x20main(void)\x0a{\x0avec4\x20sharp=texture2D(otherSampler,vUV);\x0avec4\x20blur=texture2D(textureSampler,vUV);\x0afloat\x20dist=clamp(texture2D(depthSampler,vUV).r*distance,0.0,1.0);\x0afloat\x20factor=0.0;\x0aif\x20(dist<0.05)\x0afactor=1.0;\x0aelse\x20if\x20(dist<0.1)\x0afactor=20.0*(0.1-dist);\x0aelse\x20if\x20(dist<0.5)\x0afactor=0.0;\x0aelse\x0afactor=2.0*(dist-0.5);\x0afactor=clamp(factor,0.0,0.90);\x0agl_FragColor=mix(sharp,blur,factor);\x0a}\x0a#endif\x0a#if\x20defined(MOTION_BLUR)\x0auniform\x20mat4\x20inverseViewProjection;\x0auniform\x20mat4\x20prevViewProjection;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20float\x20motionScale;\x0auniform\x20float\x20motionStrength;\x0auniform\x20sampler2D\x20depthSampler;\x0avoid\x20main(void)\x0a{\x0avec2\x20texelSize=1.0/screenSize;\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0avec4\x20cpos=vec4(vUV*2.0-1.0,depth,1.0);\x0acpos=cpos*inverseViewProjection;\x0avec4\x20ppos=cpos*prevViewProjection;\x0appos.xyz/=ppos.w;\x0appos.xy=ppos.xy*0.5+0.5;\x0avec2\x20velocity=(ppos.xy-vUV)*motionScale*motionStrength;\x0afloat\x20speed=length(velocity/texelSize);\x0aint\x20nSamples=int(clamp(speed,1.0,MAX_MOTION_SAMPLES));\x0avec4\x20result=texture2D(textureSampler,vUV);\x0afor\x20(int\x20i=1;\x20i<int(MAX_MOTION_SAMPLES);\x20++i)\x20{\x0aif\x20(i>=nSamples)\x0abreak;\x0avec2\x20offset1=vUV+velocity*(float(i)/float(nSamples-1)-0.5);\x0aresult+=texture2D(textureSampler,offset1);\x0a}\x0agl_FragColor=result/float(nSamples);\x0a}\x0a#endif\x0a','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x20\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','height','radiusRange','cancelAnimationFrame','generateMipMaps','updateFloat4','_attributeNextLocation','depthMask','_EvaluatePreProcessors','_onVRDisplayPointerUnrestricted','Float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.','useRightHandedSystem','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','createRawBuffer','vec3','fluidRenderingParticleThicknessPixelShader','ALPHA_SCREENMODE','thinInstanceSetMatrixAt','attribute\x20vec2\x20position;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=position*madd+madd;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','onBeforeCameraRenderObservable','output','ACTION_OnPickOutTrigger','_isPointerSwiping','f32d','arrayBufferBlockMaxByteLength','readTwoValuesAndSubtract','_tintWASM','_cachedWrapU','##INJECTCODE##\x0a','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a','\x0a\x20\x20\x20\x20struct\x20VertexOutput\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20@builtin(position)\x20Position\x20:\x20vec4<f32>,\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV\x20:\x20vec2<f32>\x0a\x20\x20\x20\x20}\x0a\x20\x20\x0a\x20\x20\x20\x20@vertex\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@builtin(vertex_index)\x20VertexIndex\x20:\x20u32\x0a\x20\x20\x20\x20)\x20->\x20VertexOutput\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20pos\x20=\x20array<vec2<f32>,\x204>(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(-1.0,\x20\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(\x201.0,\x20\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(-1.0,\x20-1.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(\x201.0,\x20-1.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20tex\x20=\x20array<vec2<f32>,\x204>(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(0.0,\x200.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(1.0,\x200.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(0.0,\x201.0),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2(1.0,\x201.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20var\x20output:\x20VertexOutput;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20output.Position\x20=\x20vec4<f32>(pos[VertexIndex],\x200.0,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20output.fragUV\x20=\x20tex[VertexIndex];\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20output;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20','updateFloat','#ifdef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a{\x0a#ifdef\x20INSTANCES\x0alet\x20VATStartFrame:\x20f32=bakedVertexAnimationSettingsInstanced.x;\x0alet\x20VATEndFrame:\x20f32=bakedVertexAnimationSettingsInstanced.y;\x0alet\x20VATOffsetFrame:\x20f32=bakedVertexAnimationSettingsInstanced.z;\x0alet\x20VATSpeed:\x20f32=bakedVertexAnimationSettingsInstanced.w;\x0a#else\x0alet\x20VATStartFrame:\x20f32=uniforms.bakedVertexAnimationSettings.x;\x0alet\x20VATEndFrame:\x20f32=uniforms.bakedVertexAnimationSettings.y;\x0alet\x20VATOffsetFrame:\x20f32=uniforms.bakedVertexAnimationSettings.z;\x0alet\x20VATSpeed:\x20f32=uniforms.bakedVertexAnimationSettings.w;\x0a#endif\x0alet\x20totalFrames:\x20f32=VATEndFrame-VATStartFrame+1.0;\x0alet\x20time:\x20f32=uniforms.bakedVertexAnimationTime*VATSpeed/totalFrames;\x0alet\x20frameCorrection:\x20f32=select(1.0,0.0,time<1.0);\x0alet\x20numOfFrames:\x20f32=totalFrames-frameCorrection;\x0avar\x20VATFrameNum:\x20f32=fract(time)*numOfFrames;\x0aVATFrameNum=(VATFrameNum+VATOffsetFrame)\x20%\x20numOfFrames;\x0aVATFrameNum=floor(VATFrameNum);\x0aVATFrameNum=VATFrameNum+VATStartFrame+frameCorrection;\x0avar\x20VATInfluence\x20:\x20mat4x4<f32>;\x0aVATInfluence=readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[0],VATFrameNum)*matricesWeights[0];\x0a#if\x20NUM_BONE_INFLUENCERS>1\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[1],VATFrameNum)*matricesWeights[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>2\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[2],VATFrameNum)*matricesWeights[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>3\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndices[3],VATFrameNum)*matricesWeights[3];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[0],VATFrameNum)*matricesWeightsExtra[0];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>5\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[1],VATFrameNum)*matricesWeightsExtra[1];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>6\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[2],VATFrameNum)*matricesWeightsExtra[2];\x0a#endif\x0a#if\x20NUM_BONE_INFLUENCERS>7\x0aVATInfluence=VATInfluence+readMatrixFromRawSamplerVAT(bakedVertexAnimationTexture,matricesIndicesExtra[3],VATFrameNum)*matricesWeightsExtra[3];\x0a#endif\x0afinalWorld=finalWorld*VATInfluence;\x0a}\x0a#endif\x0a','type','createBuffer','TEXTURE_FIXED_EQUIRECTANGULAR_MIRRORED_MODE','vFogInfos','_previousPickResult','model','BC7RGBAUnorm','replaceStrings','screenSpaceCurvaturePixelShader','Thin\x20Instances\x20are\x20not\x20supported\x20on\x20this\x20device\x20as\x20Instanced\x20Array\x20extension\x20not\x20supported','lineProcessor','PREPASS_NORMAL_TEXTURE_TYPE','blackAndWhitePixelShader','DisableFor','prePassVertexDeclaration','#if\x20SM_FLOAT==0\x0a#include<packingFunctions>\x0a#endif\x0a#if\x20SM_SOFTTRANSPARENTSHADOW==1\x0a#include<bayerDitherFunctions>\x0auniform\x20float\x20softTransparentShadowSM;\x0a#endif\x0avarying\x20float\x20vDepthMetricSM;\x0a#if\x20SM_USEDISTANCE==1\x0auniform\x20vec3\x20lightDataSM;\x0avarying\x20vec3\x20vPositionWSM;\x0a#endif\x0auniform\x20vec3\x20biasAndScaleSM;\x0auniform\x20vec2\x20depthValuesSM;\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0avarying\x20float\x20zSM;\x0a#endif\x0a','writeBuffer','textureDome','EACR11Unorm','updateColor3','BC5RGUnorm','previousMatrixData','_attributesWGSL','update','#ifdef\x20DOF\x0afactor=sampleCoC(sampleCenter+delta*KERNEL_DEP_OFFSET{X});\x0acomputedWeight=KERNEL_DEP_WEIGHT{X}*factor;\x0asumOfWeights+=computedWeight;\x0a#else\x0acomputedWeight=KERNEL_DEP_WEIGHT{X};\x0a#endif\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCenter+delta*KERNEL_DEP_OFFSET{X}))*computedWeight;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCenter+delta*KERNEL_DEP_OFFSET{X})*computedWeight;\x0a#endif\x0a','doNotHandleCursors','anisotropicFilteringLevel','_vertexIsGLES3','getEyeParameters','ALPHA_EQUATION_MIN','_clearDepthValue','Depth32FloatStencil8','vClipPlane5','ASTC10x6UnormSRGB','extractHighlightsPixelShader','endMainRenderPass','destroy','#ifdef\x20LIGHT{X}\x0auniform\x20Light{X}\x0a{\x0avec4\x20vLightData;\x0avec4\x20vLightDiffuse;\x0avec4\x20vLightSpecular;\x0a#ifdef\x20SPOTLIGHT{X}\x0avec4\x20vLightDirection;\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(POINTLIGHT{X})\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(HEMILIGHT{X})\x0avec3\x20vLightGround;\x0a#endif\x0avec4\x20shadowsInfo;\x0avec2\x20depthValues;\x0a}\x20light{X};\x0a#ifdef\x20PROJECTEDLIGHTTEXTURE{X}\x0auniform\x20mat4\x20textureProjectionMatrix{X};\x0auniform\x20sampler2D\x20projectionLightSampler{X};\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20viewFrustumZ{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20frustumLengths{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20cascadeBlendFactor{X};\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2DArray\x20depthSampler{X};\x0auniform\x20vec2\x20lightSizeUVCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20depthCorrection{X}[SHADOWCSMNUM_CASCADES{X}];\x0auniform\x20float\x20penumbraDarkness{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DArrayShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20highp\x20sampler2DArray\x20shadowSampler{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMDEBUG{X}\x0aconst\x20vec3\x20vCascadeColorsMultiplier{X}[8]=vec3[8]\x0a(\x0avec3\x20(\x201.5,0.0,0.0\x20),\x0avec3\x20(\x200.0,1.5,0.0\x20),\x0avec3\x20(\x200.0,0.0,5.5\x20),\x0avec3\x20(\x201.5,0.0,5.5\x20),\x0avec3\x20(\x201.5,1.5,0.0\x20),\x0avec3\x20(\x201.0,1.0,1.0\x20),\x0avec3\x20(\x200.0,1.0,5.5\x20),\x0avec3\x20(\x200.5,3.5,0.75\x20)\x0a);\x0avec3\x20shadowDebug{X};\x0a#endif\x0a#ifdef\x20SHADOWCSMUSESHADOWMAXZ{X}\x0aint\x20index{X}=-1;\x0a#else\x0aint\x20index{X}=SHADOWCSMNUM_CASCADES{X}-1;\x0a#endif\x0afloat\x20diff{X}=0.;\x0a#elif\x20defined(SHADOWCUBE{X})\x0auniform\x20samplerCube\x20shadowSampler{X};\x20\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0a#if\x20defined(SHADOWPCSS{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0auniform\x20highp\x20sampler2D\x20depthSampler{X};\x0a#elif\x20defined(SHADOWPCF{X})\x0auniform\x20highp\x20sampler2DShadow\x20shadowSampler{X};\x0a#else\x0auniform\x20sampler2D\x20shadowSampler{X};\x0a#endif\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0a#endif\x0a#endif\x0a','_define3DName','copyBufferToBuffer','#include<samplerFragmentDeclaration>(_DEFINENAME_,ALBEDO,_VARYINGNAME_,Albedo,_SAMPLERNAME_,albedo)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,AMBIENT,_VARYINGNAME_,Ambient,_SAMPLERNAME_,ambient)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,OPACITY,_VARYINGNAME_,Opacity,_SAMPLERNAME_,opacity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,EMISSIVE,_VARYINGNAME_,Emissive,_SAMPLERNAME_,emissive)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,LIGHTMAP,_VARYINGNAME_,Lightmap,_SAMPLERNAME_,lightmap)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,REFLECTIVITY,_VARYINGNAME_,Reflectivity,_SAMPLERNAME_,reflectivity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,MICROSURFACEMAP,_VARYINGNAME_,MicroSurfaceSampler,_SAMPLERNAME_,microSurface)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,METALLIC_REFLECTANCE,_VARYINGNAME_,MetallicReflectance,_SAMPLERNAME_,metallicReflectance)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,REFLECTANCE,_VARYINGNAME_,Reflectance,_SAMPLERNAME_,reflectance)\x0a#ifdef\x20CLEARCOAT\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE,_VARYINGNAME_,ClearCoat,_SAMPLERNAME_,clearCoat)\x0a#include<samplerFragmentAlternateDeclaration>(_DEFINENAME_,CLEARCOAT_TEXTURE_ROUGHNESS,_VARYINGNAME_,ClearCoatRoughness)\x0a#if\x20defined(CLEARCOAT_TEXTURE_ROUGHNESS)\x20&&\x20!defined(CLEARCOAT_TEXTURE_ROUGHNESS_IDENTICAL)\x0auniform\x20sampler2D\x20clearCoatRoughnessSampler;\x0a#endif\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_BUMP,_VARYINGNAME_,ClearCoatBump,_SAMPLERNAME_,clearCoatBump)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,CLEARCOAT_TINT_TEXTURE,_VARYINGNAME_,ClearCoatTint,_SAMPLERNAME_,clearCoatTint)\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,IRIDESCENCE_TEXTURE,_VARYINGNAME_,Iridescence,_SAMPLERNAME_,iridescence)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,IRIDESCENCE_THICKNESS_TEXTURE,_VARYINGNAME_,IridescenceThickness,_SAMPLERNAME_,iridescenceThickness)\x0a#endif\x0a#ifdef\x20SHEEN\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SHEEN_TEXTURE,_VARYINGNAME_,Sheen,_SAMPLERNAME_,sheen)\x0a#include<samplerFragmentAlternateDeclaration>(_DEFINENAME_,SHEEN_TEXTURE_ROUGHNESS,_VARYINGNAME_,SheenRoughness)\x0a#if\x20defined(SHEEN_ROUGHNESS)\x20&&\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x0auniform\x20sampler2D\x20sheenRoughnessSampler;\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,ANISOTROPIC_TEXTURE,_VARYINGNAME_,Anisotropy,_SAMPLERNAME_,anisotropy)\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20REFLECTIONMAP_3D\x0a#define\x20sampleReflection(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20reflectionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleReflectionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20reflectionSamplerLow;\x0auniform\x20samplerCube\x20reflectionSamplerHigh;\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0auniform\x20samplerCube\x20irradianceSampler;\x0a#endif\x0a#else\x0a#define\x20sampleReflection(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20reflectionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleReflectionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20sampler2D\x20reflectionSamplerLow;\x0auniform\x20sampler2D\x20reflectionSamplerHigh;\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0auniform\x20sampler2D\x20irradianceSampler;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0avarying\x20vec3\x20vPositionUVW;\x0a#else\x0a#if\x20defined(REFLECTIONMAP_EQUIRECTANGULAR_FIXED)\x20||\x20defined(REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED)\x0avarying\x20vec3\x20vDirectionW;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0auniform\x20sampler2D\x20environmentBrdfSampler;\x0a#endif\x0a#ifdef\x20SUBSURFACE\x0a#ifdef\x20SS_REFRACTION\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0a#define\x20sampleRefraction(s,c)\x20textureCube(s,c)\x0auniform\x20samplerCube\x20refractionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleRefractionLod(s,c,l)\x20textureCubeLodEXT(s,c,l)\x0a#else\x0auniform\x20samplerCube\x20refractionSamplerLow;\x0auniform\x20samplerCube\x20refractionSamplerHigh;\x0a#endif\x0a#else\x0a#define\x20sampleRefraction(s,c)\x20texture2D(s,c)\x0auniform\x20sampler2D\x20refractionSampler;\x0a#ifdef\x20LODBASEDMICROSFURACE\x0a#define\x20sampleRefractionLod(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0auniform\x20sampler2D\x20refractionSamplerLow;\x0auniform\x20sampler2D\x20refractionSamplerHigh;\x0a#endif\x0a#endif\x0a#endif\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SS_THICKNESSANDMASK_TEXTURE,_VARYINGNAME_,Thickness,_SAMPLERNAME_,thickness)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SS_REFRACTIONINTENSITY_TEXTURE,_VARYINGNAME_,RefractionIntensity,_SAMPLERNAME_,refractionIntensity)\x0a#include<samplerFragmentDeclaration>(_DEFINENAME_,SS_TRANSLUCENCYINTENSITY_TEXTURE,_VARYINGNAME_,TranslucencyIntensity,_SAMPLERNAME_,translucencyIntensity)\x0a#endif\x0a','onError','_currentBoundBuffer','setAll','_unpackFlipY','getDiffusionProfileParameters','_debugPushGroup','\x20=\x20computePlanarCoords(','TEXTUREFORMAT_DEPTH32FLOAT_STENCIL8','releaseBuffer','getPipelineContext','framebufferTexture2D','isRenderTarget','i32d','E2d','ACTION_OnDoublePickTrigger','directionRandomizer','TEXTURETYPE_HALF_FLOAT','useDirectMapping','ASTC10x10Unorm','CylinderParticleEmitter','Int2','#define\x20CLIPPLANE','{W:\x20','Render\x20to\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.','options','E3d','cameraToUseForPointers','RemoveTagsFrom','_isDisabled','etc1','_rtBlur','RG11B10UFloat','pbrBlockSheen','rttBlurred','_capacity','initializeShaders','_boundRenderFunction','unBindFramebuffer','preventDefaultOnPointerUp','_setupFramebufferDepthAttachments','Matrix2x2','#ifdef\x20DOF\x0afactor=sampleCoC(sampleCoord{X});\x20\x0acomputedWeight=KERNEL_WEIGHT{X}*factor;\x0asumOfWeights+=computedWeight;\x0a#else\x0acomputedWeight=KERNEL_WEIGHT{X};\x0a#endif\x0a#ifdef\x20PACKEDFLOAT\x0ablend+=unpack(texture2D(textureSampler,sampleCoord{X}))*computedWeight;\x0a#else\x0ablend+=texture2D(textureSampler,sampleCoord{X})*computedWeight;\x0a#endif\x0a','availableAttributes','Depth24UnormStencil8','skyPixelShader','stencilGlobal','Depth\x20texture\x20format\x20is\x20not\x20supported.','_blurTextureSizeX','addOnce','#endif\x0d\x0a','_funcMask','setMRT','#ifdef\x20WEBGL2\x0auniform\x20mat4\x20world;\x0auniform\x20float\x20visibility;\x0a#else\x0alayout(std140,column_major)\x20uniform;\x0auniform\x20Mesh\x0a{\x0amat4\x20world;\x0afloat\x20visibility;\x0a};\x0a#endif\x0a#define\x20WORLD_UBO\x0a','unnamed','renderPassDescriptor','effect','vTBN','Linear','_fromIndex','colorAttachmentViewDescriptor','_isStencilMaskDirty','createBindGroup','\x20*\x20vec4(','const\x20vec3\x20TWO=vec3(2.0,2.0,2.0);\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20camASampler;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20stepSize;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0abool\x20useCamA;\x0abool\x20useCamB;\x0avec2\x20texCoord1;\x0avec2\x20texCoord2;\x0avec3\x20frag1;\x0avec3\x20frag2;\x0a#ifdef\x20IS_STEREOSCOPIC_HORIZ\x0auseCamB=vUV.x>0.5;\x0auseCamA=!useCamB;\x0atexCoord1=vec2(useCamB\x20?\x20(vUV.x-0.5)*2.0\x20:\x20vUV.x*2.0,vUV.y);\x0atexCoord2=vec2(texCoord1.x+stepSize.x,vUV.y);\x0a#else\x0a#ifdef\x20IS_STEREOSCOPIC_INTERLACED\x0afloat\x20rowNum=floor(vUV.y/stepSize.y);\x0auseCamA=mod(rowNum,2.0)==1.0;\x0auseCamB=mod(rowNum,2.0)==0.0;\x0atexCoord1=vec2(vUV.x,vUV.y);\x0atexCoord2=vec2(vUV.x,vUV.y);\x0a#else\x0auseCamB=vUV.y>0.5;\x0auseCamA=!useCamB;\x0atexCoord1=vec2(vUV.x,useCamB\x20?\x20(vUV.y-0.5)*2.0\x20:\x20vUV.y*2.0);\x0atexCoord2=vec2(vUV.x,texCoord1.y+stepSize.y);\x0a#endif\x0a#endif\x0aif\x20(useCamB){\x0afrag1=texture2D(textureSampler,texCoord1).rgb;\x0afrag2=texture2D(textureSampler,texCoord2).rgb;\x0a}else\x20if\x20(useCamA){\x0afrag1=texture2D(camASampler\x20,texCoord1).rgb;\x0afrag2=texture2D(camASampler\x20,texCoord2).rgb;\x0a}else\x20{\x0adiscard;\x0a}\x0agl_FragColor=vec4((frag1+frag2)/TWO,1.0);\x0a}\x0a','_updateBoundingInfo','associatedVariableName','create\x20cube\x20mipmaps\x20-\x20','_ubCopyWithOfst','setStencilPassOp','morphTargetsVertexDeclaration','blurFilterSize','variableNames','_createBlurPostProcesses','updateDirectly','ssDiffusionS','keyup','LIGHTMAP_SHADOWSONLY','postProcess','_varyingTransfer','pbrBlockReflectance0','_inputs','vec3\x20finalDiffuse=diffuseBase;\x0afinalDiffuse*=surfaceAlbedo.rgb;\x0afinalDiffuse=max(finalDiffuse,0.0);\x0afinalDiffuse*=vLightingIntensity.x;\x0avec3\x20finalAmbient=vAmbientColor;\x0afinalAmbient*=surfaceAlbedo.rgb;\x0avec3\x20finalEmissive=vEmissiveColor;\x0a#ifdef\x20EMISSIVE\x0avec3\x20emissiveColorTex=texture2D(emissiveSampler,vEmissiveUV+uvOffset).rgb;\x0a#ifdef\x20GAMMAEMISSIVE\x0afinalEmissive*=toLinearSpace(emissiveColorTex.rgb);\x0a#else\x0afinalEmissive*=emissiveColorTex.rgb;\x0a#endif\x0afinalEmissive*=\x20vEmissiveInfos.y;\x0a#endif\x0afinalEmissive*=vLightingIntensity.y;\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionForDirectDiffuse=mix(vec3(1.),aoOut.ambientOcclusionColor,vAmbientInfos.w);\x0a#else\x0avec3\x20ambientOcclusionForDirectDiffuse=aoOut.ambientOcclusionColor;\x0a#endif\x0afinalAmbient*=aoOut.ambientOcclusionColor;\x0afinalDiffuse*=ambientOcclusionForDirectDiffuse;\x0a','clipPlane4','Forward','###___ANCHOR','_thinInstanceInitializeUserStorage','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#ifdef\x20EMISSIVE\x0auniform\x20sampler2D\x20textureSampler2;\x0a#endif\x0auniform\x20float\x20offset;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0a#ifdef\x20EMISSIVE\x0abaseColor+=texture2D(textureSampler2,vUV);\x0abaseColor*=offset;\x0a#else\x0abaseColor.a=abs(offset-baseColor.a);\x0a#ifdef\x20STROKE\x0afloat\x20alpha=smoothstep(.0,.1,baseColor.a);\x0abaseColor.a=alpha;\x0abaseColor.rgb=baseColor.rgb*alpha;\x0a#endif\x0a#endif\x0a#if\x20LDR\x0abaseColor=clamp(baseColor,0.,1.0);\x0a#endif\x0agl_FragColor=baseColor;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','__framebuffer','ExclusiveDoubleClickMode','#ifdef\x20INSTANCES\x0aattribute\x20world0\x20:\x20vec4<f32>;\x0aattribute\x20world1\x20:\x20vec4<f32>;\x0aattribute\x20world2\x20:\x20vec4<f32>;\x0aattribute\x20world3\x20:\x20vec4<f32>;\x0a#ifdef\x20INSTANCESCOLOR\x0aattribute\x20instanceColor\x20:\x20vec4<f32>;\x0a#endif\x0a#if\x20defined(THIN_INSTANCES)\x20&&\x20!defined(WORLD_UBO)\x0auniform\x20world\x20:\x20mat4x4<f32>;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0aattribute\x20previousWorld0\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld1\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld2\x20:\x20vec4<f32>;\x0aattribute\x20previousWorld3\x20:\x20vec4<f32>;\x0a#ifdef\x20THIN_INSTANCES\x0auniform\x20previousWorld\x20:\x20mat4x4<f32>;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0auniform\x20world\x20:\x20mat4x4<f32>;\x0a#endif\x0a#if\x20defined(VELOCITY)\x20||\x20defined(PREPASS_VELOCITY)\x0auniform\x20previousWorld\x20:\x20mat4x4<f32>;\x0a#endif\x0a#endif\x0a','setSubData','_resetVertexBufferBinding','pointerDownPredicate','setStencilCompare','clipPlaneFragment','toArray','backgroundUboDeclaration','getIndex','pointerup','GL_ALPHA_FUNCTION_ONE_MINUS_DST_ALPHA','TEXTUREFORMAT_ALPHA','doNotSyncBoundingInfo','onPrePointerObservable','_cascadeLoadImgs','hasTags','sprites','_getVideoPipeline','_isFrontFaceDirty','_pointerX','isWebGPU','lensFlarePixelShader','stencilMaterial','setDirectColor4','vrdisplaypresentchange','gpuUpdateParticlesComputeShader','uv4','precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20projection;\x0auniform\x20mat4\x20view;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vNormal;\x0a#include<fogVertexDeclaration>\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vOpacityUV;\x0auniform\x20mat4\x20opacityMatrix;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0a#include<fogVertex>\x0avec4\x20cameraSpacePosition=view*worldPos;\x0agl_Position=projection*cameraSpacePosition;\x0a#ifdef\x20OPACITY\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0aif\x20(vOpacityInfos.x==0.)\x0a{\x0avOpacityUV=vec2(opacityMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x20\x0avPosition=position;\x0avNormal=normal;\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','error','Load','shaderProcessingContext','ONE_MINUS_SRC_COLOR','Failed\x20to\x20load\x20','StorageBuffer','renderTargetTexture','drawBuffersExtension','_coroutineSchedulerDispose','particlesPixelShader','_setDepthTextureFormat','IridescenceBlock','_isStencilOpDirty','setFloat4','updateMatrices','_delay','_isAlphaBlendDirty','drawBuffers','emitVertex','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20degree;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec3\x20color=texture2D(textureSampler,vUV).rgb;\x0afloat\x20luminance=dot(color,vec3(0.3,0.59,0.11));\x20\x0avec3\x20blackAndWhite=vec3(luminance,luminance,luminance);\x0agl_FragColor=vec4(color-((color-blackAndWhite)*degree),1.0);\x0a}','#ifdef\x20SHEEN\x0astruct\x20sheenOutParams\x0a{\x0afloat\x20sheenIntensity;\x0avec3\x20sheenColor;\x0afloat\x20sheenRoughness;\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0avec3\x20surfaceAlbedo;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afloat\x20sheenAlbedoScaling;\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0avec3\x20finalSheenRadianceScaled;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avec4\x20sheenMapData;\x0avec3\x20sheenEnvironmentReflectance;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20sheenBlock(\x0ain\x20vec4\x20vSheenColor,\x0a#ifdef\x20SHEEN_ROUGHNESS\x0ain\x20float\x20vSheenRoughness,\x0a#if\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x20&&\x20!defined(SHEEN_TEXTURE_ROUGHNESS_IDENTICAL)\x20&&\x20!defined(SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE)\x0ain\x20vec4\x20sheenMapRoughnessData,\x0a#endif\x0a#endif\x0ain\x20float\x20roughness,\x0a#ifdef\x20SHEEN_TEXTURE\x0ain\x20vec4\x20sheenMapData,\x0ain\x20float\x20sheenMapLevel,\x0a#endif\x0ain\x20float\x20reflectance,\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0ain\x20vec3\x20baseColor,\x0ain\x20vec3\x20surfaceAlbedo,\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0ain\x20float\x20NdotV,\x0ain\x20vec3\x20environmentBrdf,\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0ain\x20vec2\x20AARoughnessFactors,\x0ain\x20vec3\x20vReflectionMicrosurfaceInfos,\x0ain\x20vec2\x20vReflectionInfos,\x0ain\x20vec3\x20vReflectionColor,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSampler,\x0ain\x20vec3\x20reflectionCoords,\x0a#else\x0ain\x20sampler2D\x20reflectionSampler,\x0ain\x20vec2\x20reflectionCoords,\x0a#endif\x0ain\x20float\x20NdotVUnclamped,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20reflectionSamplerLow,\x0ain\x20samplerCube\x20reflectionSamplerHigh,\x0a#else\x0ain\x20sampler2D\x20reflectionSamplerLow,\x0ain\x20sampler2D\x20reflectionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0ain\x20float\x20seo,\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0ain\x20float\x20eho,\x0a#endif\x0a#endif\x0aout\x20sheenOutParams\x20outParams\x0a)\x0a{\x0afloat\x20sheenIntensity=vSheenColor.a;\x0a#ifdef\x20SHEEN_TEXTURE\x0a#if\x20DEBUGMODE>0\x0aoutParams.sheenMapData=sheenMapData;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN_LINKWITHALBEDO\x0afloat\x20sheenFactor=pow5(1.0-sheenIntensity);\x0avec3\x20sheenColor=baseColor.rgb*(1.0-sheenFactor);\x0afloat\x20sheenRoughness=sheenIntensity;\x0aoutParams.surfaceAlbedo=surfaceAlbedo*sheenFactor;\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenIntensity*=sheenMapData.a;\x0a#endif\x0a#else\x0avec3\x20sheenColor=vSheenColor.rgb;\x0a#ifdef\x20SHEEN_TEXTURE\x0a#ifdef\x20SHEEN_GAMMATEXTURE\x0asheenColor.rgb*=toLinearSpace(sheenMapData.rgb);\x0a#else\x0asheenColor.rgb*=sheenMapData.rgb;\x0a#endif\x0asheenColor.rgb*=sheenMapLevel;\x0a#endif\x0a#ifdef\x20SHEEN_ROUGHNESS\x0afloat\x20sheenRoughness=vSheenRoughness;\x0a#ifdef\x20SHEEN_USE_ROUGHNESS_FROM_MAINTEXTURE\x0a#if\x20defined(SHEEN_TEXTURE)\x0asheenRoughness*=sheenMapData.a;\x0a#endif\x0a#elif\x20defined(SHEEN_TEXTURE_ROUGHNESS)\x0a#ifdef\x20SHEEN_TEXTURE_ROUGHNESS_IDENTICAL\x0asheenRoughness*=sheenMapData.a;\x0a#else\x0asheenRoughness*=sheenMapRoughnessData.a;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20sheenRoughness=roughness;\x0a#ifdef\x20SHEEN_TEXTURE\x0asheenIntensity*=sheenMapData.a;\x0a#endif\x0a#endif\x0a#if\x20!defined(SHEEN_ALBEDOSCALING)\x0asheenIntensity*=(1.-reflectance);\x0a#endif\x0asheenColor*=sheenIntensity;\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0a/*#ifdef\x20SHEEN_SOFTER\x0avec3\x20environmentSheenBrdf=vec3(0.,0.,getBRDFLookupCharlieSheen(NdotV,sheenRoughness));\x0a#else*/\x0a#ifdef\x20SHEEN_ROUGHNESS\x0avec3\x20environmentSheenBrdf=getBRDFLookup(NdotV,sheenRoughness);\x0a#else\x0avec3\x20environmentSheenBrdf=environmentBrdf;\x0a#endif\x0a/*#endif*/\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0afloat\x20sheenAlphaG=convertRoughnessToAverageSlope(sheenRoughness);\x0a#ifdef\x20SPECULARAA\x0asheenAlphaG+=AARoughnessFactors.y;\x0a#endif\x0avec4\x20environmentSheenRadiance=vec4(0.,0.,0.,0.);\x0asampleReflectionTexture(\x0asheenAlphaG,\x0avReflectionMicrosurfaceInfos,\x0avReflectionInfos,\x0avReflectionColor,\x0a#if\x20defined(LODINREFLECTIONALPHA)\x20&&\x20!defined(REFLECTIONMAP_SKYBOX)\x0aNdotVUnclamped,\x0a#endif\x0a#ifdef\x20LINEARSPECULARREFLECTION\x0asheenRoughness,\x0a#endif\x0areflectionSampler,\x0areflectionCoords,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0areflectionSamplerLow,\x0areflectionSamplerHigh,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0avReflectionFilteringInfo,\x0a#endif\x0aenvironmentSheenRadiance\x0a);\x0avec3\x20sheenEnvironmentReflectance=getSheenReflectanceFromBRDFLookup(sheenColor,environmentSheenBrdf);\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(RADIANCEOCCLUSION)\x0asheenEnvironmentReflectance*=seo;\x0a#endif\x0a#if\x20!defined(REFLECTIONMAP_SKYBOX)\x20&&\x20defined(HORIZONOCCLUSION)\x20&&\x20defined(BUMP)\x20&&\x20defined(REFLECTIONMAP_3D)\x0asheenEnvironmentReflectance*=eho;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.sheenEnvironmentReflectance=sheenEnvironmentReflectance;\x0a#endif\x0aoutParams.finalSheenRadianceScaled=\x0aenvironmentSheenRadiance.rgb\x20*\x0asheenEnvironmentReflectance\x20*\x0avLightingIntensity.z;\x0a#endif\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0aoutParams.sheenAlbedoScaling=1.0-sheenIntensity*max(max(sheenColor.r,sheenColor.g),sheenColor.b)*environmentSheenBrdf.b;\x0a#endif\x0aoutParams.sheenIntensity=sheenIntensity;\x0aoutParams.sheenColor=sheenColor;\x0aoutParams.sheenRoughness=sheenRoughness;\x0a}\x0a#endif\x0a','currentViewProjection','offsetX','removeUniforms','),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20NdotV,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20specularEnvironmentR0,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20CLEARCOAT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20NdotVUnclamped,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20iridescenceOut\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20iridescenceIntensity\x20=\x20iridescenceOut.iridescenceIntensity;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20specularEnvironmentR0\x20=\x20iridescenceOut.specularEnvironmentR0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','womips','_outputs','copyVideoToTexture','hasMoreFallbacks','_initTexture','vec2','#define\x20FOG','computeElement','worldDirection','_useMultiviewToSingleView','_getRGBAMultiSampleBufferFormat',';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20layout(set\x20=\x20','DYNAMIC_DRAW','_step','anaglyphPixelShader','fragment','getClassName','createRawTexture3D','TEXTURETYPE_UNSIGNED_SHORT_5_5_5_1','supportCascades','BC2RGBAUnormSRGB','keys','create\x20mipmaps\x20for\x20face\x20#','min','releaseVertexArrayObject','_fillEffectInformation','.xy;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20','getHierarchyEmittedParticleSystems','_areAttributesDirty','Cannot\x20create\x20canvas\x20to\x20resize\x20texture.','Mouse','getUniform','pointerY','morphTargetsVertexGlobal','HasSpecificTrigger','_direction','kernelBlurVaryingDeclaration','CLIPPLANE','KEEP','vEyePosition','CubeRaw','pbrPixelShader','setVerticesBuffer','addCount','\x20{\x0a','createMultiviewRenderTargetTexture','cull','_addSamplerBindingDescription','fxaaVertexShader','#ifdef\x20PREPASS\x0a#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0alayout(location=0)\x20out\x20highp\x20vec4\x20glFragData[{X}];highp\x20vec4\x20gl_FragColor;\x0a#ifdef\x20PREPASS_DEPTH\x0avarying\x20highp\x20vec3\x20vViewPos;\x0a#endif\x0a#ifdef\x20PREPASS_VELOCITY\x0avarying\x20highp\x20vec4\x20vCurrentPosition;varying\x20highp\x20vec4\x20vPreviousPosition;\x0a#endif\x0a#endif\x0a','bindableBlocks','skipPointerDownPicking','XRWebGLLayer','GetData','_needUVs','IncludesShadersStoreWGSL','TEXTURE_LINEAR_LINEAR_MIPNEAREST','projectedParticleConstant','setStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','MouseWheelY','program','projectionMatrix','lightFragment','freeBindingIndex','_getInternalFormat','createComputePipeline','display','_removeCameraPointerObserver','_angle','fogVertexDeclaration','_onVRDisplayPointerRestricted','vec4\x20','texImage3D','_positionUVWName','tan','getInput','\x20/=\x20','isQueryResultAvailable','_reflectionMatrixName','throw','setState','normalPixelShader','#version\x20300\x20es\x0avoid\x20main()\x20{\x0adiscard;\x0a}\x0a','Float\x20textures\x20are\x20not\x20supported.\x20Render\x20target\x20forced\x20to\x20TEXTURETYPE_UNSIGNED_BYTE\x20type','needPOTTextures','_shareDepth','setSampler','_buildLeftOverUBO','INTENSITYMODE_ILLUMINANCE','reConstruct','map','ASTC12x10UnormSRGB','GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR','deleteFramebuffer','#ifdef\x20INSTANCES\x0amat4\x20finalWorld=mat4(world0,world1,world2,world3);\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0amat4\x20finalPreviousWorld=mat4(previousWorld0,previousWorld1,previousWorld2,previousWorld3);\x0a#endif\x0a#ifdef\x20THIN_INSTANCES\x0afinalWorld=world*finalWorld;\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0afinalPreviousWorld=previousWorld*finalPreviousWorld;\x0a#endif\x0a#endif\x0a#else\x0amat4\x20finalWorld=world;\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0amat4\x20finalPreviousWorld=previousWorld;\x0a#endif\x0a#endif\x0a','unBindMultiColorAttachmentFramebuffer','gl_InstanceID','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#if\x20defined(INITIAL)\x0auniform\x20sampler2D\x20sourceTexture;\x0auniform\x20vec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*(texSize-1.0));\x0afloat\x20f1=texelFetch(sourceTexture,coord,0).r;\x0afloat\x20f2=texelFetch(sourceTexture,coord+ivec2(1,0),0).r;\x0afloat\x20f3=texelFetch(sourceTexture,coord+ivec2(1,1),0).r;\x0afloat\x20f4=texelFetch(sourceTexture,coord+ivec2(0,1),0).r;\x0afloat\x20minz=min(min(min(f1,f2),f3),f4);\x0a#ifdef\x20DEPTH_REDUX\x0afloat\x20maxz=max(max(max(sign(1.0-f1)*f1,sign(1.0-f2)*f2),sign(1.0-f3)*f3),sign(1.0-f4)*f4);\x0a#else\x0afloat\x20maxz=max(max(max(f1,f2),f3),f4);\x0a#endif\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(MAIN)\x0auniform\x20vec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*(texSize-1.0));\x0avec2\x20f1=texelFetch(textureSampler,coord,0).rg;\x0avec2\x20f2=texelFetch(textureSampler,coord+ivec2(1,0),0).rg;\x0avec2\x20f3=texelFetch(textureSampler,coord+ivec2(1,1),0).rg;\x0avec2\x20f4=texelFetch(textureSampler,coord+ivec2(0,1),0).rg;\x0afloat\x20minz=min(min(min(f1.x,f2.x),f3.x),f4.x);\x0afloat\x20maxz=max(max(max(f1.y,f2.y),f3.y),f4.y);\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(ONEBEFORELAST)\x0auniform\x20ivec2\x20texSize;\x0avoid\x20main(void)\x0a{\x0aivec2\x20coord=ivec2(vUV*vec2(texSize-1));\x0avec2\x20f1=texelFetch(textureSampler,coord\x20%\x20texSize,0).rg;\x0avec2\x20f2=texelFetch(textureSampler,(coord+ivec2(1,0))\x20%\x20texSize,0).rg;\x0avec2\x20f3=texelFetch(textureSampler,(coord+ivec2(1,1))\x20%\x20texSize,0).rg;\x0avec2\x20f4=texelFetch(textureSampler,(coord+ivec2(0,1))\x20%\x20texSize,0).rg;\x0afloat\x20minz=min(f1.x,f2.x);\x0afloat\x20maxz=max(f1.y,f2.y);\x0aglFragColor=vec4(minz,maxz,0.,0.);\x0a}\x0a#elif\x20defined(LAST)\x0avoid\x20main(void)\x0a{\x0aglFragColor=vec4(0.);\x0aif\x20(true)\x20{\x20\x0adiscard;\x0a}\x0a}\x0a#endif\x0a','offsetY','crossEyeMode','onBeforePhysicsObservable','Error','_buildIndexBuffer','Sint','_loadFile','REFLECTIONMAP_CUBIC','ConeParticleEmitter','DST_COLOR','setSize','postprocess','_vertexArrayObject','statusText','_varyingNamesWGSL','BC4RSnorm','supportSRGBBuffers','pbrIBLFunctions','engine','void\x20DUMMYFUNC','_mask','uniqueId','//Attributes\x0d\x0a','textureRegexp','\x20\x20return\x20output;','pbrUboDeclaration','_comparisonFunction','_ignore','_alphaEquation','transform','pbrFragmentSamplersDeclaration','precision\x20highp\x20float;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20float\x20curvature_ridge;\x0auniform\x20float\x20curvature_valley;\x0a#ifndef\x20CURVATURE_OFFSET\x0a#define\x20CURVATURE_OFFSET\x201\x0a#endif\x0afloat\x20curvature_soft_clamp(float\x20curvature,float\x20control)\x0a{\x0aif\x20(curvature<0.5/control)\x0areturn\x20curvature*(1.0-curvature*control);\x0areturn\x200.25/control;\x0a}\x0afloat\x20calculate_curvature(ivec2\x20texel,float\x20ridge,float\x20valley)\x0a{\x0avec2\x20normal_up\x20=texelFetch(normalSampler,texel+ivec2(0,\x20CURVATURE_OFFSET),0).rb;\x0avec2\x20normal_down\x20=texelFetch(normalSampler,texel+ivec2(0,-CURVATURE_OFFSET),0).rb;\x0avec2\x20normal_left\x20=texelFetch(normalSampler,texel+ivec2(-CURVATURE_OFFSET,0),0).rb;\x0avec2\x20normal_right=texelFetch(normalSampler,texel+ivec2(\x20CURVATURE_OFFSET,0),0).rb;\x0afloat\x20normal_diff=((normal_up.g-normal_down.g)+(normal_right.r-normal_left.r));\x0aif\x20(normal_diff<0.0)\x0areturn\x20-2.0*curvature_soft_clamp(-normal_diff,valley);\x0areturn\x202.0*curvature_soft_clamp(normal_diff,ridge);\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0aivec2\x20texel=ivec2(gl_FragCoord.xy);\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0afloat\x20curvature=calculate_curvature(texel,curvature_ridge,curvature_valley);\x0abaseColor.rgb*=curvature+1.0;\x0agl_FragColor=baseColor;\x0a}','cullFace','_name','createUniformBuffer','setUInt4','struct\x20albedoOpacityOutParams\x0a{\x0avec3\x20surfaceAlbedo;\x0afloat\x20alpha;\x0a};\x0a#define\x20pbr_inline\x0avoid\x20albedoOpacityBlock(\x0ain\x20vec4\x20vAlbedoColor,\x0a#ifdef\x20ALBEDO\x0ain\x20vec4\x20albedoTexture,\x0ain\x20vec2\x20albedoInfos,\x0a#endif\x0a#ifdef\x20OPACITY\x0ain\x20vec4\x20opacityMap,\x0ain\x20vec2\x20vOpacityInfos,\x0a#endif\x0a#ifdef\x20DETAIL\x0ain\x20vec4\x20detailColor,\x0ain\x20vec4\x20vDetailInfos,\x0a#endif\x0aout\x20albedoOpacityOutParams\x20outParams\x0a)\x0a{\x0avec3\x20surfaceAlbedo=vAlbedoColor.rgb;\x0afloat\x20alpha=vAlbedoColor.a;\x0a#ifdef\x20ALBEDO\x0a#if\x20defined(ALPHAFROMALBEDO)\x20||\x20defined(ALPHATEST)\x0aalpha*=albedoTexture.a;\x0a#endif\x0a#ifdef\x20GAMMAALBEDO\x0asurfaceAlbedo*=toLinearSpace(albedoTexture.rgb);\x0a#else\x0asurfaceAlbedo*=albedoTexture.rgb;\x0a#endif\x0asurfaceAlbedo*=albedoInfos.y;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0asurfaceAlbedo*=vColor.rgb;\x0a#endif\x0a#ifdef\x20DETAIL\x0afloat\x20detailAlbedo=2.0*mix(0.5,detailColor.r,vDetailInfos.y);\x0asurfaceAlbedo.rgb=surfaceAlbedo.rgb*detailAlbedo*detailAlbedo;\x20\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_UPDATE_ALBEDO\x0a#ifdef\x20OPACITY\x0a#ifdef\x20OPACITYRGB\x0aalpha=getLuminance(opacityMap.rgb);\x0a#else\x0aalpha*=opacityMap.a;\x0a#endif\x0aalpha*=vOpacityInfos.y;\x0a#endif\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#if\x20!defined(SS_LINKREFRACTIONTOTRANSPARENCY)\x20&&\x20!defined(ALPHAFRESNEL)\x0a#ifdef\x20ALPHATEST\x0aif\x20(alpha<ALPHATESTVALUE)\x0adiscard;\x0a#ifndef\x20ALPHABLEND\x0aalpha=1.0;\x0a#endif\x0a#endif\x0a#endif\x0aoutParams.surfaceAlbedo=surfaceAlbedo;\x0aoutParams.alpha=alpha;\x0a}\x0a','rebuild','isDirty','entries','AddIndividualParser','Zero','\x5cs*\x5c[(.+)?\x5c]','_applyTextureArrayProcessing','Color4','R8Unorm','highlightsPixelShader','verticesStart','Dot','MATERIAL_PointListDrawMode','mrtFragmentDeclaration','#ifdef\x20FOG\x0avFogDistance=(view*worldPos).xyz;\x0a#endif\x0a','inlineShaderCode','_buildHeight','pow','\x20=\x20computeSphericalCoords(','shadowOnlyVertexShader','getViewCount','_emitVaryingFromString','_maxLodLevel','setVector3','renderPriority','SetImmediate','RGBA8Sint','ShadersInclude/','_prePassRenderTarget','MODE_TOPBOTTOM','\x20=\x20','inputIndex','isExist','_getNextFreeBinding','_loopAnimation','invertU','_getSamplingParameters','precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vTextureUV;\x0auniform\x20sampler2D\x20mixMap1Sampler;\x0auniform\x20vec2\x20vTextureInfos;\x0a#ifdef\x20MIXMAP2\x0auniform\x20sampler2D\x20mixMap2Sampler;\x0a#endif\x0auniform\x20sampler2D\x20diffuse1Sampler;\x0auniform\x20sampler2D\x20diffuse2Sampler;\x0auniform\x20sampler2D\x20diffuse3Sampler;\x0auniform\x20sampler2D\x20diffuse4Sampler;\x0auniform\x20vec2\x20diffuse1Infos;\x0auniform\x20vec2\x20diffuse2Infos;\x0auniform\x20vec2\x20diffuse3Infos;\x0auniform\x20vec2\x20diffuse4Infos;\x0a#ifdef\x20MIXMAP2\x0auniform\x20sampler2D\x20diffuse5Sampler;\x0auniform\x20sampler2D\x20diffuse6Sampler;\x0auniform\x20sampler2D\x20diffuse7Sampler;\x0auniform\x20sampler2D\x20diffuse8Sampler;\x0auniform\x20vec2\x20diffuse5Infos;\x0auniform\x20vec2\x20diffuse6Infos;\x0auniform\x20vec2\x20diffuse7Infos;\x0auniform\x20vec2\x20diffuse8Infos;\x0a#endif\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20finalMixColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0a#ifdef\x20MIXMAP2\x0avec4\x20mixColor2=vec4(1.,1.,1.,1.);\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0avec4\x20mixColor=texture2D(mixMap1Sampler,vTextureUV);\x0a#include<depthPrePass>\x0amixColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse1Color=texture2D(diffuse1Sampler,vTextureUV*diffuse1Infos);\x0avec4\x20diffuse2Color=texture2D(diffuse2Sampler,vTextureUV*diffuse2Infos);\x0avec4\x20diffuse3Color=texture2D(diffuse3Sampler,vTextureUV*diffuse3Infos);\x0avec4\x20diffuse4Color=texture2D(diffuse4Sampler,vTextureUV*diffuse4Infos);\x0adiffuse1Color.rgb*=mixColor.r;\x0adiffuse2Color.rgb=mix(diffuse1Color.rgb,diffuse2Color.rgb,mixColor.g);\x0adiffuse3Color.rgb=mix(diffuse2Color.rgb,diffuse3Color.rgb,mixColor.b);\x0afinalMixColor.rgb=mix(diffuse3Color.rgb,diffuse4Color.rgb,1.0-mixColor.a);\x0a#ifdef\x20MIXMAP2\x0amixColor=texture2D(mixMap2Sampler,vTextureUV);\x0amixColor.rgb*=vTextureInfos.y;\x0avec4\x20diffuse5Color=texture2D(diffuse5Sampler,vTextureUV*diffuse5Infos);\x0avec4\x20diffuse6Color=texture2D(diffuse6Sampler,vTextureUV*diffuse6Infos);\x0avec4\x20diffuse7Color=texture2D(diffuse7Sampler,vTextureUV*diffuse7Infos);\x0avec4\x20diffuse8Color=texture2D(diffuse8Sampler,vTextureUV*diffuse8Infos);\x0adiffuse5Color.rgb=mix(finalMixColor.rgb,diffuse5Color.rgb,mixColor.r);\x0adiffuse6Color.rgb=mix(diffuse5Color.rgb,diffuse6Color.rgb,mixColor.g);\x0adiffuse7Color.rgb=mix(diffuse6Color.rgb,diffuse7Color.rgb,mixColor.b);\x0afinalMixColor.rgb=mix(diffuse7Color.rgb,diffuse8Color.rgb,1.0-mixColor.a);\x0a#endif\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0afinalMixColor.rgb*=vColor.rgb;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor*finalMixColor.rgb,0.0,1.0);\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','NEGATIVE_INFINITY','attribute\x20vec2\x20position;\x0auniform\x20mat4\x20viewportMatrix;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=position*madd+madd;\x0agl_Position=viewportMatrix*vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','_xSize','playAnimation','end','scene','currentLine','_repeatableContentAnchorIndex','NodeMaterial\x20does\x20not\x20have\x20a\x20fragment\x20output.\x20You\x20need\x20to\x20at\x20least\x20add\x20a\x20block\x20that\x20generates\x20a\x20glFragColor\x20value.\x0d\x0a','setDepthBiasSlopeScale','availableVaryings','addPendingData','_updateRenderBuffer','isExternalTexture','\x20\x20var\x20output\x20:\x20FragmentOutputs;\x0a\x20\x20','finalizeShaders','samplingModes','close','isValid','#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0aprecision\x20highp\x20float;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20tUV;\x0auniform\x20float\x20time;\x0auniform\x20float\x20spriteCount;\x0auniform\x20sampler2D\x20spriteSheet;\x0auniform\x20vec2\x20spriteMapSize;\x0auniform\x20vec2\x20outputSize;\x0auniform\x20vec2\x20stageSize;\x0auniform\x20sampler2D\x20frameMap;\x0auniform\x20sampler2D\x20tileMaps[LAYERS];\x0auniform\x20sampler2D\x20animationMap;\x0auniform\x20vec3\x20colorMul;\x0afloat\x20mt;\x0aconst\x20float\x20fdStep=1./4.;\x0aconst\x20float\x20aFrameSteps=1./MAX_ANIMATION_FRAMES;\x0amat4\x20getFrameData(float\x20frameID){\x0afloat\x20fX=frameID/spriteCount;\x0areturn\x20mat4(\x0atexture2D(frameMap,vec2(fX,0.),0.),\x0atexture2D(frameMap,vec2(fX,fdStep*1.),0.),\x0atexture2D(frameMap,vec2(fX,fdStep*2.),0.),\x0avec4(0.)\x0a);\x0a}\x0avoid\x20main(){\x0avec4\x20color=vec4(0.);\x0avec2\x20tileUV=fract(tUV);\x0a#ifdef\x20FLIPU\x0atileUV.y=1.0-tileUV.y;\x0a#endif\x0avec2\x20tileID=floor(tUV);\x0avec2\x20sheetUnits=1./spriteMapSize;\x0afloat\x20spriteUnits=1./spriteCount;\x0avec2\x20stageUnits=1./stageSize;\x0afor(int\x20i=0;\x20i<LAYERS;\x20i++)\x20{\x0afloat\x20frameID;\x0a#define\x20LAYER_ID_SWITCH\x0avec4\x20animationData=TEXTUREFUNC(animationMap,vec2((frameID+0.5)/spriteCount,0.),0.);\x0aif(animationData.y>0.)\x20{\x0amt=mod(time*animationData.z,1.0);\x0afor(float\x20f=0.;\x20f<MAX_ANIMATION_FRAMES;\x20f++){\x0aif(animationData.y>mt){\x0aframeID=animationData.x;\x0abreak;\x0a}\x0aanimationData=TEXTUREFUNC(animationMap,vec2((frameID+0.5)/spriteCount,aFrameSteps*f),0.);\x0a}\x0a}\x0amat4\x20frameData=getFrameData(frameID+0.5);\x0avec2\x20frameSize=(frameData[0].zw)/spriteMapSize;\x0avec2\x20offset=frameData[0].xy*sheetUnits;\x0avec2\x20ratio=frameData[2].xy/frameData[0].zw;\x0aif\x20(frameData[2].z==1.){\x0atileUV.xy=tileUV.yx;\x0a}\x0avec4\x20nc=texture2D(spriteSheet,tileUV*frameSize+offset);\x0aif\x20(i==0){\x0acolor=nc;\x0a}\x20else\x20{\x0afloat\x20alpha=min(color.a+nc.a,1.0);\x0avec3\x20mixed=mix(color.xyz,nc.xyz,nc.a);\x0acolor=vec4(mixed,alpha);\x0a}\x0a}\x0acolor.xyz*=colorMul;\x0agl_FragColor=color;\x0a}','setEffect','uniform\x20mat4\x20world;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20MULTIVIEW\x0auniform\x20mat4\x20viewProjectionR;\x0a#endif\x0a','delay','_constantDeclaration','Texture;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#define\x20','normal','setMatrix3x3','attributeLocationsFromEffect','_options','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec4\x20color;\x0a#include<helperFunctions>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0a#ifdef\x20LINEAR\x0abaseColor.rgb=toGammaSpace(baseColor.rgb);\x0a#endif\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0agl_FragColor=baseColor*color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}','Vector2','_depthStencilBuffer','vertexShader','#ifdef\x20LIGHTMAP\x0avec4\x20lightmapColor=texture2D(lightmapSampler,vLightmapUV+uvOffset);\x0a#ifdef\x20RGBDLIGHTMAP\x0alightmapColor.rgb=fromRGBD(lightmapColor);\x0a#endif\x0a#ifdef\x20GAMMALIGHTMAP\x0alightmapColor.rgb=toLinearSpace(lightmapColor.rgb);\x0a#endif\x0alightmapColor.rgb*=vLightmapInfos.y;\x0a#endif\x0a','TEXTUREFORMAT_RGBA_INTEGER','#ifdef\x20MAINUV{X}\x0avarying\x20vec2\x20vMainUV{X};\x0a#endif\x0a','setIntArray3','_createComputePipelineStageDescriptor','frameId','uniform\x20mat4\x20world;\x0auniform\x20float\x20visibility;\x0a','FALLOFF_DEFAULT','_IsGPUBuffer','markAsPrePassDirty','attribute\x20vec2\x20position;\x0auniform\x20vec2\x20texelSize;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec2\x20sampleCoordS;\x0avarying\x20vec2\x20sampleCoordE;\x0avarying\x20vec2\x20sampleCoordN;\x0avarying\x20vec2\x20sampleCoordW;\x0avarying\x20vec2\x20sampleCoordNW;\x0avarying\x20vec2\x20sampleCoordSE;\x0avarying\x20vec2\x20sampleCoordNE;\x0avarying\x20vec2\x20sampleCoordSW;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avUV=(position*madd+madd);\x0asampleCoordS=vUV+vec2(\x200.0,1.0)*texelSize;\x0asampleCoordE=vUV+vec2(\x201.0,0.0)*texelSize;\x0asampleCoordN=vUV+vec2(\x200.0,-1.0)*texelSize;\x0asampleCoordW=vUV+vec2(-1.0,0.0)*texelSize;\x0asampleCoordNW=vUV+vec2(-1.0,-1.0)*texelSize;\x0asampleCoordSE=vUV+vec2(\x201.0,1.0)*texelSize;\x0asampleCoordNE=vUV+vec2(\x201.0,-1.0)*texelSize;\x0asampleCoordSW=vUV+vec2(-1.0,1.0)*texelSize;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}','distance','generateMipmaps','LIGHTMAP_DEFAULT','enable','_hardwareTexture','_pointerY','setBindGroup','_caps','_mrtAttachments','outlinePixelShader','TEXTUREFORMAT_ALPHA\x20format\x20not\x20supported\x20in\x20WebGPU','_generateDepthBuffer','vectors','TransformNormal','uniformBufferRegexp','TransformCoordinatesToRef','_copyInvertYBindGroupWithOfst','#define\x20CLIPPLANE4','TEXTURE_CREATIONFLAG_STORAGE','defaultFragmentDeclaration','#ifdef\x20LIGHT{X}\x0auniform\x20vec4\x20vLightData{X};\x0auniform\x20vec4\x20vLightDiffuse{X};\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vLightSpecular{X};\x0a#else\x0avec4\x20vLightSpecular{X}=vec4(0.);\x0a#endif\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#elif\x20defined(SHADOWCUBE{X})\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0auniform\x20vec4\x20shadowsInfo{X};\x0auniform\x20vec2\x20depthValues{X};\x0a#endif\x0a#ifdef\x20SPOTLIGHT{X}\x0auniform\x20vec4\x20vLightDirection{X};\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(POINTLIGHT{X})\x0auniform\x20vec4\x20vLightFalloff{X};\x0a#elif\x20defined(HEMILIGHT{X})\x0auniform\x20vec3\x20vLightGround{X};\x0a#endif\x0a#endif\x0a','max','stencilOp','_blurTextureSizeY','_externalProperties','Fragment','toLowerCase','additionalData','createStorageBuffer','backgroundFragmentDeclaration','gpuUpdateParticlesVertexShader','reflectionFunction','_fragmentIsGLES3','Depth','#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0aprecision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<imageProcessingDeclaration>\x0a#include<imageProcessingFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20BUMP\x0avarying\x20vec2\x20vNormalUV;\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avarying\x20vec2\x20vNormalUV2;\x0a#endif\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20vec2\x20vNormalInfos;\x0a#endif\x0auniform\x20sampler2D\x20refractionSampler;\x0auniform\x20sampler2D\x20reflectionSampler;\x0aconst\x20float\x20LOG2=1.442695;\x0auniform\x20vec3\x20cameraPosition;\x0auniform\x20vec4\x20waterColor;\x0auniform\x20float\x20colorBlendFactor;\x0auniform\x20vec4\x20waterColor2;\x0auniform\x20float\x20colorBlendFactor2;\x0auniform\x20float\x20bumpHeight;\x0auniform\x20float\x20time;\x0avarying\x20vec3\x20vRefractionMapTexCoord;\x0avarying\x20vec3\x20vReflectionMapTexCoord;\x0avarying\x20vec3\x20vPosition;\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<fogFragmentDeclaration>\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20BUMP\x0a#ifdef\x20BUMPSUPERIMPOSE\x0abaseColor=0.6*texture2D(normalSampler,vNormalUV)+0.4*texture2D(normalSampler,vec2(vNormalUV2.x,vNormalUV2.y));\x0a#else\x0abaseColor=texture2D(normalSampler,vNormalUV);\x0a#endif\x0avec3\x20bumpColor=baseColor.rgb;\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0abaseColor.rgb*=vNormalInfos.y;\x0a#else\x0avec3\x20bumpColor=vec3(1.0);\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec2\x20perturbation=bumpHeight*(baseColor.rg-0.5);\x0a#ifdef\x20BUMPAFFECTSREFLECTION\x0avec3\x20normalW=normalize(vNormalW+vec3(perturbation.x*8.0,0.0,perturbation.y*8.0));\x0aif\x20(normalW.y<0.0)\x20{\x0anormalW.y=-normalW.y;\x0a}\x0a#else\x0avec3\x20normalW=normalize(vNormalW);\x0a#endif\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0avec2\x20perturbation=bumpHeight*(vec2(1.0,1.0)-0.5);\x0a#endif\x0a#ifdef\x20FRESNELSEPARATE\x0a#ifdef\x20REFLECTION\x0avec2\x20projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation*0.5,0.0,1.0);\x0avec4\x20refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\x0a#endif\x0avec2\x20projectedReflectionTexCoords=clamp(vec2(\x0avReflectionMapTexCoord.x/vReflectionMapTexCoord.z+perturbation.x*0.3,\x0avReflectionMapTexCoord.y/vReflectionMapTexCoord.z+perturbation.y\x0a),0.0,1.0);\x0avec4\x20reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\x0a#endif\x0avec3\x20upVector=vec3(0.0,1.0,0.0);\x0afloat\x20fresnelTerm=clamp(abs(pow(dot(viewDirectionW,upVector),3.0)),0.05,0.65);\x0afloat\x20IfresnelTerm=1.0-fresnelTerm;\x0arefractiveColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*refractiveColor;\x0areflectiveColor=IfresnelTerm*colorBlendFactor2*waterColor+(1.0-colorBlendFactor2*IfresnelTerm)*reflectiveColor;\x0avec4\x20combinedColor=refractiveColor*fresnelTerm+reflectiveColor*IfresnelTerm;\x0abaseColor=combinedColor;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0avec3\x20finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#else\x20\x0a#ifdef\x20REFLECTION\x0avec2\x20projectedRefractionTexCoords=clamp(vRefractionMapTexCoord.xy/vRefractionMapTexCoord.z+perturbation,0.0,1.0);\x0avec4\x20refractiveColor=texture2D(refractionSampler,projectedRefractionTexCoords);\x0a#ifdef\x20IS_REFRACTION_LINEAR\x0arefractiveColor.rgb=toGammaSpace(refractiveColor.rgb);\x0a#endif\x0avec2\x20projectedReflectionTexCoords=clamp(vReflectionMapTexCoord.xy/vReflectionMapTexCoord.z+perturbation,0.0,1.0);\x0avec4\x20reflectiveColor=texture2D(reflectionSampler,projectedReflectionTexCoords);\x0a#ifdef\x20IS_REFLECTION_LINEAR\x0areflectiveColor.rgb=toGammaSpace(reflectiveColor.rgb);\x0a#endif\x0avec3\x20upVector=vec3(0.0,1.0,0.0);\x0afloat\x20fresnelTerm=max(dot(viewDirectionW,upVector),0.0);\x0avec4\x20combinedColor=refractiveColor*fresnelTerm+reflectiveColor*(1.0-fresnelTerm);\x0abaseColor=colorBlendFactor*waterColor+(1.0-colorBlendFactor)*combinedColor;\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0alightingInfo\x20info;\x0afloat\x20shadow=1.;\x0a#ifdef\x20SPECULARTERM\x0afloat\x20glossiness=vSpecularColor.a;\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0avec3\x20specularColor=vSpecularColor.rgb;\x0a#else\x0afloat\x20glossiness=0.;\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0avec3\x20finalDiffuse=clamp(baseColor.rgb,0.0,1.0);\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase*specularColor;\x0a#else\x0avec3\x20finalSpecular=vec3(0.0);\x0a#endif\x0a#endif\x0avec4\x20color=vec4(finalDiffuse+finalSpecular,alpha);\x0a#include<logDepthFragment>\x0a#include<fogFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0acolor.rgb=toLinearSpace(color.rgb);\x0a#elif\x20defined(IMAGEPROCESSING)\x0acolor.rgb=toLinearSpace(color.rgb);\x0acolor=applyImageProcessing(color);\x0a#endif\x0agl_FragColor=color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','#define\x20FRESNEL_MAXIMUM_ON_ROUGH\x200.25\x0a#ifdef\x20MS_BRDF_ENERGY_CONSERVATION\x0avec3\x20getEnergyConservationFactor(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20environmentBrdf)\x20{\x0areturn\x201.0+specularEnvironmentR0*(1.0/environmentBrdf.y-1.0);\x0a}\x0a#endif\x0a#ifdef\x20ENVIRONMENTBRDF\x0avec3\x20getBRDFLookup(float\x20NdotV,float\x20perceptualRoughness)\x20{\x0avec2\x20UV=vec2(NdotV,perceptualRoughness);\x0avec4\x20brdfLookup=texture2D(environmentBrdfSampler,UV);\x0a#ifdef\x20ENVIRONMENTBRDF_RGBD\x0abrdfLookup.rgb=fromRGBD(brdfLookup.rgba);\x0a#endif\x0areturn\x20brdfLookup.rgb;\x0a}\x0avec3\x20getReflectanceFromBRDFLookup(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20specularEnvironmentR90,const\x20vec3\x20environmentBrdf)\x20{\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0avec3\x20reflectance=(specularEnvironmentR90-specularEnvironmentR0)*environmentBrdf.x+specularEnvironmentR0*environmentBrdf.y;\x0a#else\x0avec3\x20reflectance=specularEnvironmentR0*environmentBrdf.x+specularEnvironmentR90*environmentBrdf.y;\x0a#endif\x0areturn\x20reflectance;\x0a}\x0avec3\x20getReflectanceFromBRDFLookup(const\x20vec3\x20specularEnvironmentR0,const\x20vec3\x20environmentBrdf)\x20{\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0avec3\x20reflectance=mix(environmentBrdf.xxx,environmentBrdf.yyy,specularEnvironmentR0);\x0a#else\x0avec3\x20reflectance=specularEnvironmentR0*environmentBrdf.x+environmentBrdf.y;\x0a#endif\x0areturn\x20reflectance;\x0a}\x0a#endif\x0a/*\x20NOT\x20USED\x0a#if\x20defined(SHEEN)\x20&&\x20defined(SHEEN_SOFTER)\x0afloat\x20getBRDFLookupCharlieSheen(float\x20NdotV,float\x20perceptualRoughness)\x0a{\x0afloat\x20c=1.0-NdotV;\x0afloat\x20c3=c*c*c;\x0areturn\x200.65584461*c3+1.0/(4.16526551+exp(-7.97291361*perceptualRoughness+6.33516894));\x0a}\x0a#endif\x0a*/\x0a#if\x20!defined(ENVIRONMENTBRDF)\x20||\x20defined(REFLECTIONMAP_SKYBOX)\x20||\x20defined(ALPHAFRESNEL)\x0avec3\x20getReflectanceFromAnalyticalBRDFLookup_Jones(float\x20VdotN,vec3\x20reflectance0,vec3\x20reflectance90,float\x20smoothness)\x0a{\x0afloat\x20weight=mix(FRESNEL_MAXIMUM_ON_ROUGH,1.0,smoothness);\x0areturn\x20reflectance0+weight*(reflectance90-reflectance0)*pow5(saturate(1.0-VdotN));\x0a}\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x0a/**\x0a*\x20The\x20sheen\x20BRDF\x20not\x20containing\x20F\x20can\x20be\x20easily\x20stored\x20in\x20the\x20blue\x20channel\x20of\x20the\x20BRDF\x20texture.\x0a*\x20The\x20blue\x20channel\x20contains\x20DCharlie*VAshikhmin*NdotL\x20as\x20a\x20lokkup\x20table\x0a*/\x0avec3\x20getSheenReflectanceFromBRDFLookup(const\x20vec3\x20reflectance0,const\x20vec3\x20environmentBrdf)\x20{\x0avec3\x20sheenEnvironmentReflectance=reflectance0*environmentBrdf.b;\x0areturn\x20sheenEnvironmentReflectance;\x0a}\x0a#endif\x0avec3\x20fresnelSchlickGGX(float\x20VdotH,vec3\x20reflectance0,vec3\x20reflectance90)\x0a{\x0areturn\x20reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);\x0a}\x0afloat\x20fresnelSchlickGGX(float\x20VdotH,float\x20reflectance0,float\x20reflectance90)\x0a{\x0areturn\x20reflectance0+(reflectance90-reflectance0)*pow5(1.0-VdotH);\x0a}\x0a#ifdef\x20CLEARCOAT\x0avec3\x20getR0RemappedForClearCoat(vec3\x20f0)\x20{\x0a#ifdef\x20CLEARCOAT_DEFAULTIOR\x0a#ifdef\x20MOBILE\x0areturn\x20saturate(f0*(f0*0.526868+0.529324)-0.0482256);\x0a#else\x0areturn\x20saturate(f0*(f0*(0.941892-0.263008*f0)+0.346479)-0.0285998);\x0a#endif\x0a#else\x0avec3\x20s=sqrt(f0);\x0avec3\x20t=(vClearCoatRefractionParams.z+vClearCoatRefractionParams.w*s)/(vClearCoatRefractionParams.w+vClearCoatRefractionParams.z*s);\x0areturn\x20square(t);\x0a#endif\x0a}\x0a#endif\x0a#ifdef\x20IRIDESCENCE\x0aconst\x20mat3\x20XYZ_TO_REC709=mat3(\x0a3.2404542,-0.9692660,\x200.0556434,\x0a-1.5371385,\x201.8760108,-0.2040259,\x0a-0.4985314,\x200.0415560,\x201.0572252\x0a);\x0avec3\x20getIORTfromAirToSurfaceR0(vec3\x20f0)\x20{\x0avec3\x20sqrtF0=sqrt(f0);\x0areturn\x20(1.+sqrtF0)/(1.-sqrtF0);\x0a}\x0avec3\x20getR0fromIORs(vec3\x20iorT,float\x20iorI)\x20{\x0areturn\x20square((iorT-vec3(iorI))/(iorT+vec3(iorI)));\x0a}\x0afloat\x20getR0fromIORs(float\x20iorT,float\x20iorI)\x20{\x0areturn\x20square((iorT-iorI)/(iorT+iorI));\x0a}\x0avec3\x20evalSensitivity(float\x20opd,vec3\x20shift)\x20{\x0afloat\x20phase=2.0*PI*opd*1.0e-9;\x0aconst\x20vec3\x20val=vec3(5.4856e-13,4.4201e-13,5.2481e-13);\x0aconst\x20vec3\x20pos=vec3(1.6810e+06,1.7953e+06,2.2084e+06);\x0aconst\x20vec3\x20var=vec3(4.3278e+09,9.3046e+09,6.6121e+09);\x0avec3\x20xyz=val*sqrt(2.0*PI*var)*cos(pos*phase+shift)*exp(-square(phase)*var);\x0axyz.x+=9.7470e-14*sqrt(2.0*PI*4.5282e+09)*cos(2.2399e+06*phase+shift[0])*exp(-4.5282e+09*square(phase));\x0axyz/=1.0685e-7;\x0avec3\x20srgb=XYZ_TO_REC709*xyz;\x0areturn\x20srgb;\x0a}\x0avec3\x20evalIridescence(float\x20outsideIOR,float\x20eta2,float\x20cosTheta1,float\x20thinFilmThickness,vec3\x20baseF0)\x20{\x0avec3\x20I=vec3(1.0);\x0afloat\x20iridescenceIOR=mix(outsideIOR,eta2,smoothstep(0.0,0.03,thinFilmThickness));\x0afloat\x20sinTheta2Sq=square(outsideIOR/iridescenceIOR)*(1.0-square(cosTheta1));\x0afloat\x20cosTheta2Sq=1.0-sinTheta2Sq;\x0aif\x20(cosTheta2Sq<0.0)\x20{\x0areturn\x20I;\x0a}\x0afloat\x20cosTheta2=sqrt(cosTheta2Sq);\x0afloat\x20R0=getR0fromIORs(iridescenceIOR,outsideIOR);\x0afloat\x20R12=fresnelSchlickGGX(cosTheta1,R0,1.);\x0afloat\x20R21=R12;\x0afloat\x20T121=1.0-R12;\x0afloat\x20phi12=0.0;\x0aif\x20(iridescenceIOR<outsideIOR)\x20phi12=PI;\x0afloat\x20phi21=PI-phi12;\x0avec3\x20baseIOR=getIORTfromAirToSurfaceR0(clamp(baseF0,0.0,0.9999));\x20\x0avec3\x20R1=getR0fromIORs(baseIOR,iridescenceIOR);\x0avec3\x20R23=fresnelSchlickGGX(cosTheta2,R1,vec3(1.));\x0avec3\x20phi23=vec3(0.0);\x0aif\x20(baseIOR[0]<iridescenceIOR)\x20phi23[0]=PI;\x0aif\x20(baseIOR[1]<iridescenceIOR)\x20phi23[1]=PI;\x0aif\x20(baseIOR[2]<iridescenceIOR)\x20phi23[2]=PI;\x0afloat\x20opd=2.0*iridescenceIOR*thinFilmThickness*cosTheta2;\x0avec3\x20phi=vec3(phi21)+phi23;\x0avec3\x20R123=clamp(R12*R23,1e-5,0.9999);\x0avec3\x20r123=sqrt(R123);\x0avec3\x20Rs=square(T121)*R23/(vec3(1.0)-R123);\x0avec3\x20C0=R12+Rs;\x0aI=C0;\x0avec3\x20Cm=Rs-T121;\x0afor\x20(int\x20m=1;\x20m<=2;\x20++m)\x0a{\x0aCm*=r123;\x0avec3\x20Sm=2.0*evalSensitivity(float(m)*opd,float(m)*phi);\x0aI+=Cm*Sm;\x0a}\x0areturn\x20max(I,vec3(0.0));\x0a}\x0a#endif\x0afloat\x20normalDistributionFunction_TrowbridgeReitzGGX(float\x20NdotH,float\x20alphaG)\x0a{\x0afloat\x20a2=square(alphaG);\x0afloat\x20d=NdotH*NdotH*(a2-1.0)+1.0;\x0areturn\x20a2/(PI*d*d);\x0a}\x0a#ifdef\x20SHEEN\x0afloat\x20normalDistributionFunction_CharlieSheen(float\x20NdotH,float\x20alphaG)\x0a{\x0afloat\x20invR=1./alphaG;\x0afloat\x20cos2h=NdotH*NdotH;\x0afloat\x20sin2h=1.-cos2h;\x0areturn\x20(2.+invR)*pow(sin2h,invR*.5)/(2.*PI);\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0afloat\x20normalDistributionFunction_BurleyGGX_Anisotropic(float\x20NdotH,float\x20TdotH,float\x20BdotH,const\x20vec2\x20alphaTB)\x20{\x0afloat\x20a2=alphaTB.x*alphaTB.y;\x0avec3\x20v=vec3(alphaTB.y*TdotH,alphaTB.x\x20*BdotH,a2*NdotH);\x0afloat\x20v2=dot(v,v);\x0afloat\x20w2=a2/v2;\x0areturn\x20a2*w2*w2*RECIPROCAL_PI;\x0a}\x0a#endif\x0a#ifdef\x20BRDF_V_HEIGHT_CORRELATED\x0afloat\x20smithVisibility_GGXCorrelated(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x20{\x0a#ifdef\x20MOBILE\x0afloat\x20GGXV=NdotL*(NdotV*(1.0-alphaG)+alphaG);\x0afloat\x20GGXL=NdotV*(NdotL*(1.0-alphaG)+alphaG);\x0areturn\x200.5/(GGXV+GGXL);\x0a#else\x0afloat\x20a2=alphaG*alphaG;\x0afloat\x20GGXV=NdotL*sqrt(NdotV*(NdotV-a2*NdotV)+a2);\x0afloat\x20GGXL=NdotV*sqrt(NdotL*(NdotL-a2*NdotL)+a2);\x0areturn\x200.5/(GGXV+GGXL);\x0a#endif\x0a}\x0a#else\x0afloat\x20smithVisibilityG1_TrowbridgeReitzGGXFast(float\x20dot,float\x20alphaG)\x0a{\x0a#ifdef\x20MOBILE\x0areturn\x201.0/(dot+alphaG+(1.0-alphaG)*dot\x20));\x0a#else\x0afloat\x20alphaSquared=alphaG*alphaG;\x0areturn\x201.0/(dot+sqrt(alphaSquared+(1.0-alphaSquared)*dot*dot));\x0a#endif\x0a}\x0afloat\x20smithVisibility_TrowbridgeReitzGGXFast(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x0a{\x0afloat\x20visibility=smithVisibilityG1_TrowbridgeReitzGGXFast(NdotL,alphaG)*smithVisibilityG1_TrowbridgeReitzGGXFast(NdotV,alphaG);\x0areturn\x20visibility;\x0a}\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0afloat\x20smithVisibility_GGXCorrelated_Anisotropic(float\x20NdotL,float\x20NdotV,float\x20TdotV,float\x20BdotV,float\x20TdotL,float\x20BdotL,const\x20vec2\x20alphaTB)\x20{\x0afloat\x20lambdaV=NdotL*length(vec3(alphaTB.x*TdotV,alphaTB.y*BdotV,NdotV));\x0afloat\x20lambdaL=NdotV*length(vec3(alphaTB.x*TdotL,alphaTB.y*BdotL,NdotL));\x0afloat\x20v=0.5/(lambdaV+lambdaL);\x0areturn\x20v;\x0a}\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0afloat\x20visibility_Kelemen(float\x20VdotH)\x20{\x0areturn\x200.25/(VdotH*VdotH);\x20\x0a}\x0a#endif\x0a#ifdef\x20SHEEN\x0afloat\x20visibility_Ashikhmin(float\x20NdotL,float\x20NdotV)\x0a{\x0areturn\x201./(4.*(NdotL+NdotV-NdotL*NdotV));\x0a}\x0a/*\x20NOT\x20USED\x0a#ifdef\x20SHEEN_SOFTER\x0afloat\x20l(float\x20x,float\x20alphaG)\x0a{\x0afloat\x20oneMinusAlphaSq=(1.0-alphaG)*(1.0-alphaG);\x0afloat\x20a=mix(21.5473,25.3245,oneMinusAlphaSq);\x0afloat\x20b=mix(3.82987,3.32435,oneMinusAlphaSq);\x0afloat\x20c=mix(0.19823,0.16801,oneMinusAlphaSq);\x0afloat\x20d=mix(-1.97760,-1.27393,oneMinusAlphaSq);\x0afloat\x20e=mix(-4.32054,-4.85967,oneMinusAlphaSq);\x0areturn\x20a/(1.0+b*pow(x,c))+d*x+e;\x0a}\x0afloat\x20lambdaSheen(float\x20cosTheta,float\x20alphaG)\x0a{\x0areturn\x20abs(cosTheta)<0.5\x20?\x20exp(l(cosTheta,alphaG))\x20:\x20exp(2.0*l(0.5,alphaG)-l(1.0-cosTheta,alphaG));\x0a}\x0afloat\x20visibility_CharlieSheen(float\x20NdotL,float\x20NdotV,float\x20alphaG)\x0a{\x0afloat\x20G=1.0/(1.0+lambdaSheen(NdotV,alphaG)+lambdaSheen(NdotL,alphaG));\x0areturn\x20G/(4.0*NdotV*NdotL);\x0a}\x0a#endif\x0a*/\x0a#endif\x0afloat\x20diffuseBRDF_Burley(float\x20NdotL,float\x20NdotV,float\x20VdotH,float\x20roughness)\x20{\x0afloat\x20diffuseFresnelNV=pow5(saturateEps(1.0-NdotL));\x0afloat\x20diffuseFresnelNL=pow5(saturateEps(1.0-NdotV));\x0afloat\x20diffuseFresnel90=0.5+2.0*VdotH*VdotH*roughness;\x0afloat\x20fresnel\x20=\x0a(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNL)\x20*\x0a(1.0+(diffuseFresnel90-1.0)*diffuseFresnelNV);\x0areturn\x20fresnel/PI;\x0a}\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20transmittanceBRDF_Burley(const\x20vec3\x20tintColor,const\x20vec3\x20diffusionDistance,float\x20thickness)\x20{\x0avec3\x20S=1./maxEps(diffusionDistance);\x0avec3\x20temp=exp((-0.333333333*thickness)*S);\x0areturn\x20tintColor.rgb*0.25*(temp*temp*temp+3.0*temp);\x0a}\x0afloat\x20computeWrappedDiffuseNdotL(float\x20NdotL,float\x20w)\x20{\x0afloat\x20t=1.0+w;\x0afloat\x20invt2=1.0/square(t);\x0areturn\x20saturate((NdotL+w)*invt2);\x0a}\x0a#endif\x0a','hints','TEXTURE_SKYBOX_MODE','AddUniforms','setFloatArray','TEXTURETYPE_UNSIGNED_SHORT','ASTC5x4UnormSRGB','_varyingsWGSL','updateTexture','pop','autoBindSampler','_textureFormatInUse','drawElementsType','TEXTUREFORMAT_RED','getAttributeNextLocation','_update','pbrBlockClearcoat','updateIntArray','CULL_FACE','bindTexture','7943050kKMaTi','_pointerMoveStage','RG32Uint','instancesDeclaration','scene_multiview','setIntArray2','TEXTURE_NEAREST_LINEAR','BC6HRGBFloat','renderbufferStorageMultisample','ColorKind','vClipPlane2','singleClick','Identity','_setColorFormat','#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a','modelIndexOffsetStart','fluidRenderingStandardBlur','_worldPositionNameInFragmentOnlyMode','addTags','_blurPostProcesses','creationFlags','forcedExtension','Not\x20implemented','_isDepthTestDirty','_isBlendConstantsDirty','clearAllDiffusionProfiles','ONE_MINUS_DST_COLOR','noPrecision','constantlyUpdateMeshUnderPointer','vReflectionPosition','createMSAATexture','disableAutoAttach','UInt3','_list','_sphericalPolynomialPromise','DepthOnly','writeOutputs','!!INVALID\x20EXPRESSION!!','#if\x20defined(ALPHATEST)\x20||\x20defined(NEED_UV)\x0avarying\x20vec2\x20vUV;\x0a#endif\x0a#if\x20defined(ALPHATEST)\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#if\x20defined(ALPHATEST)\x0avec4\x20diffuseColor=texture2D(diffuseSampler,vUV);\x0aif\x20(diffuseColor.a<0.4)\x0adiscard;\x0a#endif\x0agl_FragColor=vec4(0.0,0.0,0.0,1.0);\x0a}\x0a','CompareLightsPriority','doubleClick','AddTagsTo','texture2D','ALPHA_EXCLUSION','_setDefaultValue','getOwnPropertyDescriptor','RGBA32Uint','get','isSupported','copyTextureToTexturePixelShader','BC6HRGBUFloat','constructor','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20lightScatteringSampler;\x0auniform\x20float\x20decay;\x0auniform\x20float\x20exposure;\x0auniform\x20float\x20weight;\x0auniform\x20float\x20density;\x0auniform\x20vec2\x20meshPositionOnScreen;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec2\x20tc=vUV;\x0avec2\x20deltaTexCoord=(tc-meshPositionOnScreen.xy);\x0adeltaTexCoord*=1.0/float(NUM_SAMPLES)*density;\x0afloat\x20illuminationDecay=1.0;\x0avec4\x20color=texture2D(lightScatteringSampler,tc)*0.4;\x0afor(int\x20i=0;\x20i<NUM_SAMPLES;\x20i++)\x20{\x0atc-=deltaTexCoord;\x0avec4\x20dataSample=texture2D(lightScatteringSampler,tc)*0.4;\x0adataSample*=illuminationDecay*weight;\x0acolor+=dataSample;\x0ailluminationDecay*=decay;\x0a}\x0avec4\x20realColor=texture2D(textureSampler,vUV);\x0agl_FragColor=((vec4((vec3(color.r,color.g,color.b)*exposure),1))+(realColor*(1.5-0.4)));\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a','_unTranslatedPointerX','cellHeight','_useDirectMapping','contains','MapRead','_blurTextureFormat','createStorageBuffer:\x20Unsupported\x20method\x20in\x20this\x20engine!','sharedData','POINTERPICK','_processPointerDown','processCodeAfterIncludes','_querySet','};\x0a','is2DArray','_invalidateMesh','writeTimestamp','mipLevelCount','vrdisplayconnect','_internalTexturesCache','RGBA8Snorm','_copyInvertYTempTexture','index','_timeElapsedQueryEnded','.xyz','Int4','_KnownUBOs','numBoneInfluencers','functions','assign','_isMultiTouchGesture','submit','HALF_FLOAT_OES','ceil','TEXTUREFORMAT_DEPTH24UNORM_STENCIL8','stereoscopicInterlacePixelShader','CopySrc','pbrBlockFinalLitComponents','compressedTexImage3D','bindArrayBuffer','_GetAttributeNamesOrOptions','.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0d\x0a','motionBlurPixelShader','_createCompositionEffect','_bundleCache','diffusionD','_opStencilFail','blurSizeDivisor','kernelBlurVertexShader','-astc.ktx',']\x0d\x0a','REFLECTIONMAP_SPHERICAL','uvVariableDeclaration','DirectColor4','_outputPostProcess','emitComments','_createDepthStencilCubeTexture','samplers','ComputeNumMipmapLevels','Unable\x20to\x20create\x20multi\x20sampled\x20framebuffer','s3tc','_videoSampler','textureCount','setPhysicsLinkWith','pickWorldPosition','highRefreshRate','_addCameraPointerObserver','struct\x20VertexInputs\x20{\x0a\x20\x20@builtin(vertex_index)\x20vertexIndex\x20:\x20u32,\x0a\x20\x20@builtin(instance_index)\x20instanceIndex\x20:\x20u32,\x0a','_tags','_ssFilterRadii','_ubInvertY','Clone','_physicsTimeAccumulator','MAINUV6','getPluginVersion','_getActionManagerForTrigger','\x22,\x20undefined,\x20undefined,\x20','textureFloatRender','RenderTarget','\x20\x20output.','UInt2','READ_FRAMEBUFFER','precision\x20mediump\x20sampler2DArray;\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2DArray\x20multiviewSampler;\x0auniform\x20int\x20imageIndex;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(multiviewSampler,vec3(vUV,imageIndex));\x0a}','_defineEquirectangularFixedName','_blendFunctionParameters','TEXTUREFORMAT_COMPRESSED_RGBA_BPTC_UNORM','Raw','emitter','hit',')\x20@binding(','TEXTUREFORMAT_COMPRESSED_RGB_S3TC_DXT1','_getArraySize','ray','_setTarget','disable','_generateMipmaps','vertexShaderName','_previousStartingPointerTime','vrDistortionCorrectionPixelShader','_cacheFloat2','_needNormals','@group(','out','!true','_arePrePassDirty','CONSTANT_COLOR','_defineSphericalName','isInVRExclusivePointerMode','outputRenderTarget','TEXTURE_LINEAR_LINEAR_MIPLINEAR','getScene','{X}','createDynamicTexture','struct\x20ambientOcclusionOutParams\x0a{\x0avec3\x20ambientOcclusionColor;\x0a#if\x20DEBUGMODE>0\x0avec3\x20ambientOcclusionColorMap;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20ambientOcclusionBlock(\x0a#ifdef\x20AMBIENT\x0ain\x20vec3\x20ambientOcclusionColorMap_,\x0ain\x20vec4\x20vAmbientInfos,\x0a#endif\x0aout\x20ambientOcclusionOutParams\x20outParams\x0a)\x0a{\x0avec3\x20ambientOcclusionColor=vec3(1.,1.,1.);\x0a#ifdef\x20AMBIENT\x0avec3\x20ambientOcclusionColorMap=ambientOcclusionColorMap_*vAmbientInfos.y;\x0a#ifdef\x20AMBIENTINGRAYSCALE\x0aambientOcclusionColorMap=vec3(ambientOcclusionColorMap.r,ambientOcclusionColorMap.r,ambientOcclusionColorMap.r);\x0a#endif\x0aambientOcclusionColor=mix(ambientOcclusionColor,ambientOcclusionColorMap,vAmbientInfos.z);\x0a#if\x20DEBUGMODE>0\x0aoutParams.ambientOcclusionColorMap=ambientOcclusionColorMap;\x0a#endif\x0a#endif\x0aoutParams.ambientOcclusionColor=ambientOcclusionColor;\x0a}\x0a','passCubePixelShader','_oldHardwareScaleFactor','isVisible','POINTERDOWN','frontFace','LeftOver','_prefiltered','IsImageBitmap','_MoveCursorWithinIf','geometryVertexDeclaration','pixelStorei','_source','modelArrayBuff','renderTarget','defines','createDrawContext','thinInstanceRefreshBoundingInfo','_changeTextureMode','#ifdef\x20INSTANCES\x0avar\x20finalWorld=mat4x4<f32>(world0,world1,world2,world3);\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0avar\x20finalPreviousWorld=mat4x4<f32>(previousWorld0,previousWorld1,previousWorld2,previousWorld3);\x0a#endif\x0a#ifdef\x20THIN_INSTANCES\x0a#if\x20!defined(WORLD_UBO)\x0afinalWorld=uniforms.world*finalWorld;\x0a#else\x0afinalWorld=mesh.world*finalWorld;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0afinalPreviousWorld=previousWorld*finalPreviousWorld;\x0a#endif\x0a#endif\x0a#else\x0a#if\x20!defined(WORLD_UBO)\x0avar\x20finalWorld=uniforms.world;\x0a#else\x0avar\x20finalWorld=mesh.world;\x0a#endif\x0a#if\x20defined(PREPASS_VELOCITY)\x20||\x20defined(VELOCITY)\x0avar\x20finalPreviousWorld=previousWorld;\x0a#endif\x0a#endif\x0a','\x20:\x20array<','_swapRenderTargetWrapper','getBundleEncoder','ACTION_OnKeyDownTrigger','StorageTexture','vrPresentationAttributes','_projectOnTrianglesToRef','blockingBlocks','worldUp','_stridedUniformArrays','updateUInt','BuildTuple','struct\x20Scene\x20{\x0aviewProjection\x20:\x20mat4x4<f32>,\x0a#ifdef\x20MULTIVIEW\x0aviewProjectionR\x20:\x20mat4x4<f32>,\x0a#endif\x20\x0aview\x20:\x20mat4x4<f32>,\x0aprojection\x20:\x20mat4x4<f32>,\x0avEyePosition\x20:\x20vec4<f32>,\x0a};\x0avar<uniform>\x20scene\x20:\x20Scene;\x0a','vClipPlane','_debugFlushPendingCommands','activeCamera','glowMapGenerationPixelShader','uniform\x20sampler2D\x20textureSampler;\x0auniform\x20int\x20filterSize;\x0auniform\x20vec2\x20blurDir;\x0avarying\x20vec2\x20vUV;\x0avoid\x20main(void)\x20{\x0avec4\x20s=textureLod(textureSampler,vUV,0.);\x0aif\x20(s.r==0.)\x20{\x0aglFragColor=vec4(0.,0.,0.,1.);\x0areturn;\x0a}\x0afloat\x20sigma=float(filterSize)/3.0;\x0afloat\x20twoSigma2=2.0*sigma*sigma;\x0avec4\x20sum=vec4(0.);\x0afloat\x20wsum=0.;\x0afor\x20(int\x20x=-filterSize;\x20x<=filterSize;\x20++x)\x20{\x0avec2\x20coords=vec2(x);\x0avec4\x20sampl=textureLod(textureSampler,vUV+coords*blurDir,0.);\x0afloat\x20w=exp(-coords.x*coords.x/twoSigma2);\x0asum+=sampl*w;\x0awsum+=w;\x0a}\x0asum/=wsum;\x0aglFragColor=vec4(sum.rgb,1.);\x0a}\x0a','varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a}','markAsAttributesDirty','ref','TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV','observer','Lerp','_vertexData','gl_VertexID','getEmittedParticleSystems','_onVRFullScreenTriggered','TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV','RGBA8Unorm','gl_Position.z\x20=\x20(gl_Position.z\x20+\x20gl_Position.w)\x20/\x202.0;\x0a'];a6_0x428c=function(){return _0x41665f;};return a6_0x428c();}var a6_0x5e3a36=a6_0x4d3f;function a6_0x4d3f(_0x4a2d1e,_0x13b3d6){var _0x428c1d=a6_0x428c();return a6_0x4d3f=function(_0x4d3f19,_0x2d8ace){_0x4d3f19=_0x4d3f19-0x19d;var _0x151900=_0x428c1d[_0x4d3f19];return _0x151900;},a6_0x4d3f(_0x4a2d1e,_0x13b3d6);}(function(_0x287d43,_0x494cac){var _0x57293f=a6_0x4d3f,_0x5affb8=_0x287d43();while(!![]){try{var _0x46fe09=parseInt(_0x57293f(0x2b6))/0x1+parseInt(_0x57293f(0x471))/0x2+parseInt(_0x57293f(0x66e))/0x3*(parseInt(_0x57293f(0x752))/0x4)+-parseInt(_0x57293f(0xbdf))/0x5+-parseInt(_0x57293f(0x275))/0x6+-parseInt(_0x57293f(0x6a7))/0x7+parseInt(_0x57293f(0x857))/0x8*(parseInt(_0x57293f(0x847))/0x9);if(_0x46fe09===_0x494cac)break;else _0x5affb8['push'](_0x5affb8['shift']());}catch(_0x1a8a05){_0x5affb8['push'](_0x5affb8['shift']());}}}(a6_0x428c,0xec21e));(Object(self||this)['webpackChunkBim']=Object(self||this)[a6_0x5e3a36(0x86d)]||[])[a6_0x5e3a36(0x2bd)]([[0xa1],{0x2b0:(_0x4f360b,_0x95d4c5,_0x25b0ea)=>{var _0x5c4fe9=a6_0x5e3a36;_0x25b0ea['d'](_0x95d4c5,{'V':()=>_0x1c86c5});class _0x1c86c5{constructor(_0x27c75a,_0x22a23e,_0x3220fb,_0x33eebc,_0x29825a,_0x5220fd){var _0x3516ae=a6_0x4d3f;this[_0x3516ae(0x94c)]=_0x27c75a,this['pointerX']=_0x22a23e,this[_0x3516ae(0xaef)]=_0x3220fb,this[_0x3516ae(0xd23)]=_0x33eebc,this['sourceEvent']=_0x29825a,this[_0x3516ae(0xbc3)]=_0x5220fd;}static[_0x5c4fe9(0x5ba)](_0x5ec3c7,_0x27c036,_0x46b3c6){var _0x3a6883=_0x5c4fe9,_0x1b3a1d=_0x5ec3c7[_0x3a6883(0xc81)]();return new _0x1c86c5(_0x5ec3c7,_0x1b3a1d['pointerX'],_0x1b3a1d[_0x3a6883(0xaef)],_0x1b3a1d[_0x3a6883(0xd23)]||_0x5ec3c7,_0x27c036,_0x46b3c6);}static[_0x5c4fe9(0x887)](_0x3b0c30,_0x286c1e,_0xab4949,_0x44a7b3){var _0x46ccaa=_0x5c4fe9;return new _0x1c86c5(_0x3b0c30,_0x286c1e[_0x46ccaa(0x409)],_0x286c1e[_0x46ccaa(0xaef)],_0x286c1e['meshUnderPointer'],_0xab4949,_0x44a7b3);}static['CreateNewFromScene'](_0x4b0f85,_0x4961d6){var _0x2178bb=_0x5c4fe9;return new _0x1c86c5(null,_0x4b0f85[_0x2178bb(0x409)],_0x4b0f85[_0x2178bb(0xaef)],_0x4b0f85[_0x2178bb(0xd23)],_0x4961d6);}static[_0x5c4fe9(0xd22)](_0x391bcf,_0xea213f,_0x3ad405,_0x49792a){return new _0x1c86c5(_0x391bcf,_0xea213f['x'],_0xea213f['y'],null,_0x3ad405,_0x49792a);}}},0x71:(_0xa1f5c8,_0x76b430,_0x5a4282)=>{_0x5a4282['d'](_0x76b430,{'X':()=>_0x312055});class _0x312055{constructor(_0x5c6aed,_0x1bb6da,_0x2aa18b){this['name']=_0x5c6aed,this['from']=_0x1bb6da,this['to']=_0x2aa18b;}['clone'](){var _0x27d436=a6_0x4d3f;return new _0x312055(this[_0x27d436(0xd51)],this[_0x27d436(0x424)],this['to']);}}},0xf2a6:(_0x492004,_0x32c812,_0x4747eb)=>{_0x4747eb['d'](_0x32c812,{'c':()=>_0x575dc9});class _0x575dc9{constructor(_0x35c3f7,_0x52498a,_0x2f1dc3){var _0x30ed0d=a6_0x4d3f;this['bu']=_0x35c3f7,this['bv']=_0x52498a,this[_0x30ed0d(0xba8)]=_0x2f1dc3,this['faceId']=0x0,this['subMeshId']=0x0;}}},0x13ea8:(_0x5e40db,_0x4e24f2,_0x5d269e)=>{var _0x1aa105=a6_0x5e3a36;_0x5d269e['d'](_0x4e24f2,{'p':()=>_0xb34ad9});var _0x526b54=_0x5d269e(0xf96c);class _0xb34ad9{constructor(_0x5cabc7,_0x46e817,_0x2bb181=0x0){var _0x766d67=a6_0x4d3f;this[_0x766d67(0x2f7)]=_0x46e817,this[_0x766d67(0x90a)]=_0x2bb181,this[_0x766d67(0x3a2)]=new _0x526b54['y$'](),this[_0x766d67(0x88b)]=_0x5cabc7;}[_0x1aa105(0xb1a)](_0x4dc3f4){var _0x3219c1=_0x1aa105;return this[_0x3219c1(0x88b)][_0x3219c1(0x76e)](this[_0x3219c1(0x2f7)],this[_0x3219c1(0x90a)],_0x4dc3f4);}}},0x59fc:(_0x56f2ab,_0x3ebe65,_0x579d83)=>{var _0x73b9ba=a6_0x5e3a36,_0x5e4364=_0x579d83(0x202a),_0x59439f=_0x579d83(0x77a5);_0x5e4364['B'][_0x73b9ba(0x733)][_0x73b9ba(0x864)]=function(_0x57911e,_0x15ff7f,_0xa9e10e,_0x32029c){var _0x4665b5=_0x73b9ba;this[_0x4665b5(0x521)][_0x4665b5(0x955)](_0x57911e,_0x15ff7f,_0xa9e10e,_0x32029c);},_0x5e4364['B'][_0x73b9ba(0x733)]['setAlphaMode']=function(_0x487422,_0x2f5fc7=!0x1){var _0x1fa29f=_0x73b9ba;if(this[_0x1fa29f(0x5de)]!==_0x487422){switch(_0x487422){case _0x59439f['g'][_0x1fa29f(0x894)]:this['_alphaState']['alphaBlend']=!0x1;break;case _0x59439f['g'][_0x1fa29f(0x484)]:this[_0x1fa29f(0x521)][_0x1fa29f(0x8b6)](this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)],this[_0x1fa29f(0x71e)]['ONE_MINUS_SRC_ALPHA'],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)]),this['_alphaState']['alphaBlend']=!0x0;break;case _0x59439f['g'][_0x1fa29f(0x22b)]:this[_0x1fa29f(0x521)]['setAlphaBlendFunctionParameters'](this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x6df)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x6df)]),this[_0x1fa29f(0x521)][_0x1fa29f(0x1ae)]=!0x0;break;case _0x59439f['g'][_0x1fa29f(0x686)]:this[_0x1fa29f(0x521)]['setAlphaBlendFunctionParameters'](this[_0x1fa29f(0x71e)]['SRC_ALPHA'],this[_0x1fa29f(0x71e)][_0x1fa29f(0x6df)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)]),this['_alphaState'][_0x1fa29f(0x1ae)]=!0x0;break;case _0x59439f['g'][_0x1fa29f(0x3de)]:this[_0x1fa29f(0x521)][_0x1fa29f(0x8b6)](this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)],this['_gl'][_0x1fa29f(0x5da)],this['_gl']['ZERO'],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)]),this[_0x1fa29f(0x521)]['alphaBlend']=!0x0;break;case _0x59439f['g'][_0x1fa29f(0xcf5)]:this[_0x1fa29f(0x521)][_0x1fa29f(0x8b6)](this[_0x1fa29f(0x71e)]['SRC_ALPHA'],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x82b)],this[_0x1fa29f(0x71e)]['ONE']),this[_0x1fa29f(0x521)][_0x1fa29f(0x1ae)]=!0x0;break;case _0x59439f['g'][_0x1fa29f(0x513)]:this[_0x1fa29f(0x521)][_0x1fa29f(0x8b6)](this[_0x1fa29f(0x71e)][_0x1fa29f(0x82b)],this[_0x1fa29f(0x71e)][_0x1fa29f(0xab9)],this[_0x1fa29f(0x71e)]['ONE'],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)]),this[_0x1fa29f(0x521)][_0x1fa29f(0x1ae)]=!0x0;break;case _0x59439f['g']['ALPHA_MULTIPLY']:this[_0x1fa29f(0x521)][_0x1fa29f(0x8b6)](this[_0x1fa29f(0x71e)][_0x1fa29f(0xb3a)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x82b)],this['_gl'][_0x1fa29f(0x5da)],this['_gl'][_0x1fa29f(0x5da)]),this[_0x1fa29f(0x521)]['alphaBlend']=!0x0;break;case _0x59439f['g'][_0x1fa29f(0x86e)]:this[_0x1fa29f(0x521)][_0x1fa29f(0x8b6)](this[_0x1fa29f(0x71e)][_0x1fa29f(0x34c)],this[_0x1fa29f(0x71e)][_0x1fa29f(0xab9)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)],this['_gl'][_0x1fa29f(0x5da)]),this[_0x1fa29f(0x521)][_0x1fa29f(0x1ae)]=!0x0;break;case _0x59439f['g']['ALPHA_INTERPOLATE']:this[_0x1fa29f(0x521)]['setAlphaBlendFunctionParameters'](this['_gl'][_0x1fa29f(0xc7c)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x6f4)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5cc)],this[_0x1fa29f(0x71e)]['ONE_MINUS_CONSTANT_ALPHA']),this[_0x1fa29f(0x521)][_0x1fa29f(0x1ae)]=!0x0;break;case _0x59439f['g'][_0x1fa29f(0xa07)]:this[_0x1fa29f(0x521)][_0x1fa29f(0x8b6)](this['_gl']['ONE'],this['_gl'][_0x1fa29f(0xab9)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)],this[_0x1fa29f(0x71e)]['ONE_MINUS_SRC_ALPHA']),this['_alphaState']['alphaBlend']=!0x0;break;case _0x59439f['g'][_0x1fa29f(0x7f3)]:this['_alphaState'][_0x1fa29f(0x8b6)](this[_0x1fa29f(0x71e)]['ONE'],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)],this['_gl'][_0x1fa29f(0x5da)]),this[_0x1fa29f(0x521)][_0x1fa29f(0x1ae)]=!0x0;break;case _0x59439f['g']['ALPHA_ALPHATOCOLOR']:this[_0x1fa29f(0x521)][_0x1fa29f(0x8b6)](this['_gl'][_0x1fa29f(0x70c)],this['_gl'][_0x1fa29f(0x5da)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x82b)],this['_gl'][_0x1fa29f(0x82b)]),this[_0x1fa29f(0x521)]['alphaBlend']=!0x0;break;case _0x59439f['g']['ALPHA_REVERSEONEMINUS']:this[_0x1fa29f(0x521)]['setAlphaBlendFunctionParameters'](this['_gl'][_0x1fa29f(0xbf9)],this[_0x1fa29f(0x71e)][_0x1fa29f(0xab9)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x723)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x6df)]),this[_0x1fa29f(0x521)][_0x1fa29f(0x1ae)]=!0x0;break;case _0x59439f['g']['ALPHA_SRC_DSTONEMINUSSRCALPHA']:this[_0x1fa29f(0x521)][_0x1fa29f(0x8b6)](this[_0x1fa29f(0x71e)]['ONE'],this[_0x1fa29f(0x71e)][_0x1fa29f(0x6df)],this['_gl']['ONE'],this[_0x1fa29f(0x71e)][_0x1fa29f(0x6df)]),this[_0x1fa29f(0x521)]['alphaBlend']=!0x0;break;case _0x59439f['g'][_0x1fa29f(0x35c)]:this[_0x1fa29f(0x521)]['setAlphaBlendFunctionParameters'](this['_gl'][_0x1fa29f(0x5da)],this['_gl'][_0x1fa29f(0x5da)],this[_0x1fa29f(0x71e)]['ONE'],this[_0x1fa29f(0x71e)]['ZERO']),this[_0x1fa29f(0x521)][_0x1fa29f(0x1ae)]=!0x0;break;case _0x59439f['g'][_0x1fa29f(0xc0a)]:this[_0x1fa29f(0x521)]['setAlphaBlendFunctionParameters'](this[_0x1fa29f(0x71e)][_0x1fa29f(0xbf9)],this[_0x1fa29f(0x71e)][_0x1fa29f(0xab9)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x82b)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x5da)]),this['_alphaState'][_0x1fa29f(0x1ae)]=!0x0;break;case _0x59439f['g']['ALPHA_LAYER_ACCUMULATE']:this['_alphaState']['setAlphaBlendFunctionParameters'](this[_0x1fa29f(0x71e)]['SRC_ALPHA'],this[_0x1fa29f(0x71e)][_0x1fa29f(0x6df)],this['_gl'][_0x1fa29f(0x5da)],this[_0x1fa29f(0x71e)][_0x1fa29f(0x6df)]),this[_0x1fa29f(0x521)][_0x1fa29f(0x1ae)]=!0x0;}_0x2f5fc7||(this[_0x1fa29f(0xdab)][_0x1fa29f(0x9fe)]=_0x487422===_0x59439f['g'][_0x1fa29f(0x894)]),this[_0x1fa29f(0x5de)]=_0x487422;}},_0x5e4364['B'][_0x73b9ba(0x733)][_0x73b9ba(0x290)]=function(){var _0x146a26=_0x73b9ba;return this[_0x146a26(0x5de)];},_0x5e4364['B'][_0x73b9ba(0x733)][_0x73b9ba(0x525)]=function(_0x426b85){var _0x5c11ff=_0x73b9ba;if(this[_0x5c11ff(0xb4d)]!==_0x426b85){switch(_0x426b85){case _0x59439f['g'][_0x5c11ff(0x71c)]:this[_0x5c11ff(0x521)]['setAlphaEquationParameters'](_0x59439f['g'][_0x5c11ff(0x81d)],_0x59439f['g'][_0x5c11ff(0x81d)]);break;case _0x59439f['g'][_0x5c11ff(0x839)]:this[_0x5c11ff(0x521)][_0x5c11ff(0x68e)](_0x59439f['g'][_0x5c11ff(0xd46)],_0x59439f['g']['GL_ALPHA_EQUATION_SUBTRACT']);break;case _0x59439f['g'][_0x5c11ff(0x80e)]:this[_0x5c11ff(0x521)][_0x5c11ff(0x68e)](_0x59439f['g']['GL_ALPHA_EQUATION_REVERSE_SUBTRACT'],_0x59439f['g'][_0x5c11ff(0x537)]);break;case _0x59439f['g']['ALPHA_EQUATION_MAX']:this[_0x5c11ff(0x521)][_0x5c11ff(0x68e)](_0x59439f['g'][_0x5c11ff(0x4a8)],_0x59439f['g'][_0x5c11ff(0x4a8)]);break;case _0x59439f['g'][_0x5c11ff(0xa35)]:this[_0x5c11ff(0x521)]['setAlphaEquationParameters'](_0x59439f['g'][_0x5c11ff(0x8c9)],_0x59439f['g'][_0x5c11ff(0x8c9)]);break;case _0x59439f['g'][_0x5c11ff(0x485)]:this[_0x5c11ff(0x521)][_0x5c11ff(0x68e)](_0x59439f['g'][_0x5c11ff(0x8c9)],_0x59439f['g'][_0x5c11ff(0x81d)]);}this[_0x5c11ff(0xb4d)]=_0x426b85;}},_0x5e4364['B'][_0x73b9ba(0x733)]['getAlphaEquation']=function(){return this['_alphaEquation'];};},0x4dec:(_0x1e39c0,_0xcf083,_0x11b4e9)=>{var _0x24e0cb=a6_0x5e3a36,_0x19c707=_0x11b4e9(0x202a),_0x5206cb=_0x11b4e9(0x25b1),_0xdf923b=_0x11b4e9(0x10ea4),_0x1b1f66=_0x11b4e9(0x2560),_0x168bcc=_0x11b4e9(0x9f19),_0x57c574=_0x11b4e9(0x77a5);_0x19c707['B'][_0x24e0cb(0x733)][_0x24e0cb(0xc4b)]=function(_0x2b6926,_0x1dfa9d,_0x4068f9){var _0x30e685=_0x24e0cb;const _0x12290d=new _0x5206cb['l'](this,_0x5206cb['S'][_0x30e685(0x918)]);if(_0x12290d[_0x30e685(0xd30)]=!0x0,0x1===this[_0x30e685(0x474)])return _0xdf923b['Y'][_0x30e685(0xb34)](_0x30e685(0x1d4)),_0x12290d;var _0x186c13=Object[_0x30e685(0xc30)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1},_0x1dfa9d);const _0x4a2f1f=this[_0x30e685(0x71e)];this[_0x30e685(0x9bf)](_0x4a2f1f[_0x30e685(0x31b)],_0x12290d,!0x0),this[_0x30e685(0x775)](_0x12290d,_0x2b6926,_0x186c13[_0x30e685(0x23e)],_0x186c13[_0x30e685(0x99d)],_0x186c13['comparisonFunction']),_0x4068f9[_0x30e685(0x673)]=_0x12290d,_0x4068f9[_0x30e685(0x84b)]=_0x186c13['generateStencil'];for(let _0x26578e=0x0;_0x26578e<0x6;_0x26578e++)_0x186c13[_0x30e685(0x23e)]?_0x4a2f1f[_0x30e685(0x338)](_0x4a2f1f[_0x30e685(0x273)]+_0x26578e,0x0,_0x4a2f1f[_0x30e685(0x358)],_0x2b6926,_0x2b6926,0x0,_0x4a2f1f[_0x30e685(0x731)],_0x4a2f1f[_0x30e685(0x8c7)],null):_0x4a2f1f[_0x30e685(0x338)](_0x4a2f1f[_0x30e685(0x273)]+_0x26578e,0x0,_0x4a2f1f['DEPTH_COMPONENT24'],_0x2b6926,_0x2b6926,0x0,_0x4a2f1f[_0x30e685(0x65e)],_0x4a2f1f['UNSIGNED_INT'],null);return this['_bindTextureDirectly'](_0x4a2f1f[_0x30e685(0x31b)],null),this['_internalTexturesCache'][_0x30e685(0x2bd)](_0x12290d),_0x12290d;},_0x19c707['B']['prototype'][_0x24e0cb(0x8da)]=function(_0x220569,_0x4395f0,_0x55c518,_0x4956fd,_0x587323=null){this['_loadFile'](_0x220569,_0x3c4353=>{var _0x12a8cb=a6_0x4d3f;_0x55c518[_0x4395f0]=_0x3c4353,_0x55c518['_internalCount']++,0x6===_0x55c518[_0x12a8cb(0x79f)]&&_0x4956fd(_0x55c518);},void 0x0,void 0x0,!0x0,(_0x1379fd,_0x365a8e)=>{var _0x3ff28f=a6_0x4d3f;_0x587323&&_0x1379fd&&_0x587323(_0x1379fd[_0x3ff28f(0x5ea)]+'\x20'+_0x1379fd[_0x3ff28f(0xb3e)],_0x365a8e);});},_0x19c707['B'][_0x24e0cb(0x733)][_0x24e0cb(0x2e1)]=function(_0x4f06b1,_0x153e9e,_0x16da4c,_0xab77fd=null){var _0x12cf87=_0x24e0cb;const _0x54d004=[];for(let _0xcba705=_0x54d004[_0x12cf87(0x79f)]=0x0;_0xcba705<0x6;_0xcba705++)this[_0x12cf87(0x8da)](_0x16da4c[_0xcba705],_0xcba705,_0x54d004,_0x153e9e,_0xab77fd);},_0x19c707['B'][_0x24e0cb(0x733)]['_cascadeLoadImgs']=function(_0x3e7cd8,_0x29a578,_0x377cc2,_0x3d030c,_0x1e802a=null,_0x41e10f){const _0xf75e2=[];for(let _0x123030=_0xf75e2['_internalCount']=0x0;_0x123030<0x6;_0x123030++)this['_partialLoadImg'](_0x3d030c[_0x123030],_0x123030,_0xf75e2,_0x3e7cd8,_0x29a578,_0x377cc2,_0x1e802a,_0x41e10f);},_0x19c707['B'][_0x24e0cb(0x733)][_0x24e0cb(0x50f)]=function(_0x4a1301,_0x25764b,_0x44e9be,_0x3f81dc,_0x5586e8,_0x4b4684,_0x38d730=null,_0x982fb3){var _0x9d4ed6=_0x24e0cb;const _0x533082=(0x0,_0x168bcc['f'])();(0x0,_0x1b1f66['r6'])(_0x4a1301,_0x511bea=>{var _0x2e2997=a6_0x4d3f;_0x44e9be[_0x25764b]=_0x511bea,_0x44e9be['_internalCount']++,_0x3f81dc&&_0x3f81dc['removePendingData'](_0x533082),0x6===_0x44e9be[_0x2e2997(0x79f)]&&_0x4b4684&&_0x4b4684(_0x5586e8,_0x44e9be);},(_0x3754ca,_0x3b1e84)=>{var _0x15c470=a6_0x4d3f;_0x3f81dc&&_0x3f81dc[_0x15c470(0x8bc)](_0x533082),_0x38d730&&_0x38d730(_0x3754ca,_0x3b1e84);},_0x3f81dc?_0x3f81dc[_0x9d4ed6(0x4cb)]:null,_0x982fb3),_0x3f81dc&&_0x3f81dc[_0x9d4ed6(0xb87)](_0x533082);},_0x19c707['B'][_0x24e0cb(0x733)]['_setCubeMapTextureParams']=function(_0x17af41,_0x11318a,_0x4cfde5){var _0x180f98=_0x24e0cb;const _0x34109a=this[_0x180f98(0x71e)];_0x34109a['texParameteri'](_0x34109a['TEXTURE_CUBE_MAP'],_0x34109a['TEXTURE_MAG_FILTER'],_0x34109a[_0x180f98(0x933)]),_0x34109a[_0x180f98(0x218)](_0x34109a[_0x180f98(0x31b)],_0x34109a[_0x180f98(0x3ab)],_0x11318a?_0x34109a[_0x180f98(0x3be)]:_0x34109a[_0x180f98(0x933)]),_0x34109a[_0x180f98(0x218)](_0x34109a[_0x180f98(0x31b)],_0x34109a[_0x180f98(0x737)],_0x34109a[_0x180f98(0x6f5)]),_0x34109a['texParameteri'](_0x34109a[_0x180f98(0x31b)],_0x34109a['TEXTURE_WRAP_T'],_0x34109a['CLAMP_TO_EDGE']),_0x17af41[_0x180f98(0x958)]=_0x11318a?_0x57c574['g'][_0x180f98(0xd07)]:_0x57c574['g'][_0x180f98(0x7bf)],_0x11318a&&this[_0x180f98(0x780)]()[_0x180f98(0x40e)]&&void 0x0!==_0x4cfde5&&0x0<_0x4cfde5&&(_0x34109a[_0x180f98(0x218)](_0x34109a['TEXTURE_CUBE_MAP'],_0x34109a[_0x180f98(0x329)],_0x4cfde5),_0x17af41['_maxLodLevel']=_0x4cfde5),this['_bindTextureDirectly'](_0x34109a[_0x180f98(0x31b)],null);},_0x19c707['B'][_0x24e0cb(0x733)][_0x24e0cb(0x967)]=function(_0x530418,_0x2e02d4,_0x1ba949,_0x465577,_0x1619a6=null,_0x2b7e7d=null,_0x25ef0a,_0x2126ed=null,_0x2c5df8=!0x1,_0x2a7e40=0x0,_0x4ef547=0x0,_0x30f9c2=null,_0x747b2a=null,_0xe7f403=null,_0x47f2bd=!0x1){var _0x48264b=_0x24e0cb;const _0x3667bf=_0x30f9c2||new _0x5206cb['l'](this,_0x5206cb['S'][_0x48264b(0x1e2)]),_0x3d02f4=(_0x3667bf[_0x48264b(0xd30)]=!0x0,_0x3667bf[_0x48264b(0x2ce)]=_0x530418,_0x3667bf[_0x48264b(0x9fb)]=!_0x465577,_0x3667bf[_0x48264b(0x62e)]=_0x2a7e40,_0x3667bf[_0x48264b(0xd43)]=_0x4ef547,_0x3667bf[_0x48264b(0x389)]=!!_0x47f2bd&&this[_0x48264b(0xbaf)][_0x48264b(0xb41)]&&(0x1<this['webGLVersion']||this[_0x48264b(0xaae)]||!!_0x465577),this[_0x48264b(0x31a)]||(_0x3667bf[_0x48264b(0x336)]=_0x2126ed,_0x3667bf['_files']=_0x1ba949),_0x530418),_0x47f0b2=(_0x530418=this[_0x48264b(0x352)]&&!_0x30f9c2?this[_0x48264b(0x352)](_0x530418):_0x530418)[_0x48264b(0x349)]('?')[0x0];var _0x30f9c2=_0x47f0b2[_0x48264b(0xd38)]('.'),_0x34ffcd=_0x2126ed||(-0x1<_0x30f9c2?_0x47f0b2[_0x48264b(0x803)](_0x30f9c2)[_0x48264b(0xbc2)]():'');let _0x13daba=null;for(const _0x4c3797 of _0x19c707['B'][_0x48264b(0x650)])if(_0x4c3797[_0x48264b(0x6dc)](_0x34ffcd)){_0x13daba=_0x4c3797;break;}_0x30f9c2=(_0x4ed6e2,_0x5c2aae)=>{var _0x20fd49=_0x48264b;_0x530418===_0x3d02f4?_0x2b7e7d&&_0x4ed6e2&&_0x2b7e7d(_0x4ed6e2['status']+'\x20'+_0x4ed6e2[_0x20fd49(0xb3e)],_0x5c2aae):(_0xdf923b['Y'][_0x20fd49(0x46a)](_0x20fd49(0xaba)+_0x530418+_0x20fd49(0x82e)+_0x3d02f4),this['createCubeTextureBase'](_0x3d02f4,_0x2e02d4,_0x1ba949,!!_0x465577,_0x1619a6,_0x2b7e7d,_0x25ef0a,_0x2126ed,_0x2c5df8,_0x2a7e40,_0x4ef547,_0x3667bf,_0x747b2a,_0xe7f403,_0x47f2bd));};if(_0x13daba){const _0x7837cc=_0x251f8f=>{_0x747b2a&&_0x747b2a(_0x3667bf,_0x251f8f),_0x13daba['loadCubeData'](_0x251f8f,_0x3667bf,_0x2c5df8,_0x1619a6,_0x2b7e7d);};_0x1ba949&&0x6===_0x1ba949[_0x48264b(0x43c)]?_0x13daba[_0x48264b(0xae2)]?this[_0x48264b(0x2e1)](_0x2e02d4,_0x3030f7=>_0x7837cc(_0x3030f7[_0x48264b(0xb29)](_0x4ec976=>new Uint8Array(_0x4ec976))),_0x1ba949,_0x2b7e7d):_0x2b7e7d?_0x2b7e7d('Textures\x20type\x20does\x20not\x20support\x20cascades.'):_0xdf923b['Y'][_0x48264b(0x46a)](_0x48264b(0x3ec)):this[_0x48264b(0xb37)](_0x530418,_0x3205d8=>_0x7837cc(new Uint8Array(_0x3205d8)),void 0x0,void 0x0,!0x0,_0x30f9c2);}else{if(!_0x1ba949)throw new Error(_0x48264b(0x2ca));this[_0x48264b(0xaa8)](_0x2e02d4,_0x3667bf,(_0x39287f,_0x5cd649)=>{_0xe7f403&&_0xe7f403(_0x39287f,_0x5cd649);},_0x1ba949,_0x2b7e7d);}return this[_0x48264b(0xc26)][_0x48264b(0x2bd)](_0x3667bf),_0x3667bf;},_0x19c707['B'][_0x24e0cb(0x733)]['createCubeTexture']=function(_0x1bd2c9,_0xe6a08d,_0x20d6ae,_0x115dca,_0x2a4e26=null,_0x3ff607=null,_0x140429,_0x466abf=null,_0x2350a6=!0x1,_0x2fbfe3=0x0,_0x106393=0x0,_0x27367c=null,_0x4d306e,_0x5b0a71=!0x1){var _0xec3708=_0x24e0cb;const _0x1d5fed=this[_0xec3708(0x71e)];return this[_0xec3708(0x967)](_0x1bd2c9,_0xe6a08d,_0x20d6ae,!!_0x115dca,_0x2a4e26,_0x3ff607,_0x140429,_0x466abf,_0x2350a6,_0x2fbfe3,_0x106393,_0x27367c,_0xfc6711=>this[_0xec3708(0x9bf)](_0x1d5fed[_0xec3708(0x31b)],_0xfc6711,!0x0),(_0x2dcfab,_0x3401d1)=>{var _0x516c20=_0xec3708,_0x42f8cc=this[_0x516c20(0xb23)]?_0x19c707['B'][_0x516c20(0x293)](_0x3401d1[0x0][_0x516c20(0x680)],this[_0x516c20(0xbaf)][_0x516c20(0x528)]):_0x3401d1[0x0][_0x516c20(0x680)],_0xebeec4=_0x42f8cc,_0x3a057f=[_0x1d5fed[_0x516c20(0x273)],_0x1d5fed[_0x516c20(0x99f)],_0x1d5fed[_0x516c20(0x935)],_0x1d5fed[_0x516c20(0x5c0)],_0x1d5fed[_0x516c20(0xd3e)],_0x1d5fed['TEXTURE_CUBE_MAP_NEGATIVE_Z']],_0x5138e6=(this[_0x516c20(0x9bf)](_0x1d5fed[_0x516c20(0x31b)],_0x2dcfab,!0x0),this['_unpackFlipY'](!0x1),_0x140429?this['_getInternalFormat'](_0x140429,_0x2dcfab[_0x516c20(0x389)]):_0x2dcfab['_useSRGBBuffer']?_0x1d5fed['SRGB8_ALPHA8']:_0x1d5fed[_0x516c20(0x3b7)]);let _0x441c5d=_0x140429?this['_getInternalFormat'](_0x140429):_0x1d5fed[_0x516c20(0x3b7)];_0x2dcfab[_0x516c20(0x389)]&&0x1===this['webGLVersion']&&(_0x441c5d=_0x5138e6);for(let _0x311507=0x0;_0x311507<_0x3a057f[_0x516c20(0x43c)];_0x311507++)if(_0x3401d1[_0x311507]['width']!==_0x42f8cc||_0x3401d1[_0x311507][_0x516c20(0x9f8)]!==_0xebeec4){if(this['_prepareWorkingCanvas'](),!this[_0x516c20(0x3c7)]||!this[_0x516c20(0x4bf)])return void _0xdf923b['Y'][_0x516c20(0x46a)](_0x516c20(0xaec));this['_workingCanvas'][_0x516c20(0x680)]=_0x42f8cc,this[_0x516c20(0x3c7)][_0x516c20(0x9f8)]=_0xebeec4,this['_workingContext'][_0x516c20(0x586)](_0x3401d1[_0x311507],0x0,0x0,_0x3401d1[_0x311507]['width'],_0x3401d1[_0x311507]['height'],0x0,0x0,_0x42f8cc,_0xebeec4),_0x1d5fed[_0x516c20(0x338)](_0x3a057f[_0x311507],0x0,_0x5138e6,_0x441c5d,_0x1d5fed['UNSIGNED_BYTE'],this['_workingCanvas']);}else _0x1d5fed[_0x516c20(0x338)](_0x3a057f[_0x311507],0x0,_0x5138e6,_0x441c5d,_0x1d5fed[_0x516c20(0x30f)],_0x3401d1[_0x311507]);_0x115dca||_0x1d5fed[_0x516c20(0x1c3)](_0x1d5fed[_0x516c20(0x31b)]),this[_0x516c20(0x87b)](_0x2dcfab,!_0x115dca),_0x2dcfab[_0x516c20(0x680)]=_0x42f8cc,_0x2dcfab[_0x516c20(0x9f8)]=_0xebeec4,_0x2dcfab[_0x516c20(0x3e5)]=!0x0,_0x140429&&(_0x2dcfab[_0x516c20(0x920)]=_0x140429),_0x2dcfab[_0x516c20(0x91b)][_0x516c20(0x6b1)](_0x2dcfab),_0x2dcfab[_0x516c20(0x91b)]['clear'](),_0x2a4e26&&_0x2a4e26();},!!_0x5b0a71);};},0x1410a:(_0x3dd8ff,_0x1e3408,_0x49e50e)=>{var _0x301dd8=a6_0x5e3a36;_0x49e50e=_0x49e50e(0x202a),(_0x49e50e['B']['prototype'][_0x301dd8(0xa46)]=function(_0x57b731,_0x399ce2){},_0x49e50e['B'][_0x301dd8(0x733)][_0x301dd8(0x73d)]=function(_0x2eff54){},_0x49e50e['B'][_0x301dd8(0x733)][_0x301dd8(0x2c4)]=function(_0x58815e,_0x58fe9f){},_0x49e50e['B'][_0x301dd8(0x733)][_0x301dd8(0xca6)]=function(){});},0x13479:(_0x1920cf,_0x10f0b2,_0x4eab87)=>{var _0x315d39=a6_0x5e3a36;_0x4eab87=_0x4eab87(0x202a),(_0x4eab87['B'][_0x315d39(0x733)][_0x315d39(0xda5)]=function(_0x3dbfcb,_0x2cdbff,_0x4c0a3a=0x0){var _0x26de54=_0x315d39;this[_0x26de54(0xa42)][this[_0x26de54(0x71e)]['ELEMENT_ARRAY_BUFFER']]=null,this['bindIndexBuffer'](_0x3dbfcb),_0x3dbfcb=_0x2cdbff instanceof Uint16Array||_0x2cdbff instanceof Uint32Array?_0x2cdbff:new(_0x3dbfcb[(_0x26de54(0x575))]?Uint32Array:Uint16Array)(_0x2cdbff),this[_0x26de54(0x71e)]['bufferSubData'](this[_0x26de54(0x71e)]['ELEMENT_ARRAY_BUFFER'],_0x4c0a3a,_0x3dbfcb),this[_0x26de54(0x81a)]();},_0x4eab87['B'][_0x315d39(0x733)][_0x315d39(0x263)]=function(_0x2b2628,_0x35f993,_0x1bcbdf,_0x1f2188){var _0x30b53e=_0x315d39;this[_0x30b53e(0xc3a)](_0x2b2628),void 0x0===_0x1bcbdf&&(_0x1bcbdf=0x0),_0x2b2628=_0x35f993[_0x30b53e(0x6ed)]||_0x35f993['length'],(void 0x0===_0x1f2188||_0x2b2628<=_0x1f2188&&0x0===_0x1bcbdf?_0x35f993 instanceof Array?this['_gl'][_0x30b53e(0x4aa)](this['_gl']['ARRAY_BUFFER'],_0x1bcbdf,new Float32Array(_0x35f993)):this[_0x30b53e(0x71e)]['bufferSubData'](this['_gl'][_0x30b53e(0x80f)],_0x1bcbdf,_0x35f993):_0x35f993 instanceof Array?this[_0x30b53e(0x71e)][_0x30b53e(0x4aa)](this[_0x30b53e(0x71e)]['ARRAY_BUFFER'],0x0,new Float32Array(_0x35f993)[_0x30b53e(0x2cc)](_0x1bcbdf,_0x1bcbdf+_0x1f2188)):(_0x35f993=_0x35f993 instanceof ArrayBuffer?new Uint8Array(_0x35f993,_0x1bcbdf,_0x1f2188):new Uint8Array(_0x35f993[_0x30b53e(0x5e7)],_0x35f993['byteOffset']+_0x1bcbdf,_0x1f2188),this['_gl']['bufferSubData'](this[_0x30b53e(0x71e)][_0x30b53e(0x80f)],0x0,_0x35f993)),this[_0x30b53e(0xa9c)]());});},0xecbf:(_0x27de44,_0x4a3a3d,_0x139ab3)=>{var _0x4ea2f4=a6_0x5e3a36,_0xe7d012=_0x139ab3(0x202a),_0x15aabb=_0x139ab3(0x25b1);_0xe7d012['B']['prototype'][_0x4ea2f4(0xc83)]=function(_0x5c62d3,_0x6f02d9,_0x4182d5,_0x41c00a){var _0x1f390e=_0x4ea2f4;const _0x38e980=new _0x15aabb['l'](this,_0x15aabb['S'][_0x1f390e(0x730)]);return _0x38e980[_0x1f390e(0xcbd)]=_0x5c62d3,_0x38e980['baseHeight']=_0x6f02d9,_0x4182d5&&(_0x5c62d3=this[_0x1f390e(0xb23)]?_0xe7d012['B'][_0x1f390e(0x293)](_0x5c62d3,this['_caps']['maxTextureSize']):_0x5c62d3,_0x6f02d9=this[_0x1f390e(0xb23)]?_0xe7d012['B']['GetExponentOfTwo'](_0x6f02d9,this[_0x1f390e(0xbaf)][_0x1f390e(0x74c)]):_0x6f02d9),_0x38e980['width']=_0x5c62d3,_0x38e980['height']=_0x6f02d9,_0x38e980[_0x1f390e(0x3e5)]=!0x1,_0x38e980[_0x1f390e(0x9fb)]=_0x4182d5,_0x38e980[_0x1f390e(0x958)]=_0x41c00a,this[_0x1f390e(0x1f8)](_0x41c00a,_0x38e980),this['_internalTexturesCache'][_0x1f390e(0x2bd)](_0x38e980),_0x38e980;},_0xe7d012['B']['prototype']['updateDynamicTexture']=function(_0x1a164a,_0x4d2ba8,_0x4c57e0,_0x323afe=!0x1,_0x2db2c9,_0x5cafc6=!0x1,_0x75075f){var _0x25f4eb=_0x4ea2f4;if(_0x1a164a){const _0x20cbf4=this['_gl'];var _0x4257e7=_0x20cbf4[_0x25f4eb(0x806)],_0x5cafc6=this[_0x25f4eb(0x9bf)](_0x4257e7,_0x1a164a,!0x0,_0x5cafc6),_0x4c57e0=(this[_0x25f4eb(0xa44)](void 0x0===_0x4c57e0?_0x1a164a['invertY']:_0x4c57e0),_0x323afe&&_0x20cbf4[_0x25f4eb(0xc8f)](_0x20cbf4['UNPACK_PREMULTIPLY_ALPHA_WEBGL'],0x1),this[_0x25f4eb(0x7e9)](_0x1a164a[_0x25f4eb(0xa18)])),_0x2db2c9=this['_getInternalFormat'](_0x2db2c9||_0x1a164a['format']),_0x4e38cf=this[_0x25f4eb(0x4e2)](_0x1a164a['type'],_0x2db2c9);_0x20cbf4[_0x25f4eb(0x338)](_0x4257e7,0x0,_0x4e38cf,_0x2db2c9,_0x4c57e0,_0x4d2ba8),_0x1a164a[_0x25f4eb(0x9fb)]&&_0x20cbf4[_0x25f4eb(0x1c3)](_0x4257e7),_0x5cafc6||this[_0x25f4eb(0x9bf)](_0x4257e7,null),_0x323afe&&_0x20cbf4['pixelStorei'](_0x20cbf4['UNPACK_PREMULTIPLY_ALPHA_WEBGL'],0x0),_0x1a164a[_0x25f4eb(0x3e5)]=!0x0;}};},0x64df:(_0x39eff5,_0x15f1ed,_0x381959)=>{var _0x9d351c=a6_0x5e3a36;_0x381959=_0x381959(0x202a),(_0x381959['B']['prototype'][_0x9d351c(0x6ac)]=function(_0x575454){return null;},_0x381959['B']['prototype']['setExternalTexture']=function(_0x405c70,_0x8957b6){var _0x50c18e=_0x9d351c;throw new Error(_0x50c18e(0x465));});},0x39f0:(_0x23b476,_0x485616,_0x556a39)=>{var _0x4e0b5d=a6_0x5e3a36,_0x5835e3=_0x556a39(0x25b1),_0xa92574=_0x556a39(0x10ea4),_0x3e658f=_0x556a39(0x77a5),_0x556a39=_0x556a39(0x202a);_0x556a39['B'][_0x4e0b5d(0x733)]['restoreSingleAttachment']=function(){var _0x34a83a=_0x4e0b5d,_0x368d80=this[_0x34a83a(0x71e)];this['bindAttachments']([_0x368d80[_0x34a83a(0x357)]]);},_0x556a39['B'][_0x4e0b5d(0x733)][_0x4e0b5d(0x89f)]=function(){var _0x999c29=_0x4e0b5d,_0x18b53b=this['_gl'];this[_0x999c29(0x662)]([_0x18b53b['COLOR_ATTACHMENT0']]);},_0x556a39['B'][_0x4e0b5d(0x733)][_0x4e0b5d(0x588)]=function(_0x495d39){var _0x9187d9=_0x4e0b5d,_0x15166c=this[_0x9187d9(0x71e)];const _0x22da51=[];for(let _0x30cb07=0x0;_0x30cb07<_0x495d39[_0x9187d9(0x43c)];_0x30cb07++)_0x495d39[_0x30cb07]?_0x22da51[_0x9187d9(0x2bd)](_0x15166c[_0x9187d9(0x7fc)+_0x30cb07]):_0x22da51['push'](_0x15166c[_0x9187d9(0x7e6)]);return _0x22da51;},_0x556a39['B'][_0x4e0b5d(0x733)][_0x4e0b5d(0x662)]=function(_0x185e05){var _0x4c3ce7=_0x4e0b5d;const _0x3a0260=this[_0x4c3ce7(0x71e)];_0x3a0260[_0x4c3ce7(0xac7)](_0x185e05);},_0x556a39['B'][_0x4e0b5d(0x733)][_0x4e0b5d(0xb2e)]=function(_0x560901,_0x17ab9f=!0x1,_0x179777){var _0xbbc4c7=_0x4e0b5d;this[_0xbbc4c7(0x55b)]=null;const _0x3eb6e8=this[_0xbbc4c7(0x71e)],_0x399a6f=_0x560901[_0xbbc4c7(0x28e)];var _0x29306b=_0x399a6f[_0xbbc4c7(0x43c)];if(_0x560901[_0xbbc4c7(0x867)]){_0x3eb6e8[_0xbbc4c7(0x3c2)](_0x3eb6e8[_0xbbc4c7(0xc64)],_0x560901[_0xbbc4c7(0x867)]),_0x3eb6e8[_0xbbc4c7(0x3c2)](_0x3eb6e8[_0xbbc4c7(0x1d1)],_0x560901[_0xbbc4c7(0x3bc)]);for(let _0x1ce53f=0x0;_0x1ce53f<_0x29306b;_0x1ce53f++){var _0xd67615=_0x560901[_0xbbc4c7(0x7f0)][_0x1ce53f];for(let _0x8cdd31=0x0;_0x8cdd31<_0x29306b;_0x8cdd31++)_0x399a6f[_0x8cdd31]=_0x3eb6e8[_0xbbc4c7(0x7e6)];_0x399a6f[_0x1ce53f]=_0x3eb6e8[0x1<this[_0xbbc4c7(0x474)]?_0xbbc4c7(0x7fc)+_0x1ce53f:_0xbbc4c7(0x7fc)+_0x1ce53f+_0xbbc4c7(0x5d9)],_0x3eb6e8[_0xbbc4c7(0x869)](_0x399a6f[_0x1ce53f]),_0x3eb6e8[_0xbbc4c7(0xac7)](_0x399a6f),_0x3eb6e8['blitFramebuffer'](0x0,0x0,_0xd67615[_0xbbc4c7(0x680)],_0xd67615[_0xbbc4c7(0x9f8)],0x0,0x0,_0xd67615[_0xbbc4c7(0x680)],_0xd67615[_0xbbc4c7(0x9f8)],_0x3eb6e8[_0xbbc4c7(0xd63)],_0x3eb6e8[_0xbbc4c7(0x51b)]);}for(let _0x2a92e2=0x0;_0x2a92e2<_0x29306b;_0x2a92e2++)_0x399a6f[_0x2a92e2]=_0x3eb6e8[0x1<this['webGLVersion']?_0xbbc4c7(0x7fc)+_0x2a92e2:_0xbbc4c7(0x7fc)+_0x2a92e2+_0xbbc4c7(0x5d9)];_0x3eb6e8[_0xbbc4c7(0xac7)](_0x399a6f);}for(let _0x5f2338=0x0;_0x5f2338<_0x29306b;_0x5f2338++){var _0x5cd841=_0x560901[_0xbbc4c7(0x7f0)][_0x5f2338];!_0x5cd841['generateMipMaps']||_0x17ab9f||_0x5cd841[_0xbbc4c7(0xd30)]||(this['_bindTextureDirectly'](_0x3eb6e8[_0xbbc4c7(0x806)],_0x5cd841,!0x0),_0x3eb6e8[_0xbbc4c7(0x1c3)](_0x3eb6e8[_0xbbc4c7(0x806)]),this[_0xbbc4c7(0x9bf)](_0x3eb6e8[_0xbbc4c7(0x806)],null));}_0x179777&&(_0x560901[_0xbbc4c7(0x867)]&&this[_0xbbc4c7(0x88d)](_0x560901[_0xbbc4c7(0x3bc)]),_0x179777()),this['_bindUnboundFramebuffer'](null);},_0x556a39['B'][_0x4e0b5d(0x733)][_0x4e0b5d(0x964)]=function(_0x5ddd98,_0x18acbd,_0x4ae779=!0x0){var _0x4adf3c=_0x4e0b5d;let _0x7d905e=!0x1,_0x2a1aa5=!0x0,_0x1139bc=!0x1,_0x344050=!0x1,_0x12a500=_0x3e658f['g']['TEXTUREFORMAT_DEPTH16'],_0x29c09d=0x1;var _0x40628a=_0x3e658f['g'][_0x4adf3c(0x3e7)],_0xbf0f2b=_0x3e658f['g'][_0x4adf3c(0xd07)];let _0x3883d8=new Array(),_0x38deaf=new Array(),_0x87d869=new Array();const _0x2ce478=this[_0x4adf3c(0x29e)](!0x0,!0x1,_0x5ddd98),_0x34ab7b=(void 0x0!==_0x18acbd&&(_0x7d905e=void 0x0!==_0x18acbd[_0x4adf3c(0x9fb)]&&_0x18acbd[_0x4adf3c(0x9fb)],_0x2a1aa5=void 0x0===_0x18acbd[_0x4adf3c(0x5e8)]||_0x18acbd[_0x4adf3c(0x5e8)],_0x1139bc=void 0x0!==_0x18acbd[_0x4adf3c(0x91f)]&&_0x18acbd[_0x4adf3c(0x91f)],_0x344050=void 0x0!==_0x18acbd[_0x4adf3c(0x98c)]&&_0x18acbd['generateDepthTexture'],_0x29c09d=_0x18acbd['textureCount']||0x1,_0x18acbd['types']&&(_0x3883d8=_0x18acbd[_0x4adf3c(0x5c5)]),_0x18acbd['samplingModes']&&(_0x38deaf=_0x18acbd[_0x4adf3c(0xb8c)]),_0x18acbd[_0x4adf3c(0x5b0)]&&(_0x87d869=_0x18acbd[_0x4adf3c(0x5b0)]),0x1<this['webGLVersion']&&(_0x18acbd['depthTextureFormat']===_0x3e658f['g'][_0x4adf3c(0x684)]||_0x18acbd[_0x4adf3c(0x9ba)]===_0x3e658f['g']['TEXTUREFORMAT_DEPTH24UNORM_STENCIL8']||_0x18acbd['depthTextureFormat']===_0x3e658f['g'][_0x4adf3c(0x85b)]||_0x18acbd[_0x4adf3c(0x9ba)]===_0x3e658f['g'][_0x4adf3c(0x1fa)]||_0x18acbd[_0x4adf3c(0x9ba)]===_0x3e658f['g'][_0x4adf3c(0xa48)])&&(_0x12a500=_0x18acbd['depthTextureFormat'])),this[_0x4adf3c(0x71e)]);var _0x50b405=_0x34ab7b[_0x4adf3c(0xd2b)](),_0x4bed9d=(this[_0x4adf3c(0x88d)](_0x50b405),_0x5ddd98[_0x4adf3c(0x680)]||_0x5ddd98),_0x57fd45=_0x5ddd98['height']||_0x5ddd98;const _0x1ee1fa=[],_0x4ed640=[];_0x5ddd98=0x1<this[_0x4adf3c(0x474)]&&_0x344050&&(_0x18acbd[_0x4adf3c(0x9ba)]===_0x3e658f['g']['TEXTUREFORMAT_DEPTH24_STENCIL8']||_0x18acbd['depthTextureFormat']===_0x3e658f['g'][_0x4adf3c(0xc35)]||_0x18acbd['depthTextureFormat']===_0x3e658f['g'][_0x4adf3c(0xa48)]),_0x18acbd=this[_0x4adf3c(0xa68)](!_0x5ddd98&&_0x1139bc,!_0x344050&&_0x2a1aa5,_0x4bed9d,_0x57fd45),(_0x2ce478[_0x4adf3c(0x3bc)]=_0x50b405,_0x2ce478[_0x4adf3c(0xb9b)]=_0x18acbd,_0x2ce478[_0x4adf3c(0xbb3)]=!_0x344050&&_0x2a1aa5,_0x2ce478[_0x4adf3c(0x5aa)]=!_0x5ddd98&&_0x1139bc,_0x2ce478[_0x4adf3c(0x28e)]=_0x4ed640);for(let _0x545bf7=0x0;_0x545bf7<_0x29c09d;_0x545bf7++){let _0x4f2743=_0x38deaf[_0x545bf7]||_0xbf0f2b,_0x38835d=_0x3883d8[_0x545bf7]||_0x40628a;var _0x1965f5=_0x87d869[_0x545bf7]||!0x1,_0x35aa4f=((_0x38835d===_0x3e658f['g'][_0x4adf3c(0x85c)]&&!this[_0x4adf3c(0xbaf)][_0x4adf3c(0x5a5)]||_0x38835d===_0x3e658f['g'][_0x4adf3c(0xa51)]&&!this[_0x4adf3c(0xbaf)][_0x4adf3c(0x435)])&&(_0x4f2743=_0x3e658f['g'][_0x4adf3c(0x6a1)]),this[_0x4adf3c(0xb7a)](_0x4f2743,_0x7d905e));_0x38835d!==_0x3e658f['g'][_0x4adf3c(0x85c)]||this[_0x4adf3c(0xbaf)]['textureFloat']||(_0x38835d=_0x3e658f['g'][_0x4adf3c(0x3e7)],_0xa92574['Y'][_0x4adf3c(0x46a)](_0x4adf3c(0xb22))),_0x1965f5=_0x1965f5&&this['_caps'][_0x4adf3c(0xb41)]&&(0x1<this[_0x4adf3c(0x474)]||this['isWebGPU']);const _0x179b7e=new _0x5835e3['l'](this,_0x5835e3['S']['MultiRenderTarget']);var _0x3d3b45=_0x34ab7b[0x1<this[_0x4adf3c(0x474)]?'COLOR_ATTACHMENT'+_0x545bf7:'COLOR_ATTACHMENT'+_0x545bf7+_0x4adf3c(0x5d9)],_0x35aa4f=(_0x1ee1fa['push'](_0x179b7e),_0x4ed640[_0x4adf3c(0x2bd)](_0x3d3b45),_0x34ab7b[_0x4adf3c(0xce4)](_0x34ab7b['TEXTURE'+_0x545bf7]),_0x34ab7b[_0x4adf3c(0xbde)](_0x34ab7b[_0x4adf3c(0x806)],_0x179b7e['_hardwareTexture']['underlyingResource']),_0x34ab7b['texParameteri'](_0x34ab7b[_0x4adf3c(0x806)],_0x34ab7b[_0x4adf3c(0x216)],_0x35aa4f['mag']),_0x34ab7b[_0x4adf3c(0x218)](_0x34ab7b[_0x4adf3c(0x806)],_0x34ab7b['TEXTURE_MIN_FILTER'],_0x35aa4f[_0x4adf3c(0xae6)]),_0x34ab7b[_0x4adf3c(0x218)](_0x34ab7b['TEXTURE_2D'],_0x34ab7b['TEXTURE_WRAP_S'],_0x34ab7b['CLAMP_TO_EDGE']),_0x34ab7b[_0x4adf3c(0x218)](_0x34ab7b[_0x4adf3c(0x806)],_0x34ab7b[_0x4adf3c(0x300)],_0x34ab7b[_0x4adf3c(0x6f5)]),this[_0x4adf3c(0x4e2)](_0x38835d,_0x3e658f['g']['TEXTUREFORMAT_RGBA'],_0x1965f5));_0x34ab7b[_0x4adf3c(0x338)](_0x34ab7b[_0x4adf3c(0x806)],0x0,_0x35aa4f,_0x4bed9d,_0x57fd45,0x0,_0x34ab7b['RGBA'],this[_0x4adf3c(0x7e9)](_0x38835d),null),_0x34ab7b['framebufferTexture2D'](_0x34ab7b[_0x4adf3c(0x1d1)],_0x3d3b45,_0x34ab7b['TEXTURE_2D'],_0x179b7e[_0x4adf3c(0xbac)][_0x4adf3c(0x8e9)],0x0),_0x7d905e&&this[_0x4adf3c(0x71e)][_0x4adf3c(0x1c3)](this['_gl'][_0x4adf3c(0x806)]),this[_0x4adf3c(0x9bf)](_0x34ab7b[_0x4adf3c(0x806)],null),_0x179b7e[_0x4adf3c(0xcbd)]=_0x4bed9d,_0x179b7e[_0x4adf3c(0x981)]=_0x57fd45,_0x179b7e[_0x4adf3c(0x680)]=_0x4bed9d,_0x179b7e[_0x4adf3c(0x9f8)]=_0x57fd45,_0x179b7e[_0x4adf3c(0x3e5)]=!0x0,_0x179b7e[_0x4adf3c(0x72f)]=0x1,_0x179b7e['generateMipMaps']=_0x7d905e,_0x179b7e['samplingMode']=_0x4f2743,_0x179b7e['type']=_0x38835d,_0x179b7e['_useSRGBBuffer']=_0x1965f5,this[_0x4adf3c(0xc26)][_0x4adf3c(0x2bd)](_0x179b7e);}if(_0x344050&&this[_0x4adf3c(0xbaf)][_0x4adf3c(0x1c1)]){const _0x18c5ac=new _0x5835e3['l'](this,_0x5835e3['S'][_0x4adf3c(0xbc9)]);let _0x4e319c=_0x3e658f['g'][_0x4adf3c(0xbd0)],_0x377d76=_0x34ab7b[_0x4adf3c(0x67f)],_0x325852=_0x34ab7b[_0x4adf3c(0x65e)],_0x3213f0=_0x34ab7b[_0x4adf3c(0x202)],_0x4dbf8f=_0x34ab7b[_0x4adf3c(0x63e)];this[_0x4adf3c(0x474)]<0x2?_0x377d76=_0x34ab7b[_0x4adf3c(0x65e)]:_0x12a500===_0x3e658f['g'][_0x4adf3c(0x1fa)]?(_0x4e319c=_0x3e658f['g'][_0x4adf3c(0x85c)],_0x3213f0=_0x34ab7b[_0x4adf3c(0xd2e)],_0x377d76=_0x34ab7b['DEPTH_COMPONENT32F']):_0x12a500===_0x3e658f['g'][_0x4adf3c(0xa48)]?(_0x4e319c=_0x3e658f['g'][_0x4adf3c(0x3e7)],_0x3213f0=_0x34ab7b[_0x4adf3c(0x440)],_0x377d76=_0x34ab7b[_0x4adf3c(0x909)],_0x325852=_0x34ab7b['DEPTH_STENCIL'],_0x4dbf8f=_0x34ab7b[_0x4adf3c(0x99e)]):_0x12a500===_0x3e658f['g']['TEXTUREFORMAT_DEPTH24']?(_0x4e319c=_0x3e658f['g'][_0x4adf3c(0x3e7)],_0x3213f0=_0x34ab7b[_0x4adf3c(0x8e0)],_0x377d76=_0x34ab7b[_0x4adf3c(0xcd0)],_0x4dbf8f=_0x34ab7b['DEPTH_ATTACHMENT']):_0x12a500!==_0x3e658f['g'][_0x4adf3c(0x684)]&&_0x12a500!==_0x3e658f['g']['TEXTUREFORMAT_DEPTH24UNORM_STENCIL8']||(_0x4e319c=_0x3e658f['g']['TEXTURETYPE_UNSIGNED_INT_24_8'],_0x3213f0=_0x34ab7b['UNSIGNED_INT_24_8'],_0x377d76=_0x34ab7b[_0x4adf3c(0x358)],_0x325852=_0x34ab7b[_0x4adf3c(0x731)],_0x4dbf8f=_0x34ab7b[_0x4adf3c(0x99e)]),_0x34ab7b['activeTexture'](_0x34ab7b[_0x4adf3c(0x20d)]),_0x34ab7b[_0x4adf3c(0xbde)](_0x34ab7b[_0x4adf3c(0x806)],_0x18c5ac[_0x4adf3c(0xbac)][_0x4adf3c(0x8e9)]),_0x34ab7b[_0x4adf3c(0x218)](_0x34ab7b[_0x4adf3c(0x806)],_0x34ab7b[_0x4adf3c(0x216)],_0x34ab7b['NEAREST']),_0x34ab7b[_0x4adf3c(0x218)](_0x34ab7b['TEXTURE_2D'],_0x34ab7b[_0x4adf3c(0x3ab)],_0x34ab7b[_0x4adf3c(0x51b)]),_0x34ab7b['texParameteri'](_0x34ab7b[_0x4adf3c(0x806)],_0x34ab7b[_0x4adf3c(0x737)],_0x34ab7b[_0x4adf3c(0x6f5)]),_0x34ab7b[_0x4adf3c(0x218)](_0x34ab7b[_0x4adf3c(0x806)],_0x34ab7b['TEXTURE_WRAP_T'],_0x34ab7b[_0x4adf3c(0x6f5)]),_0x34ab7b[_0x4adf3c(0x338)](_0x34ab7b['TEXTURE_2D'],0x0,_0x377d76,_0x4bed9d,_0x57fd45,0x0,_0x325852,_0x3213f0,null),_0x34ab7b[_0x4adf3c(0xa4b)](_0x34ab7b[_0x4adf3c(0x42c)],_0x4dbf8f,_0x34ab7b[_0x4adf3c(0x806)],_0x18c5ac[_0x4adf3c(0xbac)][_0x4adf3c(0x8e9)],0x0),_0x18c5ac[_0x4adf3c(0xcbd)]=_0x4bed9d,_0x18c5ac[_0x4adf3c(0x981)]=_0x57fd45,_0x18c5ac[_0x4adf3c(0x680)]=_0x4bed9d,_0x18c5ac[_0x4adf3c(0x9f8)]=_0x57fd45,_0x18c5ac[_0x4adf3c(0x3e5)]=!0x0,_0x18c5ac[_0x4adf3c(0x72f)]=0x1,_0x18c5ac[_0x4adf3c(0x9fb)]=_0x7d905e,_0x18c5ac['samplingMode']=_0x3e658f['g'][_0x4adf3c(0x6a1)],_0x18c5ac[_0x4adf3c(0x920)]=_0x12a500,_0x18c5ac[_0x4adf3c(0xa18)]=_0x4e319c,_0x1ee1fa[_0x4adf3c(0x2bd)](_0x18c5ac),this['_internalTexturesCache'][_0x4adf3c(0x2bd)](_0x18c5ac);}return _0x2ce478[_0x4adf3c(0x58b)](_0x1ee1fa),_0x4ae779&&_0x34ab7b[_0x4adf3c(0xac7)](_0x4ed640),this[_0x4adf3c(0x88d)](null),this[_0x4adf3c(0x404)](),_0x2ce478;},_0x556a39['B'][_0x4e0b5d(0x733)][_0x4e0b5d(0x601)]=function(_0x296bc6,_0x49c233,_0x5af65f=!0x0){var _0x590246=_0x4e0b5d;if(this['webGLVersion']<0x2||!_0x296bc6||!_0x296bc6[_0x590246(0x20b)])return 0x1;if(_0x296bc6[_0x590246(0x72f)]===_0x49c233)return _0x49c233;var _0x5726ed=_0x296bc6['_attachments']['length'];if(0x0===_0x5726ed)return 0x1;const _0x53cb5f=this[_0x590246(0x71e)];_0x49c233=Math['min'](_0x49c233,this[_0x590246(0x780)]()['maxMSAASamples']);var _0x245b80=!!_0x296bc6[_0x590246(0xb9b)];if(_0x245b80&&(_0x53cb5f[_0x590246(0xda1)](_0x296bc6['_depthStencilBuffer']),_0x296bc6[_0x590246(0xb9b)]=null),_0x296bc6[_0x590246(0x867)]&&(_0x53cb5f['deleteFramebuffer'](_0x296bc6['_MSAAFramebuffer']),_0x296bc6[_0x590246(0x867)]=null),0x1<_0x49c233&&'function'==typeof _0x53cb5f[_0x590246(0xbe7)]){var _0x4c5155=_0x53cb5f['createFramebuffer']();if(!_0x4c5155)throw new Error('Unable\x20to\x20create\x20multi\x20sampled\x20framebuffer');_0x296bc6[_0x590246(0x867)]=_0x4c5155,this[_0x590246(0x88d)](_0x4c5155);const _0x1957a7=[];for(let _0x2f9b43=0x0;_0x2f9b43<_0x5726ed;_0x2f9b43++){const _0x5ead39=_0x296bc6[_0x590246(0x7f0)][_0x2f9b43],_0x3cf2d1=_0x5ead39['_hardwareTexture'];var _0x262742=_0x53cb5f[0x1<this[_0x590246(0x474)]?'COLOR_ATTACHMENT'+_0x2f9b43:'COLOR_ATTACHMENT'+_0x2f9b43+_0x590246(0x5d9)],_0x484e42=_0x3cf2d1[_0x590246(0x897)]?this[_0x590246(0xb88)](_0x3cf2d1[_0x590246(0x897)],_0x5ead39[_0x590246(0x680)],_0x5ead39[_0x590246(0x9f8)],_0x49c233,-0x1,this[_0x590246(0xad9)](_0x5ead39['type']),_0x262742):this['_createRenderBuffer'](_0x5ead39[_0x590246(0x680)],_0x5ead39[_0x590246(0x9f8)],_0x49c233,-0x1,this[_0x590246(0xad9)](_0x5ead39['type']),_0x262742);if(!_0x484e42)throw new Error(_0x590246(0xc4e));_0x3cf2d1[_0x590246(0x897)]=_0x484e42,_0x5ead39['samples']=_0x49c233,_0x1957a7['push'](_0x262742);}_0x5af65f&&_0x53cb5f[_0x590246(0xac7)](_0x1957a7);}else this[_0x590246(0x88d)](_0x296bc6[_0x590246(0x3bc)]);return _0x245b80&&(_0x296bc6[_0x590246(0xb9b)]=this[_0x590246(0xa68)](_0x296bc6['_generateStencilBuffer'],_0x296bc6[_0x590246(0xbb3)],_0x296bc6[_0x590246(0x20b)][_0x590246(0x680)],_0x296bc6['texture'][_0x590246(0x9f8)],_0x49c233)),this['_bindUnboundFramebuffer'](null),_0x49c233;};},0x17cc7:(_0x21f919,_0x1d48cb,_0x5163cc)=>{var _0x56c2a5=a6_0x5e3a36,_0x358dd5=_0x5163cc(0xdef7),_0x397421=_0x5163cc(0xee04),_0x2278f4=_0x5163cc(0x1446b),_0x38d45a=_0x5163cc(0x25b1),_0x4ee05e=_0x5163cc(0x9fd1),_0x1db696=_0x5163cc(0x149c5),_0x187b9c=_0x5163cc(0x15556),_0x25abe5=_0x5163cc(0x126cd);function _0xe09b8b(_0x36aa0c,_0x10f025){var _0x4bf9fb=a6_0x4d3f;const _0x16f1d2=new _0x1db696['M'](_0x36aa0c,void 0x0,!0x0,_0x10f025);return _0x16f1d2['addUniform'](_0x4bf9fb(0x23d),0x10),_0x16f1d2[_0x4bf9fb(0x5af)](_0x4bf9fb(0x9a7),0x10),_0x16f1d2[_0x4bf9fb(0x5af)](_0x4bf9fb(0x704),0x10),_0x16f1d2[_0x4bf9fb(0x5af)]('projection',0x10),_0x16f1d2['addUniform'](_0x4bf9fb(0xaf6),0x4),_0x16f1d2;}_0x397421['D'][_0x56c2a5(0x733)]['createMultiviewRenderTargetTexture']=function(_0x25cd09,_0x53ab93){var _0xcacce3=_0x56c2a5;const _0x54ca0c=this['_gl'];if(!this[_0xcacce3(0x780)]()[_0xcacce3(0x4b0)])throw'Multiview\x20is\x20not\x20supported';const _0x1bc728=this['_createHardwareRenderTargetWrapper'](!0x1,!0x1,{'width':_0x25cd09,'height':_0x53ab93}),_0x41a337=(_0x1bc728['_framebuffer']=_0x54ca0c[_0xcacce3(0xd2b)](),new _0x38d45a['l'](this,_0x38d45a['S'][_0xcacce3(0x7a6)],!0x0));return _0x41a337[_0xcacce3(0x680)]=_0x25cd09,_0x41a337['height']=_0x53ab93,_0x41a337['isMultiview']=!0x0,_0x1bc728[_0xcacce3(0x2c0)]=_0x54ca0c[_0xcacce3(0x900)](),_0x54ca0c['bindTexture'](_0x54ca0c['TEXTURE_2D_ARRAY'],_0x1bc728['_colorTextureArray']),_0x54ca0c[_0xcacce3(0x8d6)](_0x54ca0c[_0xcacce3(0x574)],0x1,_0x54ca0c[_0xcacce3(0x204)],_0x25cd09,_0x53ab93,0x2),_0x1bc728[_0xcacce3(0x3f0)]=_0x54ca0c[_0xcacce3(0x900)](),_0x54ca0c[_0xcacce3(0xbde)](_0x54ca0c[_0xcacce3(0x574)],_0x1bc728[_0xcacce3(0x3f0)]),_0x54ca0c[_0xcacce3(0x8d6)](_0x54ca0c[_0xcacce3(0x574)],0x1,_0x54ca0c['DEPTH24_STENCIL8'],_0x25cd09,_0x53ab93,0x2),_0x41a337[_0xcacce3(0x3e5)]=!0x0,_0x1bc728['setTextures'](_0x41a337),_0x1bc728[_0xcacce3(0x673)]=_0x41a337,_0x1bc728;},_0x397421['D'][_0x56c2a5(0x733)][_0x56c2a5(0x260)]=function(_0x17fa06){var _0x5deb6c=_0x56c2a5;const _0x43157e=this[_0x5deb6c(0x71e)],_0x8b77c8=this[_0x5deb6c(0x780)]()[_0x5deb6c(0x9f4)]||this[_0x5deb6c(0x780)]()[_0x5deb6c(0x4b0)];if(this[_0x5deb6c(0x3c2)](_0x17fa06,void 0x0,void 0x0,void 0x0,!0x0),_0x43157e['bindFramebuffer'](_0x43157e[_0x5deb6c(0x1d1)],_0x17fa06['_framebuffer']),!_0x17fa06[_0x5deb6c(0x2c0)]||!_0x17fa06[_0x5deb6c(0x3f0)])throw _0x5deb6c(0x99c);this[_0x5deb6c(0x780)]()[_0x5deb6c(0x9f4)]?(_0x8b77c8['framebufferTextureMultisampleMultiviewOVR'](_0x43157e[_0x5deb6c(0x1d1)],_0x43157e['COLOR_ATTACHMENT0'],_0x17fa06[_0x5deb6c(0x2c0)],0x0,_0x17fa06[_0x5deb6c(0x72f)],0x0,0x2),_0x8b77c8['framebufferTextureMultisampleMultiviewOVR'](_0x43157e[_0x5deb6c(0x1d1)],_0x43157e[_0x5deb6c(0x99e)],_0x17fa06[_0x5deb6c(0x3f0)],0x0,_0x17fa06[_0x5deb6c(0x72f)],0x0,0x2)):(_0x8b77c8[_0x5deb6c(0x707)](_0x43157e[_0x5deb6c(0x1d1)],_0x43157e[_0x5deb6c(0x640)],_0x17fa06[_0x5deb6c(0x2c0)],0x0,0x0,0x2),_0x8b77c8[_0x5deb6c(0x707)](_0x43157e[_0x5deb6c(0x1d1)],_0x43157e[_0x5deb6c(0x99e)],_0x17fa06[_0x5deb6c(0x3f0)],0x0,0x0,0x2));},_0x358dd5['V']['prototype'][_0x56c2a5(0xad8)]=!0x1,_0x358dd5['V'][_0x56c2a5(0x733)][_0x56c2a5(0x681)]=null,_0x358dd5['V'][_0x56c2a5(0x733)][_0x56c2a5(0x845)]=function(_0x54c56b,_0xaf2455){var _0x4b1217=_0x56c2a5;this[_0x4b1217(0x681)]?this['_multiviewTexture'][_0x4b1217(0x6c9)]()==_0x54c56b&&this[_0x4b1217(0x681)][_0x4b1217(0x804)]()==_0xaf2455||(this[_0x4b1217(0x681)][_0x4b1217(0x8fc)](),this[_0x4b1217(0x681)]=new _0x187b9c['x'](this['getScene'](),{'width':_0x54c56b,'height':_0xaf2455})):this[_0x4b1217(0x681)]=new _0x187b9c['x'](this[_0x4b1217(0xc81)](),{'width':_0x54c56b,'height':_0xaf2455});};const _0x2cf7e8=_0x2278f4['x']['prototype']['createSceneUniformBuffer'];_0x2278f4['x'][_0x56c2a5(0x733)][_0x56c2a5(0x5c2)]=_0x4ee05e['y3'][_0x56c2a5(0xb5a)](),_0x2278f4['x'][_0x56c2a5(0x733)][_0x56c2a5(0x9aa)]=null,_0x2278f4['x']['prototype']['_createMultiviewUbo']=function(){var _0x3c7110=_0x56c2a5;this['_multiviewSceneUbo']=_0xe09b8b(this['getEngine'](),_0x3c7110(0xbe3));},_0x2278f4['x'][_0x56c2a5(0x733)]['createSceneUniformBuffer']=function(_0x348309){var _0x43c413=_0x56c2a5;return this[_0x43c413(0x9aa)]?_0xe09b8b(this['getEngine'](),_0x348309):_0x2cf7e8['bind'](this)(_0x348309);},_0x2278f4['x'][_0x56c2a5(0x733)][_0x56c2a5(0x4da)]=function(_0x4d9b64,_0x7231a3){var _0x52b031=_0x56c2a5;_0x4d9b64&&_0x7231a3&&_0x4d9b64['multiplyToRef'](_0x7231a3,this['_transformMatrixR']),_0x4d9b64&&_0x7231a3&&(_0x4d9b64[_0x52b031(0x603)](_0x7231a3,_0x4ee05e['jp'][_0x52b031(0x959)][0x0]),_0x25abe5['i'][_0x52b031(0x7a3)](_0x4ee05e['jp'][_0x52b031(0x959)][0x0],this[_0x52b031(0x4a9)][0x3])),this[_0x52b031(0x9aa)]&&(this[_0x52b031(0x9aa)][_0x52b031(0xd87)](_0x52b031(0x23d),this[_0x52b031(0x923)]()),this[_0x52b031(0x9aa)][_0x52b031(0xd87)](_0x52b031(0x9a7),this[_0x52b031(0x5c2)]),this['_multiviewSceneUbo'][_0x52b031(0xd87)](_0x52b031(0x704),this['_viewMatrix']),this[_0x52b031(0x9aa)][_0x52b031(0xd87)]('projection',this[_0x52b031(0x34d)]));},_0x2278f4['x'][_0x56c2a5(0x733)]['_renderMultiviewToSingleView']=function(_0x3a5a47){var _0x1af38f=_0x56c2a5;_0x3a5a47['_resizeOrCreateMultiviewTexture'](_0x3a5a47[_0x1af38f(0x6d9)]&&_0x3a5a47[_0x1af38f(0x6d9)]&&0x0<_0x3a5a47[_0x1af38f(0x6d9)]['width']?_0x3a5a47[_0x1af38f(0x6d9)][_0x1af38f(0x680)]:this[_0x1af38f(0x9d0)]()['getRenderWidth'](!0x0),_0x3a5a47[_0x1af38f(0x6d9)]&&_0x3a5a47[_0x1af38f(0x6d9)]&&0x0<_0x3a5a47[_0x1af38f(0x6d9)][_0x1af38f(0x9f8)]?_0x3a5a47['_rigPostProcess']['height']:this[_0x1af38f(0x9d0)]()[_0x1af38f(0x804)](!0x0)),this[_0x1af38f(0x9aa)]||this[_0x1af38f(0x1e6)](),_0x3a5a47['outputRenderTarget']=_0x3a5a47[_0x1af38f(0x681)],this['_renderForCamera'](_0x3a5a47),_0x3a5a47[_0x1af38f(0xc7f)]=null;for(let _0x35d9e2=0x0;_0x35d9e2<_0x3a5a47[_0x1af38f(0x371)][_0x1af38f(0x43c)];_0x35d9e2++){const _0x431db1=this[_0x1af38f(0x9d0)]();this[_0x1af38f(0x6af)]=_0x3a5a47[_0x1af38f(0x371)][_0x35d9e2],_0x431db1[_0x1af38f(0x7cd)](this['_activeCamera']['viewport']),this['postProcessManager']&&(this[_0x1af38f(0x64a)][_0x1af38f(0x437)](),this['postProcessManager'][_0x1af38f(0x9c4)](this[_0x1af38f(0x6af)]['isIntermediate']));}};},0x1293:(_0x3703c9,_0x5c3132,_0x4533fa)=>{var _0x29d1f6=a6_0x5e3a36,_0x455d59=_0x4533fa(0x25b1),_0x1034d2=_0x4533fa(0x10ea4),_0x2119e3=_0x4533fa(0xe222),_0x3201a8=_0x4533fa(0x77a5),_0x4533fa=_0x4533fa(0x202a);function _0x3be2dc(_0x3a6692,_0x1b7c3c,_0x4a39dd,_0x2281bc){var _0x1673cc=a6_0x4d3f;let _0x2fd282,_0x71827a=0x1;_0x2281bc===_0x3201a8['g'][_0x1673cc(0x85c)]?_0x2fd282=new Float32Array(_0x1b7c3c*_0x4a39dd*0x4):_0x2281bc===_0x3201a8['g'][_0x1673cc(0xa51)]?(_0x2fd282=new Uint16Array(_0x1b7c3c*_0x4a39dd*0x4),_0x71827a=0x3c00):_0x2fd282=new(_0x2281bc===_0x3201a8['g'][(_0x1673cc(0x9e7))]?Uint32Array:Uint8Array)(_0x1b7c3c*_0x4a39dd*0x4);for(let _0xd28b84=0x0;_0xd28b84<_0x1b7c3c;_0xd28b84++)for(let _0x149bd6=0x0;_0x149bd6<_0x4a39dd;_0x149bd6++){var _0x340767=0x3*(_0x149bd6*_0x1b7c3c+_0xd28b84),_0x5f1730=0x4*(_0x149bd6*_0x1b7c3c+_0xd28b84);_0x2fd282[0x0+_0x5f1730]=_0x3a6692[0x0+_0x340767],_0x2fd282[0x1+_0x5f1730]=_0x3a6692[0x1+_0x340767],_0x2fd282[0x2+_0x5f1730]=_0x3a6692[0x2+_0x340767],_0x2fd282[0x3+_0x5f1730]=_0x71827a;}return _0x2fd282;}function _0x2d256e(_0x4314b2){var _0x19bdca=a6_0x4d3f;return function(_0x4275db,_0x1c6876,_0x138457,_0x119287,_0x376f89,_0x38e6aa,_0x3a7b4e,_0x54319b,_0x5b9dda=null,_0x36078f=_0x3201a8['g'][_0x19bdca(0x3e7)]){var _0x5b302c=_0x19bdca,_0x1fcc93=_0x4314b2?this[_0x5b302c(0x71e)][_0x5b302c(0xcd4)]:this[_0x5b302c(0x71e)][_0x5b302c(0x574)],_0x1cc55f=_0x4314b2?_0x455d59['S']['Raw3D']:_0x455d59['S'][_0x5b302c(0x240)];const _0x3e44be=new _0x455d59['l'](this,_0x1cc55f);return _0x3e44be[_0x5b302c(0xcbd)]=_0x1c6876,_0x3e44be[_0x5b302c(0x981)]=_0x138457,_0x3e44be[_0x5b302c(0x83c)]=_0x119287,_0x3e44be[_0x5b302c(0x680)]=_0x1c6876,_0x3e44be[_0x5b302c(0x9f8)]=_0x138457,_0x3e44be[_0x5b302c(0x550)]=_0x119287,_0x3e44be['format']=_0x376f89,_0x3e44be['type']=_0x36078f,_0x3e44be['generateMipMaps']=_0x38e6aa,_0x3e44be[_0x5b302c(0x958)]=_0x54319b,_0x4314b2?_0x3e44be[_0x5b302c(0x208)]=!0x0:_0x3e44be[_0x5b302c(0xc21)]=!0x0,this[_0x5b302c(0x31a)]||(_0x3e44be[_0x5b302c(0x6a3)]=_0x4275db),_0x4314b2?this['updateRawTexture3D'](_0x3e44be,_0x4275db,_0x376f89,_0x3a7b4e,_0x5b9dda,_0x36078f):this[_0x5b302c(0x3c5)](_0x3e44be,_0x4275db,_0x376f89,_0x3a7b4e,_0x5b9dda,_0x36078f),this[_0x5b302c(0x9bf)](_0x1fcc93,_0x3e44be,!0x0),_0x1cc55f=this['_getSamplingParameters'](_0x54319b,_0x38e6aa),(this[_0x5b302c(0x71e)][_0x5b302c(0x218)](_0x1fcc93,this['_gl'][_0x5b302c(0x216)],_0x1cc55f[_0x5b302c(0x834)]),this[_0x5b302c(0x71e)]['texParameteri'](_0x1fcc93,this[_0x5b302c(0x71e)][_0x5b302c(0x3ab)],_0x1cc55f[_0x5b302c(0xae6)]),_0x38e6aa&&this[_0x5b302c(0x71e)][_0x5b302c(0x1c3)](_0x1fcc93),this[_0x5b302c(0x9bf)](_0x1fcc93,null),this[_0x5b302c(0xc26)][_0x5b302c(0x2bd)](_0x3e44be),_0x3e44be);};}function _0x4e1d11(_0x25c925){return function(_0x3acde1,_0x3507f9,_0x12c03c,_0x208c0b,_0x343f77=null,_0x24218e=_0x3201a8['g']['TEXTURETYPE_UNSIGNED_INT']){var _0x363b26=a6_0x4d3f,_0x5aa481=_0x25c925?this['_gl'][_0x363b26(0xcd4)]:this[_0x363b26(0x71e)][_0x363b26(0x574)],_0x515024=this[_0x363b26(0x7e9)](_0x24218e),_0x595c7e=this[_0x363b26(0xb0f)](_0x12c03c),_0x24218e=this[_0x363b26(0x4e2)](_0x24218e,_0x12c03c);this[_0x363b26(0x9bf)](_0x5aa481,_0x3acde1,!0x0),this['_unpackFlipY'](void 0x0===_0x208c0b||!!_0x208c0b),this['_doNotHandleContextLost']||(_0x3acde1[_0x363b26(0x6a3)]=_0x3507f9,_0x3acde1[_0x363b26(0x920)]=_0x12c03c,_0x3acde1[_0x363b26(0x63a)]=_0x208c0b,_0x3acde1[_0x363b26(0x61e)]=_0x343f77),_0x3acde1[_0x363b26(0x680)]%0x4!=0x0&&this[_0x363b26(0x71e)][_0x363b26(0xc8f)](this[_0x363b26(0x71e)][_0x363b26(0x31f)],0x1),_0x343f77&&_0x3507f9?this['_gl'][_0x363b26(0xc39)](_0x5aa481,0x0,this[_0x363b26(0x780)]()[_0x363b26(0xc4f)][_0x343f77],_0x3acde1['width'],_0x3acde1[_0x363b26(0x9f8)],_0x3acde1[_0x363b26(0x550)],0x0,_0x3507f9):this[_0x363b26(0x71e)][_0x363b26(0xb17)](_0x5aa481,0x0,_0x24218e,_0x3acde1[_0x363b26(0x680)],_0x3acde1['height'],_0x3acde1[_0x363b26(0x550)],0x0,_0x595c7e,_0x515024,_0x3507f9),_0x3acde1[_0x363b26(0x9fb)]&&this[_0x363b26(0x71e)][_0x363b26(0x1c3)](_0x5aa481),this[_0x363b26(0x9bf)](_0x5aa481,null),_0x3acde1['isReady']=!0x0;};}_0x4533fa['B']['prototype']['updateRawTexture']=function(_0x58393f,_0x564cc3,_0x128e21,_0x543440,_0x185bdc=null,_0x1736a7=_0x3201a8['g'][_0x29d1f6(0x3e7)],_0x5a4ceb=!0x1){var _0x203cec=_0x29d1f6,_0x19b982,_0x21abaa;_0x58393f&&(_0x5a4ceb=this['_getRGBABufferInternalSizedFormat'](_0x1736a7,_0x128e21,_0x5a4ceb),_0x19b982=this[_0x203cec(0xb0f)](_0x128e21),_0x21abaa=this[_0x203cec(0x7e9)](_0x1736a7),this[_0x203cec(0x9bf)](this['_gl'][_0x203cec(0x806)],_0x58393f,!0x0),this[_0x203cec(0xa44)](void 0x0===_0x543440||!!_0x543440),this[_0x203cec(0x31a)]||(_0x58393f[_0x203cec(0x6a3)]=_0x564cc3,_0x58393f[_0x203cec(0x920)]=_0x128e21,_0x58393f[_0x203cec(0xa18)]=_0x1736a7,_0x58393f[_0x203cec(0x63a)]=_0x543440,_0x58393f[_0x203cec(0x61e)]=_0x185bdc),_0x58393f[_0x203cec(0x680)]%0x4!=0x0&&this[_0x203cec(0x71e)][_0x203cec(0xc8f)](this['_gl'][_0x203cec(0x31f)],0x1),_0x185bdc&&_0x564cc3?this[_0x203cec(0x71e)][_0x203cec(0x773)](this[_0x203cec(0x71e)][_0x203cec(0x806)],0x0,this[_0x203cec(0x780)]()[_0x203cec(0xc4f)][_0x185bdc],_0x58393f[_0x203cec(0x680)],_0x58393f[_0x203cec(0x9f8)],0x0,_0x564cc3):this['_gl'][_0x203cec(0x338)](this['_gl'][_0x203cec(0x806)],0x0,_0x5a4ceb,_0x58393f[_0x203cec(0x680)],_0x58393f[_0x203cec(0x9f8)],0x0,_0x19b982,_0x21abaa,_0x564cc3),_0x58393f[_0x203cec(0x9fb)]&&this[_0x203cec(0x71e)][_0x203cec(0x1c3)](this['_gl'][_0x203cec(0x806)]),this[_0x203cec(0x9bf)](this[_0x203cec(0x71e)][_0x203cec(0x806)],null),_0x58393f[_0x203cec(0x3e5)]=!0x0);},_0x4533fa['B'][_0x29d1f6(0x733)][_0x29d1f6(0x608)]=function(_0x47409e,_0x74b794,_0x4515f9,_0x1bef83,_0x4e211d,_0x50fea8,_0x4f3a52,_0x2ad70e=null,_0x40d843=_0x3201a8['g'][_0x29d1f6(0x3e7)],_0x136cc3,_0x2cfcdc=!0x1){var _0x51aa51=_0x29d1f6;const _0x398075=new _0x455d59['l'](this,_0x455d59['S'][_0x51aa51(0xc69)]);return _0x398075[_0x51aa51(0xcbd)]=_0x74b794,_0x398075[_0x51aa51(0x981)]=_0x4515f9,_0x398075['width']=_0x74b794,_0x398075[_0x51aa51(0x9f8)]=_0x4515f9,_0x398075['format']=_0x1bef83,_0x398075[_0x51aa51(0x9fb)]=_0x4e211d,_0x398075[_0x51aa51(0x958)]=_0x4f3a52,_0x398075['invertY']=_0x50fea8,_0x398075[_0x51aa51(0x61e)]=_0x2ad70e,_0x398075[_0x51aa51(0xa18)]=_0x40d843,_0x398075['_useSRGBBuffer']=this['_getUseSRGBBuffer'](_0x2cfcdc,!_0x4e211d),this[_0x51aa51(0x31a)]||(_0x398075[_0x51aa51(0x6a3)]=_0x47409e),this['updateRawTexture'](_0x398075,_0x47409e,_0x1bef83,_0x50fea8,_0x2ad70e,_0x40d843,_0x398075[_0x51aa51(0x389)]),this['_bindTextureDirectly'](this['_gl'][_0x51aa51(0x806)],_0x398075,!0x0),_0x74b794=this['_getSamplingParameters'](_0x4f3a52,_0x4e211d),(this['_gl'][_0x51aa51(0x218)](this[_0x51aa51(0x71e)][_0x51aa51(0x806)],this[_0x51aa51(0x71e)]['TEXTURE_MAG_FILTER'],_0x74b794[_0x51aa51(0x834)]),this['_gl']['texParameteri'](this[_0x51aa51(0x71e)]['TEXTURE_2D'],this['_gl'][_0x51aa51(0x3ab)],_0x74b794[_0x51aa51(0xae6)]),_0x4e211d&&this['_gl'][_0x51aa51(0x1c3)](this['_gl'][_0x51aa51(0x806)]),this['_bindTextureDirectly'](this[_0x51aa51(0x71e)][_0x51aa51(0x806)],null),this[_0x51aa51(0xc26)][_0x51aa51(0x2bd)](_0x398075),_0x398075);},_0x4533fa['B'][_0x29d1f6(0x733)]['createRawCubeTexture']=function(_0x5db45f,_0x17c2c2,_0x2bf4be,_0x3d403d,_0xd82e70,_0x68a5f8,_0x5483d2,_0x384da4=null){var _0x2aeaea=_0x29d1f6;const _0x5d5b9a=this[_0x2aeaea(0x71e)],_0x6d70a6=new _0x455d59['l'](this,_0x455d59['S']['CubeRaw']);_0x6d70a6[_0x2aeaea(0xd30)]=!0x0,_0x6d70a6[_0x2aeaea(0x920)]=_0x2bf4be,_0x6d70a6[_0x2aeaea(0xa18)]=_0x3d403d,this['_doNotHandleContextLost']||(_0x6d70a6[_0x2aeaea(0x8e3)]=_0x5db45f);var _0x332550=this[_0x2aeaea(0x7e9)](_0x3d403d);let _0x585076=this['_getInternalFormat'](_0x2bf4be);_0x585076===_0x5d5b9a[_0x2aeaea(0x330)]&&(_0x585076=_0x5d5b9a[_0x2aeaea(0x3b7)]),_0x332550!==_0x5d5b9a[_0x2aeaea(0xd2e)]||this[_0x2aeaea(0xbaf)][_0x2aeaea(0x5a5)]?_0x332550!==this['_gl'][_0x2aeaea(0xc33)]||this[_0x2aeaea(0xbaf)][_0x2aeaea(0x435)]?_0x332550!==_0x5d5b9a[_0x2aeaea(0xd2e)]||this[_0x2aeaea(0xbaf)][_0x2aeaea(0xc60)]?_0x332550!==_0x5d5b9a[_0x2aeaea(0x403)]||this['_caps'][_0x2aeaea(0x359)]||(_0xd82e70=!0x1,_0x1034d2['Y'][_0x2aeaea(0x46a)](_0x2aeaea(0x2a2))):(_0xd82e70=!0x1,_0x1034d2['Y'][_0x2aeaea(0x46a)](_0x2aeaea(0xa58))):(_0xd82e70=!0x1,_0x5483d2=_0x3201a8['g']['TEXTURE_NEAREST_SAMPLINGMODE'],_0x1034d2['Y']['Warn'](_0x2aeaea(0x3a8))):(_0xd82e70=!0x1,_0x5483d2=_0x3201a8['g'][_0x2aeaea(0x6a1)],_0x1034d2['Y'][_0x2aeaea(0x46a)](_0x2aeaea(0xa01)));var _0x28530d=_0x17c2c2;if(_0x6d70a6[_0x2aeaea(0x680)]=_0x17c2c2,_0x6d70a6[_0x2aeaea(0x9f8)]=_0x28530d,_0x6d70a6[_0x2aeaea(0x63a)]=_0x68a5f8,_0x6d70a6[_0x2aeaea(0x61e)]=_0x384da4,!this[_0x2aeaea(0xb23)]||_0x2119e3['w1'][_0x2aeaea(0x83e)](_0x6d70a6['width'])&&_0x2119e3['w1'][_0x2aeaea(0x83e)](_0x6d70a6[_0x2aeaea(0x9f8)])||(_0xd82e70=!0x1),_0x5db45f)this[_0x2aeaea(0x492)](_0x6d70a6,_0x5db45f,_0x2bf4be,_0x3d403d,_0x68a5f8,_0x384da4);else{var _0x167f2a=this[_0x2aeaea(0x4e2)](_0x3d403d);this['_bindTextureDirectly'](_0x5d5b9a[_0x2aeaea(0x31b)],_0x6d70a6,!0x0);for(let _0x3ace2e=0x0;_0x3ace2e<0x6;_0x3ace2e++)_0x384da4?_0x5d5b9a[_0x2aeaea(0x773)](_0x5d5b9a[_0x2aeaea(0x273)]+_0x3ace2e,0x0,this[_0x2aeaea(0x780)]()[_0x2aeaea(0xc4f)][_0x384da4],_0x6d70a6[_0x2aeaea(0x680)],_0x6d70a6[_0x2aeaea(0x9f8)],0x0,void 0x0):_0x5d5b9a[_0x2aeaea(0x338)](_0x5d5b9a[_0x2aeaea(0x273)]+_0x3ace2e,0x0,_0x167f2a,_0x6d70a6['width'],_0x6d70a6[_0x2aeaea(0x9f8)],0x0,_0x585076,_0x332550,null);this['_bindTextureDirectly'](this[_0x2aeaea(0x71e)][_0x2aeaea(0x31b)],null);}return this['_bindTextureDirectly'](this[_0x2aeaea(0x71e)][_0x2aeaea(0x31b)],_0x6d70a6,!0x0),_0x5db45f&&_0xd82e70&&this[_0x2aeaea(0x71e)][_0x2aeaea(0x1c3)](this['_gl'][_0x2aeaea(0x31b)]),_0x17c2c2=this[_0x2aeaea(0xb7a)](_0x5483d2,_0xd82e70),(_0x5d5b9a[_0x2aeaea(0x218)](_0x5d5b9a[_0x2aeaea(0x31b)],_0x5d5b9a[_0x2aeaea(0x216)],_0x17c2c2[_0x2aeaea(0x834)]),_0x5d5b9a[_0x2aeaea(0x218)](_0x5d5b9a['TEXTURE_CUBE_MAP'],_0x5d5b9a[_0x2aeaea(0x3ab)],_0x17c2c2[_0x2aeaea(0xae6)]),_0x5d5b9a[_0x2aeaea(0x218)](_0x5d5b9a[_0x2aeaea(0x31b)],_0x5d5b9a[_0x2aeaea(0x737)],_0x5d5b9a[_0x2aeaea(0x6f5)]),_0x5d5b9a[_0x2aeaea(0x218)](_0x5d5b9a[_0x2aeaea(0x31b)],_0x5d5b9a['TEXTURE_WRAP_T'],_0x5d5b9a[_0x2aeaea(0x6f5)]),this[_0x2aeaea(0x9bf)](_0x5d5b9a[_0x2aeaea(0x31b)],null),_0x6d70a6['generateMipMaps']=_0xd82e70,_0x6d70a6['samplingMode']=_0x5483d2,_0x6d70a6['isReady']=!0x0,_0x6d70a6);},_0x4533fa['B'][_0x29d1f6(0x733)][_0x29d1f6(0x492)]=function(_0x445c3c,_0x453e15,_0x46292f,_0x451ad8,_0x13f000,_0x577bb5=null,_0x363cee=0x0){var _0x4aef65=_0x29d1f6;_0x445c3c['_bufferViewArray']=_0x453e15,_0x445c3c['format']=_0x46292f,_0x445c3c[_0x4aef65(0xa18)]=_0x451ad8,_0x445c3c[_0x4aef65(0x63a)]=_0x13f000,_0x445c3c[_0x4aef65(0x61e)]=_0x577bb5;const _0x144def=this[_0x4aef65(0x71e)];var _0x220863=this[_0x4aef65(0x7e9)](_0x451ad8);let _0x2183c1=this[_0x4aef65(0xb0f)](_0x46292f);var _0x4f31e1=this[_0x4aef65(0x4e2)](_0x451ad8);let _0x391ff9=!0x1;_0x2183c1===_0x144def[_0x4aef65(0x330)]&&(_0x2183c1=_0x144def['RGBA'],_0x391ff9=!0x0),this[_0x4aef65(0x9bf)](_0x144def['TEXTURE_CUBE_MAP'],_0x445c3c,!0x0),this['_unpackFlipY'](void 0x0===_0x13f000||!!_0x13f000),_0x445c3c['width']%0x4!=0x0&&_0x144def[_0x4aef65(0xc8f)](_0x144def[_0x4aef65(0x31f)],0x1);for(let _0x5c4b02=0x0;_0x5c4b02<0x6;_0x5c4b02++){let _0x98fcca=_0x453e15[_0x5c4b02];_0x577bb5?_0x144def[_0x4aef65(0x773)](_0x144def[_0x4aef65(0x273)]+_0x5c4b02,_0x363cee,this['getCaps']()[_0x4aef65(0xc4f)][_0x577bb5],_0x445c3c[_0x4aef65(0x680)],_0x445c3c[_0x4aef65(0x9f8)],0x0,_0x98fcca):(_0x391ff9&&(_0x98fcca=_0x3be2dc(_0x98fcca,_0x445c3c[_0x4aef65(0x680)],_0x445c3c[_0x4aef65(0x9f8)],_0x451ad8)),_0x144def[_0x4aef65(0x338)](_0x144def['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x5c4b02,_0x363cee,_0x4f31e1,_0x445c3c[_0x4aef65(0x680)],_0x445c3c[_0x4aef65(0x9f8)],0x0,_0x2183c1,_0x220863,_0x98fcca));}(!this[_0x4aef65(0xb23)]||_0x2119e3['w1'][_0x4aef65(0x83e)](_0x445c3c['width'])&&_0x2119e3['w1'][_0x4aef65(0x83e)](_0x445c3c[_0x4aef65(0x9f8)]))&&_0x445c3c[_0x4aef65(0x9fb)]&&0x0===_0x363cee&&this[_0x4aef65(0x71e)][_0x4aef65(0x1c3)](this[_0x4aef65(0x71e)][_0x4aef65(0x31b)]),this['_bindTextureDirectly'](this[_0x4aef65(0x71e)]['TEXTURE_CUBE_MAP'],null),_0x445c3c[_0x4aef65(0x3e5)]=!0x0;},_0x4533fa['B']['prototype'][_0x29d1f6(0x8ef)]=function(_0xff5480,_0x440374,_0x13b91e,_0x4e7e8c,_0x2030e2,_0x5ca681,_0x4aee1c,_0x3f8e50,_0x1f4adf=null,_0x422046=null,_0x24a3cf=_0x3201a8['g'][_0x29d1f6(0xd07)],_0x361115=!0x1){var _0x24f6df=_0x29d1f6;const _0x2bad1b=this[_0x24f6df(0x71e)],_0x293c32=this['createRawCubeTexture'](null,_0x13b91e,_0x4e7e8c,_0x2030e2,!_0x5ca681,_0x361115,_0x24a3cf,null),_0x31b6ea=(null!=_0x440374&&_0x440374['addPendingData'](_0x293c32),_0x293c32['url']=_0xff5480,this[_0x24f6df(0xc26)]['push'](_0x293c32),_0x370d3b=>{var _0x13fc79=_0x24f6df,_0x2dc9a6=_0x293c32[_0x13fc79(0x680)],_0x370d3b=_0x4aee1c(_0x370d3b);if(_0x370d3b){if(_0x3f8e50){var _0x3d70db=this[_0x13fc79(0x7e9)](_0x2030e2);let _0x33d1ba=this[_0x13fc79(0xb0f)](_0x4e7e8c);var _0x2cf67f=this[_0x13fc79(0x4e2)](_0x2030e2);let _0x23a2de=!0x1;_0x33d1ba===_0x2bad1b[_0x13fc79(0x330)]&&(_0x33d1ba=_0x2bad1b[_0x13fc79(0x3b7)],_0x23a2de=!0x0),this[_0x13fc79(0x9bf)](_0x2bad1b[_0x13fc79(0x31b)],_0x293c32,!0x0),this[_0x13fc79(0xa44)](!0x1);var _0xf3ba22=_0x3f8e50(_0x370d3b);for(let _0x50bc38=0x0;_0x50bc38<_0xf3ba22[_0x13fc79(0x43c)];_0x50bc38++){var _0x1a02c9=_0x2dc9a6>>_0x50bc38;for(let _0x245afd=0x0;_0x245afd<0x6;_0x245afd++){let _0xd150fa=_0xf3ba22[_0x50bc38][_0x245afd];_0x23a2de&&(_0xd150fa=_0x3be2dc(_0xd150fa,_0x1a02c9,_0x1a02c9,_0x2030e2)),_0x2bad1b[_0x13fc79(0x338)](_0x245afd,_0x50bc38,_0x2cf67f,_0x1a02c9,_0x1a02c9,0x0,_0x33d1ba,_0x3d70db,_0xd150fa);}}this[_0x13fc79(0x9bf)](_0x2bad1b['TEXTURE_CUBE_MAP'],null);}else this[_0x13fc79(0x492)](_0x293c32,_0x370d3b,_0x4e7e8c,_0x2030e2,_0x361115);_0x293c32[_0x13fc79(0x3e5)]=!0x0,null!=_0x440374&&_0x440374[_0x13fc79(0x8bc)](_0x293c32),_0x293c32[_0x13fc79(0x91b)][_0x13fc79(0x6b1)](_0x293c32),_0x293c32[_0x13fc79(0x91b)][_0x13fc79(0x642)](),_0x1f4adf&&_0x1f4adf();}});return this[_0x24f6df(0xb37)](_0xff5480,_0x4f1bd2=>{_0x31b6ea(_0x4f1bd2);},void 0x0,null==_0x440374?void 0x0:_0x440374['offlineProvider'],!0x0,(_0x30bf5e,_0x310012)=>{var _0x581c10=_0x24f6df;null!=_0x440374&&_0x440374['removePendingData'](_0x293c32),_0x422046&&_0x30bf5e&&_0x422046(_0x30bf5e[_0x581c10(0x5ea)]+'\x20'+_0x30bf5e[_0x581c10(0xb3e)],_0x310012);}),_0x293c32;},_0x4533fa['B'][_0x29d1f6(0x733)][_0x29d1f6(0x9c5)]=_0x2d256e(!0x1),_0x4533fa['B'][_0x29d1f6(0x733)]['createRawTexture3D']=_0x2d256e(!0x0),_0x4533fa['B']['prototype'][_0x29d1f6(0x3c5)]=_0x4e1d11(!0x1),_0x4533fa['B']['prototype'][_0x29d1f6(0x514)]=_0x4e1d11(!0x0);},0x3c27:(_0x52535e,_0x1e3c75,_0x2dae0d)=>{var _0x5a0f20=a6_0x5e3a36;_0x2dae0d['d'](_0x1e3c75,{'A':()=>_0x471f4d});var _0x1e3c75=_0x2dae0d(0x202a),_0x552221=_0x2dae0d(0x77a5);function _0x471f4d(_0x2da5fa,_0x3a938c,_0x4731a8=!0x1,_0x1d0abb){var _0x2eed51=a6_0x4d3f;switch(_0x2da5fa){case _0x552221['g'][_0x2eed51(0x364)]:{ArrayBuffer;const _0x72b656=new Int8Array(_0x3a938c);return _0x1d0abb&&_0x72b656[_0x2eed51(0x3ee)](new Int8Array(_0x1d0abb)),_0x72b656;}case _0x552221['g']['TEXTURETYPE_UNSIGNED_BYTE']:{ArrayBuffer;const _0x59bf9a=new Uint8Array(_0x3a938c);return _0x1d0abb&&_0x59bf9a['set'](new Uint8Array(_0x1d0abb)),_0x59bf9a;}case _0x552221['g']['TEXTURETYPE_SHORT']:{const _0x6b370e=_0x3a938c instanceof ArrayBuffer?new Int16Array(_0x3a938c):new Int16Array(_0x4731a8?_0x3a938c/0x2:_0x3a938c);return _0x1d0abb&&_0x6b370e[_0x2eed51(0x3ee)](new Int16Array(_0x1d0abb)),_0x6b370e;}case _0x552221['g'][_0x2eed51(0xbd0)]:case _0x552221['g'][_0x2eed51(0x93d)]:case _0x552221['g'][_0x2eed51(0xae1)]:case _0x552221['g'][_0x2eed51(0xd0e)]:case _0x552221['g'][_0x2eed51(0xa51)]:{const _0x21489c=_0x3a938c instanceof ArrayBuffer?new Uint16Array(_0x3a938c):new Uint16Array(_0x4731a8?_0x3a938c/0x2:_0x3a938c);return _0x1d0abb&&_0x21489c[_0x2eed51(0x3ee)](new Uint16Array(_0x1d0abb)),_0x21489c;}case _0x552221['g'][_0x2eed51(0x9de)]:{const _0x55e3f9=_0x3a938c instanceof ArrayBuffer?new Int32Array(_0x3a938c):new Int32Array(_0x4731a8?_0x3a938c/0x4:_0x3a938c);return _0x1d0abb&&_0x55e3f9[_0x2eed51(0x3ee)](new Int32Array(_0x1d0abb)),_0x55e3f9;}case _0x552221['g'][_0x2eed51(0x9e7)]:case _0x552221['g'][_0x2eed51(0x6e0)]:case _0x552221['g'][_0x2eed51(0x821)]:case _0x552221['g'][_0x2eed51(0xcb4)]:case _0x552221['g'][_0x2eed51(0xcad)]:case _0x552221['g'][_0x2eed51(0x782)]:{const _0x4e3cb2=_0x3a938c instanceof ArrayBuffer?new Uint32Array(_0x3a938c):new Uint32Array(_0x4731a8?_0x3a938c/0x4:_0x3a938c);return _0x1d0abb&&_0x4e3cb2[_0x2eed51(0x3ee)](new Uint32Array(_0x1d0abb)),_0x4e3cb2;}case _0x552221['g'][_0x2eed51(0x85c)]:{const _0x5ea255=_0x3a938c instanceof ArrayBuffer?new Float32Array(_0x3a938c):new Float32Array(_0x4731a8?_0x3a938c/0x4:_0x3a938c);return _0x1d0abb&&_0x5ea255[_0x2eed51(0x3ee)](new Float32Array(_0x1d0abb)),_0x5ea255;}}ArrayBuffer;const _0x2d3e4b=new Uint8Array(_0x3a938c);return _0x1d0abb&&_0x2d3e4b[_0x2eed51(0x3ee)](new Uint8Array(_0x1d0abb)),_0x2d3e4b;}_0x1e3c75['B'][_0x5a0f20(0x733)][_0x5a0f20(0x5d8)]=function(_0x360bcf,_0x781996,_0x5877e,_0x1d6416=-0x1,_0x1bb98c=0x0,_0x2bca6f=null,_0x3d3176=!0x0,_0x49f648=!0x1,_0x294664=0x0,_0x26656c=0x0){var _0x45d039=_0x5a0f20;const _0x578a2e=this[_0x45d039(0x71e)];if(!_0x578a2e)throw new Error(_0x45d039(0xcb8));if(!this[_0x45d039(0x5eb)]){var _0x45f362=_0x578a2e[_0x45d039(0xd2b)]();if(!_0x45f362)throw new Error(_0x45d039(0x254));this[_0x45d039(0x5eb)]=_0x45f362;}_0x578a2e[_0x45d039(0x3c2)](_0x578a2e['FRAMEBUFFER'],this[_0x45d039(0x5eb)]),-0x1<_0x1d6416?_0x578a2e[_0x45d039(0xa4b)](_0x578a2e[_0x45d039(0x42c)],_0x578a2e[_0x45d039(0x640)],_0x578a2e['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x1d6416,null==(_0x45f362=_0x360bcf[_0x45d039(0xbac)])?void 0x0:_0x45f362['underlyingResource'],_0x1bb98c):_0x578a2e[_0x45d039(0xa4b)](_0x578a2e[_0x45d039(0x42c)],_0x578a2e['COLOR_ATTACHMENT0'],_0x578a2e[_0x45d039(0x806)],null==(_0x1d6416=_0x360bcf[_0x45d039(0xbac)])?void 0x0:_0x1d6416[_0x45d039(0x8e9)],_0x1bb98c);let _0x167984=void 0x0!==_0x360bcf['type']?this[_0x45d039(0x7e9)](_0x360bcf[_0x45d039(0xa18)]):_0x578a2e[_0x45d039(0x30f)];return _0x49f648?_0x2bca6f=_0x2bca6f||_0x471f4d(_0x360bcf['type'],0x4*_0x781996*_0x5877e):_0x167984=_0x167984===_0x578a2e[_0x45d039(0x30f)]?(_0x2bca6f=_0x2bca6f||new Uint8Array(0x4*_0x781996*_0x5877e),_0x578a2e[_0x45d039(0x30f)]):(_0x2bca6f=_0x2bca6f||new Float32Array(0x4*_0x781996*_0x5877e),_0x578a2e[_0x45d039(0xd2e)]),_0x3d3176&&this[_0x45d039(0x351)](),_0x578a2e[_0x45d039(0x658)](_0x294664,_0x26656c,_0x781996,_0x5877e,_0x578a2e[_0x45d039(0x3b7)],_0x167984,_0x2bca6f),_0x578a2e[_0x45d039(0x3c2)](_0x578a2e[_0x45d039(0x42c)],this[_0x45d039(0x2e5)]),_0x2bca6f;},_0x1e3c75['B'][_0x5a0f20(0x733)]['_readTexturePixels']=function(_0x45fb14,_0x3c25bc,_0xa34a1a,_0x450beb=-0x1,_0x3757da=0x0,_0x3cb15b=null,_0x3cbf41=!0x0,_0x335c62=!0x1,_0xcd9674=0x0,_0x50697f=0x0){var _0xb817a1=_0x5a0f20;return Promise[_0xb817a1(0x41f)](this[_0xb817a1(0x5d8)](_0x45fb14,_0x3c25bc,_0xa34a1a,_0x450beb,_0x3757da,_0x3cb15b,_0x3cbf41,_0x335c62,_0xcd9674,_0x50697f));};},0xd75:(_0xd22428,_0x1796f9,_0x32f21d)=>{var _0x57a37c=a6_0x5e3a36,_0x2d7e0b=_0x32f21d(0x25b1),_0x39c0dc=_0x32f21d(0x10ea4),_0x2901a9=_0x32f21d(0x202a);class _0x55628e extends _0x32f21d(0x758)['r']{constructor(_0xca15d2,_0x8b4aff,_0x2bed6d,_0xa51b41,_0xbd3cd){var _0x34fe34=a6_0x4d3f;super(_0xca15d2,_0x8b4aff,_0x2bed6d,_0xa51b41),this['_framebuffer']=null,this[_0x34fe34(0xb9b)]=null,this[_0x34fe34(0x867)]=null,this[_0x34fe34(0x2c0)]=null,this[_0x34fe34(0x3f0)]=null,this[_0x34fe34(0x957)]=_0xbd3cd;}[_0x57a37c(0x9e8)](){var _0x2b18ae=_0x57a37c;let _0x52a47c=null;return this[_0x2b18ae(0x2c0)]&&this['_depthStencilTextureArray']?(_0x52a47c=this[_0x2b18ae(0x57c)][_0x2b18ae(0xafc)](this[_0x2b18ae(0x680)],this[_0x2b18ae(0x9f8)]))[_0x2b18ae(0x20b)][_0x2b18ae(0x3e5)]=!0x0:_0x52a47c=super[_0x2b18ae(0x9e8)](),_0x52a47c;}[_0x57a37c(0xc99)](_0x2b1443){var _0x159e06=_0x57a37c;super[_0x159e06(0xc99)](_0x2b1443),_0x2b1443[_0x159e06(0x3bc)]=this[_0x159e06(0x3bc)],_0x2b1443['_depthStencilBuffer']=this[_0x159e06(0xb9b)],_0x2b1443[_0x159e06(0x867)]=this[_0x159e06(0x867)],_0x2b1443['_colorTextureArray']=this[_0x159e06(0x2c0)],_0x2b1443['_depthStencilTextureArray']=this[_0x159e06(0x3f0)],this[_0x159e06(0x3bc)]=this[_0x159e06(0xb9b)]=this['_MSAAFramebuffer']=this[_0x159e06(0x2c0)]=this[_0x159e06(0x3f0)]=null;}[_0x57a37c(0xb24)](_0x35fe86){var _0x3b407e=_0x57a37c;super[_0x3b407e(0xb24)](_0x35fe86);const _0xfc6201=this['_context'];var _0x2cdd1f=this[_0x3b407e(0xb9b)],_0x3fd518=_0x35fe86[_0x3b407e(0x867)]||_0x35fe86[_0x3b407e(0x3bc)];_0x35fe86[_0x3b407e(0xb9b)]&&_0xfc6201[_0x3b407e(0xda1)](_0x35fe86[_0x3b407e(0xb9b)]),_0x35fe86[_0x3b407e(0xb9b)]=this[_0x3b407e(0xb9b)],this[_0x3b407e(0x57c)]['_bindUnboundFramebuffer'](_0x3fd518),_0xfc6201[_0x3b407e(0x9ec)](_0xfc6201['FRAMEBUFFER'],_0xfc6201[_0x3b407e(0x63e)],_0xfc6201['RENDERBUFFER'],_0x2cdd1f),this[_0x3b407e(0x57c)][_0x3b407e(0x88d)](null);}[_0x57a37c(0x931)](_0x378ab7,_0x311a2c=0x0,_0x247daa=-0x1,_0x2ffd0c=0x0){var _0x562922=_0x57a37c;if(_0x378ab7[_0x562922(0xbac)]){const _0x554118=this[_0x562922(0x957)];var _0x1d4646=this[_0x562922(0x3bc)],_0x1bd405=this['_engine']['_currentFramebuffer'],_0x1d4646=(this[_0x562922(0x57c)][_0x562922(0x88d)](_0x1d4646),_0x554118[0x1<this[_0x562922(0x57c)]['webGLVersion']?_0x562922(0x7fc)+_0x311a2c:'COLOR_ATTACHMENT'+_0x311a2c+_0x562922(0x5d9)]),_0x311a2c=-0x1!==_0x247daa?_0x554118[_0x562922(0x273)]+_0x247daa:_0x554118[_0x562922(0x806)];_0x554118[_0x562922(0xa4b)](_0x554118['FRAMEBUFFER'],_0x1d4646,_0x311a2c,_0x378ab7['_hardwareTexture'][_0x562922(0x8e9)],_0x2ffd0c),this[_0x562922(0x57c)][_0x562922(0x88d)](_0x1bd405);}}[_0x57a37c(0x8f2)](_0x513087,_0x57ef39=0x0,_0x3f79ff=!0x0){var _0x2cc520=_0x57a37c;super[_0x2cc520(0x8f2)](_0x513087,_0x57ef39,_0x3f79ff),this[_0x2cc520(0x931)](_0x513087,_0x57ef39);}[_0x57a37c(0x8fc)](_0x2ffdbb=!0x1){var _0x5216e0=_0x57a37c;const _0x186255=this[_0x5216e0(0x957)];_0x2ffdbb||(this[_0x5216e0(0x2c0)]&&(this['_context'][_0x5216e0(0x2f6)](this[_0x5216e0(0x2c0)]),this['_colorTextureArray']=null),this[_0x5216e0(0x3f0)]&&(this[_0x5216e0(0x957)][_0x5216e0(0x2f6)](this['_depthStencilTextureArray']),this[_0x5216e0(0x3f0)]=null)),this[_0x5216e0(0x3bc)]&&(_0x186255[_0x5216e0(0xb2c)](this[_0x5216e0(0x3bc)]),this[_0x5216e0(0x3bc)]=null),this[_0x5216e0(0xb9b)]&&(_0x186255['deleteRenderbuffer'](this[_0x5216e0(0xb9b)]),this[_0x5216e0(0xb9b)]=null),this[_0x5216e0(0x867)]&&(_0x186255[_0x5216e0(0xb2c)](this[_0x5216e0(0x867)]),this['_MSAAFramebuffer']=null),super[_0x5216e0(0x8fc)](_0x2ffdbb);}}var _0x5963fb=_0x32f21d(0x77a5);_0x2901a9['B'][_0x57a37c(0x733)]['_createHardwareRenderTargetWrapper']=function(_0x25d9e2,_0x20ab90,_0x36fbd8){var _0x5b1d9d=_0x57a37c;return _0x25d9e2=new _0x55628e(_0x25d9e2,_0x20ab90,_0x36fbd8,this,this[_0x5b1d9d(0x71e)]),(this[_0x5b1d9d(0xd9a)][_0x5b1d9d(0x2bd)](_0x25d9e2),_0x25d9e2);},_0x2901a9['B']['prototype'][_0x57a37c(0x566)]=function(_0x381947,_0x1e4309){var _0x320816=_0x57a37c;const _0x47c9d9=this[_0x320816(0x29e)](!0x1,!0x1,_0x381947);let _0x46dcb2=!0x0,_0x486611=!0x1,_0x2f84ab=!0x1,_0x3828de=void 0x0,_0x8f528c=0x1;void 0x0!==_0x1e4309&&_0x320816(0x413)==typeof _0x1e4309&&(_0x46dcb2=null==(_0x3f146e=_0x1e4309[_0x320816(0x5e8)])||_0x3f146e,_0x486611=!!_0x1e4309['generateStencilBuffer'],_0x2f84ab=!!_0x1e4309['noColorAttachment'],_0x3828de=_0x1e4309[_0x320816(0x6c4)],_0x8f528c=null!=(_0x3f146e=_0x1e4309['samples'])?_0x3f146e:0x1);var _0x3f146e=_0x3828de||(_0x2f84ab?null:this[_0x320816(0x7fb)](_0x381947,_0x1e4309,!0x0,_0x2d7e0b['S']['RenderTarget'])),_0x1e4309=_0x381947[_0x320816(0x680)]||_0x381947,_0x381947=_0x381947['height']||_0x381947,_0x223dc3=this[_0x320816(0x2e5)];const _0x49d188=this[_0x320816(0x71e)];var _0x490ad5=_0x49d188['createFramebuffer']();return this['_bindUnboundFramebuffer'](_0x490ad5),_0x47c9d9[_0x320816(0xb9b)]=this[_0x320816(0xa68)](_0x486611,_0x46dcb2,_0x1e4309,_0x381947),_0x3f146e&&!_0x3f146e['is2DArray']&&_0x49d188['framebufferTexture2D'](_0x49d188['FRAMEBUFFER'],_0x49d188['COLOR_ATTACHMENT0'],_0x49d188[_0x320816(0x806)],_0x3f146e[_0x320816(0xbac)][_0x320816(0x8e9)],0x0),this[_0x320816(0x88d)](_0x223dc3),_0x47c9d9[_0x320816(0x3bc)]=_0x490ad5,_0x47c9d9['_generateDepthBuffer']=_0x46dcb2,_0x47c9d9[_0x320816(0x5aa)]=_0x486611,_0x47c9d9['setTextures'](_0x3f146e),this['updateRenderTargetTextureSampleCount'](_0x47c9d9,_0x8f528c),_0x47c9d9;},_0x2901a9['B'][_0x57a37c(0x733)][_0x57a37c(0x408)]=function(_0x46b6ae,_0x5e36c5,_0x101e02){var _0xee97a=_0x57a37c,_0x571e86;return _0x5e36c5['isCube']?(_0x571e86=_0x46b6ae[_0xee97a(0x680)]||_0x46b6ae,this[_0xee97a(0xc4b)](_0x571e86,_0x5e36c5,_0x101e02)):this[_0xee97a(0x42f)](_0x46b6ae,_0x5e36c5,_0x101e02);},_0x2901a9['B'][_0x57a37c(0x733)][_0x57a37c(0x42f)]=function(_0x1860e6,_0xf42f03,_0x4283c8){var _0x5406bc=_0x57a37c;const _0x4486bc=this[_0x5406bc(0x71e)];var _0x5a703a=_0x1860e6[_0x5406bc(0x2d8)]||0x0,_0x2eb127=0x0!==_0x5a703a?_0x4486bc[_0x5406bc(0x574)]:_0x4486bc['TEXTURE_2D'];const _0x2c2e37=new _0x2d7e0b['l'](this,_0x2d7e0b['S'][_0x5406bc(0x918)]);if(!this[_0x5406bc(0xbaf)][_0x5406bc(0x1c1)])return _0x39c0dc['Y'][_0x5406bc(0xb34)](_0x5406bc(0x21d)),_0x2c2e37;_0xf42f03=Object[_0x5406bc(0xc30)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1},_0xf42f03);if(this['_bindTextureDirectly'](_0x2eb127,_0x2c2e37,!0x0),this[_0x5406bc(0x775)](_0x2c2e37,_0x1860e6,_0xf42f03[_0x5406bc(0x23e)],0x0!==_0xf42f03[_0x5406bc(0x3f5)]&&_0xf42f03['bilinearFiltering'],_0xf42f03[_0x5406bc(0x3f5)],_0xf42f03[_0x5406bc(0x72f)]),void 0x0!==_0xf42f03['depthTextureFormat']){if(_0xf42f03[_0x5406bc(0x9ba)]!==_0x5963fb['g'][_0x5406bc(0x715)]&&_0xf42f03[_0x5406bc(0x9ba)]!==_0x5963fb['g'][_0x5406bc(0x85b)]&&_0xf42f03['depthTextureFormat']!==_0x5963fb['g'][_0x5406bc(0xc35)]&&_0xf42f03['depthTextureFormat']!==_0x5963fb['g'][_0x5406bc(0x684)]&&_0xf42f03['depthTextureFormat']!==_0x5963fb['g'][_0x5406bc(0x1fa)]&&_0xf42f03[_0x5406bc(0x9ba)]!==_0x5963fb['g'][_0x5406bc(0xa48)])return _0x39c0dc['Y']['Error'](_0x5406bc(0xa6f)),_0x2c2e37;_0x2c2e37[_0x5406bc(0x920)]=_0xf42f03['depthTextureFormat'];}else _0x2c2e37[_0x5406bc(0x920)]=_0xf42f03['generateStencil']?_0x5963fb['g'][_0x5406bc(0x684)]:_0x5963fb['g'][_0x5406bc(0x85b)];_0x1860e6=_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g'][_0x5406bc(0xc35)]||_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g'][_0x5406bc(0x684)]||_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g'][_0x5406bc(0xa48)],(_0x4283c8['_depthStencilTexture']=_0x2c2e37,_0x4283c8[_0x5406bc(0x84b)]=_0x1860e6);let _0x5ae0ff=_0x4486bc[_0x5406bc(0x8e0)];_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g']['TEXTUREFORMAT_DEPTH16']?_0x5ae0ff=_0x4486bc[_0x5406bc(0x202)]:_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g'][_0x5406bc(0xc35)]||_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g'][_0x5406bc(0x684)]?_0x5ae0ff=_0x4486bc[_0x5406bc(0x8c7)]:_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g']['TEXTUREFORMAT_DEPTH32_FLOAT']?_0x5ae0ff=_0x4486bc[_0x5406bc(0xd2e)]:_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g'][_0x5406bc(0xa48)]&&(_0x5ae0ff=_0x4486bc['FLOAT_32_UNSIGNED_INT_24_8_REV']),_0xf42f03=_0x1860e6?_0x4486bc[_0x5406bc(0x731)]:_0x4486bc[_0x5406bc(0x65e)];let _0x5b73f1=_0xf42f03;0x1<this[_0x5406bc(0x474)]&&(_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g'][_0x5406bc(0x715)]?_0x5b73f1=_0x4486bc['DEPTH_COMPONENT16']:_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g'][_0x5406bc(0x85b)]?_0x5b73f1=_0x4486bc['DEPTH_COMPONENT24']:_0x2c2e37['format']===_0x5963fb['g']['TEXTUREFORMAT_DEPTH24UNORM_STENCIL8']||_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g']['TEXTUREFORMAT_DEPTH24_STENCIL8']?_0x5b73f1=_0x4486bc[_0x5406bc(0x358)]:_0x2c2e37['format']===_0x5963fb['g'][_0x5406bc(0x1fa)]?_0x5b73f1=_0x4486bc[_0x5406bc(0x995)]:_0x2c2e37[_0x5406bc(0x920)]===_0x5963fb['g'][_0x5406bc(0xa48)]&&(_0x5b73f1=_0x4486bc[_0x5406bc(0x909)])),_0x2c2e37[_0x5406bc(0xc21)]?_0x4486bc[_0x5406bc(0xb17)](_0x2eb127,0x0,_0x5b73f1,_0x2c2e37[_0x5406bc(0x680)],_0x2c2e37['height'],_0x5a703a,0x0,_0xf42f03,_0x5ae0ff,null):_0x4486bc['texImage2D'](_0x2eb127,0x0,_0x5b73f1,_0x2c2e37[_0x5406bc(0x680)],_0x2c2e37[_0x5406bc(0x9f8)],0x0,_0xf42f03,_0x5ae0ff,null),this[_0x5406bc(0x9bf)](_0x2eb127,null),this[_0x5406bc(0xc26)][_0x5406bc(0x2bd)](_0x2c2e37);const _0x4ce395=_0x4283c8;return _0x4ce395[_0x5406bc(0xb9b)]&&(_0x1860e6=this[_0x5406bc(0x2e5)],this[_0x5406bc(0x88d)](_0x4ce395[_0x5406bc(0x3bc)]),_0x4486bc[_0x5406bc(0x9ec)](_0x4486bc[_0x5406bc(0x42c)],_0x4486bc[_0x5406bc(0x99e)],_0x4486bc['RENDERBUFFER'],null),_0x4486bc[_0x5406bc(0x9ec)](_0x4486bc[_0x5406bc(0x42c)],_0x4486bc[_0x5406bc(0x63e)],_0x4486bc[_0x5406bc(0x7fe)],null),_0x4486bc[_0x5406bc(0x9ec)](_0x4486bc['FRAMEBUFFER'],_0x4486bc[_0x5406bc(0x4d7)],_0x4486bc['RENDERBUFFER'],null),this[_0x5406bc(0x88d)](_0x1860e6),_0x4486bc['deleteRenderbuffer'](_0x4ce395['_depthStencilBuffer']),_0x4ce395[_0x5406bc(0xb9b)]=null),_0x2c2e37;},_0x2901a9['B'][_0x57a37c(0x733)]['updateRenderTargetTextureSampleCount']=function(_0x57f352,_0x24d95c){var _0xcec763=_0x57a37c;if(this[_0xcec763(0x474)]<0x2||!_0x57f352||!_0x57f352[_0xcec763(0x20b)])return 0x1;if(_0x57f352[_0xcec763(0x72f)]===_0x24d95c)return _0x24d95c;const _0x31f167=this['_gl'],_0x5be999=(_0x24d95c=Math[_0xcec763(0xae6)](_0x24d95c,this['getCaps']()[_0xcec763(0x2d9)]),_0x57f352['_depthStencilBuffer']&&(_0x31f167[_0xcec763(0xda1)](_0x57f352['_depthStencilBuffer']),_0x57f352[_0xcec763(0xb9b)]=null),_0x57f352['_MSAAFramebuffer']&&(_0x31f167[_0xcec763(0xb2c)](_0x57f352['_MSAAFramebuffer']),_0x57f352['_MSAAFramebuffer']=null),_0x57f352['texture'][_0xcec763(0xbac)]);if(_0x5be999['_MSAARenderBuffer']&&(_0x31f167[_0xcec763(0xda1)](_0x5be999[_0xcec763(0x897)]),_0x5be999[_0xcec763(0x897)]=null),0x1<_0x24d95c&&_0xcec763(0x222)==typeof _0x31f167['renderbufferStorageMultisample']){var _0xc8649d=_0x31f167[_0xcec763(0xd2b)]();if(!_0xc8649d)throw new Error(_0xcec763(0xc4e));_0x57f352[_0xcec763(0x867)]=_0xc8649d,this[_0xcec763(0x88d)](_0x57f352['_MSAAFramebuffer']),_0xc8649d=this[_0xcec763(0x42e)](_0x57f352[_0xcec763(0x20b)][_0xcec763(0x680)],_0x57f352['texture'][_0xcec763(0x9f8)],_0x24d95c,-0x1,this[_0xcec763(0xad9)](_0x57f352[_0xcec763(0x20b)][_0xcec763(0xa18)]),_0x31f167[_0xcec763(0x640)],!0x1);if(!_0xc8649d)throw new Error(_0xcec763(0xc4e));_0x5be999['_MSAARenderBuffer']=_0xc8649d;}else this['_bindUnboundFramebuffer'](_0x57f352[_0xcec763(0x3bc)]);return _0x57f352[_0xcec763(0x20b)][_0xcec763(0x72f)]=_0x24d95c,_0x57f352['_samples']=_0x24d95c,_0x57f352[_0xcec763(0xb9b)]=this['_setupFramebufferDepthAttachments'](_0x57f352[_0xcec763(0x5aa)],_0x57f352[_0xcec763(0xbb3)],_0x57f352[_0xcec763(0x20b)][_0xcec763(0x680)],_0x57f352[_0xcec763(0x20b)]['height'],_0x24d95c),this[_0xcec763(0x88d)](null),_0x24d95c;};},0xf29:(_0x2bf594,_0xd95c61,_0x4a2c51)=>{var _0x5bec9b=a6_0x5e3a36,_0x208607=_0x4a2c51(0x25b1),_0x14f842=_0x4a2c51(0x10ea4),_0x522681=_0x4a2c51(0x77a5);_0x4a2c51(0x202a)['B'][_0x5bec9b(0x733)][_0x5bec9b(0x59b)]=function(_0x3686e5,_0x42d476){var _0x246344=_0x5bec9b;const _0x261583=this[_0x246344(0x29e)](!0x1,!0x0,_0x3686e5),_0x314c89=Object[_0x246344(0xc30)]({'generateMipMaps':!0x0,'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'type':_0x522681['g']['TEXTURETYPE_UNSIGNED_INT'],'samplingMode':_0x522681['g'][_0x246344(0xd07)],'format':_0x522681['g'][_0x246344(0x719)]},_0x42d476),_0x55e9ee=(_0x314c89[_0x246344(0x91f)]=_0x314c89[_0x246344(0x5e8)]&&_0x314c89[_0x246344(0x91f)],(_0x314c89[_0x246344(0xa18)]===_0x522681['g'][_0x246344(0x85c)]&&!this[_0x246344(0xbaf)][_0x246344(0x5a5)]||_0x314c89[_0x246344(0xa18)]===_0x522681['g'][_0x246344(0xa51)]&&!this['_caps'][_0x246344(0x435)])&&(_0x314c89['samplingMode']=_0x522681['g'][_0x246344(0x6a1)]),this['_gl']),_0x445ddf=new _0x208607['l'](this,_0x208607['S'][_0x246344(0xc61)]);this[_0x246344(0x9bf)](_0x55e9ee[_0x246344(0x31b)],_0x445ddf,!0x0),_0x42d476=this[_0x246344(0xb7a)](_0x314c89[_0x246344(0x958)],_0x314c89['generateMipMaps']),(_0x314c89['type']!==_0x522681['g']['TEXTURETYPE_FLOAT']||this[_0x246344(0xbaf)]['textureFloat']||(_0x314c89[_0x246344(0xa18)]=_0x522681['g'][_0x246344(0x3e7)],_0x14f842['Y'][_0x246344(0x46a)](_0x246344(0xd3b))),_0x55e9ee[_0x246344(0x218)](_0x55e9ee[_0x246344(0x31b)],_0x55e9ee['TEXTURE_MAG_FILTER'],_0x42d476[_0x246344(0x834)]),_0x55e9ee[_0x246344(0x218)](_0x55e9ee['TEXTURE_CUBE_MAP'],_0x55e9ee[_0x246344(0x3ab)],_0x42d476[_0x246344(0xae6)]),_0x55e9ee[_0x246344(0x218)](_0x55e9ee[_0x246344(0x31b)],_0x55e9ee['TEXTURE_WRAP_S'],_0x55e9ee[_0x246344(0x6f5)]),_0x55e9ee[_0x246344(0x218)](_0x55e9ee[_0x246344(0x31b)],_0x55e9ee[_0x246344(0x300)],_0x55e9ee['CLAMP_TO_EDGE']));for(let _0x298037=0x0;_0x298037<0x6;_0x298037++)_0x55e9ee['texImage2D'](_0x55e9ee['TEXTURE_CUBE_MAP_POSITIVE_X']+_0x298037,0x0,this[_0x246344(0x4e2)](_0x314c89['type'],_0x314c89['format']),_0x3686e5,_0x3686e5,0x0,this[_0x246344(0xb0f)](_0x314c89['format']),this['_getWebGLTextureType'](_0x314c89['type']),null);return _0x42d476=_0x55e9ee[_0x246344(0xd2b)](),(this[_0x246344(0x88d)](_0x42d476),_0x261583[_0x246344(0xb9b)]=this[_0x246344(0xa68)](_0x314c89[_0x246344(0x91f)],_0x314c89[_0x246344(0x5e8)],_0x3686e5,_0x3686e5),_0x314c89[_0x246344(0x9fb)]&&_0x55e9ee[_0x246344(0x1c3)](_0x55e9ee[_0x246344(0x31b)]),this['_bindTextureDirectly'](_0x55e9ee[_0x246344(0x31b)],null),this[_0x246344(0x88d)](null),_0x261583[_0x246344(0x3bc)]=_0x42d476,_0x261583[_0x246344(0xbb3)]=_0x314c89['generateDepthBuffer'],_0x261583['_generateStencilBuffer']=_0x314c89[_0x246344(0x91f)],_0x445ddf['width']=_0x3686e5,_0x445ddf[_0x246344(0x9f8)]=_0x3686e5,_0x445ddf['isReady']=!0x0,_0x445ddf[_0x246344(0xd30)]=!0x0,_0x445ddf[_0x246344(0x72f)]=0x1,_0x445ddf[_0x246344(0x9fb)]=_0x314c89[_0x246344(0x9fb)],_0x445ddf[_0x246344(0x958)]=_0x314c89['samplingMode'],_0x445ddf[_0x246344(0xa18)]=_0x314c89[_0x246344(0xa18)],_0x445ddf[_0x246344(0x920)]=_0x314c89[_0x246344(0x920)],this['_internalTexturesCache'][_0x246344(0x2bd)](_0x445ddf),_0x261583[_0x246344(0x58b)](_0x445ddf),_0x261583);};},0x2505:(_0x5c2843,_0x10424d,_0x4b8ff1)=>{var _0x67f66e=a6_0x5e3a36;_0x4b8ff1=_0x4b8ff1(0x202a),(_0x4b8ff1['B']['prototype'][_0x67f66e(0xbc4)]=function(_0x489082,_0x46ad99){var _0x48e53c=_0x67f66e;throw new Error(_0x48e53c(0xc1a));},_0x4b8ff1['B'][_0x67f66e(0x733)][_0x67f66e(0x542)]=function(_0x2ce9d7,_0x54ef9d,_0x9f3b0,_0x1f072d){},_0x4b8ff1['B']['prototype']['readFromStorageBuffer']=function(_0x128a92,_0x31eff5,_0x5d025c,_0x59a6b0){var _0x373d9c=_0x67f66e;throw new Error(_0x373d9c(0xd48));},_0x4b8ff1['B']['prototype']['setStorageBuffer']=function(_0x4ff79f,_0x13e60b){var _0x375e3f=_0x67f66e;throw new Error(_0x375e3f(0xb09));});},0x100b5:(_0x3ed952,_0x9ed7c0,_0xd990e8)=>{var _0x2ff36c=a6_0x5e3a36;_0xd990e8(0x202a)['B'][_0x2ff36c(0x733)][_0x2ff36c(0x66d)]=function(_0x1ecf90,_0x4c3559){var _0x351334=_0x2ff36c;throw new Error(_0x351334(0x265));};},0x4c3:(_0x1dab35,_0x4f9815,_0x1512ec)=>{var _0x3a2ccf=a6_0x5e3a36;_0x1512ec=_0x1512ec(0xee04);function _0x3789d1(_0x1b02d1){var _0x2273d4=a6_0x4d3f;if(this[_0x2273d4(0x38b)]&&this[_0x2273d4(0x38b)][_0x2273d4(0x21c)](_0x5768dc=>_0x1b02d1&&(_0x1b02d1===_0x5768dc||_0x1b02d1[_0x2273d4(0x239)](new RegExp('\x5cb'+_0x5768dc+'\x5cb','g')))))return _0x1b02d1;var _0x3bcf1a=_0x1b02d1[_0x2273d4(0xd38)]('.'),_0x3b5054=_0x1b02d1[_0x2273d4(0xd38)]('?'),_0x3b5054=-0x1<_0x3b5054?_0x1b02d1['substring'](_0x3b5054,_0x1b02d1[_0x2273d4(0x43c)]):'';return(-0x1<_0x3bcf1a?_0x1b02d1['substring'](0x0,_0x3bcf1a):_0x1b02d1)+this[_0x2273d4(0xbd6)]+_0x3b5054;}Object[_0x3a2ccf(0x3b9)](_0x1512ec['D'][_0x3a2ccf(0x733)],_0x3a2ccf(0x29d),{'get':function(){var _0x43c6ea=_0x3a2ccf;const _0xb24a0d=new Array();return this[_0x43c6ea(0xbaf)]['astc']&&_0xb24a0d[_0x43c6ea(0x2bd)](_0x43c6ea(0xc44)),this['_caps'][_0x43c6ea(0xc4f)]&&_0xb24a0d[_0x43c6ea(0x2bd)](_0x43c6ea(0xd53)),this[_0x43c6ea(0xbaf)][_0x43c6ea(0x929)]&&_0xb24a0d[_0x43c6ea(0x2bd)](_0x43c6ea(0x70b)),this[_0x43c6ea(0xbaf)][_0x43c6ea(0x462)]&&_0xb24a0d[_0x43c6ea(0x2bd)](_0x43c6ea(0x763)),this[_0x43c6ea(0xbaf)][_0x43c6ea(0xa5e)]&&_0xb24a0d['push'](_0x43c6ea(0xd2a)),_0xb24a0d;},'enumerable':!0x0,'configurable':!0x0}),Object[_0x3a2ccf(0x3b9)](_0x1512ec['D'][_0x3a2ccf(0x733)],_0x3a2ccf(0x3a3),{'get':function(){var _0x5d6fc8=_0x3a2ccf;return this[_0x5d6fc8(0xbd6)]||null;},'enumerable':!0x0,'configurable':!0x0}),_0x1512ec['D'][_0x3a2ccf(0x733)][_0x3a2ccf(0x679)]=function(_0x32f700){var _0x557db5=_0x3a2ccf;this[_0x557db5(0x38b)]=_0x32f700;},_0x1512ec['D'][_0x3a2ccf(0x733)][_0x3a2ccf(0x777)]=function(_0x863b98){var _0x2209c8=_0x3a2ccf,_0x42686e=this[_0x2209c8(0x29d)];for(let _0x23f57c=0x0,_0x2ab66a=_0x42686e[_0x2209c8(0x43c)];_0x23f57c<_0x2ab66a;_0x23f57c++)for(let _0x575334=0x0,_0x22f655=_0x863b98[_0x2209c8(0x43c)];_0x575334<_0x22f655;_0x575334++)if(_0x42686e[_0x23f57c]===_0x863b98[_0x575334][_0x2209c8(0xbc2)]())return this[_0x2209c8(0x352)]=_0x3789d1[_0x2209c8(0x977)](this),this[_0x2209c8(0xbd6)]=_0x42686e[_0x23f57c];return this[_0x2209c8(0xbd6)]='',this[_0x2209c8(0x352)]=null;};},0xa758:(_0x235abe,_0x43c62d,_0x2ce904)=>{var _0x2ff6ef=a6_0x5e3a36,_0x3a98d7=_0x2ce904(0x202a),_0x42669c=_0x2ce904(0xc7ed);_0x3a98d7['B'][_0x2ff6ef(0x733)][_0x2ff6ef(0xb53)]=function(_0x4a69fc){var _0x39ef38=_0x2ff6ef,_0x44b49e=this[_0x39ef38(0x71e)][_0x39ef38(0xa19)]();if(!_0x44b49e)throw new Error('Unable\x20to\x20create\x20uniform\x20buffer');const _0x27544b=new _0x42669c['M'](_0x44b49e);return this[_0x39ef38(0x808)](_0x27544b),_0x4a69fc instanceof Float32Array?this[_0x39ef38(0x71e)]['bufferData'](this[_0x39ef38(0x71e)][_0x39ef38(0x630)],_0x4a69fc,this[_0x39ef38(0x71e)][_0x39ef38(0x779)]):this[_0x39ef38(0x71e)][_0x39ef38(0x47d)](this[_0x39ef38(0x71e)]['UNIFORM_BUFFER'],new Float32Array(_0x4a69fc),this[_0x39ef38(0x71e)][_0x39ef38(0x779)]),this['bindUniformBuffer'](null),_0x27544b[_0x39ef38(0x713)]=0x1,_0x27544b;},_0x3a98d7['B']['prototype'][_0x2ff6ef(0x9b3)]=function(_0x8ffa9){var _0x5aa8c9=_0x2ff6ef,_0x4ae8ca=this[_0x5aa8c9(0x71e)]['createBuffer']();if(!_0x4ae8ca)throw new Error('Unable\x20to\x20create\x20dynamic\x20uniform\x20buffer');const _0x5948b7=new _0x42669c['M'](_0x4ae8ca);return this['bindUniformBuffer'](_0x5948b7),_0x8ffa9 instanceof Float32Array?this['_gl'][_0x5aa8c9(0x47d)](this[_0x5aa8c9(0x71e)]['UNIFORM_BUFFER'],_0x8ffa9,this[_0x5aa8c9(0x71e)][_0x5aa8c9(0xadb)]):this[_0x5aa8c9(0x71e)]['bufferData'](this[_0x5aa8c9(0x71e)]['UNIFORM_BUFFER'],new Float32Array(_0x8ffa9),this[_0x5aa8c9(0x71e)][_0x5aa8c9(0xadb)]),this[_0x5aa8c9(0x808)](null),_0x5948b7[_0x5aa8c9(0x713)]=0x1,_0x5948b7;},_0x3a98d7['B'][_0x2ff6ef(0x733)][_0x2ff6ef(0x250)]=function(_0x221269,_0x2e44ac,_0x4c935e,_0x9a4e77){var _0x4fa994=_0x2ff6ef;this[_0x4fa994(0x808)](_0x221269),void 0x0===_0x4c935e&&(_0x4c935e=0x0),void 0x0===_0x9a4e77?_0x2e44ac instanceof Float32Array?this[_0x4fa994(0x71e)][_0x4fa994(0x4aa)](this[_0x4fa994(0x71e)][_0x4fa994(0x630)],_0x4c935e,_0x2e44ac):this[_0x4fa994(0x71e)][_0x4fa994(0x4aa)](this[_0x4fa994(0x71e)][_0x4fa994(0x630)],_0x4c935e,new Float32Array(_0x2e44ac)):_0x2e44ac instanceof Float32Array?this[_0x4fa994(0x71e)]['bufferSubData'](this[_0x4fa994(0x71e)][_0x4fa994(0x630)],0x0,_0x2e44ac[_0x4fa994(0x2cc)](_0x4c935e,_0x4c935e+_0x9a4e77)):this['_gl'][_0x4fa994(0x4aa)](this[_0x4fa994(0x71e)]['UNIFORM_BUFFER'],0x0,new Float32Array(_0x2e44ac)[_0x4fa994(0x2cc)](_0x4c935e,_0x4c935e+_0x9a4e77)),this['bindUniformBuffer'](null);},_0x3a98d7['B']['prototype'][_0x2ff6ef(0x808)]=function(_0x4b6c11){var _0x1095f7=_0x2ff6ef;this[_0x1095f7(0x71e)][_0x1095f7(0xda4)](this[_0x1095f7(0x71e)]['UNIFORM_BUFFER'],_0x4b6c11?_0x4b6c11[_0x1095f7(0x8e9)]:null);},_0x3a98d7['B'][_0x2ff6ef(0x733)][_0x2ff6ef(0x810)]=function(_0x552584,_0x12dcd2,_0x57b91a){var _0x5070db=_0x2ff6ef;this[_0x5070db(0x71e)][_0x5070db(0x334)](this[_0x5070db(0x71e)][_0x5070db(0x630)],_0x12dcd2,_0x552584?_0x552584['underlyingResource']:null);},_0x3a98d7['B'][_0x2ff6ef(0x733)][_0x2ff6ef(0x9eb)]=function(_0x5127bb,_0x1d94df,_0x5ba72f){var _0x3811ac=_0x2ff6ef;_0x5127bb=_0x5127bb[_0x3811ac(0xb0b)],_0x1d94df=this[_0x3811ac(0x71e)]['getUniformBlockIndex'](_0x5127bb,_0x1d94df),0xffffffff!==_0x1d94df&&this[_0x3811ac(0x71e)][_0x3811ac(0x853)](_0x5127bb,_0x1d94df,_0x5ba72f);};},0x89d3:(_0x3d057a,_0x1f9807,_0x99a41e)=>{var _0x54a862=a6_0x5e3a36,_0xb4c80c=_0x99a41e(0x202a),_0x4ce94b=_0x99a41e(0x77a5);_0xb4c80c['B'][_0x54a862(0x733)]['updateVideoTexture']=function(_0x384d34,_0x4b9ae4,_0x33657c){var _0x5a09f6=_0x54a862;if(_0x384d34&&!_0x384d34['_isDisabled']){var _0xad32f=this[_0x5a09f6(0xb0f)](_0x384d34[_0x5a09f6(0x920)]),_0x5161df=this[_0x5a09f6(0x4e2)](_0x4ce94b['g']['TEXTURETYPE_UNSIGNED_BYTE'],_0x384d34['format']),_0x173878=this[_0x5a09f6(0x9bf)](this[_0x5a09f6(0x71e)][_0x5a09f6(0x806)],_0x384d34,!0x0);this[_0x5a09f6(0xa44)](!_0x33657c);try{if(void 0x0===this[_0x5a09f6(0x48f)]&&(this[_0x5a09f6(0x71e)]['getError'](),this[_0x5a09f6(0x71e)][_0x5a09f6(0x338)](this[_0x5a09f6(0x71e)][_0x5a09f6(0x806)],0x0,_0x5161df,_0xad32f,this[_0x5a09f6(0x71e)]['UNSIGNED_BYTE'],_0x4b9ae4),0x0!==this[_0x5a09f6(0x71e)]['getError']()?this['_videoTextureSupported']=!0x1:this[_0x5a09f6(0x48f)]=!0x0),this[_0x5a09f6(0x48f)])this['_gl'][_0x5a09f6(0x338)](this[_0x5a09f6(0x71e)][_0x5a09f6(0x806)],0x0,_0x5161df,_0xad32f,this['_gl'][_0x5a09f6(0x30f)],_0x4b9ae4);else{if(!_0x384d34[_0x5a09f6(0x3c7)]){_0x384d34[_0x5a09f6(0x3c7)]=this[_0x5a09f6(0x8fe)](_0x384d34[_0x5a09f6(0x680)],_0x384d34[_0x5a09f6(0x9f8)]);var _0x40370d=_0x384d34['_workingCanvas'][_0x5a09f6(0x720)]('2d');if(!_0x40370d)throw new Error(_0x5a09f6(0xd12));_0x384d34[_0x5a09f6(0x4bf)]=_0x40370d,_0x384d34[_0x5a09f6(0x3c7)][_0x5a09f6(0x680)]=_0x384d34['width'],_0x384d34['_workingCanvas'][_0x5a09f6(0x9f8)]=_0x384d34[_0x5a09f6(0x9f8)];}_0x384d34[_0x5a09f6(0x4bf)]['clearRect'](0x0,0x0,_0x384d34['width'],_0x384d34['height']),_0x384d34[_0x5a09f6(0x4bf)][_0x5a09f6(0x586)](_0x4b9ae4,0x0,0x0,_0x4b9ae4['videoWidth'],_0x4b9ae4[_0x5a09f6(0xcd5)],0x0,0x0,_0x384d34['width'],_0x384d34[_0x5a09f6(0x9f8)]),this[_0x5a09f6(0x71e)]['texImage2D'](this[_0x5a09f6(0x71e)]['TEXTURE_2D'],0x0,_0x5161df,_0xad32f,this[_0x5a09f6(0x71e)]['UNSIGNED_BYTE'],_0x384d34[_0x5a09f6(0x3c7)]);}_0x384d34[_0x5a09f6(0x9fb)]&&this[_0x5a09f6(0x71e)][_0x5a09f6(0x1c3)](this['_gl'][_0x5a09f6(0x806)]),_0x173878||this['_bindTextureDirectly'](this[_0x5a09f6(0x71e)][_0x5a09f6(0x806)],null),_0x384d34['isReady']=!0x0;}catch(_0x2bd0d0){_0x384d34['_isDisabled']=!0x0;}}};},0xeefc:(_0x16747b,_0x3ff37b,_0x425854)=>{var _0x350c58=a6_0x5e3a36,_0x4c6d35=_0x425854(0xee04),_0x7cf21=_0x425854(0xceed),_0x30ffbf=_0x425854(0xf96c),_0x361009=_0x425854(0xe222),_0x3bbb79=_0x425854(0x18233);Object[_0x350c58(0x3b9)](_0x4c6d35['D'][_0x350c58(0x733)],_0x350c58(0xc7e),{'get':function(){var _0x1f8637=_0x350c58;return this[_0x1f8637(0xd18)];},'enumerable':!0x0,'configurable':!0x0}),_0x4c6d35['D'][_0x350c58(0x733)][_0x350c58(0x9b4)]=function(){var _0x4ad6cf=_0x350c58;this[_0x4ad6cf(0x4ca)]=!0x1,this[_0x4ad6cf(0xd18)]=!0x1,this[_0x4ad6cf(0xd66)]=new _0x30ffbf['y$'](),this[_0x4ad6cf(0x97e)]=new _0x30ffbf['y$'](),this[_0x4ad6cf(0x838)]=new _0x30ffbf['y$']();},_0x4c6d35['D'][_0x350c58(0x733)][_0x350c58(0x312)]=function(){var _0x2d6e13=_0x350c58;return!!this[_0x2d6e13(0x86c)];},_0x4c6d35['D']['prototype'][_0x350c58(0x476)]=function(){return this['_vrDisplay'];},_0x4c6d35['D'][_0x350c58(0x733)][_0x350c58(0x848)]=function(){var _0x13fdcc=_0x350c58;return this[_0x13fdcc(0x551)](),this[_0x13fdcc(0xd66)];},_0x4c6d35['D'][_0x350c58(0x733)][_0x350c58(0x551)]=function(){var _0x42c2e5=_0x350c58;const _0x235f11=()=>{var _0x5c1186=a6_0x4d3f;const _0x3ee414={'vrDisplay':this[_0x5c1186(0x86c)],'vrSupported':this['_vrSupported']};this[_0x5c1186(0xd66)]['notifyObservers'](_0x3ee414),this['_webVRInitPromise']=new Promise(_0x48ff12=>{_0x48ff12(_0x3ee414);});};if(!this[_0x42c2e5(0x1a9)]){this[_0x42c2e5(0x1a9)]=_0x4146c2=>{var _0x2186c1=_0x42c2e5;this[_0x2186c1(0x86c)]=_0x4146c2[_0x2186c1(0xb11)],_0x235f11();},this[_0x42c2e5(0x7ed)]=()=>{var _0x330e15=_0x42c2e5;this['_vrDisplay'][_0x330e15(0x9fa)](this[_0x330e15(0x215)]),this[_0x330e15(0x86c)]=void 0x0,this[_0x330e15(0x215)]=_0x4c6d35['D'][_0x330e15(0x1a8)](this[_0x330e15(0xa65)]),_0x235f11();},this[_0x42c2e5(0x7aa)]=()=>{var _0x5001e2=_0x42c2e5;this[_0x5001e2(0xd18)]=this['_vrDisplay']&&this[_0x5001e2(0x86c)][_0x5001e2(0x828)];};const _0x373a43=this[_0x42c2e5(0x58d)]();_0x373a43&&(_0x373a43[_0x42c2e5(0x236)](_0x42c2e5(0xc25),this['_onVrDisplayConnect']),_0x373a43['addEventListener']('vrdisplaydisconnect',this[_0x42c2e5(0x7ed)]),_0x373a43[_0x42c2e5(0x236)](_0x42c2e5(0xab2),this[_0x42c2e5(0x7aa)]));}return this[_0x42c2e5(0x26f)]=this[_0x42c2e5(0x26f)]||this[_0x42c2e5(0x9d8)](),this[_0x42c2e5(0x26f)][_0x42c2e5(0x40d)](_0x235f11),this[_0x42c2e5(0x26f)];},_0x4c6d35['D'][_0x350c58(0x733)][_0x350c58(0x9d8)]=function(){return new Promise(_0x55964f=>{var _0x41871f=a6_0x4d3f;navigator['getVRDisplays']?navigator[_0x41871f(0x762)]()[_0x41871f(0x40d)](_0x153451=>{var _0x147c62=_0x41871f;this[_0x147c62(0x4ca)]=!0x0,this[_0x147c62(0x86c)]=_0x153451[0x0],_0x55964f({'vrDisplay':this[_0x147c62(0x86c)],'vrSupported':this[_0x147c62(0x4ca)]});}):(this['_vrDisplay']=void 0x0,this[_0x41871f(0x4ca)]=!0x1,_0x55964f({'vrDisplay':this[_0x41871f(0x86c)],'vrSupported':this[_0x41871f(0x4ca)]}));});},_0x4c6d35['D'][_0x350c58(0x733)]['enableVR']=function(_0x2debce){var _0x199575=_0x350c58;this[_0x199575(0x86c)]&&!this[_0x199575(0x86c)][_0x199575(0x828)]&&(this[_0x199575(0x838)]['notifyObservers'](this),_0x2debce={'highRefreshRate':!!this[_0x199575(0xc9d)]&&this[_0x199575(0xc9d)][_0x199575(0xc54)],'foveationLevel':this[_0x199575(0xc9d)]?this[_0x199575(0xc9d)][_0x199575(0x9c6)]:0x1,'multiview':(this[_0x199575(0x780)]()[_0x199575(0x4b0)]||this['getCaps']()[_0x199575(0x9f4)])&&_0x2debce[_0x199575(0x64d)]},this[_0x199575(0x86c)][_0x199575(0x39e)]([Object[_0x199575(0xc30)]({'source':this[_0x199575(0xcf7)](),'attributes':_0x2debce},_0x2debce)])['then'](()=>{var _0x635294=_0x199575;this[_0x635294(0x97e)]['notifyObservers'](!0x0),this['_onVRFullScreenTriggered']();})[_0x199575(0x283)](()=>{var _0x1f282b=_0x199575;this['onVRRequestPresentComplete'][_0x1f282b(0x6b1)](!0x1);}));},_0x4c6d35['D'][_0x350c58(0x733)]['_onVRFullScreenTriggered']=function(){var _0x50ac1d=_0x350c58,_0x2109bb;this[_0x50ac1d(0x86c)]&&this[_0x50ac1d(0x86c)][_0x50ac1d(0x828)]?(this[_0x50ac1d(0x309)]=new _0x7cf21['$'](this[_0x50ac1d(0x6c9)](),this[_0x50ac1d(0x804)]()),this[_0x50ac1d(0xc86)]=this[_0x50ac1d(0x749)](),_0x2109bb=this['_vrDisplay'][_0x50ac1d(0xa34)]('left'),this[_0x50ac1d(0x9b9)](0x1),this[_0x50ac1d(0xb3b)](0x2*_0x2109bb[_0x50ac1d(0x937)],_0x2109bb[_0x50ac1d(0x32b)])):(this['setHardwareScalingLevel'](this[_0x50ac1d(0xc86)]),this['setSize'](this[_0x50ac1d(0x309)][_0x50ac1d(0x680)],this[_0x50ac1d(0x309)][_0x50ac1d(0x9f8)]));},_0x4c6d35['D']['prototype'][_0x350c58(0x3f8)]=function(){var _0x34b032=_0x350c58;this[_0x34b032(0x86c)]&&this[_0x34b032(0x86c)][_0x34b032(0x828)]&&this[_0x34b032(0x86c)][_0x34b032(0x276)]()[_0x34b032(0x40d)](()=>this[_0x34b032(0xcb3)]())[_0x34b032(0x283)](()=>this[_0x34b032(0xcb3)]()),(0x0,_0x3bbb79['CG'])()&&(window[_0x34b032(0x392)]('vrdisplaypointerrestricted',this[_0x34b032(0xb15)]),window['removeEventListener']('vrdisplaypointerunrestricted',this[_0x34b032(0xa00)]),this[_0x34b032(0x1a9)]&&(window[_0x34b032(0x392)](_0x34b032(0xc25),this[_0x34b032(0x1a9)]),this[_0x34b032(0x7ed)]&&window[_0x34b032(0x392)](_0x34b032(0xd6a),this['_onVrDisplayDisconnect']),this[_0x34b032(0x7aa)]&&window[_0x34b032(0x392)]('vrdisplaypresentchange',this[_0x34b032(0x7aa)]),this[_0x34b032(0x1a9)]=null,this['_onVrDisplayDisconnect']=null));},_0x4c6d35['D'][_0x350c58(0x733)][_0x350c58(0x5d4)]=function(_0x391fd2,_0x4fd52c){var _0x566850=_0x350c58;if(this[_0x566850(0xb15)]=()=>{var _0x947c88=_0x566850;_0x391fd2&&_0x391fd2[_0x947c88(0x56d)]();},this[_0x566850(0xa00)]=()=>{var _0x523550=_0x566850;if(_0x4fd52c)_0x4fd52c[_0x523550(0x9bb)]&&_0x4fd52c[_0x523550(0x9bb)]();else{const _0x511e00=this[_0x523550(0x58d)]();_0x511e00[_0x523550(0x488)]&&_0x511e00['document'][_0x523550(0x9bb)]&&_0x511e00[_0x523550(0x488)][_0x523550(0x9bb)]();}},(0x0,_0x3bbb79['CG'])()){const _0x1bf727=this[_0x566850(0x58d)]();_0x1bf727['addEventListener'](_0x566850(0x6bc),this[_0x566850(0xb15)],!0x1),_0x1bf727[_0x566850(0x236)](_0x566850(0x739),this[_0x566850(0xa00)],!0x1);}},_0x4c6d35['D'][_0x350c58(0x733)][_0x350c58(0x919)]=function(){var _0x466246=_0x350c58;if(this['_vrDisplay']&&this['_vrDisplay'][_0x466246(0x828)])try{this['_vrDisplay'][_0x466246(0x258)]();}catch(_0x34281e){_0x361009['w1'][_0x466246(0x46a)](_0x466246(0x3fc)+_0x34281e);}},_0x4c6d35['D'][_0x350c58(0x733)][_0x350c58(0x66a)]=function(){var _0x44fecf=_0x350c58;return this[_0x44fecf(0x86c)]&&this[_0x44fecf(0x86c)][_0x44fecf(0x828)];},_0x4c6d35['D'][_0x350c58(0x733)][_0x350c58(0x2af)]=function(){var _0x1b3acd=_0x350c58;this[_0x1b3acd(0x215)]=_0x4c6d35['D'][_0x1b3acd(0x1a8)](this[_0x1b3acd(0xa65)],this[_0x1b3acd(0x86c)]);};},0x16651:(_0x4eda4b,_0x2d3625,_0x161fea)=>{var _0x5485dd=a6_0x5e3a36;_0x161fea['d'](_0x2d3625,{'E':()=>_0x33abf5});class _0x33abf5{constructor(_0x20093d,_0x23aed3){var _0x3c5542=a6_0x4d3f;this[_0x3c5542(0x57c)]=_0x23aed3,this[_0x3c5542(0x3ee)](_0x20093d);}get[_0x5485dd(0x8e9)](){var _0x395442=_0x5485dd;return this[_0x395442(0x6ff)];}['setUsage'](){}[_0x5485dd(0x3ee)](_0x285ae0){var _0xc352ce=_0x5485dd;this[_0xc352ce(0x6ff)]=_0x285ae0;}[_0x5485dd(0x247)](){var _0x36f7a1=_0x5485dd;this[_0x36f7a1(0x6ff)]=null;}[_0x5485dd(0x721)](){var _0xa492a3=_0x5485dd;this[_0xa492a3(0x6ff)]&&this[_0xa492a3(0x57c)]['deleteTexture'](this[_0xa492a3(0x6ff)]),this[_0xa492a3(0x247)]();}}},0xa218:(_0x1db338,_0x73090c,_0x3a7339)=>{var _0x225c8e=a6_0x5e3a36;_0x3a7339['d'](_0x73090c,{'G':()=>_0x1634e4});class _0x1634e4{constructor(_0x47bfc7){var _0x2bdfb3=a6_0x4d3f;this[_0x2bdfb3(0x9ce)]=!0x1,this[_0x2bdfb3(0x3e5)]=!0x1,this[_0x2bdfb3(0x2e2)]={},this[_0x2bdfb3(0x57c)]=_0x47bfc7;}['_getVertexShaderCode'](){return null;}[_0x225c8e(0x4db)](){return null;}[_0x225c8e(0x412)](_0x3421f3){var _0xf3eb1c=_0x225c8e;throw new Error(_0xf3eb1c(0xbf5));}[_0x225c8e(0xae8)](_0x36b96d,_0x5a1054,_0x60f968,_0x75297a,_0x8d49d,_0x1f8923,_0x50c9eb,_0x4178e3){var _0x1ebe44=_0x225c8e;const _0x252831=this[_0x1ebe44(0x57c)];if(_0x252831[_0x1ebe44(0x877)]){for(const _0x559dfa in _0x5a1054)_0x36b96d['bindUniformBlock'](_0x559dfa,_0x5a1054[_0x559dfa]);}const _0x98372b=this['_engine'][_0x1ebe44(0x830)](this,_0x60f968);_0x98372b[_0x1ebe44(0x840)]((_0x391c22,_0xee44c)=>{_0x75297a[_0x60f968[_0xee44c]]=_0x391c22;}),this[_0x1ebe44(0x7b1)]=_0x75297a;let _0x20f728;for(_0x20f728=0x0;_0x20f728<_0x8d49d[_0x1ebe44(0x43c)];_0x20f728++)null==_0x36b96d[_0x1ebe44(0xaee)](_0x8d49d[_0x20f728])&&(_0x8d49d[_0x1ebe44(0x2d2)](_0x20f728,0x1),_0x20f728--);_0x8d49d[_0x1ebe44(0x840)]((_0x9250c2,_0x5b24aa)=>{_0x1f8923[_0x9250c2]=_0x5b24aa;}),_0x4178e3[_0x1ebe44(0x2bd)](..._0x252831[_0x1ebe44(0x76a)](this,_0x50c9eb));}[_0x225c8e(0x8fc)](){var _0x22fc3c=_0x225c8e;this[_0x22fc3c(0x7b1)]={};}['_cacheMatrix'](_0x3ce743,_0xe9422e){var _0x4c6d2f=_0x225c8e,_0x2e0f56=this[_0x4c6d2f(0x2e2)][_0x3ce743],_0xe9422e=_0xe9422e['updateFlag'];return(void 0x0===_0x2e0f56||_0x2e0f56!==_0xe9422e)&&(this[_0x4c6d2f(0x2e2)][_0x3ce743]=_0xe9422e,!0x0);}[_0x225c8e(0xc76)](_0x57cbbf,_0x45ca41,_0x3df431){var _0x1d0e80=_0x225c8e;let _0x28836d=this[_0x1d0e80(0x2e2)][_0x57cbbf];if(!_0x28836d)return _0x28836d=[_0x45ca41,_0x3df431],this[_0x1d0e80(0x2e2)][_0x57cbbf]=_0x28836d,!0x0;let _0x2a44e2=!0x1;return _0x28836d[0x0]!==_0x45ca41&&(_0x28836d[0x0]=_0x45ca41,_0x2a44e2=!0x0),_0x28836d[0x1]!==_0x3df431&&(_0x28836d[0x1]=_0x3df431,_0x2a44e2=!0x0),_0x2a44e2;}[_0x225c8e(0x3bb)](_0x29916d,_0x38b751,_0xa5b289,_0x1a5fb1){var _0x2ee719=_0x225c8e;let _0x5eb53c=this[_0x2ee719(0x2e2)][_0x29916d];if(!_0x5eb53c)return _0x5eb53c=[_0x38b751,_0xa5b289,_0x1a5fb1],this[_0x2ee719(0x2e2)][_0x29916d]=_0x5eb53c,!0x0;let _0x5d5920=!0x1;return _0x5eb53c[0x0]!==_0x38b751&&(_0x5eb53c[0x0]=_0x38b751,_0x5d5920=!0x0),_0x5eb53c[0x1]!==_0xa5b289&&(_0x5eb53c[0x1]=_0xa5b289,_0x5d5920=!0x0),_0x5eb53c[0x2]!==_0x1a5fb1&&(_0x5eb53c[0x2]=_0x1a5fb1,_0x5d5920=!0x0),_0x5d5920;}[_0x225c8e(0x397)](_0x1c515b,_0x1ad53a,_0x51e201,_0x254047,_0x21a255){var _0x41be61=_0x225c8e;let _0x5258c8=this[_0x41be61(0x2e2)][_0x1c515b];if(!_0x5258c8)return _0x5258c8=[_0x1ad53a,_0x51e201,_0x254047,_0x21a255],this[_0x41be61(0x2e2)][_0x1c515b]=_0x5258c8,!0x0;let _0x258f0f=!0x1;return _0x5258c8[0x0]!==_0x1ad53a&&(_0x5258c8[0x0]=_0x1ad53a,_0x258f0f=!0x0),_0x5258c8[0x1]!==_0x51e201&&(_0x5258c8[0x1]=_0x51e201,_0x258f0f=!0x0),_0x5258c8[0x2]!==_0x254047&&(_0x5258c8[0x2]=_0x254047,_0x258f0f=!0x0),_0x5258c8[0x3]!==_0x21a255&&(_0x5258c8[0x3]=_0x21a255,_0x258f0f=!0x0),_0x258f0f;}[_0x225c8e(0x638)](_0x24c19b,_0x3acf26){var _0x34c09b=_0x225c8e,_0xd32304=this[_0x34c09b(0x2e2)][_0x24c19b];void 0x0!==_0xd32304&&_0xd32304===_0x3acf26||this['_engine']['setInt'](this[_0x34c09b(0x7b1)][_0x24c19b],_0x3acf26)&&(this[_0x34c09b(0x2e2)][_0x24c19b]=_0x3acf26);}[_0x225c8e(0x747)](_0x4a59fb,_0x1593f3,_0x36bf03){var _0x2e8f3e=_0x225c8e;this['_cacheFloat2'](_0x4a59fb,_0x1593f3,_0x36bf03)&&!this[_0x2e8f3e(0x57c)]['setInt2'](this[_0x2e8f3e(0x7b1)][_0x4a59fb],_0x1593f3,_0x36bf03)&&(this['_valueCache'][_0x4a59fb]=null);}[_0x225c8e(0x3dd)](_0x5a4540,_0x20e1ab,_0x80fe45,_0x5ef50f){var _0x5069f6=_0x225c8e;this[_0x5069f6(0x3bb)](_0x5a4540,_0x20e1ab,_0x80fe45,_0x5ef50f)&&!this['_engine'][_0x5069f6(0x3dd)](this[_0x5069f6(0x7b1)][_0x5a4540],_0x20e1ab,_0x80fe45,_0x5ef50f)&&(this[_0x5069f6(0x2e2)][_0x5a4540]=null);}[_0x225c8e(0x271)](_0x336022,_0xc13edb,_0x1d7036,_0x5e1a90,_0x3cebe1){var _0x7c1082=_0x225c8e;this[_0x7c1082(0x397)](_0x336022,_0xc13edb,_0x1d7036,_0x5e1a90,_0x3cebe1)&&!this[_0x7c1082(0x57c)]['setInt4'](this[_0x7c1082(0x7b1)][_0x336022],_0xc13edb,_0x1d7036,_0x5e1a90,_0x3cebe1)&&(this['_valueCache'][_0x336022]=null);}['setIntArray'](_0x1330a1,_0x4c5d8e){var _0x264e8a=_0x225c8e;this[_0x264e8a(0x2e2)][_0x1330a1]=null,this['_engine'][_0x264e8a(0x895)](this[_0x264e8a(0x7b1)][_0x1330a1],_0x4c5d8e);}[_0x225c8e(0xbe4)](_0x3b6b50,_0x333195){var _0x1041bf=_0x225c8e;this[_0x1041bf(0x2e2)][_0x3b6b50]=null,this[_0x1041bf(0x57c)][_0x1041bf(0xbe4)](this[_0x1041bf(0x7b1)][_0x3b6b50],_0x333195);}[_0x225c8e(0xba0)](_0x3eee7e,_0x10eacd){var _0x14b1f1=_0x225c8e;this[_0x14b1f1(0x2e2)][_0x3eee7e]=null,this[_0x14b1f1(0x57c)]['setIntArray3'](this[_0x14b1f1(0x7b1)][_0x3eee7e],_0x10eacd);}[_0x225c8e(0x73f)](_0x3f0c70,_0x4b0042){var _0x3be64a=_0x225c8e;this[_0x3be64a(0x2e2)][_0x3f0c70]=null,this[_0x3be64a(0x57c)][_0x3be64a(0x73f)](this[_0x3be64a(0x7b1)][_0x3f0c70],_0x4b0042);}[_0x225c8e(0x79c)](_0x9cd967,_0x5e723f){var _0x5ed2e7=_0x225c8e,_0x78467=this[_0x5ed2e7(0x2e2)][_0x9cd967];void 0x0!==_0x78467&&_0x78467===_0x5e723f||this[_0x5ed2e7(0x57c)][_0x5ed2e7(0x79c)](this[_0x5ed2e7(0x7b1)][_0x9cd967],_0x5e723f)&&(this[_0x5ed2e7(0x2e2)][_0x9cd967]=_0x5e723f);}['setUInt2'](_0x5acaaa,_0x4a0c58,_0x2279af){var _0x1a2028=_0x225c8e;this['_cacheFloat2'](_0x5acaaa,_0x4a0c58,_0x2279af)&&!this[_0x1a2028(0x57c)]['setUInt2'](this[_0x1a2028(0x7b1)][_0x5acaaa],_0x4a0c58,_0x2279af)&&(this[_0x1a2028(0x2e2)][_0x5acaaa]=null);}[_0x225c8e(0xdaa)](_0x511ba4,_0x332038,_0x439575,_0x5201db){var _0x72ebd2=_0x225c8e;this['_cacheFloat3'](_0x511ba4,_0x332038,_0x439575,_0x5201db)&&!this[_0x72ebd2(0x57c)]['setUInt3'](this[_0x72ebd2(0x7b1)][_0x511ba4],_0x332038,_0x439575,_0x5201db)&&(this[_0x72ebd2(0x2e2)][_0x511ba4]=null);}[_0x225c8e(0xb54)](_0xf10b52,_0x55ce65,_0x29f35f,_0x345b48,_0x475dcc){var _0x55e2e1=_0x225c8e;this[_0x55e2e1(0x397)](_0xf10b52,_0x55ce65,_0x29f35f,_0x345b48,_0x475dcc)&&!this[_0x55e2e1(0x57c)][_0x55e2e1(0xb54)](this[_0x55e2e1(0x7b1)][_0xf10b52],_0x55ce65,_0x29f35f,_0x345b48,_0x475dcc)&&(this[_0x55e2e1(0x2e2)][_0xf10b52]=null);}[_0x225c8e(0x473)](_0x1a4cb3,_0x53842b){var _0x5ac8db=_0x225c8e;this[_0x5ac8db(0x2e2)][_0x1a4cb3]=null,this['_engine'][_0x5ac8db(0x473)](this['_uniforms'][_0x1a4cb3],_0x53842b);}[_0x225c8e(0x80c)](_0x3237b5,_0xb81e14){var _0x55577f=_0x225c8e;this[_0x55577f(0x2e2)][_0x3237b5]=null,this[_0x55577f(0x57c)][_0x55577f(0x80c)](this[_0x55577f(0x7b1)][_0x3237b5],_0xb81e14);}[_0x225c8e(0x6e5)](_0x23c277,_0x149fde){var _0x2780c5=_0x225c8e;this[_0x2780c5(0x2e2)][_0x23c277]=null,this['_engine'][_0x2780c5(0x6e5)](this[_0x2780c5(0x7b1)][_0x23c277],_0x149fde);}[_0x225c8e(0x62f)](_0x1d3a83,_0x5662a1){var _0x1f4fae=_0x225c8e;this['_valueCache'][_0x1d3a83]=null,this[_0x1f4fae(0x57c)]['setUIntArray4'](this[_0x1f4fae(0x7b1)][_0x1d3a83],_0x5662a1);}['setFloatArray'](_0x1d55e8,_0x1bc1f9){var _0x50cf30=_0x225c8e;this[_0x50cf30(0x2e2)][_0x1d55e8]=null,this[_0x50cf30(0x57c)]['setFloatArray'](this[_0x50cf30(0x7b1)][_0x1d55e8],_0x1bc1f9);}[_0x225c8e(0x81f)](_0x22268f,_0x2918c2){var _0x3f1436=_0x225c8e;this['_valueCache'][_0x22268f]=null,this['_engine'][_0x3f1436(0x81f)](this[_0x3f1436(0x7b1)][_0x22268f],_0x2918c2);}[_0x225c8e(0xda3)](_0x54264a,_0x44bab3){var _0x4dac01=_0x225c8e;this[_0x4dac01(0x2e2)][_0x54264a]=null,this['_engine']['setFloatArray3'](this['_uniforms'][_0x54264a],_0x44bab3);}[_0x225c8e(0x2b5)](_0x3dfc22,_0x358218){var _0x58dd42=_0x225c8e;this[_0x58dd42(0x2e2)][_0x3dfc22]=null,this[_0x58dd42(0x57c)]['setFloatArray4'](this[_0x58dd42(0x7b1)][_0x3dfc22],_0x358218);}[_0x225c8e(0xced)](_0x7fb453,_0x46b042){var _0x16d2e4=_0x225c8e;this[_0x16d2e4(0x2e2)][_0x7fb453]=null,this[_0x16d2e4(0x57c)]['setArray'](this['_uniforms'][_0x7fb453],_0x46b042);}['setArray2'](_0x2e71ac,_0x4232ff){var _0x529a58=_0x225c8e;this[_0x529a58(0x2e2)][_0x2e71ac]=null,this['_engine'][_0x529a58(0x463)](this['_uniforms'][_0x2e71ac],_0x4232ff);}[_0x225c8e(0x95f)](_0x560e5b,_0x3ab217){var _0x5557b3=_0x225c8e;this[_0x5557b3(0x2e2)][_0x560e5b]=null,this['_engine'][_0x5557b3(0x95f)](this['_uniforms'][_0x560e5b],_0x3ab217);}[_0x225c8e(0x4ac)](_0x36c9e3,_0x364a11){var _0x2ae186=_0x225c8e;this[_0x2ae186(0x2e2)][_0x36c9e3]=null,this['_engine']['setArray4'](this[_0x2ae186(0x7b1)][_0x36c9e3],_0x364a11);}[_0x225c8e(0x6c3)](_0xeb68cf,_0x415252){var _0x468f96=_0x225c8e;_0x415252&&(this[_0x468f96(0x2e2)][_0xeb68cf]=null,this[_0x468f96(0x57c)]['setMatrices'](this[_0x468f96(0x7b1)][_0xeb68cf],_0x415252));}[_0x225c8e(0x716)](_0x9be51,_0x4d3eb3){var _0x3138bb=_0x225c8e;this[_0x3138bb(0x200)](_0x9be51,_0x4d3eb3)&&!this[_0x3138bb(0x57c)][_0x3138bb(0x6c3)](this['_uniforms'][_0x9be51],_0x4d3eb3[_0x3138bb(0xaa0)]())&&(this['_valueCache'][_0x9be51]=null);}[_0x225c8e(0xb96)](_0x49014d,_0x26fb4f){var _0x1298d6=_0x225c8e;this[_0x1298d6(0x2e2)][_0x49014d]=null,this['_engine'][_0x1298d6(0xb96)](this[_0x1298d6(0x7b1)][_0x49014d],_0x26fb4f);}[_0x225c8e(0x87d)](_0x4486d9,_0x3084a1){var _0x4ae64c=_0x225c8e;this[_0x4ae64c(0x2e2)][_0x4486d9]=null,this['_engine'][_0x4ae64c(0x87d)](this['_uniforms'][_0x4486d9],_0x3084a1);}[_0x225c8e(0x84a)](_0x580db0,_0xc59567){var _0x4418db=_0x225c8e,_0x290a2b=this[_0x4418db(0x2e2)][_0x580db0];void 0x0!==_0x290a2b&&_0x290a2b===_0xc59567||this[_0x4418db(0x57c)][_0x4418db(0x84a)](this[_0x4418db(0x7b1)][_0x580db0],_0xc59567)&&(this['_valueCache'][_0x580db0]=_0xc59567);}[_0x225c8e(0x5c8)](_0x3ca45d,_0xff61e8){var _0x2573a1=_0x225c8e,_0x533200=this[_0x2573a1(0x2e2)][_0x3ca45d];void 0x0!==_0x533200&&_0x533200===_0xff61e8||this['_engine'][_0x2573a1(0x638)](this['_uniforms'][_0x3ca45d],_0xff61e8?0x1:0x0)&&(this[_0x2573a1(0x2e2)][_0x3ca45d]=_0xff61e8?0x1:0x0);}[_0x225c8e(0x46b)](_0x12340a,_0x33d3f7){var _0x254e3a=_0x225c8e;this[_0x254e3a(0xc76)](_0x12340a,_0x33d3f7['x'],_0x33d3f7['y'])&&!this[_0x254e3a(0x57c)][_0x254e3a(0x48e)](this[_0x254e3a(0x7b1)][_0x12340a],_0x33d3f7['x'],_0x33d3f7['y'])&&(this['_valueCache'][_0x12340a]=null);}[_0x225c8e(0x48e)](_0x2819ee,_0x27db40,_0x5e3a4a){var _0x6d2a49=_0x225c8e;this[_0x6d2a49(0xc76)](_0x2819ee,_0x27db40,_0x5e3a4a)&&!this[_0x6d2a49(0x57c)]['setFloat2'](this[_0x6d2a49(0x7b1)][_0x2819ee],_0x27db40,_0x5e3a4a)&&(this['_valueCache'][_0x2819ee]=null);}[_0x225c8e(0xb6d)](_0x2a019b,_0x3240b6){var _0x2489d6=_0x225c8e;this['_cacheFloat3'](_0x2a019b,_0x3240b6['x'],_0x3240b6['y'],_0x3240b6['z'])&&!this['_engine']['setFloat3'](this[_0x2489d6(0x7b1)][_0x2a019b],_0x3240b6['x'],_0x3240b6['y'],_0x3240b6['z'])&&(this[_0x2489d6(0x2e2)][_0x2a019b]=null);}['setFloat3'](_0x4f470f,_0x4ec70a,_0x3f7e2f,_0x184620){var _0x5bd5c9=_0x225c8e;this[_0x5bd5c9(0x3bb)](_0x4f470f,_0x4ec70a,_0x3f7e2f,_0x184620)&&!this[_0x5bd5c9(0x57c)][_0x5bd5c9(0x2ad)](this[_0x5bd5c9(0x7b1)][_0x4f470f],_0x4ec70a,_0x3f7e2f,_0x184620)&&(this['_valueCache'][_0x4f470f]=null);}['setVector4'](_0xe04b02,_0x5cb673){var _0xaf5f4d=_0x225c8e;this[_0xaf5f4d(0x397)](_0xe04b02,_0x5cb673['x'],_0x5cb673['y'],_0x5cb673['z'],_0x5cb673['w'])&&!this['_engine'][_0xaf5f4d(0xac3)](this[_0xaf5f4d(0x7b1)][_0xe04b02],_0x5cb673['x'],_0x5cb673['y'],_0x5cb673['z'],_0x5cb673['w'])&&(this[_0xaf5f4d(0x2e2)][_0xe04b02]=null);}[_0x225c8e(0x1ce)](_0x23de86,_0x5960ce){var _0x3399a5=_0x225c8e;this[_0x3399a5(0x397)](_0x23de86,_0x5960ce['x'],_0x5960ce['y'],_0x5960ce['z'],_0x5960ce['w'])&&!this['_engine'][_0x3399a5(0xac3)](this[_0x3399a5(0x7b1)][_0x23de86],_0x5960ce['x'],_0x5960ce['y'],_0x5960ce['z'],_0x5960ce['w'])&&(this['_valueCache'][_0x23de86]=null);}['setFloat4'](_0x31d1a8,_0x307e07,_0x5bb6b5,_0x95e47e,_0x1fdae5){var _0xd8a796=_0x225c8e;this[_0xd8a796(0x397)](_0x31d1a8,_0x307e07,_0x5bb6b5,_0x95e47e,_0x1fdae5)&&!this[_0xd8a796(0x57c)][_0xd8a796(0xac3)](this[_0xd8a796(0x7b1)][_0x31d1a8],_0x307e07,_0x5bb6b5,_0x95e47e,_0x1fdae5)&&(this[_0xd8a796(0x2e2)][_0x31d1a8]=null);}[_0x225c8e(0x728)](_0x490a2e,_0x68d1e){var _0x2e3d95=_0x225c8e;this[_0x2e3d95(0x3bb)](_0x490a2e,_0x68d1e['r'],_0x68d1e['g'],_0x68d1e['b'])&&!this[_0x2e3d95(0x57c)]['setFloat3'](this['_uniforms'][_0x490a2e],_0x68d1e['r'],_0x68d1e['g'],_0x68d1e['b'])&&(this['_valueCache'][_0x490a2e]=null);}[_0x225c8e(0x50a)](_0x59a057,_0x17cc86,_0x3c31c3){var _0x17866f=_0x225c8e;this['_cacheFloat4'](_0x59a057,_0x17cc86['r'],_0x17cc86['g'],_0x17cc86['b'],_0x3c31c3)&&!this['_engine'][_0x17866f(0xac3)](this[_0x17866f(0x7b1)][_0x59a057],_0x17cc86['r'],_0x17cc86['g'],_0x17cc86['b'],_0x3c31c3)&&(this['_valueCache'][_0x59a057]=null);}['setDirectColor4'](_0x22e939,_0x4ec0a5){var _0x2c48b4=_0x225c8e;this['_cacheFloat4'](_0x22e939,_0x4ec0a5['r'],_0x4ec0a5['g'],_0x4ec0a5['b'],_0x4ec0a5['a'])&&!this['_engine']['setFloat4'](this[_0x2c48b4(0x7b1)][_0x22e939],_0x4ec0a5['r'],_0x4ec0a5['g'],_0x4ec0a5['b'],_0x4ec0a5['a'])&&(this[_0x2c48b4(0x2e2)][_0x22e939]=null);}}},0x1581f:(_0x26ae5a,_0x3dc728,_0x4112ae)=>{var _0x1898ec=a6_0x5e3a36;_0x4112ae['d'](_0x3dc728,{'o':()=>_0x3e0625});class _0x3e0625 extends _0x4112ae(0x758)['r']{constructor(_0x2afa8e,_0x18563f,_0x5e0d2f,_0x346fac){var _0x208419=a6_0x4d3f;super(_0x2afa8e,_0x18563f,_0x5e0d2f,_0x346fac),this['__framebuffer']=null,this[_0x208419(0x57d)]=null,this[_0x208419(0x57c)]=_0x346fac;}get[_0x1898ec(0x3bc)](){var _0x3bc9a7=_0x1898ec;return this[_0x3bc9a7(0xa98)];}set[_0x1898ec(0x3bc)](_0x2d344a){var _0x3bee4f=_0x1898ec;this['__framebuffer']&&this[_0x3bee4f(0x57c)][_0x3bee4f(0x8e6)](this[_0x3bee4f(0xa98)]),this[_0x3bee4f(0xa98)]=_0x2d344a;}get[_0x1898ec(0x2ed)](){var _0x352a54=_0x1898ec;return this[_0x352a54(0x57d)];}set[_0x1898ec(0x2ed)](_0x1715c4){var _0x1d5834=_0x1898ec;this[_0x1d5834(0x57d)]&&this[_0x1d5834(0x57c)][_0x1d5834(0x8e6)](this[_0x1d5834(0x57d)]),this[_0x1d5834(0x57d)]=_0x1715c4;}[_0x1898ec(0x8fc)](_0x3bdf1b=!0x1){var _0x1d226b=_0x1898ec;this[_0x1d226b(0x3bc)]=null,this[_0x1d226b(0x2ed)]=null,super['dispose'](_0x3bdf1b);}}},0x5c6e:(_0xffb61b,_0x2f5906,_0xfeead1)=>{var _0x193126=a6_0x5e3a36;_0xfeead1['d'](_0x2f5906,{'L':()=>_0x91e85f});class _0x150bc1{constructor(){var _0x5c1061=a6_0x4d3f;this[_0x5c1061(0x1dc)]=[];}[_0x193126(0xb8e)](_0x3c82cd){return!0x0;}['process'](_0x18f795,_0x220565){var _0x5980cb=_0x193126;let _0x2eee05='';if(this[_0x5980cb(0x97d)]){let _0x3d18ce=this[_0x5980cb(0x97d)];const _0x4996e6=_0x220565[_0x5980cb(0x4c4)];if(_0x4996e6){_0x4996e6[_0x5980cb(0xa22)]&&(_0x3d18ce=_0x4996e6[_0x5980cb(0xa22)](_0x3d18ce,_0x220565[_0x5980cb(0x4c2)],_0x220565[_0x5980cb(0x4e7)]));var _0x399bf9=null!=(_0x399bf9=null==(_0x399bf9=_0x220565[_0x5980cb(0x4c4)])?void 0x0:_0x399bf9[_0x5980cb(0x9a1)])?_0x399bf9:_0x5980cb(0x615),_0x3b6baf=_0x220565[_0x5980cb(0x4c2)]&&null!=(_0x3b6baf=_0x220565[_0x5980cb(0x4c4)])&&_0x3b6baf[_0x5980cb(0x697)]?null==(_0x3b6baf=_0x220565['processor'])?void 0x0:_0x3b6baf['varyingFragmentKeywordName']:!_0x220565['isFragment']&&null!=(_0x3b6baf=_0x220565[_0x5980cb(0x4c4)])&&_0x3b6baf['varyingVertexKeywordName']?null==(_0x3b6baf=_0x220565[_0x5980cb(0x4c4)])?void 0x0:_0x3b6baf[_0x5980cb(0x70d)]:'varying';if(!_0x220565['isFragment']&&_0x4996e6[_0x5980cb(0x1e8)]&&this[_0x5980cb(0x97d)][_0x5980cb(0x429)](_0x399bf9))_0x3d18ce=_0x4996e6[_0x5980cb(0x1e8)](this[_0x5980cb(0x97d)],_0x18f795,_0x220565[_0x5980cb(0x4e7)]);else{if(_0x4996e6['varyingProcessor']&&this[_0x5980cb(0x97d)]['startsWith'](_0x3b6baf))_0x3d18ce=_0x4996e6[_0x5980cb(0x4a7)](this[_0x5980cb(0x97d)],_0x220565[_0x5980cb(0x4c2)],_0x18f795,_0x220565['processingContext']);else{if(_0x4996e6[_0x5980cb(0x7e2)]&&_0x4996e6[_0x5980cb(0x94a)]&&_0x4996e6[_0x5980cb(0x94a)][_0x5980cb(0x87f)](this[_0x5980cb(0x97d)]))_0x220565[_0x5980cb(0x1a3)]||(_0x3d18ce=_0x4996e6[_0x5980cb(0x7e2)](this['line'],_0x220565[_0x5980cb(0x4c2)],_0x18f795,_0x220565[_0x5980cb(0x4e7)]));else{if(_0x4996e6['uniformBufferProcessor']&&_0x4996e6[_0x5980cb(0xbb6)]&&_0x4996e6[_0x5980cb(0xbb6)][_0x5980cb(0x87f)](this[_0x5980cb(0x97d)]))_0x220565[_0x5980cb(0x1a3)]||(_0x3d18ce=_0x4996e6[_0x5980cb(0x55f)](this[_0x5980cb(0x97d)],_0x220565['isFragment'],_0x220565[_0x5980cb(0x4e7)]),_0x220565[_0x5980cb(0x1a3)]=!0x0);else{if(_0x4996e6[_0x5980cb(0x5ee)]&&_0x4996e6[_0x5980cb(0xb48)]&&_0x4996e6[_0x5980cb(0xb48)][_0x5980cb(0x87f)](this[_0x5980cb(0x97d)]))_0x3d18ce=_0x4996e6[_0x5980cb(0x5ee)](this[_0x5980cb(0x97d)],_0x220565[_0x5980cb(0x4c2)],_0x18f795,_0x220565[_0x5980cb(0x4e7)]);else{if((_0x4996e6[_0x5980cb(0x7e2)]||_0x4996e6['uniformBufferProcessor'])&&this[_0x5980cb(0x97d)]['startsWith'](_0x5980cb(0x21b))&&!_0x220565[_0x5980cb(0x1a3)]){const _0x5c5671=/uniform\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/;_0x5c5671[_0x5980cb(0x87f)](this[_0x5980cb(0x97d)])?_0x4996e6['uniformProcessor']&&(_0x3d18ce=_0x4996e6[_0x5980cb(0x7e2)](this[_0x5980cb(0x97d)],_0x220565[_0x5980cb(0x4c2)],_0x18f795,_0x220565['processingContext'])):_0x4996e6[_0x5980cb(0x55f)]&&(_0x3d18ce=_0x4996e6['uniformBufferProcessor'](this[_0x5980cb(0x97d)],_0x220565['isFragment'],_0x220565[_0x5980cb(0x4e7)]),_0x220565[_0x5980cb(0x1a3)]=!0x0);}}}}}}_0x220565['lookForClosingBracketForUniformBuffer']&&-0x1!==this[_0x5980cb(0x97d)][_0x5980cb(0x456)]('}')&&(_0x220565[_0x5980cb(0x1a3)]=!0x1,_0x4996e6[_0x5980cb(0x541)]&&(_0x3d18ce=_0x4996e6['endOfUniformBufferProcessor'](this[_0x5980cb(0x97d)],_0x220565[_0x5980cb(0x4c2)],_0x220565['processingContext'])));}_0x2eee05+=_0x3d18ce+'\x0d\x0a';}return this[_0x5980cb(0x1dc)][_0x5980cb(0x840)](_0x1d46db=>{_0x2eee05+=_0x1d46db['process'](_0x18f795,_0x220565);}),this[_0x5980cb(0x2c9)]&&(_0x18f795[this[_0x5980cb(0x2c9)]]=this[_0x5980cb(0x391)]||'true'),_0x2eee05;}}class _0x362e5b{constructor(){var _0x31a3d7=_0x193126;this[_0x31a3d7(0x457)]=[];}get[_0x193126(0xb82)](){var _0x318908=_0x193126;return this[_0x318908(0x457)][this[_0x318908(0xd47)]];}get['canRead'](){var _0x3303b3=_0x193126;return this[_0x3303b3(0xd47)]<this[_0x3303b3(0x457)][_0x3303b3(0x43c)]-0x1;}set[_0x193126(0x829)](_0x4d5561){var _0xe26276=_0x193126;this['_lines'][_0xe26276(0x43c)]=0x0;for(const _0x5f1bd5 of _0x4d5561)if('#'===_0x5f1bd5[0x0])this[_0xe26276(0x457)][_0xe26276(0x2bd)](_0x5f1bd5);else{if(_0x5f1bd5[_0xe26276(0x71d)]()['startsWith']('//'))this[_0xe26276(0x457)][_0xe26276(0x2bd)](_0x5f1bd5);else{var _0x462e21=_0x5f1bd5[_0xe26276(0x349)](';');for(let _0x477159=0x0;_0x477159<_0x462e21['length'];_0x477159++){let _0x289cea=_0x462e21[_0x477159];(_0x289cea=_0x289cea['trim']())&&this[_0xe26276(0x457)][_0xe26276(0x2bd)](_0x289cea+(_0x477159!==_0x462e21[_0xe26276(0x43c)]-0x1?';':''));}}}}}class _0x3b6b24 extends _0x150bc1{[_0x193126(0x96b)](_0xf4ff7d,_0x397d1d){var _0x36a440=_0x193126;for(let _0x13f790=0x0;_0x13f790<this[_0x36a440(0x1dc)][_0x36a440(0x43c)];_0x13f790++){const _0x484a7e=this['children'][_0x13f790];if(_0x484a7e[_0x36a440(0xb8e)](_0xf4ff7d))return _0x484a7e[_0x36a440(0x96b)](_0xf4ff7d,_0x397d1d);}return'';}}class _0x5d4dfc extends _0x150bc1{[_0x193126(0xb8e)](_0x2c8256){var _0x934ada=_0x193126;return this['testExpression'][_0x934ada(0x890)](_0x2c8256);}}class _0x3690ab{[_0x193126(0x890)](_0x571410){return!0x0;}static['postfixToInfix'](_0x208d1b){var _0x22a13e=_0x193126;const _0x24aaee=[];for(const _0x1b5100 of _0x208d1b){var _0x29e65a,_0x5ef1d0;void 0x0===_0x3690ab[_0x22a13e(0x5a8)][_0x1b5100]?_0x24aaee[_0x22a13e(0x2bd)](_0x1b5100):(_0x29e65a=_0x24aaee[_0x24aaee[_0x22a13e(0x43c)]-0x1],_0x5ef1d0=_0x24aaee[_0x24aaee['length']-0x2],_0x24aaee['length']-=0x2,_0x24aaee[_0x22a13e(0x2bd)]('('+_0x5ef1d0+_0x1b5100+_0x29e65a+')'));}return _0x24aaee[_0x24aaee['length']-0x1];}static['infixToPostfix'](_0x32f013){var _0x3ff148=_0x193126;const _0x153749=[];let _0x2957f0=-0x1;var _0x524cca=()=>{var _0x4d2704=a6_0x4d3f;''!==(_0x4a065a=_0x4a065a['trim']())&&(_0x153749[_0x4d2704(0x2bd)](_0x4a065a),_0x4a065a='');},_0x594fc3=_0x32957d=>{var _0x48fdc3=a6_0x4d3f;_0x2957f0<_0x3690ab[_0x48fdc3(0x1f7)][_0x48fdc3(0x43c)]-0x1&&(_0x3690ab[_0x48fdc3(0x1f7)][++_0x2957f0]=_0x32957d);},_0x270c63=()=>_0x3690ab[_0x3ff148(0x1f7)][_0x2957f0],_0x59b7ca=()=>-0x1===_0x2957f0?_0x3ff148(0xc04):_0x3690ab[_0x3ff148(0x1f7)][_0x2957f0--];let _0x336468=0x0,_0x4a065a='';for(;_0x336468<_0x32f013[_0x3ff148(0x43c)];){var _0x41846e=_0x32f013['charAt'](_0x336468),_0x440340=_0x336468<_0x32f013['length']-0x1?_0x32f013[_0x3ff148(0x38c)](_0x336468,0x2):'';if('('===_0x41846e)_0x4a065a='',_0x594fc3(_0x41846e);else{if(')'===_0x41846e){for(_0x524cca();-0x1!==_0x2957f0&&'('!==_0x270c63();)_0x153749[_0x3ff148(0x2bd)](_0x59b7ca());_0x59b7ca();}else{if(0x1<_0x3690ab[_0x3ff148(0x5a8)][_0x440340]){for(_0x524cca();-0x1!==_0x2957f0&&_0x3690ab[_0x3ff148(0x5a8)][_0x270c63()]>=_0x3690ab[_0x3ff148(0x5a8)][_0x440340];)_0x153749[_0x3ff148(0x2bd)](_0x59b7ca());_0x594fc3(_0x440340),_0x336468++;}else _0x4a065a+=_0x41846e;}}_0x336468++;}for(_0x524cca();-0x1!==_0x2957f0;)'('===_0x270c63()?_0x59b7ca():_0x153749[_0x3ff148(0x2bd)](_0x59b7ca());return _0x153749;}}_0x3690ab[_0x193126(0x5a8)]={')':0x0,'(':0x1,'||':0x2,'&&':0x3},_0x3690ab[_0x193126(0x1f7)]=['','','','','','','','','','','','','','','','','','','',''];class _0x57298d extends _0x3690ab{constructor(_0x5e78f6,_0x353780=!0x1){var _0x5666a6=_0x193126;super(),this[_0x5666a6(0x4af)]=_0x5e78f6,this[_0x5666a6(0x47a)]=_0x353780;}['isTrue'](_0x46d465){var _0x8cd419=_0x193126;let _0xd47962=void 0x0!==_0x46d465[this[_0x8cd419(0x4af)]];return _0xd47962=this[_0x8cd419(0x47a)]?!_0xd47962:_0xd47962;}}class _0x1b4c6a extends _0x3690ab{['isTrue'](_0x13ee52){var _0x553a15=_0x193126;return this['leftOperand'][_0x553a15(0x890)](_0x13ee52)||this['rightOperand'][_0x553a15(0x890)](_0x13ee52);}}class _0x3c761b extends _0x3690ab{[_0x193126(0x890)](_0x22eb24){var _0x3b5b70=_0x193126;return this['leftOperand'][_0x3b5b70(0x890)](_0x22eb24)&&this[_0x3b5b70(0x76f)][_0x3b5b70(0x890)](_0x22eb24);}}class _0x3ce54c extends _0x3690ab{constructor(_0x4dacac,_0x183c33,_0x32168b){var _0x41c586=_0x193126;super(),this[_0x41c586(0x4af)]=_0x4dacac,this[_0x41c586(0x3ff)]=_0x183c33,this['testValue']=_0x32168b;}[_0x193126(0x890)](_0x548d99){var _0x27201d=_0x193126;let _0x3b0644=_0x548d99[this[_0x27201d(0x4af)]],_0x421fd8=(void 0x0===_0x3b0644&&(_0x3b0644=this[_0x27201d(0x4af)]),!0x1);var _0x47f7fc=parseInt(_0x3b0644),_0x1e0cad=parseInt(this[_0x27201d(0x53d)]);switch(this[_0x27201d(0x3ff)]){case'>':_0x421fd8=_0x1e0cad<_0x47f7fc;break;case'<':_0x421fd8=_0x47f7fc<_0x1e0cad;break;case'<=':_0x421fd8=_0x47f7fc<=_0x1e0cad;break;case'>=':_0x421fd8=_0x1e0cad<=_0x47f7fc;break;case'==':_0x421fd8=_0x47f7fc===_0x1e0cad;}return _0x421fd8;}}var _0x2e1f90=_0xfeead1(0x15cb9),_0x1067d2=_0xfeead1(0x11722);const _0x4a015d=/defined\s*?\((.+?)\)/g,_0x4e4420=/defined\s*?\[(.+?)\]/g,_0x4e7601=/#include\s?<(.+)>(\((.*)\))*(\[(.*)\])*/g;class _0x91e85f{static[_0x193126(0xd7b)](_0x368be8){var _0x3919eb=_0x193126;_0x368be8['processor']&&_0x368be8[_0x3919eb(0x4c4)][_0x3919eb(0xa64)]&&_0x368be8['processor'][_0x3919eb(0xa64)](_0x368be8['processingContext']);}static[_0x193126(0x906)](_0x28e23d,_0x3ba2c8,_0x26db2a,_0x19a0d2){var _0x5435b3=_0x193126,_0x595c46;null!=(_0x595c46=_0x3ba2c8[_0x5435b3(0x4c4)])&&_0x595c46['preProcessShaderCode']&&(_0x28e23d=_0x3ba2c8[_0x5435b3(0x4c4)][_0x5435b3(0x2aa)](_0x28e23d,_0x3ba2c8[_0x5435b3(0x4c2)])),this[_0x5435b3(0x1db)](_0x28e23d,_0x3ba2c8,_0x294f28=>{var _0x4e199e=_0x5435b3;_0x3ba2c8['processCodeAfterIncludes']&&(_0x294f28=_0x3ba2c8[_0x4e199e(0xc1e)](_0x3ba2c8[_0x4e199e(0x4c2)]?_0x4e199e(0xade):_0x4e199e(0x4b9),_0x294f28));var _0x168c8d=this[_0x4e199e(0xd6c)](_0x294f28,_0x3ba2c8,_0x19a0d2);_0x26db2a(_0x168c8d,_0x294f28);});}static['PreProcess'](_0x19ecdb,_0xa25f81,_0x29e507,_0xf16491){var _0x3f5c21=_0x193126,_0x6efb1f;null!=(_0x6efb1f=_0xa25f81['processor'])&&_0x6efb1f[_0x3f5c21(0x2aa)]&&(_0x19ecdb=_0xa25f81['processor'][_0x3f5c21(0x2aa)](_0x19ecdb,_0xa25f81[_0x3f5c21(0x4c2)])),this[_0x3f5c21(0x1db)](_0x19ecdb,_0xa25f81,_0x48ab21=>{var _0x43d4d4=_0x3f5c21;_0xa25f81['processCodeAfterIncludes']&&(_0x48ab21=_0xa25f81[_0x43d4d4(0xc1e)](_0xa25f81[_0x43d4d4(0x4c2)]?'fragment':_0x43d4d4(0x4b9),_0x48ab21));var _0x3700f4=this[_0x43d4d4(0x863)](_0x48ab21,_0xa25f81,_0xf16491);_0x29e507(_0x3700f4,_0x48ab21);});}static['Finalize'](_0x42b6e8,_0x53ab72,_0x4b718d){var _0x4545fc=_0x193126;return _0x4b718d['processor']&&_0x4b718d[_0x4545fc(0x4c4)]['finalizeShaders']?_0x4b718d[_0x4545fc(0x4c4)][_0x4545fc(0xb8b)](_0x42b6e8,_0x53ab72,_0x4b718d[_0x4545fc(0x4e7)]):{'vertexCode':_0x42b6e8,'fragmentCode':_0x53ab72};}static[_0x193126(0x470)](_0x4832dc,_0x467236){var _0x1f57d2=_0x193126;if(null!=(_0x5cda14=_0x467236[_0x1f57d2(0x4c4)])&&_0x5cda14[_0x1f57d2(0xbfa)])return _0x4832dc;var _0x5cda14=_0x467236[_0x1f57d2(0x2c5)];return-0x1===_0x4832dc[_0x1f57d2(0x456)](_0x1f57d2(0x9df))?_0x4832dc=_0x5cda14?'precision\x20highp\x20float;\x0a'+_0x4832dc:'precision\x20mediump\x20float;\x0a'+_0x4832dc:_0x5cda14||(_0x4832dc=_0x4832dc['replace'](_0x1f57d2(0x9df),_0x1f57d2(0xd55))),_0x4832dc;}static[_0x193126(0x37d)](_0x5d08a0){var _0x561744=_0x193126;const _0x5a0568=/defined\((.+)\)/[_0x561744(0x2f2)](_0x5d08a0);if(_0x5a0568&&_0x5a0568[_0x561744(0x43c)])return new _0x57298d(_0x5a0568[0x1][_0x561744(0x71d)](),'!'===_0x5d08a0[0x0]);let _0x3a9f0f='',_0x3be37e=0x0;for(_0x3a9f0f of['==','>=','<=','<','>'])if(-0x1<(_0x3be37e=_0x5d08a0[_0x561744(0x456)](_0x3a9f0f)))break;if(-0x1===_0x3be37e)return new _0x57298d(_0x5d08a0);var _0x59c4e6=_0x5d08a0[_0x561744(0x803)](0x0,_0x3be37e)[_0x561744(0x71d)](),_0x25b7fb=_0x5d08a0['substring'](_0x3be37e+_0x3a9f0f[_0x561744(0x43c)])['trim']();return new _0x3ce54c(_0x59c4e6,_0x3a9f0f,_0x25b7fb);}static[_0x193126(0x8f0)](_0x5b9932){var _0xbbd5d7=_0x193126;_0x5b9932=_0x5b9932[_0xbbd5d7(0x827)](_0x4a015d,_0xbbd5d7(0x4cf));const _0x1d2edd=[];for(const _0x8f54c0 of _0x3690ab[_0xbbd5d7(0x9d3)](_0x5b9932))if('||'!==_0x8f54c0&&'&&'!==_0x8f54c0)_0x1d2edd[_0xbbd5d7(0x2bd)](_0x8f54c0);else{if(0x2<=_0x1d2edd[_0xbbd5d7(0x43c)]){let _0x4f7b48=_0x1d2edd[_0x1d2edd[_0xbbd5d7(0x43c)]-0x1],_0x4c33b9=_0x1d2edd[_0x1d2edd[_0xbbd5d7(0x43c)]-0x2];_0x1d2edd[_0xbbd5d7(0x43c)]-=0x2;const _0x22c06d=new('&&'==_0x8f54c0?_0x3c761b:_0x1b4c6a)();'string'==typeof _0x4f7b48&&(_0x4f7b48=_0x4f7b48['replace'](_0x4e4420,_0xbbd5d7(0x430))),_0xbbd5d7(0x1bf)==typeof _0x4c33b9&&(_0x4c33b9=_0x4c33b9[_0xbbd5d7(0x827)](_0x4e4420,_0xbbd5d7(0x430))),_0x22c06d['leftOperand']=_0xbbd5d7(0x1bf)==typeof _0x4c33b9?this[_0xbbd5d7(0x37d)](_0x4c33b9):_0x4c33b9,_0x22c06d[_0xbbd5d7(0x76f)]=_0xbbd5d7(0x1bf)==typeof _0x4f7b48?this[_0xbbd5d7(0x37d)](_0x4f7b48):_0x4f7b48,_0x1d2edd[_0xbbd5d7(0x2bd)](_0x22c06d);}}let _0x4aa1e0=_0x1d2edd[_0x1d2edd[_0xbbd5d7(0x43c)]-0x1];return _0xbbd5d7(0x1bf)==typeof(_0x4aa1e0='string'==typeof _0x4aa1e0?_0x4aa1e0['replace'](_0x4e4420,_0xbbd5d7(0x430)):_0x4aa1e0)?this[_0xbbd5d7(0x37d)](_0x4aa1e0):_0x4aa1e0;}static[_0x193126(0x52d)](_0x457e8d,_0x200a0d){var _0xc8f733=_0x193126;const _0x565600=new _0x5d4dfc();var _0x27628f=_0x457e8d[_0xc8f733(0x803)](0x0,_0x200a0d);let _0x12ae5f=_0x457e8d[_0xc8f733(0x803)](_0x200a0d);return _0x12ae5f=_0x12ae5f[_0xc8f733(0x803)](0x0,(_0x12ae5f[_0xc8f733(0x456)]('//')+0x1||_0x12ae5f[_0xc8f733(0x43c)]+0x1)-0x1)['trim'](),_0x565600[_0xc8f733(0x2db)]=_0xc8f733(0x280)===_0x27628f?new _0x57298d(_0x12ae5f):_0xc8f733(0x8ee)===_0x27628f?new _0x57298d(_0x12ae5f,!0x0):this[_0xc8f733(0x8f0)](_0x12ae5f),_0x565600;}static['_MoveCursorWithinIf'](_0x30de9b,_0x72bcb1,_0x4cbab2){var _0x5401c0=_0x193126;let _0x21e7ce=_0x30de9b[_0x5401c0(0xb82)];for(;this['_MoveCursor'](_0x30de9b,_0x4cbab2);){var _0x284f23,_0xd16158=(_0x21e7ce=_0x30de9b[_0x5401c0(0xb82)])[_0x5401c0(0x803)](0x0,0x5)['toLowerCase']();if(_0x5401c0(0x6fe)===_0xd16158)return _0x284f23=new _0x150bc1(),_0x72bcb1[_0x5401c0(0x1dc)][_0x5401c0(0x2bd)](_0x284f23),void this['_MoveCursor'](_0x30de9b,_0x284f23);_0x5401c0(0x39d)===_0xd16158&&(_0x284f23=this[_0x5401c0(0x52d)](_0x21e7ce,0x5),_0x72bcb1[_0x5401c0(0x1dc)][_0x5401c0(0x2bd)](_0x284f23),_0x4cbab2=_0x284f23);}}static[_0x193126(0x9b7)](_0x5dd0f2,_0x5cfde5){var _0x44d64a=_0x193126;for(;_0x5dd0f2['canRead'];){_0x5dd0f2[_0x44d64a(0xd47)]++;const _0x4df35d=_0x5dd0f2[_0x44d64a(0xb82)],_0x26891e=/(#ifdef)|(#else)|(#elif)|(#endif)|(#ifndef)|(#if)/;var _0x20a1de=_0x26891e[_0x44d64a(0x2f2)](_0x4df35d);if(_0x20a1de&&_0x20a1de[_0x44d64a(0x43c)])switch(_0x20a1de[0x0]){case _0x44d64a(0x280):{const _0xf80a37=new _0x3b6b24();_0x5cfde5[_0x44d64a(0x1dc)][_0x44d64a(0x2bd)](_0xf80a37);var _0x4f3abd=this[_0x44d64a(0x52d)](_0x4df35d,0x6);_0xf80a37['children'][_0x44d64a(0x2bd)](_0x4f3abd),this[_0x44d64a(0xc8d)](_0x5dd0f2,_0xf80a37,_0x4f3abd);break;}case _0x44d64a(0x6fe):case'#elif':return!0x0;case _0x44d64a(0x37c):return!0x1;case _0x44d64a(0x8ee):{const _0x5b189f=new _0x3b6b24();_0x5cfde5['children']['push'](_0x5b189f),_0x4f3abd=this[_0x44d64a(0x52d)](_0x4df35d,0x7),(_0x5b189f[_0x44d64a(0x1dc)][_0x44d64a(0x2bd)](_0x4f3abd),this[_0x44d64a(0xc8d)](_0x5dd0f2,_0x5b189f,_0x4f3abd));break;}case'#if':{const _0x569a47=new _0x3b6b24();var _0x4aa300=this[_0x44d64a(0x52d)](_0x4df35d,0x3);_0x5cfde5[_0x44d64a(0x1dc)][_0x44d64a(0x2bd)](_0x569a47),_0x569a47[_0x44d64a(0x1dc)][_0x44d64a(0x2bd)](_0x4aa300),this[_0x44d64a(0xc8d)](_0x5dd0f2,_0x569a47,_0x4aa300);break;}}else{const _0x2cc2a9=new _0x150bc1();_0x2cc2a9[_0x44d64a(0x97d)]=_0x4df35d,_0x5cfde5[_0x44d64a(0x1dc)][_0x44d64a(0x2bd)](_0x2cc2a9),'#'===_0x4df35d[0x0]&&'d'===_0x4df35d[0x1]&&(_0x20a1de=_0x4df35d['replace'](';','')['split']('\x20'),_0x2cc2a9[_0x44d64a(0x2c9)]=_0x20a1de[0x1],0x3===_0x20a1de[_0x44d64a(0x43c)]&&(_0x2cc2a9[_0x44d64a(0x391)]=_0x20a1de[0x2]));}}return!0x1;}static[_0x193126(0x9ff)](_0x30326f,_0xde6ab8,_0x3fc309){var _0x491102=_0x193126;const _0x42784d=new _0x150bc1(),_0x3029e7=new _0x362e5b();return _0x3029e7['lineIndex']=-0x1,_0x3029e7[_0x491102(0x829)]=_0x30326f[_0x491102(0x349)]('\x0a'),this[_0x491102(0x9b7)](_0x3029e7,_0x42784d),_0x42784d[_0x491102(0x96b)](_0xde6ab8,_0x3fc309);}static[_0x193126(0x7b3)](_0x2f70e9,_0x439a65){var _0x37d320=_0x193126,_0x1d959e;const _0x1b4518={};for(const _0x4569a1 of _0x2f70e9[_0x37d320(0xc93)]){const _0x2302a7=_0x4569a1['replace'](_0x37d320(0x2bf),'')['replace'](';','')['trim']();var _0x3c4da4=_0x2302a7[_0x37d320(0x349)]('\x20');_0x1b4518[_0x3c4da4[0x0]]=0x1<_0x3c4da4[_0x37d320(0x43c)]?_0x3c4da4[0x1]:'';}return(null==(_0x1d959e=_0x2f70e9[_0x37d320(0x4c4)])?void 0x0:_0x1d959e['shaderLanguage'])===_0x1067d2['x']['GLSL']&&(_0x1b4518[_0x37d320(0x7a1)]=_0x37d320(0x5d6)),_0x1b4518[_0x37d320(0x319)]=_0x2f70e9[_0x37d320(0x4eb)],_0x1b4518[_0x2f70e9[_0x37d320(0x837)]]=_0x37d320(0x5d6),_0x439a65['_getGlobalDefines'](_0x1b4518),_0x1b4518;}static[_0x193126(0xd6c)](_0x34f29a,_0x5ad402,_0x3288ec){var _0x4d63ce=_0x193126;let _0x49279b=this[_0x4d63ce(0x470)](_0x34f29a,_0x5ad402);if(!_0x5ad402[_0x4d63ce(0x4c4)])return _0x49279b;if(_0x5ad402[_0x4d63ce(0x4c4)][_0x4d63ce(0x7a5)]===_0x1067d2['x']['GLSL']&&-0x1!==_0x49279b[_0x4d63ce(0x456)]('#version\x203')&&(_0x49279b=_0x49279b['replace'](_0x4d63ce(0x6e6),''),!_0x5ad402[_0x4d63ce(0x4c4)][_0x4d63ce(0x82f)]))return _0x49279b;var _0x34f29a=_0x5ad402[_0x4d63ce(0xc93)],_0x5123de=this[_0x4d63ce(0x7b3)](_0x5ad402,_0x3288ec);return _0x5ad402[_0x4d63ce(0x4c4)][_0x4d63ce(0x736)]&&(_0x49279b=_0x5ad402[_0x4d63ce(0x4c4)][_0x4d63ce(0x736)](_0x49279b,_0x34f29a,_0x5ad402['isFragment'],_0x5ad402[_0x4d63ce(0x4e7)])),_0x49279b=this[_0x4d63ce(0x9ff)](_0x49279b,_0x5123de,_0x5ad402),_0x5ad402[_0x4d63ce(0x4c4)][_0x4d63ce(0xd35)]&&(_0x49279b=_0x5ad402[_0x4d63ce(0x4c4)][_0x4d63ce(0xd35)](_0x49279b,_0x34f29a,_0x5ad402['isFragment'],_0x5ad402[_0x4d63ce(0x4e7)],_0x3288ec)),_0x49279b=_0x3288ec['_features'][_0x4d63ce(0x960)]?_0x3288ec[_0x4d63ce(0xb65)](_0x49279b):_0x49279b;}static[_0x193126(0x863)](_0x20278d,_0xfedc7,_0x4f000d){var _0x2a1feb=_0x193126,_0x380674;let _0x43ee00=_0x20278d;var _0x20278d=_0xfedc7[_0x2a1feb(0xc93)],_0x131aa4=this[_0x2a1feb(0x7b3)](_0xfedc7,_0x4f000d);return null!=(_0x380674=_0xfedc7['processor'])&&_0x380674[_0x2a1feb(0x736)]&&(_0x43ee00=_0xfedc7[_0x2a1feb(0x4c4)]['preProcessor'](_0x43ee00,_0x20278d,_0xfedc7[_0x2a1feb(0x4c2)],_0xfedc7['processingContext'])),_0x43ee00=this[_0x2a1feb(0x9ff)](_0x43ee00,_0x131aa4,_0xfedc7),null!=(_0x380674=_0xfedc7[_0x2a1feb(0x4c4)])&&_0x380674[_0x2a1feb(0xd35)]&&(_0x43ee00=_0xfedc7[_0x2a1feb(0x4c4)][_0x2a1feb(0xd35)](_0x43ee00,_0x20278d,_0xfedc7[_0x2a1feb(0x4c2)],_0xfedc7[_0x2a1feb(0x4e7)],_0x4f000d)),_0x43ee00=_0x4f000d[_0x2a1feb(0xd4e)][_0x2a1feb(0x960)]?_0x4f000d[_0x2a1feb(0xb65)](_0x43ee00):_0x43ee00;}static[_0x193126(0x1db)](_0x163c6e,_0x575965,_0x82f8c0){var _0x183aec=_0x193126;let _0x27cc62=_0x4e7601['exec'](_0x163c6e),_0x3a4658=new String(_0x163c6e),_0x40a3dc=!0x1;for(;null!=_0x27cc62;){let _0x5306b4=_0x27cc62[0x1];if(-0x1!==_0x5306b4[_0x183aec(0x456)]('__decl__')&&(_0x5306b4=_0x5306b4['replace'](/__decl__/,''),_0x575965[_0x183aec(0x877)]&&(_0x5306b4=(_0x5306b4=_0x5306b4[_0x183aec(0x827)](/Vertex/,_0x183aec(0x219)))[_0x183aec(0x827)](/Fragment/,_0x183aec(0x219))),_0x5306b4+=_0x183aec(0xd40)),!_0x575965[_0x183aec(0x259)][_0x5306b4])return _0x1a2ba9=_0x575965['shadersRepository']+_0x183aec(0xb71)+_0x5306b4+_0x183aec(0x212),void _0x91e85f[_0x183aec(0x6fb)](_0x1a2ba9,_0x10bc2a=>{var _0x3561c7=_0x183aec;_0x575965[_0x3561c7(0x259)][_0x5306b4]=_0x10bc2a,this['_ProcessIncludes'](_0x3a4658,_0x575965,_0x82f8c0);});{let _0x36337d=_0x575965[_0x183aec(0x259)][_0x5306b4];if(_0x27cc62[0x2]){var _0x51c300=_0x27cc62[0x3][_0x183aec(0x349)](',');for(let _0x2a7cc6=0x0;_0x2a7cc6<_0x51c300['length'];_0x2a7cc6+=0x2){var _0x559fd0=new RegExp(_0x51c300[_0x2a7cc6],'g'),_0x398f80=_0x51c300[_0x2a7cc6+0x1];_0x36337d=_0x36337d[_0x183aec(0x827)](_0x559fd0,_0x398f80);}}if(_0x27cc62[0x4]){const _0x5b053d=_0x27cc62[0x5];if(-0x1!==_0x5b053d[_0x183aec(0x456)]('..')){var _0x1a2ba9=_0x5b053d['split']('..'),_0x30dd04=parseInt(_0x1a2ba9[0x0]);let _0x1d5391=parseInt(_0x1a2ba9[0x1]),_0x2a7f4c=_0x36337d[_0x183aec(0x98e)](0x0);_0x36337d='',isNaN(_0x1d5391)&&(_0x1d5391=_0x575965[_0x183aec(0x956)][_0x1a2ba9[0x1]]);for(let _0x3c9a1e=_0x30dd04;_0x3c9a1e<_0x1d5391;_0x3c9a1e++)_0x575965[_0x183aec(0x877)]||(_0x2a7f4c=_0x2a7f4c[_0x183aec(0x827)](/light\{X\}.(\w*)/g,(_0x356c49,_0x5711dd)=>_0x5711dd+_0x183aec(0xc82))),_0x36337d+=_0x2a7f4c[_0x183aec(0x827)](/\{X\}/g,_0x3c9a1e[_0x183aec(0x66c)]())+'\x0a';}else _0x36337d=(_0x36337d=_0x575965['supportsUniformBuffers']?_0x36337d:_0x36337d[_0x183aec(0x827)](/light\{X\}.(\w*)/g,(_0x587507,_0x1d0e2d)=>_0x1d0e2d+_0x183aec(0xc82)))[_0x183aec(0x827)](/\{X\}/g,_0x5b053d);}_0x3a4658=_0x3a4658[_0x183aec(0x827)](_0x27cc62[0x0],_0x36337d),_0x40a3dc=_0x40a3dc||0x0<=_0x36337d[_0x183aec(0x456)](_0x183aec(0x79d))||0x0<=_0x36337d[_0x183aec(0x456)](_0x183aec(0x54a));}_0x27cc62=_0x4e7601[_0x183aec(0x2f2)](_0x163c6e);}_0x40a3dc?this[_0x183aec(0x1db)](_0x3a4658[_0x183aec(0x66c)](),_0x575965,_0x82f8c0):_0x82f8c0(_0x3a4658);}static[_0x193126(0x6fb)](_0x989df9,_0x8bc346,_0x23ea88,_0x588f59,_0x1cd8b9,_0x2a04d0){var _0x1fbc99=_0x193126;throw(0x0,_0x2e1f90['S'])(_0x1fbc99(0x7f4));}}},0xc627:(_0x33af11,_0x5243ef,_0x1ccafb)=>{var _0x406059=a6_0x5e3a36;_0x1ccafb['d'](_0x5243ef,{'B':()=>_0x427ac5});class _0x427ac5{constructor(_0x174800=null,_0x418614){var _0x54c464=a6_0x4d3f;if(this[_0x54c464(0x897)]=null,this[_0x54c464(0x957)]=_0x418614,!_0x174800&&!(_0x174800=_0x418614['createTexture']()))throw new Error(_0x54c464(0x1fe));this[_0x54c464(0x3ee)](_0x174800);}get['underlyingResource'](){var _0x326ce3=a6_0x4d3f;return this[_0x326ce3(0x9f2)];}[_0x406059(0x85d)](){}[_0x406059(0x3ee)](_0x1bab93){var _0x50159a=_0x406059;this[_0x50159a(0x9f2)]=_0x1bab93;}[_0x406059(0x247)](){var _0x1fae25=_0x406059;this[_0x1fae25(0x9f2)]=null,this[_0x1fae25(0x897)]=null;}['release'](){var _0x438ffc=_0x406059;this[_0x438ffc(0x897)]&&(this[_0x438ffc(0x957)][_0x438ffc(0xda1)](this[_0x438ffc(0x897)]),this[_0x438ffc(0x897)]=null),this[_0x438ffc(0x9f2)]&&this[_0x438ffc(0x957)][_0x438ffc(0x2f6)](this[_0x438ffc(0x9f2)]),this[_0x438ffc(0x247)]();}}},0x2df4:(_0x714227,_0x38cfaa,_0x17cfd7)=>{var _0x464c8b=a6_0x5e3a36;_0x17cfd7['d'](_0x38cfaa,{'y':()=>_0x360bbf});const _0x4bd269=[_0x464c8b(0x3cf),_0x464c8b(0xa55),_0x464c8b(0x791),_0x464c8b(0xc2c),'UInt',_0x464c8b(0xc63),_0x464c8b(0xbff),'UInt4',_0x464c8b(0xb9a),_0x464c8b(0x4a0),_0x464c8b(0x654),'Float2','Float',_0x464c8b(0x611),'Float4',_0x464c8b(0xd36),_0x464c8b(0x2f1),'Color4',_0x464c8b(0xc48)];class _0x360bbf{constructor(){var _0x29bd64=_0x464c8b;function _0x267f37(){var _0x4715d0=a6_0x4d3f;_0x5610f3['length']=0x0,Array['prototype'][_0x4715d0(0x2bd)]['apply'](_0x5610f3,arguments),_0x5610f3[0x0]=this['_uniforms'][_0x5610f3[0x0]];}this[_0x29bd64(0x2e2)]={},this['vertexCompilationError']=null,this['fragmentCompilationError']=null,this[_0x29bd64(0x781)]=null,this[_0x29bd64(0x28d)]=null;const _0x5610f3=[],_0x4747d2=_0x53c7de=>{var _0x11a147=_0x29bd64,_0x21c3b6=_0x4bd269['includes'](_0x53c7de[_0x11a147(0x803)](0x3))&&_0x11a147(0x47e);if(_0x21c3b6){const _0x30dcc2=this[_0x11a147(0x7f7)+_0x21c3b6];return function(){var _0x568de1=_0x11a147;const _0x43a179=this[_0x568de1(0xb43)][_0x53c7de];_0x267f37[_0x568de1(0x693)](this,arguments),_0x30dcc2[_0x568de1(0x693)](this,arguments)&&!_0x43a179[_0x568de1(0x693)](this[_0x568de1(0xb43)],_0x5610f3)&&(this[_0x568de1(0x2e2)][arguments[0x0]]=null);};}return function(){var _0x55109b=_0x11a147;const _0x49c862=this['engine'][_0x53c7de];_0x267f37['apply'](this,arguments),void 0x0!==arguments[0x1]&&(this[_0x55109b(0x2e2)][arguments[0x0]]=null,_0x49c862['apply'](this[_0x55109b(0xb43)],_0x5610f3));};};[_0x29bd64(0x439),_0x29bd64(0x45e),_0x29bd64(0x5cb),_0x29bd64(0x688),_0x29bd64(0x602),'Float?',_0x29bd64(0x410),_0x29bd64(0x795),_0x29bd64(0xa69)][_0x29bd64(0x840)](_0x51fbe3=>{var _0x4b0a5e=_0x29bd64;const _0x28c267=_0x4b0a5e(0x3ee)+_0x51fbe3;this[_0x28c267]||(_0x28c267[_0x4b0a5e(0x644)]('?')?['',0x2,0x3,0x4][_0x4b0a5e(0x840)](_0x308ef1=>{var _0x538fa8=_0x4b0a5e;this[_0x28c267['slice'](0x0,-0x1)+_0x308ef1]=this[_0x28c267[_0x538fa8(0x98e)](0x0,-0x1)+_0x308ef1]||_0x4747d2(_0x28c267[_0x538fa8(0x98e)](0x0,-0x1)+_0x308ef1)[_0x538fa8(0x977)](this);}):this[_0x28c267]=this[_0x28c267]||_0x4747d2(_0x28c267)[_0x4b0a5e(0x977)](this));});}get[_0x464c8b(0x9ce)](){var _0xb199ec=_0x464c8b;return this[_0xb199ec(0x635)];}get[_0x464c8b(0x3e5)](){var _0x3dd3f4=_0x464c8b;return!!this[_0x3dd3f4(0xb0b)]&&(!this[_0x3dd3f4(0x635)]||this[_0x3dd3f4(0xb43)][_0x3dd3f4(0x726)](this));}['_handlesSpectorRebuildCallback'](_0xb85686){var _0x23d443=_0x464c8b;_0xb85686&&this[_0x23d443(0xb0b)]&&_0xb85686(this[_0x23d443(0xb0b)]);}[_0x464c8b(0xae8)](_0x4f3557,_0x25d4a2,_0x5d4397,_0x4fef43,_0x377dfc,_0x3b59c3,_0x60538d,_0x49eb27){var _0x57a582=_0x464c8b;const _0x90dd18=this['engine'];if(_0x90dd18['supportsUniformBuffers']){for(const _0x4d7ec9 in _0x25d4a2)_0x4f3557['bindUniformBlock'](_0x4d7ec9,_0x25d4a2[_0x4d7ec9]);}const _0xfa0ee0=this['engine']['getUniforms'](this,_0x5d4397);_0xfa0ee0['forEach']((_0x4271d6,_0x1a749b)=>{_0x4fef43[_0x5d4397[_0x1a749b]]=_0x4271d6;}),this[_0x57a582(0x7b1)]=_0x4fef43;let _0x33c0d7;for(_0x33c0d7=0x0;_0x33c0d7<_0x377dfc[_0x57a582(0x43c)];_0x33c0d7++)null==_0x4f3557[_0x57a582(0xaee)](_0x377dfc[_0x33c0d7])&&(_0x377dfc[_0x57a582(0x2d2)](_0x33c0d7,0x1),_0x33c0d7--);_0x377dfc[_0x57a582(0x840)]((_0x2610cb,_0x124af0)=>{_0x3b59c3[_0x2610cb]=_0x124af0;});for(const _0x4c91bb of _0x90dd18[_0x57a582(0x76a)](this,_0x60538d))_0x49eb27[_0x57a582(0x2bd)](_0x4c91bb);}[_0x464c8b(0x8fc)](){var _0x12b0c7=_0x464c8b;this[_0x12b0c7(0x7b1)]={};}[_0x464c8b(0x200)](_0x33bf72,_0x305991){var _0x4ce886=_0x464c8b,_0x329154=this['_valueCache'][_0x33bf72],_0x305991=_0x305991[_0x4ce886(0x8df)];return(void 0x0===_0x329154||_0x329154!==_0x305991)&&(this[_0x4ce886(0x2e2)][_0x33bf72]=_0x305991,!0x0);}[_0x464c8b(0x87c)](_0x26a362,_0x4a048b,_0x3bd21d,_0x1606b4,_0xeedf4){var _0x400263=_0x464c8b;let _0xc9bc46=this[_0x400263(0x2e2)][_0x26a362];if(!_0xc9bc46||_0xc9bc46[_0x400263(0x43c)]!==arguments[_0x400263(0x43c)]-0x1)return _0xc9bc46=Array[_0x400263(0x733)][_0x400263(0x98e)][_0x400263(0x4f3)](arguments,0x1),this[_0x400263(0x2e2)][_0x26a362]=_0xc9bc46,!0x0;let _0x57bd60=!0x1;for(let _0x296f5b=0x0;_0x296f5b<_0xc9bc46['length'];++_0x296f5b)_0xc9bc46[_0x296f5b]!==arguments[_0x296f5b+0x1]&&(_0xc9bc46[_0x296f5b]=arguments[_0x296f5b+0x1],_0x57bd60=!0x0);return _0x57bd60;}[_0x464c8b(0xc76)](_0x28c4d3,_0x451175,_0x1549bb){var _0x434d3c=_0x464c8b;return this[_0x434d3c(0x87c)](_0x28c4d3,_0x451175,_0x1549bb);}[_0x464c8b(0x3bb)](_0x25f3f3,_0x4fac01,_0x3a3df1,_0x5f3470){return this['_cacheFloatN'](_0x25f3f3,_0x4fac01,_0x3a3df1,_0x5f3470);}[_0x464c8b(0x397)](_0x5873b2,_0x5c9070,_0x1b2f7a,_0x56e98b,_0x6027cb){var _0x5d6730=_0x464c8b;return this[_0x5d6730(0x87c)](_0x5873b2,_0x5c9070,_0x1b2f7a,_0x56e98b,_0x6027cb);}[_0x464c8b(0x716)](_0x5db6eb,_0x58dd94){var _0x99f17c=_0x464c8b;this['_cacheMatrix'](_0x5db6eb,_0x58dd94)&&!this[_0x99f17c(0xb43)][_0x99f17c(0x6c3)](this[_0x99f17c(0x7b1)][_0x5db6eb],_0x58dd94[_0x99f17c(0xaa0)]())&&(this[_0x99f17c(0x2e2)][_0x5db6eb]=null);}['setVector2'](_0x2cf499,_0x4dde56){var _0x16439d=_0x464c8b;this[_0x16439d(0x48e)](_0x2cf499,_0x4dde56['x'],_0x4dde56['y']);}[_0x464c8b(0xb6d)](_0x3c48df,_0x1fc9ec){var _0x1c5308=_0x464c8b;this[_0x1c5308(0x2ad)](_0x3c48df,_0x1fc9ec['x'],_0x1fc9ec['y'],_0x1fc9ec['z']);}[_0x464c8b(0x7fa)](_0x384adf,_0x1b5b53){var _0x29cdae=_0x464c8b;this[_0x29cdae(0xac3)](_0x384adf,_0x1b5b53['x'],_0x1b5b53['y'],_0x1b5b53['z'],_0x1b5b53['w']);}[_0x464c8b(0x1ce)](_0x2084a1,_0x4ebc7c){var _0x367285=_0x464c8b;this[_0x367285(0xac3)](_0x2084a1,_0x4ebc7c['x'],_0x4ebc7c['y'],_0x4ebc7c['z'],_0x4ebc7c['w']);}['setColor3'](_0x1271ba,_0x518fdd){this['setFloat3'](_0x1271ba,_0x518fdd['r'],_0x518fdd['g'],_0x518fdd['b']);}[_0x464c8b(0x50a)](_0x35ea2a,_0x143491,_0x39205b){this['setFloat4'](_0x35ea2a,_0x143491['r'],_0x143491['g'],_0x143491['b'],_0x39205b);}[_0x464c8b(0xab1)](_0x50aa76,_0x22ed1b){var _0x57d904=_0x464c8b;this[_0x57d904(0xac3)](_0x50aa76,_0x22ed1b['r'],_0x22ed1b['g'],_0x22ed1b['b'],_0x22ed1b['a']);}[_0x464c8b(0x8b0)](){var _0x5eab78=_0x464c8b;return this['vertexShader']?this[_0x5eab78(0xb43)][_0x5eab78(0x3b2)](this[_0x5eab78(0xb9c)]):null;}[_0x464c8b(0x4db)](){var _0x52a564=_0x464c8b;return this[_0x52a564(0x96f)]?this[_0x52a564(0xb43)][_0x52a564(0x3b2)](this['fragmentShader']):null;}}},0xb7b8:(_0x3a8b44,_0x566ec5,_0x492650)=>{_0x492650['d'](_0x566ec5,{'f':()=>_0xd80015});var _0x1b347f=_0x492650(0x11722);class _0xd80015{constructor(){var _0x5b1cc6=a6_0x4d3f;this[_0x5b1cc6(0x7a5)]=_0x1b347f['x'][_0x5b1cc6(0x8d7)];}['postProcessor'](_0x1b09a8,_0x2ebbc5,_0x410821,_0x2a900c,_0x5379f0){var _0xd66916=a6_0x4d3f;return _0x5379f0[_0xd66916(0x780)]()[_0xd66916(0xabd)]?_0x1b09a8:_0x1b09a8[_0xd66916(0x827)](/#extension.+GL_EXT_draw_buffers.+(enable|require)/g,'');}}},0x15e6f:(_0x2ee49c,_0x223273,_0x5a3cc4)=>{var _0x341c07=a6_0x5e3a36,_0x58d1d4=_0x5a3cc4(0x77a5),_0x37c295=_0x5a3cc4(0xee04),_0x5a4d01=_0x5a3cc4(0x9957),_0xc91888=(_0x5a4d01['f'][_0x341c07(0x733)]['setAlphaMode']=function(_0x420575,_0x3424da=!0x1){var _0x3edb3d=_0x341c07;if(this[_0x3edb3d(0x5de)]!==_0x420575||!(_0x420575===_0x58d1d4['g'][_0x3edb3d(0x894)]&&!this['_alphaState'][_0x3edb3d(0x1ae)]||_0x420575!==_0x58d1d4['g'][_0x3edb3d(0x894)]&&this[_0x3edb3d(0x521)]['alphaBlend'])){switch(_0x420575){case _0x58d1d4['g']['ALPHA_DISABLE']:this[_0x3edb3d(0x521)][_0x3edb3d(0x1ae)]=!0x1;break;case _0x58d1d4['g']['ALPHA_PREMULTIPLIED']:this['_alphaState']['setAlphaBlendFunctionParameters'](0x1,_0x58d1d4['g'][_0x3edb3d(0x388)],0x1,0x1),this[_0x3edb3d(0x521)]['alphaBlend']=!0x0;break;case _0x58d1d4['g'][_0x3edb3d(0x22b)]:this[_0x3edb3d(0x521)][_0x3edb3d(0x8b6)](0x1,_0x58d1d4['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA'],0x1,_0x58d1d4['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_ALPHA']),this['_alphaState'][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g'][_0x3edb3d(0x686)]:this['_alphaState'][_0x3edb3d(0x8b6)](_0x58d1d4['g']['GL_ALPHA_FUNCTION_SRC_ALPHA'],_0x58d1d4['g'][_0x3edb3d(0x388)],0x1,0x1),this['_alphaState'][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g'][_0x3edb3d(0x3de)]:this[_0x3edb3d(0x521)]['setAlphaBlendFunctionParameters'](0x1,0x1,0x0,0x1),this[_0x3edb3d(0x521)][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g'][_0x3edb3d(0xcf5)]:this[_0x3edb3d(0x521)][_0x3edb3d(0x8b6)](_0x58d1d4['g']['GL_ALPHA_FUNCTION_SRC_ALPHA'],0x1,0x0,0x1),this[_0x3edb3d(0x521)][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g'][_0x3edb3d(0x513)]:this[_0x3edb3d(0x521)][_0x3edb3d(0x8b6)](0x0,_0x58d1d4['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR'],0x1,0x1),this[_0x3edb3d(0x521)][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g'][_0x3edb3d(0x5e4)]:this[_0x3edb3d(0x521)][_0x3edb3d(0x8b6)](_0x58d1d4['g'][_0x3edb3d(0x7ff)],0x0,0x1,0x1),this[_0x3edb3d(0x521)][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g']['ALPHA_MAXIMIZED']:this[_0x3edb3d(0x521)][_0x3edb3d(0x8b6)](_0x58d1d4['g'][_0x3edb3d(0x907)],_0x58d1d4['g'][_0x3edb3d(0xb2b)],0x1,0x1),this['_alphaState'][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g'][_0x3edb3d(0x5ef)]:this[_0x3edb3d(0x521)]['setAlphaBlendFunctionParameters'](_0x58d1d4['g'][_0x3edb3d(0x770)],_0x58d1d4['g'][_0x3edb3d(0x2a1)],_0x58d1d4['g'][_0x3edb3d(0x850)],_0x58d1d4['g'][_0x3edb3d(0xd34)]),this[_0x3edb3d(0x521)]['alphaBlend']=!0x0;break;case _0x58d1d4['g']['ALPHA_SCREENMODE']:this[_0x3edb3d(0x521)][_0x3edb3d(0x8b6)](0x1,_0x58d1d4['g'][_0x3edb3d(0xb2b)],0x1,_0x58d1d4['g'][_0x3edb3d(0x388)]),this['_alphaState'][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g']['ALPHA_ONEONE_ONEONE']:this[_0x3edb3d(0x521)][_0x3edb3d(0x8b6)](0x1,0x1,0x1,0x1),this['_alphaState'][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g'][_0x3edb3d(0xd0c)]:this[_0x3edb3d(0x521)][_0x3edb3d(0x8b6)](_0x58d1d4['g'][_0x3edb3d(0x709)],0x1,0x0,0x0),this[_0x3edb3d(0x521)]['alphaBlend']=!0x0;break;case _0x58d1d4['g']['ALPHA_REVERSEONEMINUS']:this[_0x3edb3d(0x521)][_0x3edb3d(0x8b6)](_0x58d1d4['g'][_0x3edb3d(0x344)],_0x58d1d4['g']['GL_ALPHA_FUNCTION_ONE_MINUS_SRC_COLOR'],_0x58d1d4['g'][_0x3edb3d(0xaa4)],_0x58d1d4['g'][_0x3edb3d(0x388)]),this[_0x3edb3d(0x521)][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g']['ALPHA_SRC_DSTONEMINUSSRCALPHA']:this['_alphaState'][_0x3edb3d(0x8b6)](0x1,_0x58d1d4['g'][_0x3edb3d(0x388)],0x1,_0x58d1d4['g'][_0x3edb3d(0x388)]),this[_0x3edb3d(0x521)]['alphaBlend']=!0x0;break;case _0x58d1d4['g'][_0x3edb3d(0x35c)]:this[_0x3edb3d(0x521)]['setAlphaBlendFunctionParameters'](0x1,0x1,0x1,0x0),this[_0x3edb3d(0x521)][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g'][_0x3edb3d(0xc0a)]:this[_0x3edb3d(0x521)]['setAlphaBlendFunctionParameters'](_0x58d1d4['g']['GL_ALPHA_FUNCTION_ONE_MINUS_DST_COLOR'],_0x58d1d4['g'][_0x3edb3d(0xb2b)],0x0,0x1),this[_0x3edb3d(0x521)][_0x3edb3d(0x1ae)]=!0x0;break;case _0x58d1d4['g'][_0x3edb3d(0x8ec)]:this[_0x3edb3d(0x521)][_0x3edb3d(0x8b6)](_0x58d1d4['g'][_0x3edb3d(0x907)],_0x58d1d4['g'][_0x3edb3d(0x388)],0x1,_0x58d1d4['g'][_0x3edb3d(0x388)]),this[_0x3edb3d(0x521)][_0x3edb3d(0x1ae)]=!0x0;}_0x3424da||(this['setDepthWrite'](_0x420575===_0x37c295['D'][_0x3edb3d(0x894)]),this[_0x3edb3d(0x33c)][_0x3edb3d(0x74f)](_0x420575===_0x37c295['D'][_0x3edb3d(0x894)])),this[_0x3edb3d(0x5de)]=_0x420575,this[_0x3edb3d(0x33c)][_0x3edb3d(0x60b)](this['_alphaState']['alphaBlend']),this[_0x3edb3d(0x33c)][_0x3edb3d(0x1e4)](this[_0x3edb3d(0x521)][_0x3edb3d(0xc67)],this['_alphaState'][_0x3edb3d(0x6dd)]);}},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x525)]=function(_0x128dfc){var _0x15bb9a=_0x341c07;_0x37c295['D']['prototype']['setAlphaEquation'][_0x15bb9a(0x4f3)](this,_0x128dfc),this[_0x15bb9a(0x33c)][_0x15bb9a(0x1e4)](this['_alphaState'][_0x15bb9a(0xc67)],this[_0x15bb9a(0x521)]['_blendEquationParameters']);},_0x5a3cc4(0x7755)),_0x1b5793=_0x5a3cc4(0x10ea4),_0x275523=_0x5a3cc4(0xe34c),_0x35e58f=_0x5a3cc4(0x89a1);class _0x3fa5ff{constructor(_0x2fcec0,_0x36df50){var _0x28142e=_0x341c07;this['_device']=_0x2fcec0,this[_0x28142e(0x31e)]=_0x36df50,this['uniqueId']=_0x3fa5ff[_0x28142e(0x233)]++,this[_0x28142e(0x2e8)]=[],this[_0x28142e(0x642)]();}[_0x341c07(0x230)](_0xd42bca,_0xb5ce6f,_0x44cf4d){var _0x4dfea8=_0x341c07;if(!_0x44cf4d)throw new Error(_0x4dfea8(0x390));if(0x0===this[_0x4dfea8(0x3ba)][_0x4dfea8(0x43c)]){var _0x579e1e=0x0<this[_0x4dfea8(0x2e8)]['length'];for(const _0x188399 in _0xd42bca){const _0x334f1d=_0xd42bca[_0x188399],_0x49f31b=_0x44cf4d[_0x188399],_0x473b11=_0x49f31b[_0x4dfea8(0x683)],_0x2b3a8a=_0x49f31b[_0x4dfea8(0x970)],_0x5b18fd=_0x334f1d[_0x4dfea8(0xa18)],_0x3e1aab=_0x334f1d[_0x4dfea8(0x413)];let _0x6d0818=_0x334f1d[_0x4dfea8(0x3c9)],_0x489c0b=this[_0x4dfea8(0x2e8)][_0x473b11];switch(_0x489c0b=_0x489c0b||(this[_0x4dfea8(0x2e8)][_0x473b11]=[]),_0x5b18fd){case _0x275523['t'][_0x4dfea8(0x341)]:var _0xf5f90f=_0x3e1aab;void 0x0!==_0x6d0818&&_0x579e1e?_0x489c0b[_0x6d0818][_0x4dfea8(0x262)]=this[_0x4dfea8(0x31e)][_0x4dfea8(0x4d8)](_0xf5f90f):(_0x334f1d[_0x4dfea8(0x3c9)]=_0x489c0b[_0x4dfea8(0x43c)],_0x489c0b[_0x4dfea8(0x2bd)]({'binding':_0x2b3a8a,'resource':this['_cacheSampler'][_0x4dfea8(0x4d8)](_0xf5f90f)}));break;case _0x275523['t']['Texture']:case _0x275523['t'][_0x4dfea8(0x835)]:var _0xf5f90f=_0x3e1aab,_0x27945e=_0xf5f90f[_0x4dfea8(0x45d)][_0x4dfea8(0xbac)];void 0x0!==_0x6d0818&&_0x579e1e?(_0x5b18fd===_0x275523['t']['Texture']&&(_0x489c0b[_0x6d0818++][_0x4dfea8(0x262)]=this[_0x4dfea8(0x31e)][_0x4dfea8(0x4d8)](_0xf5f90f['_texture'])),_0x489c0b[_0x6d0818][_0x4dfea8(0x262)]=_0x27945e['view']):(_0x334f1d[_0x4dfea8(0x3c9)]=_0x489c0b[_0x4dfea8(0x43c)],_0x5b18fd===_0x275523['t'][_0x4dfea8(0x2c6)]&&_0x489c0b[_0x4dfea8(0x2bd)]({'binding':_0x2b3a8a-0x1,'resource':this[_0x4dfea8(0x31e)][_0x4dfea8(0x4d8)](_0xf5f90f[_0x4dfea8(0x45d)])}),_0x489c0b[_0x4dfea8(0x2bd)]({'binding':_0x2b3a8a,'resource':_0x27945e['view']}));break;case _0x275523['t'][_0x4dfea8(0xc9c)]:_0x27945e=_0x3e1aab['_texture'][_0x4dfea8(0xbac)],(0x0==(_0x27945e[_0x4dfea8(0x5a6)]&_0x35e58f['v2'][_0x4dfea8(0x766)])&&_0x1b5793['Y'][_0x4dfea8(0xb34)](_0x4dfea8(0x76c)+_0x3e1aab[_0x4dfea8(0xd51)]+',\x20uniqueId='+_0x3e1aab['uniqueId']+')\x20is\x20not\x20a\x20storage\x20texture!',0x32),void 0x0!==_0x6d0818&&_0x579e1e?_0x489c0b[_0x6d0818]['resource']=_0x27945e[_0x4dfea8(0x4de)]:(_0x334f1d[_0x4dfea8(0x3c9)]=_0x489c0b[_0x4dfea8(0x43c)],_0x489c0b[_0x4dfea8(0x2bd)]({'binding':_0x2b3a8a,'resource':_0x27945e[_0x4dfea8(0x4de)]})));break;case _0x275523['t'][_0x4dfea8(0x85a)]:case _0x275523['t'][_0x4dfea8(0xabb)]:{_0x275523['t'][_0x4dfea8(0x85a)];const _0x496e08=_0x3e1aab;var _0x469b33=_0x496e08[_0x4dfea8(0x6c1)](),_0x11c063=_0x469b33[_0x4dfea8(0x8e9)];void 0x0!==_0x6d0818&&_0x579e1e?(_0x489c0b[_0x6d0818]['resource'][_0x4dfea8(0x5e7)]=_0x11c063,_0x489c0b[_0x6d0818][_0x4dfea8(0x262)][_0x4dfea8(0x1ee)]=_0x469b33['capacity']):(_0x334f1d[_0x4dfea8(0x3c9)]=_0x489c0b[_0x4dfea8(0x43c)],_0x489c0b[_0x4dfea8(0x2bd)]({'binding':_0x2b3a8a,'resource':{'buffer':_0x11c063,'offset':0x0,'size':_0x469b33['capacity']}}));break;}}}for(let _0x1086b8=0x0;_0x1086b8<this[_0x4dfea8(0x2e8)][_0x4dfea8(0x43c)];++_0x1086b8){var _0x5df928=this[_0x4dfea8(0x2e8)][_0x1086b8];this[_0x4dfea8(0x3ba)][_0x1086b8]=_0x5df928?this[_0x4dfea8(0x8e4)][_0x4dfea8(0xa7e)]({'layout':_0xb5ce6f['getBindGroupLayout'](_0x1086b8),'entries':_0x5df928}):void 0x0;}this['_bindGroups'][_0x4dfea8(0x43c)]=this[_0x4dfea8(0x2e8)][_0x4dfea8(0x43c)];}return this[_0x4dfea8(0x3ba)];}[_0x341c07(0x642)](){this['_bindGroups']=[];}}_0x3fa5ff['_Counter']=0x0;class _0x1709bf{constructor(_0x31fc56){var _0x19cd54=_0x341c07;this[_0x19cd54(0xb52)]=_0x19cd54(0xa76),this[_0x19cd54(0xb43)]=_0x31fc56;}get['isAsync'](){return!0x1;}get[_0x341c07(0x3e5)](){var _0x28d5b1=_0x341c07;return!!this[_0x28d5b1(0x2e6)];}['_getComputeShaderCode'](){var _0xffe02d=_0x341c07,_0x5121e8;return null==(_0x5121e8=this[_0xffe02d(0x28c)])?void 0x0:_0x5121e8[_0xffe02d(0x789)];}[_0x341c07(0x8fc)](){}}var _0x2d22e0=_0x5a3cc4(0x6214),_0x15ddf2=(_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x892)]=function(){var _0x36013e=_0x341c07;return new _0x3fa5ff(this[_0x36013e(0x8e4)],this[_0x36013e(0x31e)]);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0xd7c)]=function(_0x239b0a,_0x3a2d9c){var _0x5337e3=_0x341c07,_0x31864e=(_0x239b0a[_0x5337e3(0xad6)]||_0x239b0a[_0x5337e3(0x789)]||_0x239b0a['computeToken']||_0x239b0a['computeSource']||_0x239b0a)+'@'+_0x3a2d9c['defines'];if(this[_0x5337e3(0x983)][_0x31864e]){const _0x1dd404=this[_0x5337e3(0x983)][_0x31864e];return _0x3a2d9c[_0x5337e3(0xcc4)]&&_0x1dd404[_0x5337e3(0x3e5)]()&&_0x3a2d9c[_0x5337e3(0xcc4)](_0x1dd404),_0x1dd404;}return _0x239b0a=new _0xc91888['n'](_0x239b0a,_0x3a2d9c,this,_0x31864e),this[_0x5337e3(0x983)][_0x31864e]=_0x239b0a;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x7d1)]=function(){return new _0x1709bf(this);},_0x5a4d01['f'][_0x341c07(0x733)]['areAllComputeEffectsReady']=function(){var _0x4daeca=_0x341c07;for(const _0x514b35 in this['_compiledComputeEffects']){const _0xc549a8=this[_0x4daeca(0x983)][_0x514b35];if(!_0xc549a8[_0x4daeca(0x3e5)]())return!0x1;}return!0x0;},_0x5a4d01['f']['prototype'][_0x341c07(0x794)]=function(_0x2371bf,_0x65e21e,_0x35a125,_0x3a45cd,_0x4c315,_0x2e5b62,_0x3e7cf1){var _0x5f1fc9=_0x341c07;if(this[_0x5f1fc9(0x55b)])this['_onAfterUnbindFrameBufferObservable'][_0x5f1fc9(0xa71)](()=>{var _0x2a3143=_0x5f1fc9;this[_0x2a3143(0x794)](_0x2371bf,_0x65e21e,_0x35a125,_0x3a45cd,_0x4c315,_0x2e5b62,_0x3e7cf1);});else{const _0x20525c=_0x2371bf[_0x5f1fc9(0x2d7)],_0x415198=_0x65e21e,_0x17a3a5=(_0x20525c['computePipeline']||(_0x20525c['computePipeline']=this[_0x5f1fc9(0x8e4)][_0x5f1fc9(0xb10)]({'layout':_0x35e58f['fu'][_0x5f1fc9(0x441)],'compute':_0x20525c[_0x5f1fc9(0x2e6)]})),this['_renderTargetEncoder']),_0x38e719=_0x17a3a5['beginComputePass']();_0x38e719['setPipeline'](_0x20525c['computePipeline']);var _0x5bbd4d=_0x415198[_0x5f1fc9(0x230)](_0x35a125,_0x20525c[_0x5f1fc9(0x778)],_0x3e7cf1);for(let _0x2eade3=0x0;_0x2eade3<_0x5bbd4d[_0x5f1fc9(0x43c)];++_0x2eade3){var _0x4e8594=_0x5bbd4d[_0x2eade3];_0x4e8594&&_0x38e719[_0x5f1fc9(0xbae)](_0x2eade3,_0x4e8594);}_0x38e719[_0x5f1fc9(0x77c)](_0x3a45cd,_0x4c315,_0x2e5b62),_0x38e719['end']();}},_0x5a4d01['f']['prototype'][_0x341c07(0x1b0)]=function(){var _0x2997a4=_0x341c07;for(const _0x13a8c8 in this[_0x2997a4(0x983)]){var _0x440adb=this[_0x2997a4(0x983)][_0x13a8c8][_0x2997a4(0xa4a)]();this['_deleteComputePipelineContext'](_0x440adb);}this['_compiledComputeEffects']={};},_0x5a4d01['f']['prototype'][_0x341c07(0x4c5)]=function(_0x57a441,_0x4c4284,_0x519fae,_0x19777d,_0x4dad36){var _0x14c0f8=_0x341c07;const _0x463cf4=_0x57a441;this['dbgShowShaderCode']&&(_0x2d22e0[_0x14c0f8(0x562)](_0x19777d),_0x2d22e0[_0x14c0f8(0x562)](_0x4c4284)),_0x463cf4['sources']={'compute':_0x4c4284,'rawCompute':_0x519fae},_0x463cf4[_0x14c0f8(0x2e6)]=this[_0x14c0f8(0xba1)](_0x4c4284,_0x19777d,_0x4dad36);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x1c4)]=function(_0x417d8f){var _0x21a94f=_0x341c07;this[_0x21a94f(0x983)][_0x417d8f[_0x21a94f(0x4f7)]]&&(delete this[_0x21a94f(0x983)][_0x417d8f['_key']],this[_0x21a94f(0x459)](_0x417d8f[_0x21a94f(0xa4a)]()));},_0x5a4d01['f'][_0x341c07(0x733)]['_rebuildComputeEffects']=function(){var _0x548099=_0x341c07;for(const _0x34f246 in this[_0x548099(0x983)]){const _0x17c910=this[_0x548099(0x983)][_0x34f246];_0x17c910['_pipelineContext']=null,_0x17c910[_0x548099(0x862)]=!0x1,_0x17c910['_prepareEffect']();}},_0x5a4d01['f'][_0x341c07(0x733)]['_deleteComputePipelineContext']=function(_0x55c09c){var _0xb2455c=_0x341c07;_0x55c09c&&_0x55c09c[_0xb2455c(0x8fc)]();},_0x5a4d01['f']['prototype'][_0x341c07(0xba1)]=function(_0x3eb846,_0x101f1f,_0x156fe3){var _0x55565b=_0x341c07;return _0x101f1f=_0x101f1f?'//'+_0x101f1f['split']('\x0a')[_0x55565b(0xce7)](_0x55565b(0x7fd))+'\x0a':'',{'module':this['_device'][_0x55565b(0x5db)]({'code':_0x101f1f+_0x3eb846}),'entryPoint':_0x156fe3};},_0x5a3cc4(0x25b1));_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0xc4b)]=function(_0x5989b0,_0x3be79a){var _0x55bbfb=_0x341c07;const _0x154cf4=new _0x15ddf2['l'](this,_0x15ddf2['S'][_0x55bbfb(0x918)]);return _0x154cf4[_0x55bbfb(0xd30)]=!0x0,_0x3be79a=Object[_0x55bbfb(0xc30)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1,'samples':0x1},_0x3be79a),(_0x154cf4[_0x55bbfb(0x920)]=_0x3be79a[_0x55bbfb(0x23e)]?_0x58d1d4['g'][_0x55bbfb(0x684)]:_0x58d1d4['g'][_0x55bbfb(0x1fa)],this[_0x55bbfb(0x775)](_0x154cf4,_0x5989b0,_0x3be79a['generateStencil'],_0x3be79a[_0x55bbfb(0x99d)],_0x3be79a[_0x55bbfb(0x3f5)],_0x3be79a['samples']),this[_0x55bbfb(0x571)]['createGPUTextureForInternalTexture'](_0x154cf4),this[_0x55bbfb(0xc26)][_0x55bbfb(0x2bd)](_0x154cf4),_0x154cf4);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x687)]=function(_0x1bb23a,_0x488e8d,_0x3852eb,_0x37ad12,_0x2a7ba5=null,_0x53d030=null,_0x490322,_0x39adb5=null,_0x4f4f24=!0x1,_0x2646c3=0x0,_0x549dff=0x0,_0x57b996=null,_0x17303a=!0x1){var _0x2a5f49=_0x341c07;return this[_0x2a5f49(0x967)](_0x1bb23a,_0x488e8d,_0x3852eb,!!_0x37ad12,_0x2a7ba5,_0x53d030,_0x490322,_0x39adb5,_0x4f4f24,_0x2646c3,_0x549dff,_0x57b996,null,(_0x52a157,_0x5d1043)=>{var _0x11f774=_0x2a5f49,_0x46630c=_0x5d1043[0x0][_0x11f774(0x680)],_0x268fd9=_0x46630c,_0x599cef=(this[_0x11f774(0x87b)](_0x52a157,!_0x37ad12),_0x52a157['format']=null!=_0x490322?_0x490322:-0x1,this[_0x11f774(0x571)][_0x11f774(0x524)](_0x52a157,_0x46630c,_0x268fd9));this[_0x11f774(0x571)][_0x11f774(0x5ae)](_0x5d1043,_0x599cef[_0x11f774(0x8e9)],_0x46630c,_0x268fd9,_0x599cef['format'],!0x1,!0x1,0x0,0x0),_0x37ad12||this[_0x11f774(0xc72)](_0x52a157,this[_0x11f774(0x4fe)]),_0x52a157[_0x11f774(0x3e5)]=!0x0,_0x52a157['onLoadedObservable'][_0x11f774(0x6b1)](_0x52a157),_0x52a157[_0x11f774(0x91b)][_0x11f774(0x642)](),_0x2a7ba5&&_0x2a7ba5();},!!_0x17303a);},_0x5a4d01['f']['prototype'][_0x341c07(0x87b)]=function(_0x2a14e1,_0x15794f,_0x41ee5f){var _0x249e51=_0x341c07;_0x2a14e1[_0x249e51(0x958)]=_0x15794f?_0x58d1d4['g']['TEXTURE_TRILINEAR_SAMPLINGMODE']:_0x58d1d4['g'][_0x249e51(0x3d0)],_0x2a14e1[_0x249e51(0xa12)]=_0x58d1d4['g'][_0x249e51(0x945)],_0x2a14e1['_cachedWrapV']=_0x58d1d4['g'][_0x249e51(0x945)],_0x41ee5f&&(_0x2a14e1[_0x249e51(0xb6c)]=_0x41ee5f);},_0x5a4d01['f'][_0x341c07(0x733)]['_debugPushGroup']=function(_0x48ff4b,_0x1b94bc){var _0x353c2d=_0x341c07;if(this[_0x353c2d(0xb98)]['enableGPUDebugMarkers']){if(0x0===_0x1b94bc||0x1===_0x1b94bc){const _0x57e6ae=0x0===_0x1b94bc?this[_0x353c2d(0x814)]:this[_0x353c2d(0x4d6)];_0x57e6ae[_0x353c2d(0x885)](_0x48ff4b);}else this[_0x353c2d(0x9c1)]?this[_0x353c2d(0x9c1)][_0x353c2d(0x885)](_0x48ff4b):this[_0x353c2d(0x629)]['push'](['push',_0x48ff4b]);}},_0x5a4d01['f'][_0x341c07(0x733)]['_debugPopGroup']=function(_0xdf4f62){var _0x3fc2d1=_0x341c07;if(this[_0x3fc2d1(0xb98)][_0x3fc2d1(0x5f7)]){if(0x0===_0xdf4f62||0x1===_0xdf4f62){const _0x2857c7=0x0===_0xdf4f62?this[_0x3fc2d1(0x814)]:this['_renderTargetEncoder'];_0x2857c7[_0x3fc2d1(0x761)]();}else this['_currentRenderPass']?this['_currentRenderPass'][_0x3fc2d1(0x761)]():this[_0x3fc2d1(0x629)][_0x3fc2d1(0x2bd)]([_0x3fc2d1(0xbd4),null]);}},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x2c4)]=function(_0x293299,_0x3b278b){var _0x18fa5a=_0x341c07;if(this[_0x18fa5a(0xb98)][_0x18fa5a(0x5f7)]){if(0x0===_0x3b278b||0x1===_0x3b278b){const _0x50cdee=0x0===_0x3b278b?this[_0x18fa5a(0x814)]:this[_0x18fa5a(0x4d6)];_0x50cdee[_0x18fa5a(0x2e4)](_0x293299);}else this[_0x18fa5a(0x9c1)]?this[_0x18fa5a(0x9c1)][_0x18fa5a(0x2e4)](_0x293299):this[_0x18fa5a(0x629)]['push']([_0x18fa5a(0x589),_0x293299]);}},_0x5a4d01['f']['prototype']['_debugFlushPendingCommands']=function(){var _0x467933=_0x341c07;for(let _0x4c9813=0x0;_0x4c9813<this[_0x467933(0x629)]['length'];++_0x4c9813){var [_0x53f67c,_0x46d310]=this[_0x467933(0x629)][_0x4c9813];switch(_0x53f67c){case _0x467933(0x2bd):this[_0x467933(0xa46)](_0x46d310);break;case _0x467933(0xbd4):this[_0x467933(0x73d)]();break;case _0x467933(0x589):this['_debugInsertMarker'](_0x46d310);}}this['_pendingDebugCommands']['length']=0x0;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0xda5)]=function(_0x277bf2,_0x4460c1,_0x5d7c4e=0x0){var _0x5212a4=_0x341c07,_0xf706b6=_0x277bf2,_0x277bf2=_0x277bf2[_0x5212a4(0x575)]?_0x4460c1 instanceof Uint32Array?_0x4460c1:new Uint32Array(_0x4460c1):_0x4460c1 instanceof Uint16Array?_0x4460c1:new Uint16Array(_0x4460c1);this['_bufferManager'][_0x5212a4(0xa9b)](_0xf706b6,_0x5d7c4e,_0x277bf2);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x263)]=function(_0x1dfa7a,_0x2cd7e9,_0x3d7d8b,_0x37b6ff){var _0x145337=_0x341c07;void 0x0===_0x3d7d8b&&(_0x3d7d8b=0x0);let _0x326479;void 0x0===_0x37b6ff?_0x37b6ff=(_0x326479=_0x2cd7e9 instanceof Array?new Float32Array(_0x2cd7e9):_0x2cd7e9 instanceof ArrayBuffer?new Uint8Array(_0x2cd7e9):_0x2cd7e9)[_0x145337(0x6ed)]:_0x326479=_0x2cd7e9 instanceof Array?new Float32Array(_0x2cd7e9):_0x2cd7e9 instanceof ArrayBuffer?new Uint8Array(_0x2cd7e9):_0x2cd7e9,this[_0x145337(0x3a0)]['setSubData'](_0x1dfa7a,_0x3d7d8b,_0x326479,0x0,_0x37b6ff);},_0x5a4d01['f']['prototype'][_0x341c07(0x39a)]=function(_0x2c9969,_0x280e68,_0x33871a,_0x2bc48c=!0x1,_0x139f37,_0x41ea68,_0x1bea2f){var _0x2731e3=_0x341c07,_0x972ab3;if(_0x2c9969){var _0x39fbae=_0x280e68[_0x2731e3(0x680)],_0x20069f=_0x280e68['height'];let _0x193f25=_0x2c9969['_hardwareTexture'];null!=(_0x972ab3=_0x2c9969[_0x2731e3(0xbac)])&&_0x972ab3[_0x2731e3(0x8e9)]||(_0x193f25=this[_0x2731e3(0x571)][_0x2731e3(0x524)](_0x2c9969,_0x39fbae,_0x20069f)),this[_0x2731e3(0x571)][_0x2731e3(0xbd3)](_0x280e68,_0x2c9969,_0x39fbae,_0x20069f,_0x2c9969[_0x2731e3(0x550)],_0x193f25['format'],0x0,0x0,_0x33871a,_0x2bc48c,0x0,0x0,_0x1bea2f),_0x2c9969[_0x2731e3(0x9fb)]&&this[_0x2731e3(0xc72)](_0x2c9969,this['_uploadEncoder']),_0x2c9969['isReady']=!0x0;}};class _0x354643 extends _0x5a3cc4(0x22dd)['x']{constructor(_0x4c3740){super(_0x4c3740);}}var _0x273917=_0x5a3cc4(0xf75c),_0xf4cf46=(_0x273917['Q']['prototype'][_0x341c07(0x6c0)]=function(_0x6492c8,_0x518501){var _0x4a70e0=_0x341c07;this[_0x4a70e0(0x57c)][_0x4a70e0(0x6c0)](_0x6492c8,_0x518501);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x6ac)]=function(_0x54d5ee){return new _0x354643(_0x54d5ee);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x6c0)]=function(_0x3d6502,_0x21bd93){var _0x46d8d4=_0x341c07;_0x21bd93?this['_setInternalTexture'](_0x3d6502,_0x21bd93):this[_0x46d8d4(0x504)][_0x46d8d4(0x8f2)](_0x3d6502,null);},_0x5a4d01['f']['prototype'][_0x341c07(0xb2e)]=function(_0x1060c6,_0x4e0ec3=!0x1,_0x240ccb){var _0x20e834=_0x341c07;_0x240ccb&&_0x240ccb();var _0xee5cf8=_0x1060c6[_0x20e834(0x28e)][_0x20e834(0x43c)];this[_0x20e834(0x9c1)]&&this[_0x20e834(0x9c1)]!==this['_mainRenderPassWrapper'][_0x20e834(0x5b5)]&&this[_0x20e834(0x9ac)]();for(let _0x5e36de=0x0;_0x5e36de<_0xee5cf8;_0x5e36de++){var _0x502d37=_0x1060c6['textures'][_0x5e36de];!_0x502d37[_0x20e834(0x9fb)]||_0x4e0ec3||_0x502d37[_0x20e834(0xd30)]||this[_0x20e834(0xc72)](_0x502d37);}this['_currentRenderTarget']=null,this[_0x20e834(0xbb0)]=[],this['_cacheRenderPipeline'][_0x20e834(0xa74)]([]),this[_0x20e834(0x33c)]['setMRTAttachments'](this[_0x20e834(0xbb0)]),this['_currentRenderPass']=this[_0x20e834(0x824)][_0x20e834(0x5b5)],this[_0x20e834(0xac0)](this['_mainRenderPassWrapper']),this[_0x20e834(0xbec)](this['_mainRenderPassWrapper']);},_0x5a4d01['f']['prototype'][_0x341c07(0x964)]=function(_0x5ade07,_0x372331,_0x122f2b){var _0x185a43=_0x341c07,_0x54779a;let _0x5b7c44=!0x1,_0x560156=!0x0,_0x1d3725=!0x1,_0x3b835c=!0x1,_0x2ff473=_0x58d1d4['g'][_0x185a43(0x715)],_0x17ace2=0x1;var _0x22de17=_0x58d1d4['g'][_0x185a43(0x3e7)],_0x51abb7=_0x58d1d4['g']['TEXTURE_TRILINEAR_SAMPLINGMODE'];let _0x3dffc7=new Array(),_0x49250e=new Array(),_0x290a4a=new Array();const _0x2572f9=this[_0x185a43(0x29e)](!0x0,!0x1,_0x5ade07);void 0x0!==_0x372331&&(_0x5b7c44=void 0x0!==_0x372331[_0x185a43(0x9fb)]&&_0x372331[_0x185a43(0x9fb)],_0x560156=void 0x0===_0x372331[_0x185a43(0x5e8)]||_0x372331['generateDepthBuffer'],_0x1d3725=void 0x0!==_0x372331['generateStencilBuffer']&&_0x372331['generateStencilBuffer'],_0x3b835c=void 0x0!==_0x372331['generateDepthTexture']&&_0x372331[_0x185a43(0x98c)],_0x17ace2=_0x372331[_0x185a43(0xc51)]||0x1,_0x2ff473=null!=(_0x54779a=_0x372331[_0x185a43(0x9ba)])?_0x54779a:_0x58d1d4['g'][_0x185a43(0x715)],_0x372331[_0x185a43(0x5c5)]&&(_0x3dffc7=_0x372331[_0x185a43(0x5c5)]),_0x372331[_0x185a43(0xb8c)]&&(_0x49250e=_0x372331['samplingModes']),_0x372331[_0x185a43(0x5b0)]&&(_0x290a4a=_0x372331[_0x185a43(0x5b0)]));var _0x4d5d4b=_0x5ade07[_0x185a43(0x680)]||_0x5ade07,_0x314e09=_0x5ade07[_0x185a43(0x9f8)]||_0x5ade07;let _0x32a6a7=null;(_0x560156||_0x1d3725||_0x3b835c)&&(_0x32a6a7=_0x2572f9[_0x185a43(0x408)](0x0,!0x1,_0x1d3725,0x1,_0x2ff473));const _0x129cde=[],_0x4fe4b4=[],_0x159422=[];_0x2572f9[_0x185a43(0xbb3)]=_0x560156,_0x2572f9[_0x185a43(0x5aa)]=_0x1d3725,_0x2572f9[_0x185a43(0x28e)]=_0x4fe4b4,_0x2572f9[_0x185a43(0x832)]=_0x159422;for(let _0x14cab6=0x0;_0x14cab6<_0x17ace2;_0x14cab6++){let _0x9059d6=_0x49250e[_0x14cab6]||_0x51abb7,_0x45594d=_0x3dffc7[_0x14cab6]||_0x22de17;var _0x4c4fb3=_0x290a4a[_0x14cab6]||!0x1;(_0x45594d===_0x58d1d4['g'][_0x185a43(0x85c)]&&!this['_caps'][_0x185a43(0x5a5)]||_0x45594d===_0x58d1d4['g'][_0x185a43(0xa51)]&&!this[_0x185a43(0xbaf)][_0x185a43(0x435)])&&(_0x9059d6=_0x58d1d4['g']['TEXTURE_NEAREST_SAMPLINGMODE']),_0x45594d!==_0x58d1d4['g'][_0x185a43(0x85c)]||this[_0x185a43(0xbaf)][_0x185a43(0x59a)]||(_0x45594d=_0x58d1d4['g']['TEXTURETYPE_UNSIGNED_INT'],_0x1b5793['Y']['Warn'](_0x185a43(0xb22)));const _0x4c99db=new _0x15ddf2['l'](this,_0x15ddf2['S']['MultiRenderTarget']);_0x129cde[_0x185a43(0x2bd)](_0x4c99db),_0x4fe4b4[_0x185a43(0x2bd)](_0x14cab6+0x1),_0x159422[_0x185a43(0x2bd)](_0x122f2b?_0x14cab6+0x1:0x0===_0x14cab6?0x1:0x0),_0x4c99db['baseWidth']=_0x4d5d4b,_0x4c99db[_0x185a43(0x981)]=_0x314e09,_0x4c99db['width']=_0x4d5d4b,_0x4c99db['height']=_0x314e09,_0x4c99db[_0x185a43(0x3e5)]=!0x0,_0x4c99db['samples']=0x1,_0x4c99db[_0x185a43(0x9fb)]=_0x5b7c44,_0x4c99db[_0x185a43(0x958)]=_0x9059d6,_0x4c99db[_0x185a43(0xa18)]=_0x45594d,_0x4c99db[_0x185a43(0xa12)]=_0x58d1d4['g'][_0x185a43(0x945)],_0x4c99db[_0x185a43(0x22c)]=_0x58d1d4['g']['TEXTURE_CLAMP_ADDRESSMODE'],_0x4c99db[_0x185a43(0x389)]=_0x4c4fb3,this[_0x185a43(0xc26)]['push'](_0x4c99db),this[_0x185a43(0x571)][_0x185a43(0x524)](_0x4c99db);}return _0x32a6a7&&(_0x32a6a7[_0x185a43(0x910)](),_0x129cde[_0x185a43(0x2bd)](_0x32a6a7),this[_0x185a43(0xc26)][_0x185a43(0x2bd)](_0x32a6a7)),_0x2572f9[_0x185a43(0x58b)](_0x129cde),_0x2572f9;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x601)]=function(_0x7e480c,_0x2253d2){var _0x3470ea=_0x341c07;if(!_0x7e480c||!_0x7e480c[_0x3470ea(0x7f0)]||_0x7e480c[_0x3470ea(0x7f0)][0x0][_0x3470ea(0x72f)]===_0x2253d2)return _0x2253d2;var _0x4ce50d=_0x7e480c[_0x3470ea(0x7f0)][_0x3470ea(0x43c)];if(0x0===_0x4ce50d)return 0x1;_0x2253d2=Math[_0x3470ea(0xae6)](_0x2253d2,this['getCaps']()[_0x3470ea(0x2d9)]);for(let _0x4ecfc8=0x0;_0x4ecfc8<_0x4ce50d;++_0x4ecfc8){const _0xe5d85e=_0x7e480c[_0x3470ea(0x7f0)][_0x4ecfc8];this[_0x3470ea(0x571)][_0x3470ea(0xbfd)](_0xe5d85e,_0x2253d2),_0xe5d85e[_0x3470ea(0x72f)]=_0x2253d2;}return _0x7e480c[_0x3470ea(0x673)]&&_0x7e480c[_0x3470ea(0x673)]!==_0x7e480c[_0x3470ea(0x7f0)][_0x7e480c['textures'][_0x3470ea(0x43c)]-0x1]&&(this[_0x3470ea(0x571)][_0x3470ea(0xbfd)](_0x7e480c[_0x3470ea(0x673)],_0x2253d2),_0x7e480c[_0x3470ea(0x673)][_0x3470ea(0x72f)]=_0x2253d2),_0x2253d2;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x662)]=function(_0x295227){var _0x249e5e=_0x341c07;0x0!==_0x295227['length']&&this['_currentRenderTarget']&&(this[_0x249e5e(0xbb0)]=_0x295227,this[_0x249e5e(0x9c1)]&&this[_0x249e5e(0x33c)][_0x249e5e(0x78c)](_0x295227));},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x588)]=function(_0x42237a){var _0x51bbea=_0x341c07;const _0x497d66=[];for(let _0x229ab1=0x0;_0x229ab1<_0x42237a[_0x51bbea(0x43c)];_0x229ab1++)_0x42237a[_0x229ab1]?_0x497d66[_0x51bbea(0x2bd)](_0x229ab1+0x1):_0x497d66[_0x51bbea(0x2bd)](0x0);return _0x497d66;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x41a)]=function(){},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x89f)]=function(){},_0x5a3cc4(0x742a));function _0x2f8637(_0x4d6be8,_0x30ce13,_0x316099,_0x5d70d0){var _0x3ab917=_0x341c07;let _0x307395,_0xbd77ae=0x1;_0x5d70d0===_0x58d1d4['g'][_0x3ab917(0x85c)]?_0x307395=new Float32Array(_0x30ce13*_0x316099*0x4):_0x5d70d0===_0x58d1d4['g']['TEXTURETYPE_HALF_FLOAT']?(_0x307395=new Uint16Array(_0x30ce13*_0x316099*0x4),_0xbd77ae=0x3c00):_0x307395=new(_0x5d70d0===_0x58d1d4['g']['TEXTURETYPE_UNSIGNED_INTEGER']?Uint32Array:Uint8Array)(_0x30ce13*_0x316099*0x4);for(let _0x3780a5=0x0;_0x3780a5<_0x30ce13;_0x3780a5++)for(let _0x37e15e=0x0;_0x37e15e<_0x316099;_0x37e15e++){var _0x56def3=0x3*(_0x37e15e*_0x30ce13+_0x3780a5),_0x486bb2=0x4*(_0x37e15e*_0x30ce13+_0x3780a5);_0x307395[0x0+_0x486bb2]=_0x4d6be8[0x0+_0x56def3],_0x307395[0x1+_0x486bb2]=_0x4d6be8[0x1+_0x56def3],_0x307395[0x2+_0x486bb2]=_0x4d6be8[0x2+_0x56def3],_0x307395[0x3+_0x486bb2]=_0xbd77ae;}return _0x307395;}_0x5a4d01['f']['prototype'][_0x341c07(0x8fb)]=function(){var _0x2f7632=_0x341c07;return this[_0x2f7632(0x61b)][_0x2f7632(0x539)];},_0x5a4d01['f']['prototype'][_0x341c07(0x893)]=function(_0x36bbe1){var _0x3f0c7a=_0x341c07;this[_0x3f0c7a(0x61b)][_0x3f0c7a(0xbab)]=_0x36bbe1&&!!this[_0x3f0c7a(0xbaf)][_0x3f0c7a(0x81c)];},_0x5a4d01['f'][_0x341c07(0x733)]['createQuery']=function(){var _0x2ec36f=_0x341c07;return this['_occlusionQuery'][_0x2ec36f(0x599)]();},_0x5a4d01['f'][_0x341c07(0x733)]['deleteQuery']=function(_0x35a512){var _0x312294=_0x341c07;return this[_0x312294(0x9a4)][_0x312294(0x973)](_0x35a512),this;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0xb1c)]=function(_0x5684f){var _0x446659=_0x341c07;return this[_0x446659(0x9a4)]['isQueryResultAvailable'](_0x5684f);},_0x5a4d01['f']['prototype'][_0x341c07(0x9a2)]=function(_0x1f12b5){var _0x1c68d7=_0x341c07;return this['_occlusionQuery'][_0x1c68d7(0x9a2)](_0x1f12b5);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x363)]=function(_0x569e9e,_0x47f7dc){var _0x1b0f50=_0x341c07,_0x416a86;if(this[_0x1b0f50(0x3b8)])return!!this[_0x1b0f50(0x9a4)]['canBeginQuery']&&(null!=(_0x416a86=this[_0x1b0f50(0x9c1)])&&_0x416a86[_0x1b0f50(0x363)](_0x47f7dc),!0x0);{const _0x71698d=0x0===this[_0x1b0f50(0xd4f)]()?this[_0x1b0f50(0x6ae)]:this[_0x1b0f50(0xce6)];return _0x71698d[_0x1b0f50(0x451)](new _0xf4cf46['GB'](_0x47f7dc)),!0x0;}},_0x5a4d01['f']['prototype'][_0x341c07(0x4dc)]=function(){var _0x4d9037=_0x341c07,_0xe06dfa;if(this[_0x4d9037(0x3b8)])null!=(_0xe06dfa=this[_0x4d9037(0x9c1)])&&_0xe06dfa[_0x4d9037(0x4dc)]();else{const _0x27676d=0x0===this[_0x4d9037(0xd4f)]()?this[_0x4d9037(0x6ae)]:this[_0x4d9037(0xce6)];_0x27676d[_0x4d9037(0x451)](new _0xf4cf46['fw']());}return this;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x608)]=function(_0xa83858,_0x1b346f,_0x5113a7,_0x342638,_0x2b083d,_0x42a151,_0x8f771b,_0xe8d529=null,_0x1372f8=_0x58d1d4['g'][_0x341c07(0x3e7)],_0x17947a=0x0,_0x2a8530=!0x1){var _0xaebcb5=_0x341c07;const _0x11d35e=new _0x15ddf2['l'](this,_0x15ddf2['S']['Raw']);return _0x11d35e[_0xaebcb5(0xcbd)]=_0x1b346f,_0x11d35e[_0xaebcb5(0x981)]=_0x5113a7,_0x11d35e['width']=_0x1b346f,_0x11d35e[_0xaebcb5(0x9f8)]=_0x5113a7,_0x11d35e['format']=_0x342638,_0x11d35e[_0xaebcb5(0x9fb)]=_0x2b083d,_0x11d35e[_0xaebcb5(0x958)]=_0x8f771b,_0x11d35e[_0xaebcb5(0x63a)]=_0x42a151,_0x11d35e[_0xaebcb5(0x61e)]=_0xe8d529,_0x11d35e[_0xaebcb5(0xa18)]=_0x1372f8,_0x11d35e[_0xaebcb5(0x389)]=_0x2a8530,this['_doNotHandleContextLost']||(_0x11d35e[_0xaebcb5(0x6a3)]=_0xa83858),this[_0xaebcb5(0x571)][_0xaebcb5(0x524)](_0x11d35e,_0x1b346f,_0x5113a7,void 0x0,_0x17947a),this[_0xaebcb5(0x9e1)](_0x11d35e,_0xa83858,_0x342638,_0x42a151,_0xe8d529,_0x1372f8,_0x2a8530),this[_0xaebcb5(0xc26)][_0xaebcb5(0x2bd)](_0x11d35e),_0x11d35e;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x9e1)]=function(_0x4303bb,_0x6f251b,_0x4253fb,_0x554099,_0x880037=null,_0x22d8f5=_0x58d1d4['g'][_0x341c07(0x3e7)],_0x26a67b=!0x1){var _0x22f826=_0x341c07;_0x4303bb&&(this[_0x22f826(0x31a)]||(_0x4303bb['_bufferView']=_0x6f251b,_0x4303bb['invertY']=_0x554099,_0x4303bb[_0x22f826(0x61e)]=_0x880037,_0x4303bb[_0x22f826(0x389)]=_0x26a67b),_0x6f251b&&(_0x880037=_0x4303bb[_0x22f826(0xbac)],_0x4253fb===_0x58d1d4['g'][_0x22f826(0x3e3)]&&(_0x6f251b=_0x2f8637(_0x6f251b,_0x4303bb[_0x22f826(0x680)],_0x4303bb[_0x22f826(0x9f8)],_0x22d8f5)),_0x26a67b=new Uint8Array(_0x6f251b[_0x22f826(0x5e7)],_0x6f251b[_0x22f826(0x6b5)],_0x6f251b[_0x22f826(0x6ed)]),this[_0x22f826(0x571)][_0x22f826(0xbd3)](_0x26a67b,_0x4303bb,_0x4303bb[_0x22f826(0x680)],_0x4303bb[_0x22f826(0x9f8)],_0x4303bb[_0x22f826(0x550)],_0x880037[_0x22f826(0x920)],0x0,0x0,_0x554099,!0x1,0x0,0x0),_0x4303bb[_0x22f826(0x9fb)]&&this[_0x22f826(0xc72)](_0x4303bb,this[_0x22f826(0x4fe)])),_0x4303bb['isReady']=!0x0);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x904)]=function(_0x38e571,_0x74b298,_0x546205,_0xc00689,_0x3a5a81,_0x2ba1d3,_0x5d6f6f,_0x37df1b=null){var _0xc1ed60=_0x341c07;const _0x4af0c7=new _0x15ddf2['l'](this,_0x15ddf2['S'][_0xc1ed60(0xaf7)]);return _0xc00689!==_0x58d1d4['g'][_0xc1ed60(0x85c)]||this[_0xc1ed60(0xbaf)][_0xc1ed60(0x5a5)]?_0xc00689!==_0x58d1d4['g'][_0xc1ed60(0xa51)]||this[_0xc1ed60(0xbaf)]['textureHalfFloatLinearFiltering']?_0xc00689!==_0x58d1d4['g'][_0xc1ed60(0x85c)]||this[_0xc1ed60(0xbaf)][_0xc1ed60(0xc60)]?_0xc00689!==_0x58d1d4['g'][_0xc1ed60(0xa51)]||this[_0xc1ed60(0xbaf)][_0xc1ed60(0x359)]||(_0x3a5a81=!0x1,_0x1b5793['Y'][_0xc1ed60(0x46a)](_0xc1ed60(0x2a2))):(_0x3a5a81=!0x1,_0x1b5793['Y'][_0xc1ed60(0x46a)]('Render\x20to\x20float\x20textures\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20forced\x20to\x20false.')):(_0x3a5a81=!0x1,_0x5d6f6f=_0x58d1d4['g']['TEXTURE_NEAREST_SAMPLINGMODE'],_0x1b5793['Y'][_0xc1ed60(0x46a)]('Half\x20float\x20texture\x20filtering\x20is\x20not\x20supported.\x20Mipmap\x20generation\x20and\x20sampling\x20mode\x20are\x20forced\x20to\x20false\x20and\x20TEXTURE_NEAREST_SAMPLINGMODE,\x20respectively.')):(_0x3a5a81=!0x1,_0x5d6f6f=_0x58d1d4['g'][_0xc1ed60(0x6a1)],_0x1b5793['Y']['Warn'](_0xc1ed60(0xa01))),_0x4af0c7['isCube']=!0x0,_0x4af0c7[_0xc1ed60(0x920)]=_0x546205===_0x58d1d4['g']['TEXTUREFORMAT_RGB']?_0x58d1d4['g'][_0xc1ed60(0x719)]:_0x546205,_0x4af0c7[_0xc1ed60(0xa18)]=_0xc00689,_0x4af0c7[_0xc1ed60(0x9fb)]=_0x3a5a81,_0x4af0c7[_0xc1ed60(0x680)]=_0x74b298,_0x4af0c7[_0xc1ed60(0x9f8)]=_0x74b298,_0x4af0c7['samplingMode']=_0x5d6f6f,this['_doNotHandleContextLost']||(_0x4af0c7[_0xc1ed60(0x8e3)]=_0x38e571),_0x4af0c7[_0xc1ed60(0x63a)]=_0x2ba1d3,_0x4af0c7[_0xc1ed60(0x61e)]=_0x37df1b,_0x4af0c7[_0xc1ed60(0xa12)]=_0x58d1d4['g'][_0xc1ed60(0x945)],_0x4af0c7[_0xc1ed60(0x22c)]=_0x58d1d4['g']['TEXTURE_CLAMP_ADDRESSMODE'],this['_textureHelper'][_0xc1ed60(0x524)](_0x4af0c7),_0x38e571&&this['updateRawCubeTexture'](_0x4af0c7,_0x38e571,_0x546205,_0xc00689,_0x2ba1d3,_0x37df1b),_0x4af0c7[_0xc1ed60(0x3e5)]=!0x0,_0x4af0c7;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x492)]=function(_0x85a169,_0x187425,_0x1f0b57,_0x35b793,_0x25a2ee,_0x8144c2=null){var _0x1a121b=_0x341c07;_0x85a169[_0x1a121b(0x8e3)]=_0x187425,_0x85a169[_0x1a121b(0x63a)]=_0x25a2ee,_0x85a169['_compression']=_0x8144c2;var _0x8144c2=_0x85a169[_0x1a121b(0xbac)],_0x1ca441=_0x1f0b57===_0x58d1d4['g'][_0x1a121b(0x3e3)];const _0x50fb70=[];for(let _0x2b2084=0x0;_0x2b2084<_0x187425['length'];++_0x2b2084){let _0x218d19=_0x187425[_0x2b2084];_0x1ca441&&(_0x218d19=_0x2f8637(_0x187425[_0x2b2084],_0x85a169['width'],_0x85a169[_0x1a121b(0x9f8)],_0x35b793)),_0x50fb70['push'](new Uint8Array(_0x218d19[_0x1a121b(0x5e7)],_0x218d19[_0x1a121b(0x6b5)],_0x218d19['byteLength']));}this['_textureHelper'][_0x1a121b(0x5ae)](_0x50fb70,_0x8144c2['underlyingResource'],_0x85a169[_0x1a121b(0x680)],_0x85a169[_0x1a121b(0x9f8)],_0x8144c2['format'],_0x25a2ee,!0x1,0x0,0x0),_0x85a169[_0x1a121b(0x9fb)]&&this[_0x1a121b(0xc72)](_0x85a169,this['_uploadEncoder']),_0x85a169['isReady']=!0x0;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x8ef)]=function(_0x5b55ad,_0x56f459,_0x55701d,_0x426e92,_0x44b1d4,_0x9d91d6,_0x4a6882,_0x52673d,_0xb3a28f=null,_0x1fb97a=null,_0x3d592d=_0x58d1d4['g'][_0x341c07(0xd07)],_0x347abc=!0x1){var _0x34654b=_0x341c07;const _0x55e7d=this[_0x34654b(0x904)](null,_0x55701d,_0x426e92,_0x44b1d4,!_0x9d91d6,_0x347abc,_0x3d592d,null),_0x4b8363=(null!=_0x56f459&&_0x56f459[_0x34654b(0xb87)](_0x55e7d),_0x55e7d[_0x34654b(0x2ce)]=_0x5b55ad,this[_0x34654b(0xc26)]['push'](_0x55e7d),_0x1085e1=>{var _0xc3a238=_0x34654b,_0x4b2b28=_0x55e7d['width'],_0x48d38e=_0x4a6882(_0x1085e1);if(_0x48d38e){var _0x4499a3=[0x0,0x2,0x4,0x1,0x3,0x5];if(_0x52673d){var _0x711495=_0x426e92===_0x58d1d4['g'][_0xc3a238(0x3e3)],_0x525c44=_0x52673d(_0x48d38e),_0x452320=_0x55e7d[_0xc3a238(0xbac)];const _0x1b7133=[0x0,0x1,0x2,0x3,0x4,0x5];for(let _0xed3023=0x0;_0xed3023<_0x525c44[_0xc3a238(0x43c)];_0xed3023++){var _0xa17d=_0x4b2b28>>_0xed3023;const _0x1ac559=[];for(let _0x4a641a=0x0;_0x4a641a<0x6;_0x4a641a++){let _0x266057=_0x525c44[_0xed3023][_0x1b7133[_0x4a641a]];_0x711495&&(_0x266057=_0x2f8637(_0x266057,_0xa17d,_0xa17d,_0x44b1d4)),_0x1ac559[_0xc3a238(0x2bd)](new Uint8Array(_0x266057[_0xc3a238(0x5e7)],_0x266057[_0xc3a238(0x6b5)],_0x266057['byteLength']));}this[_0xc3a238(0x571)]['updateCubeTextures'](_0x1ac559,_0x452320[_0xc3a238(0x8e9)],_0xa17d,_0xa17d,_0x452320['format'],_0x347abc,!0x1,0x0,0x0);}}else{const _0x147ed1=[];for(let _0x92332a=0x0;_0x92332a<0x6;_0x92332a++)_0x147ed1[_0xc3a238(0x2bd)](_0x48d38e[_0x4499a3[_0x92332a]]);this[_0xc3a238(0x492)](_0x55e7d,_0x147ed1,_0x426e92,_0x44b1d4,_0x347abc);}_0x55e7d[_0xc3a238(0x3e5)]=!0x0,null!=_0x56f459&&_0x56f459[_0xc3a238(0x8bc)](_0x55e7d),_0xb3a28f&&_0xb3a28f();}});return this[_0x34654b(0xb37)](_0x5b55ad,_0x199fdd=>{_0x4b8363(_0x199fdd);},void 0x0,null==_0x56f459?void 0x0:_0x56f459[_0x34654b(0x4cb)],!0x0,(_0x15f4fe,_0x285100)=>{var _0x117eb2=_0x34654b;null!=_0x56f459&&_0x56f459[_0x117eb2(0x8bc)](_0x55e7d),_0x1fb97a&&_0x15f4fe&&_0x1fb97a(_0x15f4fe[_0x117eb2(0x5ea)]+'\x20'+_0x15f4fe['statusText'],_0x285100);}),_0x55e7d;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0xae0)]=function(_0x19d1cc,_0xc9a40a,_0x1abb91,_0x5787fc,_0x226d7a,_0x231cd4,_0xd53c59,_0x13f965,_0x5dedfe=null,_0x2fb710=_0x58d1d4['g'][_0x341c07(0x3e7)],_0x3a9fdf=0x0){var _0x57574d=_0x341c07,_0x11190c=_0x15ddf2['S'][_0x57574d(0x369)];const _0x3f564c=new _0x15ddf2['l'](this,_0x11190c);return _0x3f564c[_0x57574d(0xcbd)]=_0xc9a40a,_0x3f564c[_0x57574d(0x981)]=_0x1abb91,_0x3f564c[_0x57574d(0x83c)]=_0x5787fc,_0x3f564c['width']=_0xc9a40a,_0x3f564c[_0x57574d(0x9f8)]=_0x1abb91,_0x3f564c[_0x57574d(0x550)]=_0x5787fc,_0x3f564c[_0x57574d(0x920)]=_0x226d7a,_0x3f564c['type']=_0x2fb710,_0x3f564c[_0x57574d(0x9fb)]=_0x231cd4,_0x3f564c[_0x57574d(0x958)]=_0x13f965,_0x3f564c[_0x57574d(0x208)]=!0x0,this[_0x57574d(0x31a)]||(_0x3f564c[_0x57574d(0x6a3)]=_0x19d1cc),this['_textureHelper'][_0x57574d(0x524)](_0x3f564c,_0xc9a40a,_0x1abb91,void 0x0,_0x3a9fdf),this['updateRawTexture3D'](_0x3f564c,_0x19d1cc,_0x226d7a,_0xd53c59,_0x5dedfe,_0x2fb710),this['_internalTexturesCache'][_0x57574d(0x2bd)](_0x3f564c),_0x3f564c;},_0x5a4d01['f']['prototype'][_0x341c07(0x514)]=function(_0x4048e9,_0x4ee332,_0x18dcc5,_0x31b1b7,_0x4a5862=null,_0x5d70db=_0x58d1d4['g'][_0x341c07(0x3e7)]){var _0xd7aa02=_0x341c07;this[_0xd7aa02(0x31a)]||(_0x4048e9[_0xd7aa02(0x6a3)]=_0x4ee332,_0x4048e9[_0xd7aa02(0x920)]=_0x18dcc5,_0x4048e9['invertY']=_0x31b1b7,_0x4048e9['_compression']=_0x4a5862),_0x4ee332&&(_0x4a5862=_0x4048e9[_0xd7aa02(0xbac)],_0x18dcc5===_0x58d1d4['g'][_0xd7aa02(0x3e3)]&&(_0x4ee332=_0x2f8637(_0x4ee332,_0x4048e9[_0xd7aa02(0x680)],_0x4048e9[_0xd7aa02(0x9f8)],_0x5d70db)),_0x18dcc5=new Uint8Array(_0x4ee332[_0xd7aa02(0x5e7)],_0x4ee332[_0xd7aa02(0x6b5)],_0x4ee332[_0xd7aa02(0x6ed)]),this[_0xd7aa02(0x571)][_0xd7aa02(0xbd3)](_0x18dcc5,_0x4048e9,_0x4048e9['width'],_0x4048e9[_0xd7aa02(0x9f8)],_0x4048e9['depth'],_0x4a5862[_0xd7aa02(0x920)],0x0,0x0,_0x31b1b7,!0x1,0x0,0x0),_0x4048e9[_0xd7aa02(0x9fb)]&&this[_0xd7aa02(0xc72)](_0x4048e9,this[_0xd7aa02(0x4fe)])),_0x4048e9[_0xd7aa02(0x3e5)]=!0x0;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x9c5)]=function(_0x146af9,_0x365a46,_0x139145,_0x3240d6,_0x2caa1a,_0xc9c60a,_0x48148e,_0x513dca,_0xa68dab=null,_0x35a874=_0x58d1d4['g'][_0x341c07(0x3e7)],_0x2854a2=0x0){var _0x2e42c6=_0x341c07,_0x511e60=_0x15ddf2['S'][_0x2e42c6(0x240)];const _0xf2b90d=new _0x15ddf2['l'](this,_0x511e60);return _0xf2b90d[_0x2e42c6(0xcbd)]=_0x365a46,_0xf2b90d['baseHeight']=_0x139145,_0xf2b90d[_0x2e42c6(0x83c)]=_0x3240d6,_0xf2b90d['width']=_0x365a46,_0xf2b90d[_0x2e42c6(0x9f8)]=_0x139145,_0xf2b90d[_0x2e42c6(0x550)]=_0x3240d6,_0xf2b90d[_0x2e42c6(0x920)]=_0x2caa1a,_0xf2b90d[_0x2e42c6(0xa18)]=_0x35a874,_0xf2b90d[_0x2e42c6(0x9fb)]=_0xc9c60a,_0xf2b90d[_0x2e42c6(0x958)]=_0x513dca,_0xf2b90d[_0x2e42c6(0xc21)]=!0x0,this[_0x2e42c6(0x31a)]||(_0xf2b90d[_0x2e42c6(0x6a3)]=_0x146af9),this[_0x2e42c6(0x571)][_0x2e42c6(0x524)](_0xf2b90d,_0x365a46,_0x139145,_0x3240d6,_0x2854a2),this[_0x2e42c6(0x3c5)](_0xf2b90d,_0x146af9,_0x2caa1a,_0x48148e,_0xa68dab,_0x35a874),this['_internalTexturesCache'][_0x2e42c6(0x2bd)](_0xf2b90d),_0xf2b90d;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x3c5)]=function(_0x38a54d,_0x33d2cf,_0x5ac110,_0x457539,_0x5c1dd9=null,_0x769245=_0x58d1d4['g']['TEXTURETYPE_UNSIGNED_INT']){var _0xdbec43=_0x341c07;this['_doNotHandleContextLost']||(_0x38a54d[_0xdbec43(0x6a3)]=_0x33d2cf,_0x38a54d['format']=_0x5ac110,_0x38a54d['invertY']=_0x457539,_0x38a54d[_0xdbec43(0x61e)]=_0x5c1dd9),_0x33d2cf&&(_0x5c1dd9=_0x38a54d[_0xdbec43(0xbac)],_0x5ac110===_0x58d1d4['g'][_0xdbec43(0x3e3)]&&(_0x33d2cf=_0x2f8637(_0x33d2cf,_0x38a54d['width'],_0x38a54d[_0xdbec43(0x9f8)],_0x769245)),_0x5ac110=new Uint8Array(_0x33d2cf['buffer'],_0x33d2cf[_0xdbec43(0x6b5)],_0x33d2cf['byteLength']),this['_textureHelper'][_0xdbec43(0xbd3)](_0x5ac110,_0x38a54d,_0x38a54d[_0xdbec43(0x680)],_0x38a54d[_0xdbec43(0x9f8)],_0x38a54d['depth'],_0x5c1dd9[_0xdbec43(0x920)],0x0,0x0,_0x457539,!0x1,0x0,0x0),_0x38a54d[_0xdbec43(0x9fb)]&&this[_0xdbec43(0xc72)](_0x38a54d,this[_0xdbec43(0x4fe)])),_0x38a54d[_0xdbec43(0x3e5)]=!0x0;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x8ad)]=function(_0x360a44,_0x235938,_0x4ecd1a,_0x39aa7d=-0x1,_0x51e522=0x0,_0x3a215b=null,_0x284ced=!0x0,_0x5eeb71=!0x1,_0x13bec2=0x0,_0x4f9d31=0x0){var _0x1abd56=_0x341c07;return _0x360a44=_0x360a44[_0x1abd56(0xbac)],(_0x284ced&&this[_0x1abd56(0x351)](),this[_0x1abd56(0x571)]['readPixels'](_0x360a44[_0x1abd56(0x8e9)],_0x13bec2,_0x4f9d31,_0x235938,_0x4ecd1a,_0x360a44[_0x1abd56(0x920)],_0x39aa7d,_0x51e522,_0x3a215b,_0x5eeb71));},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x5d8)]=function(){throw'_readTexturePixelsSync\x20is\x20unsupported\x20in\x20WebGPU!';};class _0x4300b0 extends _0x5a3cc4(0x758)['r']{}_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x29e)]=function(_0x50807e,_0x367e5e,_0x2faa19){return _0x50807e=new _0x4300b0(_0x50807e,_0x367e5e,_0x2faa19,this),(this['_renderTargetWrapperCache']['push'](_0x50807e),_0x50807e);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x566)]=function(_0x16ef7b,_0xd46c61){var _0x51f752=_0x341c07,_0xf924aa;const _0x38d7af=this[_0x51f752(0x29e)](!0x1,!0x1,_0x16ef7b),_0x3ebdea={},_0x2c07b4=(void 0x0!==_0xd46c61&&'object'==typeof _0xd46c61?(_0x3ebdea[_0x51f752(0x9fb)]=_0xd46c61[_0x51f752(0x9fb)],_0x3ebdea[_0x51f752(0x5e8)]=void 0x0===_0xd46c61[_0x51f752(0x5e8)]||_0xd46c61[_0x51f752(0x5e8)],_0x3ebdea['generateStencilBuffer']=_0x3ebdea[_0x51f752(0x5e8)]&&_0xd46c61[_0x51f752(0x91f)],_0x3ebdea['samplingMode']=void 0x0===_0xd46c61[_0x51f752(0x958)]?_0x58d1d4['g'][_0x51f752(0xd07)]:_0xd46c61[_0x51f752(0x958)],_0x3ebdea[_0x51f752(0xbf3)]=null!=(_0xf924aa=_0xd46c61[_0x51f752(0xbf3)])?_0xf924aa:0x0,_0x3ebdea[_0x51f752(0x1da)]=!!_0xd46c61[_0x51f752(0x1da)],_0x3ebdea[_0x51f752(0x72f)]=_0xd46c61['samples']):(_0x3ebdea[_0x51f752(0x9fb)]=_0xd46c61,_0x3ebdea['generateDepthBuffer']=!0x0,_0x3ebdea['generateStencilBuffer']=!0x1,_0x3ebdea['samplingMode']=_0x58d1d4['g'][_0x51f752(0xd07)],_0x3ebdea['creationFlags']=0x0,_0x3ebdea['noColorAttachment']=!0x1),_0x3ebdea[_0x51f752(0x1da)]?null:this[_0x51f752(0x7fb)](_0x16ef7b,_0xd46c61,!0x0,_0x15ddf2['S']['RenderTarget']));return _0x38d7af[_0x51f752(0x793)]=null!=(_0xf924aa=_0x3ebdea[_0x51f752(0x72f)])?_0xf924aa:0x1,_0x38d7af[_0x51f752(0xbb3)]=_0x3ebdea[_0x51f752(0x5e8)],_0x38d7af[_0x51f752(0x5aa)]=!!_0x3ebdea[_0x51f752(0x91f)],_0x38d7af['setTextures'](_0x2c07b4),(_0x38d7af['_generateDepthBuffer']||_0x38d7af[_0x51f752(0x5aa)])&&_0x38d7af[_0x51f752(0x408)](0x0,this[_0x51f752(0xbaf)][_0x51f752(0x5a5)]&&(void 0x0===_0x3ebdea[_0x51f752(0x958)]||_0x3ebdea[_0x51f752(0x958)]===_0x58d1d4['g'][_0x51f752(0x3d0)]||_0x3ebdea[_0x51f752(0x958)]===_0x58d1d4['g']['TEXTURE_LINEAR_LINEAR']||_0x3ebdea[_0x51f752(0x958)]===_0x58d1d4['g'][_0x51f752(0xd07)]||_0x3ebdea[_0x51f752(0x958)]===_0x58d1d4['g'][_0x51f752(0xc80)]||_0x3ebdea[_0x51f752(0x958)]===_0x58d1d4['g'][_0x51f752(0x9cf)]||_0x3ebdea[_0x51f752(0x958)]===_0x58d1d4['g']['TEXTURE_NEAREST_LINEAR_MIPLINEAR']||_0x3ebdea[_0x51f752(0x958)]===_0x58d1d4['g'][_0x51f752(0xbe5)]||_0x3ebdea[_0x51f752(0x958)]===_0x58d1d4['g'][_0x51f752(0xb07)]),_0x38d7af[_0x51f752(0x5aa)],_0x38d7af[_0x51f752(0x72f)],_0x3ebdea[_0x51f752(0x91f)]?_0x58d1d4['g'][_0x51f752(0x684)]:_0x58d1d4['g'][_0x51f752(0x1fa)]),_0x2c07b4&&(void 0x0!==_0xd46c61&&_0x51f752(0x413)==typeof _0xd46c61&&_0xd46c61[_0x51f752(0x51d)]&&!_0x3ebdea[_0x51f752(0x9fb)]&&(_0x2c07b4[_0x51f752(0x9fb)]=!0x0),this[_0x51f752(0x571)][_0x51f752(0x524)](_0x2c07b4,void 0x0,void 0x0,void 0x0,_0x3ebdea[_0x51f752(0xbf3)]),void 0x0!==_0xd46c61&&'object'==typeof _0xd46c61&&_0xd46c61['createMipMaps']&&!_0x3ebdea[_0x51f752(0x9fb)]&&(_0x2c07b4['generateMipMaps']=!0x1)),_0x38d7af;},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x42f)]=function(_0x4e1e20,_0x5692ea){var _0x5d2f6f=_0x341c07;const _0x1e0811=new _0x15ddf2['l'](this,_0x15ddf2['S']['DepthStencil']);return _0x5692ea=Object[_0x5d2f6f(0xc30)]({'bilinearFiltering':!0x1,'comparisonFunction':0x0,'generateStencil':!0x1,'samples':0x1,'depthTextureFormat':_0x5692ea['generateStencil']?_0x58d1d4['g'][_0x5d2f6f(0x684)]:_0x58d1d4['g'][_0x5d2f6f(0x1fa)]},_0x5692ea),(_0x1e0811['format']=_0x5692ea[_0x5d2f6f(0x9ba)],this[_0x5d2f6f(0x775)](_0x1e0811,_0x4e1e20,_0x5692ea['generateStencil'],_0x5692ea[_0x5d2f6f(0x99d)],_0x5692ea[_0x5d2f6f(0x3f5)],_0x5692ea[_0x5d2f6f(0x72f)]),this[_0x5d2f6f(0x571)]['createGPUTextureForInternalTexture'](_0x1e0811),this[_0x5d2f6f(0xc26)][_0x5d2f6f(0x2bd)](_0x1e0811),_0x1e0811);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x775)]=function(_0x51662e,_0x31fe27,_0x1f0c50,_0x8f65e,_0x342e63,_0xf2b07d=0x1){var _0x256ee3=_0x341c07,_0x558bd5=_0x31fe27[_0x256ee3(0x680)]||_0x31fe27,_0x5ad061=_0x31fe27[_0x256ee3(0x9f8)]||_0x31fe27,_0x31fe27=_0x31fe27[_0x256ee3(0x2d8)]||0x0;_0x51662e[_0x256ee3(0xcbd)]=_0x558bd5,_0x51662e[_0x256ee3(0x981)]=_0x5ad061,_0x51662e[_0x256ee3(0x680)]=_0x558bd5,_0x51662e[_0x256ee3(0x9f8)]=_0x5ad061,_0x51662e[_0x256ee3(0xc21)]=0x0<_0x31fe27,_0x51662e[_0x256ee3(0x550)]=_0x31fe27,_0x51662e[_0x256ee3(0x3e5)]=!0x0,_0x51662e[_0x256ee3(0x72f)]=_0xf2b07d,_0x51662e[_0x256ee3(0x9fb)]=!0x1,_0x51662e[_0x256ee3(0x958)]=_0x8f65e?_0x58d1d4['g'][_0x256ee3(0x3d0)]:_0x58d1d4['g'][_0x256ee3(0x6a1)],_0x51662e[_0x256ee3(0xa18)]=_0x58d1d4['g'][_0x256ee3(0x85c)],_0x51662e[_0x256ee3(0xb4b)]=_0x342e63,_0x51662e[_0x256ee3(0xa12)]=_0x58d1d4['g'][_0x256ee3(0x945)],_0x51662e[_0x256ee3(0x22c)]=_0x58d1d4['g'][_0x256ee3(0x945)];},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0xcdd)]=function(_0x3f9e06,_0x3cad63){var _0x43fbe4=_0x341c07;return _0x3f9e06&&_0x3f9e06[_0x43fbe4(0x20b)]&&_0x3f9e06[_0x43fbe4(0x72f)]!==_0x3cad63?(_0x3cad63=Math[_0x43fbe4(0xae6)](_0x3cad63,this[_0x43fbe4(0x780)]()[_0x43fbe4(0x2d9)]),this['_textureHelper'][_0x43fbe4(0xbfd)](_0x3f9e06['texture'],_0x3cad63),_0x3f9e06[_0x43fbe4(0x673)]&&(this[_0x43fbe4(0x571)][_0x43fbe4(0xbfd)](_0x3f9e06[_0x43fbe4(0x673)],_0x3cad63),_0x3f9e06[_0x43fbe4(0x673)][_0x43fbe4(0x72f)]=_0x3cad63),_0x3f9e06[_0x43fbe4(0x793)]=_0x3cad63,_0x3f9e06['texture'][_0x43fbe4(0x72f)]=_0x3cad63):_0x3cad63;},_0x5a4d01['f']['prototype']['createRenderTargetCubeTexture']=function(_0x294111,_0x32f412){var _0x5e5c17=_0x341c07;const _0x462377=this[_0x5e5c17(0x29e)](!0x1,!0x0,_0x294111),_0x234ef4=Object[_0x5e5c17(0xc30)]({'generateMipMaps':!0x0,'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'type':_0x58d1d4['g']['TEXTURETYPE_UNSIGNED_INT'],'samplingMode':_0x58d1d4['g'][_0x5e5c17(0xd07)],'format':_0x58d1d4['g'][_0x5e5c17(0x719)],'samples':0x1},_0x32f412),_0x11b632=(_0x234ef4[_0x5e5c17(0x91f)]=_0x234ef4[_0x5e5c17(0x5e8)]&&_0x234ef4[_0x5e5c17(0x91f)],_0x462377['_generateDepthBuffer']=_0x234ef4['generateDepthBuffer'],_0x462377[_0x5e5c17(0x5aa)]=_0x234ef4[_0x5e5c17(0x91f)],new _0x15ddf2['l'](this,_0x15ddf2['S'][_0x5e5c17(0xc61)]));return _0x11b632[_0x5e5c17(0x680)]=_0x294111,_0x11b632[_0x5e5c17(0x9f8)]=_0x294111,_0x11b632[_0x5e5c17(0x550)]=0x0,_0x11b632['isReady']=!0x0,_0x11b632[_0x5e5c17(0xd30)]=!0x0,_0x11b632[_0x5e5c17(0x72f)]=_0x234ef4['samples'],_0x11b632[_0x5e5c17(0x9fb)]=_0x234ef4['generateMipMaps'],_0x11b632[_0x5e5c17(0x958)]=_0x234ef4[_0x5e5c17(0x958)],_0x11b632[_0x5e5c17(0xa18)]=_0x234ef4['type'],_0x11b632[_0x5e5c17(0x920)]=_0x234ef4[_0x5e5c17(0x920)],this['_internalTexturesCache'][_0x5e5c17(0x2bd)](_0x11b632),_0x462377[_0x5e5c17(0x58b)](_0x11b632),(_0x462377['_generateDepthBuffer']||_0x462377[_0x5e5c17(0x5aa)])&&_0x462377[_0x5e5c17(0x408)](0x0,void 0x0===_0x234ef4['samplingMode']||_0x234ef4[_0x5e5c17(0x958)]===_0x58d1d4['g'][_0x5e5c17(0x3d0)]||_0x234ef4[_0x5e5c17(0x958)]===_0x58d1d4['g']['TEXTURE_LINEAR_LINEAR']||_0x234ef4['samplingMode']===_0x58d1d4['g']['TEXTURE_TRILINEAR_SAMPLINGMODE']||_0x234ef4[_0x5e5c17(0x958)]===_0x58d1d4['g'][_0x5e5c17(0xc80)]||_0x234ef4[_0x5e5c17(0x958)]===_0x58d1d4['g']['TEXTURE_NEAREST_LINEAR_MIPNEAREST']||_0x234ef4['samplingMode']===_0x58d1d4['g']['TEXTURE_NEAREST_LINEAR_MIPLINEAR']||_0x234ef4[_0x5e5c17(0x958)]===_0x58d1d4['g'][_0x5e5c17(0xbe5)]||_0x234ef4[_0x5e5c17(0x958)]===_0x58d1d4['g'][_0x5e5c17(0xb07)],_0x462377['_generateStencilBuffer'],_0x462377['samples']),_0x32f412&&_0x32f412[_0x5e5c17(0x51d)]&&!_0x234ef4[_0x5e5c17(0x9fb)]&&(_0x11b632[_0x5e5c17(0x9fb)]=!0x0),this[_0x5e5c17(0x571)][_0x5e5c17(0x524)](_0x11b632),_0x32f412&&_0x32f412[_0x5e5c17(0x51d)]&&!_0x234ef4[_0x5e5c17(0x9fb)]&&(_0x11b632[_0x5e5c17(0x9fb)]=!0x1),_0x462377;},_0x273917['Q'][_0x341c07(0x733)][_0x341c07(0x66d)]=function(_0x28882f,_0x3eac65){var _0x4d6216=_0x341c07;this[_0x4d6216(0x57c)]['setTextureSampler'](_0x28882f,_0x3eac65);},_0x5a4d01['f'][_0x341c07(0x733)]['setTextureSampler']=function(_0xdf7bb,_0x3509fd){var _0x5d0e12=_0x341c07,_0x561323;null!=(_0x561323=this[_0x5d0e12(0x504)])&&_0x561323[_0x5d0e12(0xb25)](_0xdf7bb,_0x3509fd);},_0x273917['Q'][_0x341c07(0x733)]['setStorageBuffer']=function(_0x18a1c2,_0x298faa){var _0x5575a0=_0x341c07;this[_0x5575a0(0x57c)]['setStorageBuffer'](_0x18a1c2,_0x298faa);},_0x5a4d01['f'][_0x341c07(0x733)]['createStorageBuffer']=function(_0x432744,_0x28f99a){var _0x5e6fa5=_0x341c07;return this['_createBuffer'](_0x432744,_0x28f99a|_0x58d1d4['g'][_0x5e6fa5(0x985)]);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x542)]=function(_0x56e184,_0x5e798b,_0x58405d,_0x26b205){var _0x132e6c=_0x341c07;void 0x0===_0x58405d&&(_0x58405d=0x0);let _0x3df994;void 0x0===_0x26b205?_0x26b205=(_0x3df994=_0x5e798b instanceof Array?new Float32Array(_0x5e798b):_0x5e798b instanceof ArrayBuffer?new Uint8Array(_0x5e798b):_0x5e798b)[_0x132e6c(0x6ed)]:_0x3df994=_0x5e798b instanceof Array?new Float32Array(_0x5e798b):_0x5e798b instanceof ArrayBuffer?new Uint8Array(_0x5e798b):_0x5e798b,this[_0x132e6c(0x3a0)]['setSubData'](_0x56e184,_0x58405d,_0x3df994,0x0,_0x26b205);},_0x5a4d01['f'][_0x341c07(0x733)]['readFromStorageBuffer']=function(_0x2d4f2c,_0x367912,_0x2bd951,_0x6f8022){var _0x51c43d=_0x341c07;_0x2bd951=_0x2bd951||_0x2d4f2c[_0x51c43d(0x8b9)];const _0x1be9ee=this[_0x51c43d(0x3a0)][_0x51c43d(0xa04)](_0x2bd951,_0x35e58f['FB'][_0x51c43d(0xc18)]|_0x35e58f['FB']['CopyDst']);return this['_renderTargetEncoder'][_0x51c43d(0xa3f)](_0x2d4f2c[_0x51c43d(0x8e9)],null!=_0x367912?_0x367912:0x0,_0x1be9ee,0x0,_0x2bd951),new Promise((_0x19e7ec,_0x34dfb6)=>{var _0x518f92=_0x51c43d;this[_0x518f92(0x1c9)][_0x518f92(0xa71)](()=>{var _0x1e4569=_0x518f92;_0x1be9ee['mapAsync'](_0x35e58f['gc'][_0x1e4569(0x1f6)],0x0,_0x2bd951)[_0x1e4569(0x40d)](()=>{var _0x7a8ba0=_0x1e4569,_0x2fc445=_0x1be9ee[_0x7a8ba0(0x29a)](0x0,_0x2bd951);let _0x5a5788=_0x6f8022;if(void 0x0===_0x5a5788)(_0x5a5788=new Uint8Array(_0x2bd951))[_0x7a8ba0(0x3ee)](new Uint8Array(_0x2fc445));else{const _0x10ca7f=_0x5a5788[_0x7a8ba0(0xc12)];(_0x5a5788=new _0x10ca7f(_0x5a5788[_0x7a8ba0(0x5e7)]))['set'](new _0x10ca7f(_0x2fc445));}_0x1be9ee[_0x7a8ba0(0x652)](),this[_0x7a8ba0(0x3a0)]['releaseBuffer'](_0x1be9ee),_0x19e7ec(_0x5a5788);},_0xb30688=>_0x34dfb6(_0xb30688));});});},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0xcf0)]=function(_0x13c010,_0x522706){var _0x1cfd40=_0x341c07,_0x28ba2a;null!=(_0x28ba2a=this[_0x1cfd40(0x9a5)])&&_0x28ba2a['setBuffer'](_0x13c010,null!=(_0x28ba2a=null==_0x522706?void 0x0:_0x522706[_0x1cfd40(0x6c1)]())?_0x28ba2a:null);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0xb53)]=function(_0x5299ef){var _0x40eca9=_0x341c07;return _0x5299ef=_0x5299ef instanceof Array?new Float32Array(_0x5299ef):_0x5299ef,this[_0x40eca9(0x3a0)][_0x40eca9(0xa19)](_0x5299ef,_0x35e58f['FB'][_0x40eca9(0x2c1)]|_0x35e58f['FB'][_0x40eca9(0x207)]);},_0x5a4d01['f']['prototype'][_0x341c07(0x9b3)]=function(_0x53c055){var _0x15175d=_0x341c07;return this[_0x15175d(0xb53)](_0x53c055);},_0x5a4d01['f']['prototype'][_0x341c07(0x250)]=function(_0x2c9412,_0x2f718b,_0xc4eeb0,_0x24a1c1){var _0x2b62ef=_0x341c07;void 0x0===_0xc4eeb0&&(_0xc4eeb0=0x0);let _0x460c84;void 0x0===_0x24a1c1?_0x24a1c1=(_0x460c84=_0x2f718b instanceof Float32Array?_0x2f718b:new Float32Array(_0x2f718b))[_0x2b62ef(0x6ed)]:_0x460c84=_0x2f718b instanceof Float32Array?_0x2f718b:new Float32Array(_0x2f718b),this[_0x2b62ef(0x3a0)][_0x2b62ef(0xa9b)](_0x2c9412,_0xc4eeb0,_0x460c84,0x0,_0x24a1c1);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x810)]=function(_0x2db24e,_0x6fd593,_0x3bc87f){var _0x1fbeac=_0x341c07;this[_0x1fbeac(0x9a5)][_0x1fbeac(0x244)](_0x3bc87f,_0x2db24e);},_0x5a4d01['f'][_0x341c07(0x733)][_0x341c07(0x9eb)]=function(){},_0x5a4d01['f'][_0x341c07(0x733)]['updateVideoTexture']=function(_0x3f12c5,_0x8db07a,_0xfa63ef){var _0x5a6ad5=_0x341c07,_0x41580e;if(_0x3f12c5&&!_0x3f12c5[_0x5a6ad5(0xa5d)]){void 0x0===this['_videoTextureSupported']&&(this[_0x5a6ad5(0x48f)]=!0x0);let _0x529182=_0x3f12c5[_0x5a6ad5(0xbac)];null!=(_0x41580e=_0x3f12c5[_0x5a6ad5(0xbac)])&&_0x41580e[_0x5a6ad5(0x8e9)]||(_0x529182=this['_textureHelper']['createGPUTextureForInternalTexture'](_0x3f12c5)),_0x8db07a&&void 0x0!==_0x8db07a[_0x5a6ad5(0x8e9)]?(this[_0x5a6ad5(0x571)][_0x5a6ad5(0xad1)](_0x8db07a,_0x3f12c5,_0x529182[_0x5a6ad5(0x920)],!_0xfa63ef),_0x3f12c5['generateMipMaps']&&this['_generateMipmaps'](_0x3f12c5,this[_0x5a6ad5(0x4fe)]),_0x3f12c5['isReady']=!0x0):_0x8db07a&&this[_0x5a6ad5(0x543)](_0x8db07a)[_0x5a6ad5(0x40d)](_0x1727c7=>{var _0x42eaa7=_0x5a6ad5;this[_0x42eaa7(0x571)][_0x42eaa7(0xbd3)](_0x1727c7,_0x3f12c5,_0x3f12c5[_0x42eaa7(0x680)],_0x3f12c5[_0x42eaa7(0x9f8)],_0x3f12c5[_0x42eaa7(0x550)],_0x529182[_0x42eaa7(0x920)],0x0,0x0,!_0xfa63ef,!0x1,0x0,0x0),_0x3f12c5[_0x42eaa7(0x9fb)]&&this[_0x42eaa7(0xc72)](_0x3f12c5,this[_0x42eaa7(0x4fe)]),_0x3f12c5[_0x42eaa7(0x3e5)]=!0x0;})[_0x5a6ad5(0x283)](()=>{_0x3f12c5['isReady']=!0x0;});}};},0x11376:(_0x120ef7,_0xa86b04,_0x18c507)=>{var _0x436c20=a6_0x5e3a36;_0x18c507['d'](_0xa86b04,{'V':()=>_0x698e3f});var _0x5c9f1c=_0x18c507(0x5e45),_0x2a4864=_0x18c507(0x13869),_0x5aeab0=_0x18c507(0x77a5),_0x315487=_0x18c507(0x3c27),_0x1c4de5=_0x18c507(0x89a1);class _0x698e3f{constructor(_0x70c4b9){var _0x37999f=a6_0x4d3f;this[_0x37999f(0xd5d)]=[],this[_0x37999f(0x8e4)]=_0x70c4b9;}static['_IsGPUBuffer'](_0x1abe4c){var _0x5865a7=a6_0x4d3f;return void 0x0===_0x1abe4c[_0x5865a7(0x8e9)];}[_0x436c20(0xa04)](_0xdca21a,_0x551dd1,_0x2ecd55=!0x1){var _0x47729f=_0x436c20;return _0xdca21a=void 0x0!==_0xdca21a['byteLength']?_0xdca21a['byteLength']+0x3&-0x4:_0xdca21a+0x3&-0x4,this[_0x47729f(0x8e4)][_0x47729f(0xa19)]({'mappedAtCreation':_0x2ecd55,'size':_0xdca21a,'usage':_0x551dd1});}['createBuffer'](_0x177fce,_0x36dc54){var _0x151fbb=_0x436c20,_0xccc3eb=void 0x0!==_0x177fce['byteLength'],_0x36dc54=this['createRawBuffer'](_0x177fce,_0x36dc54);const _0x5c677e=new _0x5c9f1c['C'](_0x36dc54);return _0x5c677e['references']=0x1,_0x5c677e['capacity']=_0xccc3eb?_0x177fce[_0x151fbb(0x6ed)]:_0x177fce,_0xccc3eb&&this[_0x151fbb(0xa9b)](_0x5c677e,0x0,_0x177fce),_0x5c677e;}[_0x436c20(0x786)](_0x9cce01,_0x138287,_0x4ec719,_0xbc3bee,_0x52ce01){var _0x3f4b98=_0x436c20;this['_device'][_0x3f4b98(0x4a6)]['writeBuffer'](_0x9cce01,_0x138287,_0x4ec719[_0x3f4b98(0x5e7)],_0xbc3bee,_0x52ce01);}[_0x436c20(0xa9b)](_0x55822c,_0x76f287,_0x2c8c81,_0x68bbb5=0x0,_0x485381=0x0){var _0x53385b=_0x436c20,_0x1f83fe=_0x55822c[_0x53385b(0x8e9)];_0x485381=_0x485381||_0x2c8c81['byteLength'],_0x485381=Math[_0x53385b(0xae6)](_0x485381,_0x55822c[_0x53385b(0x8b9)]-_0x76f287);let _0x4a3545=_0x2c8c81[_0x53385b(0x6b5)]+_0x68bbb5,_0x683423=_0x4a3545+_0x485381;var _0xb2f7d9,_0x55822c=_0x485381+0x3&-0x4,_0x322692=(_0x55822c!==_0x485381&&(_0xb2f7d9=new Uint8Array(_0x2c8c81[_0x53385b(0x5e7)][_0x53385b(0x98e)](_0x4a3545,_0x683423)),(_0x2c8c81=new Uint8Array(_0x55822c))[_0x53385b(0x3ee)](_0xb2f7d9),_0x68bbb5=0x0,_0x4a3545=0x0,_0x485381=_0x683423=_0x55822c),0xf00000);let _0x578135=0x0;for(;_0x683423-(_0x4a3545+_0x578135)>_0x322692;)this[_0x53385b(0x8e4)][_0x53385b(0x4a6)][_0x53385b(0xa28)](_0x1f83fe,_0x76f287+_0x578135,_0x2c8c81[_0x53385b(0x5e7)],_0x4a3545+_0x578135,_0x322692),_0x578135+=_0x322692;this[_0x53385b(0x8e4)][_0x53385b(0x4a6)]['writeBuffer'](_0x1f83fe,_0x76f287+_0x578135,_0x2c8c81[_0x53385b(0x5e7)],_0x4a3545+_0x578135,_0x485381-_0x578135);}[_0x436c20(0x261)](_0x281f0a,_0x4db4dd,_0x5d05b4){_0x5d05b4=_0x5d05b4||new Float32Array(_0x281f0a);for(var _0x3ea6ce=new Uint16Array(_0x4db4dd);_0x281f0a--;)_0x5d05b4[_0x281f0a]=(0x0,_0x2a4864['qZ'])(_0x3ea6ce[_0x281f0a]);return _0x5d05b4;}[_0x436c20(0x8d8)](_0x15287d,_0x56151e,_0x2d86a7,_0x5eb5d1,_0x2d125b,_0x28c81a,_0x3284f6=_0x5aeab0['g']['TEXTURETYPE_UNSIGNED_BYTE'],_0x1501ce=0x0,_0x545b73=null,_0x83d450=!0x0,_0x202140=!0x1){var _0x3b4bcf=_0x436c20;const _0x4b9e6f=_0x3284f6===_0x5aeab0['g'][_0x3b4bcf(0x85c)]?0x2:_0x3284f6===_0x5aeab0['g'][_0x3b4bcf(0xa51)]?0x1:0x0;return new Promise((_0x58017f,_0x20d0f7)=>{var _0x35ffdd=_0x3b4bcf;_0x15287d[_0x35ffdd(0x308)](_0x1c4de5['gc']['Read'],_0x1501ce,_0x56151e)[_0x35ffdd(0x40d)](()=>{var _0x231d6f=_0x35ffdd,_0x538e7b=_0x15287d[_0x231d6f(0x29a)](_0x1501ce,_0x56151e);let _0x28dc28=_0x545b73;if(_0x202140)_0x28dc28=null===_0x28dc28?(0x0,_0x315487['A'])(_0x3284f6,_0x56151e,!0x0,_0x538e7b):(0x0,_0x315487['A'])(_0x3284f6,_0x28dc28[_0x231d6f(0x5e7)],void 0x0,_0x538e7b);else{if(null===_0x28dc28)switch(_0x4b9e6f){case 0x0:(_0x28dc28=new Uint8Array(_0x56151e))[_0x231d6f(0x3ee)](new Uint8Array(_0x538e7b));break;case 0x1:_0x28dc28=this[_0x231d6f(0x261)](_0x56151e/0x2,_0x538e7b);break;case 0x2:(_0x28dc28=new Float32Array(_0x56151e/0x4))[_0x231d6f(0x3ee)](new Float32Array(_0x538e7b));}else switch(_0x4b9e6f){case 0x0:(_0x28dc28=new Uint8Array(_0x28dc28['buffer']))[_0x231d6f(0x3ee)](new Uint8Array(_0x538e7b));break;case 0x1:_0x28dc28=this[_0x231d6f(0x261)](_0x56151e/0x2,_0x538e7b,_0x545b73);break;case 0x2:(_0x28dc28=new Float32Array(_0x28dc28[_0x231d6f(0x5e7)]))[_0x231d6f(0x3ee)](new Float32Array(_0x538e7b));}}if(_0x2d125b!==_0x28c81a){0x1!=_0x4b9e6f||_0x202140||(_0x2d125b*=0x2,_0x28c81a*=0x2);const _0x2a5397=new Uint8Array(_0x28dc28[_0x231d6f(0x5e7)]);let _0x52c5bf=_0x2d125b,_0x5dd6cd=0x0;for(let _0x250ec2=0x1;_0x250ec2<_0x5eb5d1;++_0x250ec2){_0x5dd6cd=_0x250ec2*_0x28c81a;for(let _0x3ebd88=0x0;_0x3ebd88<_0x2d125b;++_0x3ebd88)_0x2a5397[_0x52c5bf++]=_0x2a5397[_0x5dd6cd++];}_0x28dc28=0x0==_0x4b9e6f||_0x202140?new Uint8Array(_0x2a5397[_0x231d6f(0x5e7)],0x0,_0x52c5bf):new Float32Array(_0x2a5397[_0x231d6f(0x5e7)],0x0,_0x52c5bf/0x4);}_0x15287d[_0x231d6f(0x652)](),_0x83d450&&this[_0x231d6f(0xa49)](_0x15287d),_0x58017f(_0x28dc28);},_0x2cc690=>_0x20d0f7(_0x2cc690));});}[_0x436c20(0xa49)](_0x74ba17){var _0x14d6ba=_0x436c20;return _0x698e3f[_0x14d6ba(0xba5)](_0x74ba17)?(this['_deferredReleaseBuffers'][_0x14d6ba(0x2bd)](_0x74ba17),!0x0):(_0x74ba17['references']--,0x0===_0x74ba17[_0x14d6ba(0x713)]&&(this['_deferredReleaseBuffers'][_0x14d6ba(0x2bd)](_0x74ba17[_0x14d6ba(0x8e9)]),!0x0));}[_0x436c20(0x6da)](){var _0x1bd1ec=_0x436c20;for(let _0xe605fa=0x0;_0xe605fa<this[_0x1bd1ec(0xd5d)][_0x1bd1ec(0x43c)];++_0xe605fa)this['_deferredReleaseBuffers'][_0xe605fa]['destroy']();this[_0x1bd1ec(0xd5d)][_0x1bd1ec(0x43c)]=0x0;}}},0x742a:(_0x323c5b,_0x872f60,_0x45d387)=>{var _0x3e19ac=a6_0x5e3a36;_0x45d387['d'](_0x872f60,{'GB':()=>_0x13464f,'fv':()=>_0x53014f,'fw':()=>_0xb8a714,'kP':()=>_0xaebc8b,'me':()=>_0x1621a6,'nt':()=>_0x4060a6,'vr':()=>_0x75e781});class _0x53014f{constructor(_0x40da02,_0x53a5e9,_0x774f68,_0x2a90f5){var _0x516b61=a6_0x4d3f;this['x']=Math[_0x516b61(0x47c)](_0x40da02),this['y']=Math[_0x516b61(0x47c)](_0x53a5e9),this['w']=Math[_0x516b61(0x47c)](_0x774f68),this['h']=Math[_0x516b61(0x47c)](_0x2a90f5);}[_0x3e19ac(0x237)](_0x4fb9ad){var _0x4d456e=_0x3e19ac;_0x4fb9ad[_0x4d456e(0x7cd)](this['x'],this['y'],this['w'],this['h'],0x0,0x1);}[_0x3e19ac(0x5ec)](){return new _0x53014f(this['x'],this['y'],this['w'],this['h']);}}class _0x1621a6{constructor(_0x2608ad,_0x48a145,_0x594f12,_0xa6a95c){this['x']=_0x2608ad,this['y']=_0x48a145,this['w']=_0x594f12,this['h']=_0xa6a95c;}[_0x3e19ac(0x237)](_0x242b6b){_0x242b6b['setScissorRect'](this['x'],this['y'],this['w'],this['h']);}['clone'](){return new _0x1621a6(this['x'],this['y'],this['w'],this['h']);}}class _0x75e781{constructor(_0x11a11d){var _0x8bc94a=_0x3e19ac;this[_0x8bc94a(0xcac)]=_0x11a11d;}[_0x3e19ac(0x237)](_0x561a2b){var _0x583041=_0x3e19ac;_0x561a2b['setStencilReference'](this[_0x583041(0xcac)]);}[_0x3e19ac(0x5ec)](){var _0x43bfaf=_0x3e19ac;return new _0x75e781(this[_0x43bfaf(0xcac)]);}}class _0xaebc8b{constructor(_0x4e9e37){var _0x23ed12=_0x3e19ac;this[_0x23ed12(0x350)]=_0x4e9e37;}[_0x3e19ac(0x237)](_0x498581){var _0x505f26=_0x3e19ac;_0x498581[_0x505f26(0x3a7)](this[_0x505f26(0x350)]);}[_0x3e19ac(0x5ec)](){var _0x39d9f7=_0x3e19ac;return new _0xaebc8b(this[_0x39d9f7(0x350)]);}}class _0x13464f{constructor(_0x1f011f){var _0xeb04ea=_0x3e19ac;this[_0xeb04ea(0x4df)]=_0x1f011f;}[_0x3e19ac(0x237)](_0x2e0336){var _0x1f910f=_0x3e19ac;_0x2e0336[_0x1f910f(0x363)](this[_0x1f910f(0x4df)]);}[_0x3e19ac(0x5ec)](){var _0x3ff42a=_0x3e19ac;return new _0x13464f(this[_0x3ff42a(0x4df)]);}}class _0xb8a714{constructor(){}[_0x3e19ac(0x237)](_0x20d6a2){var _0xc67c96=_0x3e19ac;_0x20d6a2[_0xc67c96(0x4dc)]();}[_0x3e19ac(0x5ec)](){return new _0xb8a714();}}class _0x1fda2e{constructor(){var _0xcd7460=_0x3e19ac;this[_0xcd7460(0x757)]=[];}[_0x3e19ac(0x237)](_0x570034){var _0x320455=_0x3e19ac;_0x570034[_0x320455(0x5a4)](this[_0x320455(0x757)]);}['clone'](){var _0x506932=_0x3e19ac;const _0x2b7b2b=new _0x1fda2e();return _0x2b7b2b[_0x506932(0x757)]=this[_0x506932(0x757)],_0x2b7b2b;}}class _0x4060a6{constructor(_0x12258c){var _0x2e47b4=_0x3e19ac;this[_0x2e47b4(0x676)]=0x0,this[_0x2e47b4(0x8e4)]=_0x12258c,this[_0x2e47b4(0xc00)]=new Array(0xa),this['_listLength']=0x0;}[_0x3e19ac(0x360)](_0x1aedf8){var _0x59d61d=_0x3e19ac,_0xab6128;this[_0x59d61d(0x5e9)]||(_0xab6128=new _0x1fda2e(),this['_list'][this[_0x59d61d(0x6b3)]++]=_0xab6128,this[_0x59d61d(0xcc1)]=_0xab6128[_0x59d61d(0x757)],this['_currentItemIsBundle']=!0x0),_0x1aedf8&&this[_0x59d61d(0xcc1)][_0x59d61d(0x2bd)](_0x1aedf8);}[_0x3e19ac(0x9cc)](){var _0x420b98=_0x3e19ac;this[_0x420b98(0x5e9)]&&this[_0x420b98(0x417)]&&(this[_0x420b98(0xcc1)][_0x420b98(0x2bd)](this[_0x420b98(0x417)][_0x420b98(0x583)]()),this[_0x420b98(0x417)]=void 0x0,this[_0x420b98(0x5e9)]=!0x1);}[_0x3e19ac(0x451)](_0x2dc396){var _0x50ddef=_0x3e19ac;this[_0x50ddef(0x9cc)](),this[_0x50ddef(0xc00)][this['_listLength']++]=_0x2dc396,this['_currentItemIsBundle']=!0x1;}[_0x3e19ac(0xc9a)](_0x3aaa37,_0x4b639b,_0x337585){var _0x337caa=_0x3e19ac;return this['_currentItemIsBundle']||(this[_0x337caa(0x360)](),this[_0x337caa(0x417)]=this[_0x337caa(0x8e4)]['createRenderBundleEncoder']({'colorFormats':_0x3aaa37,'depthStencilFormat':_0x4b639b,'sampleCount':_0x337585})),this[_0x337caa(0x417)];}[_0x3e19ac(0xb8d)](){var _0x5dac6d=_0x3e19ac;this[_0x5dac6d(0x9cc)]();}[_0x3e19ac(0x237)](_0x197595){var _0x573e03=_0x3e19ac;this[_0x573e03(0xb8d)]();for(let _0x11f35d=0x0;_0x11f35d<this[_0x573e03(0x6b3)];++_0x11f35d)this[_0x573e03(0xc00)][_0x11f35d]['run'](_0x197595);}[_0x3e19ac(0x247)](){var _0x10470f=_0x3e19ac;this['_listLength']=0x0,this[_0x10470f(0x5e9)]=!0x1,this[_0x10470f(0x676)]=0x0;}['clone'](){var _0xb4e368=_0x3e19ac;this[_0xb4e368(0xb8d)]();const _0x4dc2af=new _0x4060a6(this[_0xb4e368(0x8e4)]);_0x4dc2af[_0xb4e368(0xc00)]=new Array(this[_0xb4e368(0x6b3)]),_0x4dc2af[_0xb4e368(0x6b3)]=this[_0xb4e368(0x6b3)],_0x4dc2af[_0xb4e368(0x676)]=this['numDrawCalls'];for(let _0x5e6b33=0x0;_0x5e6b33<this['_listLength'];++_0x5e6b33)_0x4dc2af[_0xb4e368(0xc00)][_0x5e6b33]=this[_0xb4e368(0xc00)][_0x5e6b33][_0xb4e368(0x5ec)]();return _0x4dc2af;}}},0xb194:(_0xdf9305,_0x25cecd,_0x13a244)=>{var _0x323139=a6_0x5e3a36;_0x13a244['d'](_0x25cecd,{'T':()=>_0x87db67});var _0x2a1315=_0x13a244(0x77a5),_0x2e87a8=_0x13a244(0x9683),_0x569570=_0x13a244(0x1114f),_0x2ece89=_0x13a244(0x59c6),_0x25cecd=_0x13a244(0x17a92);_0x25cecd['v'][_0x323139(0x333)][_0x323139(0x712)]=_0x323139(0x9f0),_0x25cecd['v']['ShadersStore']['clearQuadPixelShader']=_0x323139(0x9d4);class _0x87db67{constructor(_0x2ca49a,_0x3f7b56,_0x980559){var _0x156576=_0x323139;this[_0x156576(0x3ba)]={},this['_bundleCache']={},this[_0x156576(0x555)]=[],this[_0x156576(0x8e4)]=_0x2ca49a,this[_0x156576(0x57c)]=_0x3f7b56,this[_0x156576(0x33c)]=new _0x2e87a8['H'](this['_device'],_0x980559,!_0x3f7b56['_caps'][_0x156576(0x5a5)]),this[_0x156576(0x33c)][_0x156576(0xd89)](!0x1),this[_0x156576(0x33c)][_0x156576(0x6b4)](0xff),this['_effect']=_0x3f7b56[_0x156576(0x226)]('clearQuad',[],[_0x156576(0x350),_0x156576(0x97c)]);}[_0x323139(0x545)](_0x47ef8a){var _0x59cefc=_0x323139;this[_0x59cefc(0x7f8)]=_0x47ef8a,this[_0x59cefc(0x33c)][_0x59cefc(0x545)](_0x47ef8a);}[_0x323139(0x53b)](_0xdbb2){var _0x5c2650=_0x323139;this[_0x5c2650(0x33c)][_0x5c2650(0x53b)](_0xdbb2);}['setMRTAttachments'](_0x4ddd70,_0x172b10,_0x47bab5){var _0x3a001a=_0x323139;this[_0x3a001a(0x33c)][_0x3a001a(0xa74)](_0x172b10,_0x47bab5),this[_0x3a001a(0x33c)]['setMRTAttachments'](_0x4ddd70);}['clear'](_0x4f87d5,_0x55533d,_0x1d94a3,_0x3cb752,_0xb178bd=0x1){var _0x2488bc=_0x323139,_0x142339;let _0x29f65f,_0x5bdf3c=null,_0x804e0f;var _0x5d3415=!!this[_0x2488bc(0x57c)][_0x2488bc(0x55b)];if(_0x4f87d5)_0x29f65f=_0x4f87d5;else{let _0xfa83c3=0x0;for(let _0x1492f3=this['_keyTemp'][_0x2488bc(0x43c)]=0x0;_0x1492f3<this['_cacheRenderPipeline'][_0x2488bc(0x84d)][_0x2488bc(0x43c)];++_0x1492f3)this[_0x2488bc(0x555)][_0xfa83c3++]=_0x2ece89['U'][null!=(_0x142339=this['_cacheRenderPipeline'][_0x2488bc(0x84d)][_0x1492f3])?_0x142339:''];var _0x8ca1d=_0x2ece89['U'][null!=(_0x8ca1d=this[_0x2488bc(0x7f8)])?_0x8ca1d:0x0];if(this[_0x2488bc(0x555)][_0xfa83c3]=(_0x55533d?_0x55533d['r']+0x100*_0x55533d['g']+0x100*_0x55533d['b']*0x100+0x100*_0x55533d['a']*0x100*0x100:0x0)+(_0x1d94a3?Math[_0x2488bc(0xb67)](0x2,0x20):0x0)+(_0x3cb752?Math['pow'](0x2,0x21):0x0)+(this[_0x2488bc(0x57c)]['useReverseDepthBuffer']?Math[_0x2488bc(0xb67)](0x2,0x22):0x0)+(_0x5d3415?Math[_0x2488bc(0xb67)](0x2,0x23):0x0)+(0x1<_0xb178bd?Math[_0x2488bc(0xb67)](0x2,0x24):0x0)+_0x8ca1d*Math['pow'](0x2,0x25),_0x804e0f=this['_keyTemp'][_0x2488bc(0xce7)]('_'),_0x5bdf3c=this[_0x2488bc(0xc3f)][_0x804e0f])return _0x5bdf3c;_0x29f65f=this[_0x2488bc(0x8e4)][_0x2488bc(0x92f)]({'colorFormats':this[_0x2488bc(0x33c)][_0x2488bc(0x84d)],'depthStencilFormat':this[_0x2488bc(0x7f8)],'sampleCount':_0xb178bd});}this[_0x2488bc(0x33c)][_0x2488bc(0x74f)](!!_0x1d94a3),this[_0x2488bc(0x33c)]['setStencilEnabled'](!!_0x3cb752&&!!this['_depthTextureFormat']&&_0x2ece89['D'][_0x2488bc(0x97b)](this[_0x2488bc(0x7f8)])),this[_0x2488bc(0x33c)][_0x2488bc(0xcea)](_0x3cb752?0xff:0x0),this[_0x2488bc(0x33c)][_0x2488bc(0xa9e)](_0x3cb752?_0x2a1315['g']['ALWAYS']:_0x2a1315['g'][_0x2488bc(0x754)]),this[_0x2488bc(0x33c)][_0x2488bc(0xa85)](_0x3cb752?_0x2a1315['g']['REPLACE']:_0x2a1315['g'][_0x2488bc(0xaf5)]),this[_0x2488bc(0x33c)]['setWriteMask'](_0x55533d?0xf:0x0),_0x8ca1d=this['_cacheRenderPipeline']['getRenderPipeline'](_0x2a1315['g'][_0x2488bc(0x23c)],this[_0x2488bc(0x64e)],_0xb178bd);const _0x44ef8c=this[_0x2488bc(0x64e)][_0x2488bc(0x2d7)];_0x55533d&&this[_0x2488bc(0x64e)][_0x2488bc(0xab1)]('color',_0x55533d),this['_effect'][_0x2488bc(0x84a)](_0x2488bc(0x97c),this[_0x2488bc(0x57c)][_0x2488bc(0x475)]?this[_0x2488bc(0x57c)][_0x2488bc(0x2fb)]:this[_0x2488bc(0x57c)][_0x2488bc(0xa36)]),_0x44ef8c[_0x2488bc(0x7d8)]['update'](),(_0x1d94a3=_0x5d3415?this['_engine'][_0x2488bc(0xc59)]:this['_engine'][_0x2488bc(0x664)],_0x3cb752=_0x44ef8c[_0x2488bc(0x7d8)][_0x2488bc(0x6c1)](),_0xb178bd=_0x3cb752[_0x2488bc(0xb46)]+'-'+_0x1d94a3[_0x2488bc(0xb46)]);let _0xe9639c=this[_0x2488bc(0x3ba)][_0xb178bd];_0xe9639c||(_0x55533d=_0x44ef8c[_0x2488bc(0x68d)],(_0xe9639c=this[_0x2488bc(0x3ba)][_0xb178bd]=[])[_0x2488bc(0x2bd)](this[_0x2488bc(0x8e4)][_0x2488bc(0xa7e)]({'layout':_0x55533d[0x0],'entries':[]})),_0x569570['d']['_SimplifiedKnownBindings']||_0xe9639c[_0x2488bc(0x2bd)](this['_device']['createBindGroup']({'layout':_0x55533d[0x1],'entries':[]})),_0xe9639c['push'](this[_0x2488bc(0x8e4)][_0x2488bc(0xa7e)]({'layout':_0x55533d[_0x569570['d'][_0x2488bc(0x497)]?0x1:0x2],'entries':[{'binding':0x0,'resource':{'buffer':_0x1d94a3['underlyingResource'],'size':_0x1d94a3[_0x2488bc(0x8b9)]}},{'binding':0x1,'resource':{'buffer':_0x3cb752['underlyingResource'],'size':_0x3cb752[_0x2488bc(0x8b9)]}}]}))),_0x29f65f['setPipeline'](_0x8ca1d);for(let _0x4efd76=0x0;_0x4efd76<_0xe9639c['length'];++_0x4efd76)_0x29f65f['setBindGroup'](_0x4efd76,_0xe9639c[_0x4efd76]);return _0x29f65f[_0x2488bc(0x581)](0x4,0x1,0x0,0x0),_0x4f87d5||(_0x5bdf3c=_0x29f65f['finish'](),this[_0x2488bc(0xc3f)][_0x804e0f]=_0x5bdf3c),_0x5bdf3c;}}},0x2514:(_0x57df81,_0x11eea4,_0x27b228)=>{var _0x1af6a1=a6_0x5e3a36;_0x27b228['d'](_0x11eea4,{'K':()=>_0x48dcc6});class _0x48dcc6 extends _0x27b228(0x12621)['k']{constructor(_0x1daf89){var _0x217f45=a6_0x4d3f;super(!0x1),this[_0x217f45(0x7f7)]=_0x1daf89,this['reset']();}get[_0x1af6a1(0x75c)](){var _0x1d8f93=_0x1af6a1;return this[_0x1d8f93(0x648)];}set[_0x1af6a1(0x75c)](_0x5ef17e){var _0x53f413=_0x1af6a1;this[_0x53f413(0x648)]!==_0x5ef17e&&(this['_zOffset']=_0x5ef17e,this[_0x53f413(0x949)]=!0x0,this[_0x53f413(0x7f7)][_0x53f413(0xb85)](_0x5ef17e));}get[_0x1af6a1(0x321)](){var _0x23c432=_0x1af6a1;return this[_0x23c432(0x911)];}set[_0x1af6a1(0x321)](_0x410593){var _0x2ae150=_0x1af6a1;this['_zOffsetUnits']!==_0x410593&&(this['_zOffsetUnits']=_0x410593,this['_isZOffsetDirty']=!0x0,this[_0x2ae150(0x7f7)][_0x2ae150(0x35e)](_0x410593));}get[_0x1af6a1(0xb51)](){var _0x379ebf=_0x1af6a1;return this[_0x379ebf(0x478)];}set[_0x1af6a1(0xb51)](_0x2bee50){var _0x1888f2=_0x1af6a1;this['_cullFace']!==_0x2bee50&&(this[_0x1888f2(0x478)]=_0x2bee50,this['_isCullFaceDirty']=!0x0,this['_cache']['setCullFace'](null!=_0x2bee50?_0x2bee50:0x1));}get[_0x1af6a1(0xafd)](){var _0x2929ce=_0x1af6a1;return this[_0x2929ce(0x25e)];}set[_0x1af6a1(0xafd)](_0x3a9a7c){var _0x167aeb=_0x1af6a1;this['_cull']!==_0x3a9a7c&&(this[_0x167aeb(0x25e)]=_0x3a9a7c,this['_isCullDirty']=!0x0,this['_cache']['setCullEnabled'](!!_0x3a9a7c));}get[_0x1af6a1(0x36a)](){var _0x4c8f13=_0x1af6a1;return this[_0x4c8f13(0x394)];}set[_0x1af6a1(0x36a)](_0x4dc5d6){var _0x2ec178=_0x1af6a1;this[_0x2ec178(0x394)]!==_0x4dc5d6&&(this['_depthFunc']=_0x4dc5d6,this[_0x2ec178(0x927)]=!0x0,this[_0x2ec178(0x7f7)][_0x2ec178(0x941)](_0x4dc5d6));}get[_0x1af6a1(0x9fe)](){var _0x3466b5=_0x1af6a1;return this[_0x3466b5(0x316)];}set[_0x1af6a1(0x9fe)](_0x1231f6){var _0xd5e162=_0x1af6a1;this['_depthMask']!==_0x1231f6&&(this[_0xd5e162(0x316)]=_0x1231f6,this[_0xd5e162(0x4ad)]=!0x0,this['_cache'][_0xd5e162(0x74f)](_0x1231f6));}get[_0x1af6a1(0xccf)](){return this['_depthTest'];}set[_0x1af6a1(0xccf)](_0x560720){var _0x33fec5=_0x1af6a1;this['_depthTest']!==_0x560720&&(this[_0x33fec5(0x58f)]=_0x560720,this['_isDepthTestDirty']=!0x0,this[_0x33fec5(0x7f7)][_0x33fec5(0xd89)](_0x560720));}get['frontFace'](){var _0x2fc69f=_0x1af6a1;return this[_0x2fc69f(0x1d2)];}set[_0x1af6a1(0xc89)](_0x5026ed){var _0x5db111=_0x1af6a1;this[_0x5db111(0x1d2)]!==_0x5026ed&&(this[_0x5db111(0x1d2)]=_0x5026ed,this[_0x5db111(0xaac)]=!0x0,this[_0x5db111(0x7f7)][_0x5db111(0x568)](null!=_0x5026ed?_0x5026ed:0x2));}[_0x1af6a1(0x247)](){var _0x94eecd=_0x1af6a1;super[_0x94eecd(0x247)](),this[_0x94eecd(0x7f7)][_0x94eecd(0x57f)]();}[_0x1af6a1(0x693)](){}}},0x18215:(_0xf3c94f,_0x46e57e,_0x2c522a)=>{var _0x3aeaa0=a6_0x5e3a36;_0x2c522a['d'](_0x46e57e,{'Z':()=>_0x3b7cf9});var _0x20cfdf=_0x2c522a(0x25b1),_0x5a0a1b=_0x2c522a(0x1b5c),_0x756b0f=_0x2c522a(0x89a1);class _0x3b7cf9{constructor(_0x4c9549=null){var _0x2c3b05=a6_0x4d3f;this[_0x2c3b05(0x920)]=_0x756b0f['EV'][_0x2c3b05(0xcb5)],this['textureUsages']=0x0,this[_0x2c3b05(0x5a6)]=0x0,this[_0x2c3b05(0x7f9)]=_0x4c9549,this[_0x2c3b05(0x851)]=null,this[_0x2c3b05(0x704)]=null,this[_0x2c3b05(0x4de)]=null;}get[_0x3aeaa0(0x8e9)](){return this['_webgpuTexture'];}get[_0x3aeaa0(0x655)](){var _0x14f55a=_0x3aeaa0;return this[_0x14f55a(0x851)];}set[_0x3aeaa0(0x655)](_0x120f5c){this['_webgpuMSAATexture']=_0x120f5c;}[_0x3aeaa0(0x3ee)](_0x15281f){var _0x1b8757=_0x3aeaa0;this[_0x1b8757(0x7f9)]=_0x15281f;}[_0x3aeaa0(0x85d)](_0x3ff3de,_0x46f93d,_0x437468,_0x276b13,_0x29c682){var _0x1ea804=_0x3aeaa0;_0x46f93d=_0x3ff3de!==_0x20cfdf['S']['RenderTarget']&&_0x46f93d,this[_0x1ea804(0x42a)]({'format':this[_0x1ea804(0x920)],'dimension':_0x437468?_0x756b0f['p_'][_0x1ea804(0x1e2)]:_0x756b0f['p_'][_0x1ea804(0xa4e)],'mipLevelCount':_0x46f93d?_0x5a0a1b['R']['ILog2'](Math[_0x1ea804(0xbbd)](_0x276b13,_0x29c682))+0x1:0x1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':_0x437468?0x6:0x1,'aspect':_0x756b0f['H7'][_0x1ea804(0x9e3)]});}[_0x3aeaa0(0x42a)](_0x593c2e,_0x50b510=!0x1){var _0x51d29c=_0x3aeaa0;this[_0x51d29c(0x704)]=this['_webgpuTexture'][_0x51d29c(0x42a)](_0x593c2e),_0x50b510&&_0x593c2e&&(_0x50b510=_0x593c2e[_0x51d29c(0xc24)],_0x593c2e[_0x51d29c(0xc24)]=0x1,this[_0x51d29c(0x4de)]=this[_0x51d29c(0x7f9)][_0x51d29c(0x42a)](_0x593c2e),_0x593c2e['mipLevelCount']=_0x50b510);}[_0x3aeaa0(0x247)](){var _0x2c8dae=_0x3aeaa0;this[_0x2c8dae(0x7f9)]=null,this[_0x2c8dae(0x851)]=null,this['view']=null,this[_0x2c8dae(0x4de)]=null;}[_0x3aeaa0(0x721)](){var _0x14532d=_0x3aeaa0,_0x4ec20e;null!=(_0x4ec20e=this[_0x14532d(0x7f9)])&&_0x4ec20e[_0x14532d(0xa3c)](),null!=(_0x4ec20e=this[_0x14532d(0x851)])&&_0x4ec20e[_0x14532d(0xa3c)](),null!=(_0x4ec20e=this['_copyInvertYTempTexture'])&&_0x4ec20e[_0x14532d(0xa3c)](),this['reset']();}}},0x10431:(_0x4502a1,_0x20d8c1,_0x1e866c)=>{var _0xa1787e=a6_0x5e3a36;_0x1e866c['d'](_0x20d8c1,{'D':()=>_0x10d3bf});var _0x73e1c6=_0x1e866c(0x22dd),_0x5004d3=_0x1e866c(0x77a5),_0x56a8fc=_0x1e866c(0x14e86);class _0x10d3bf{constructor(){var _0x4c88cd=a6_0x4d3f;this['uniqueId']=_0x10d3bf[_0x4c88cd(0x233)]++,this[_0x4c88cd(0x44a)]=0x0,this[_0x4c88cd(0x247)]();}get[_0xa1787e(0x448)](){var _0x386320=_0xa1787e;return 0x0<this[_0x386320(0x587)];}get[_0xa1787e(0x1b2)](){var _0x622213=_0xa1787e;return 0x0<this[_0x622213(0x1c2)];}[_0xa1787e(0x247)](){var _0x182422=_0xa1787e;this[_0x182422(0xc4c)]={},this['textures']={},this[_0x182422(0xb57)]=!0x0,this['_numFloatTextures']=0x0,this[_0x182422(0x587)]=0x0;}[_0xa1787e(0xb25)](_0x30c704,_0x5efe3c){var _0x174f21=_0xa1787e;let _0x116964=this['samplers'][_0x30c704],_0x3a48bd=-0x1;_0x116964?_0x3a48bd=_0x116964[_0x174f21(0x296)]:this[_0x174f21(0xc4c)][_0x30c704]=_0x116964={'sampler':_0x5efe3c,'hashCode':0x0},_0x116964['sampler']=_0x5efe3c,_0x116964[_0x174f21(0x296)]=_0x5efe3c?_0x56a8fc['W'][_0x174f21(0x5f4)](_0x5efe3c):0x0,_0x30c704=_0x3a48bd!==_0x116964[_0x174f21(0x296)],(_0x30c704&&this[_0x174f21(0x44a)]++,this[_0x174f21(0xb57)]||(this[_0x174f21(0xb57)]=_0x30c704));}['setTexture'](_0x8b64c4,_0x331284){var _0x38c09d=_0xa1787e,_0x2c945b;let _0x5a3791=this[_0x38c09d(0x7f0)][_0x8b64c4],_0x22b625=-0x1;_0x5a3791?_0x22b625=null!=(_0x2c945b=null==(_0x2c945b=_0x5a3791[_0x38c09d(0x20b)])?void 0x0:_0x2c945b[_0x38c09d(0xb46)])?_0x2c945b:-0x1:this[_0x38c09d(0x7f0)][_0x8b64c4]=_0x5a3791={'texture':_0x331284,'isFloatTexture':!0x1,'isExternalTexture':!0x1},_0x5a3791[_0x38c09d(0xb89)]&&this[_0x38c09d(0x587)]--,_0x5a3791['isFloatTexture']&&this[_0x38c09d(0x1c2)]--,_0x331284?(_0x5a3791[_0x38c09d(0x353)]=_0x331284[_0x38c09d(0xa18)]===_0x5004d3['g'][_0x38c09d(0x85c)],_0x5a3791['isExternalTexture']=_0x73e1c6['x'][_0x38c09d(0x5d2)](_0x331284),_0x5a3791[_0x38c09d(0x353)]&&this['_numFloatTextures']++,_0x5a3791[_0x38c09d(0xb89)]&&this[_0x38c09d(0x587)]++):(_0x5a3791[_0x38c09d(0x353)]=!0x1,_0x5a3791[_0x38c09d(0xb89)]=!0x1),_0x5a3791[_0x38c09d(0x20b)]=_0x331284,_0x8b64c4=_0x22b625!==(null!=(_0x2c945b=null==_0x331284?void 0x0:_0x331284[_0x38c09d(0xb46)])?_0x2c945b:-0x1),(_0x8b64c4&&this['updateId']++,this[_0x38c09d(0xb57)]||(this[_0x38c09d(0xb57)]=_0x8b64c4));}}_0x10d3bf[_0xa1787e(0x233)]=0x0;},0x12546:(_0x2a7216,_0x40f166,_0x28882b)=>{var _0x298c2c=a6_0x5e3a36;_0x28882b['d'](_0x40f166,{'D':()=>_0xf6ee53});var _0x89b7bc=_0x28882b(0x89a1),_0x42be9a=_0x28882b(0x16268);class _0xf6ee53{constructor(_0x278601,_0x211696,_0x13ad52,_0x5a7ba6=0x32,_0x2eb90b=0x64){var _0x518adf=a6_0x4d3f;this[_0x518adf(0x677)]=[],this[_0x518adf(0x57c)]=_0x278601,this['_device']=_0x211696,this['_bufferManager']=_0x13ad52,this['_frameLastBuffer']=-0x1,this[_0x518adf(0x80a)]=0x0,this[_0x518adf(0x6be)]=_0x2eb90b,this[_0x518adf(0xcfc)](_0x5a7ba6);}get[_0x298c2c(0xd73)](){var _0x2be27c=_0x298c2c;return this[_0x2be27c(0xc1f)][_0x2be27c(0xd73)];}get[_0x298c2c(0x21f)](){var _0x538536=_0x298c2c;return this['_currentTotalIndices']!==this[_0x538536(0x677)][_0x538536(0x43c)];}get[_0x298c2c(0x2dc)](){var _0x1ba881=_0x298c2c;switch(this[_0x1ba881(0x57c)]['_getCurrentRenderPassIndex']()){case 0x0:return void 0x0!==this[_0x1ba881(0x57c)][_0x1ba881(0x824)]['renderPassDescriptor'][_0x1ba881(0x4cd)];case 0x1:return void 0x0!==this[_0x1ba881(0x57c)]['_rttRenderPassWrapper']['renderPassDescriptor'][_0x1ba881(0x4cd)];}return!0x1;}['createQuery'](){var _0x15d55e=_0x298c2c;0x0===this['_availableIndices'][_0x15d55e(0x43c)]&&this[_0x15d55e(0xcfc)]();var _0x59a2cc=this[_0x15d55e(0x677)][this[_0x15d55e(0x677)][_0x15d55e(0x43c)]-0x1];return this['_availableIndices'][_0x15d55e(0x43c)]--,_0x59a2cc;}[_0x298c2c(0x973)](_0x738207){var _0x351e95=_0x298c2c;this[_0x351e95(0x677)][this[_0x351e95(0x677)][_0x351e95(0x43c)]-0x1]=_0x738207;}['isQueryResultAvailable'](_0x11ed1d){var _0x52a556=_0x298c2c;return this[_0x52a556(0x3d7)](),!!this[_0x52a556(0xd65)]&&_0x11ed1d<this[_0x52a556(0xd65)][_0x52a556(0x43c)];}[_0x298c2c(0x9a2)](_0x2bdc92){var _0x35180f=_0x298c2c,_0x13de6e;return Number(null!=(_0x13de6e=null==(_0x13de6e=this[_0x35180f(0xd65)])?void 0x0:_0x13de6e[_0x2bdc92])?_0x13de6e:-0x1);}['_retrieveQueryBuffer'](){var _0x4d637f=_0x298c2c;this[_0x4d637f(0xd65)]&&this[_0x4d637f(0x5f6)]===this['_engine'][_0x4d637f(0xba2)]||this[_0x4d637f(0x5f6)]!==this['_engine'][_0x4d637f(0xba2)]&&(this[_0x4d637f(0x5f6)]=this[_0x4d637f(0x57c)][_0x4d637f(0xba2)],this[_0x4d637f(0xc1f)][_0x4d637f(0x8e1)](0x0,this['_currentTotalIndices'])[_0x4d637f(0x40d)](_0x1ea2d3=>{this['_lastBuffer']=_0x1ea2d3;}));}[_0x298c2c(0xcfc)](_0x1d1ccf){var _0x1d457b=_0x298c2c;_0x1d1ccf=null!=_0x1d1ccf?_0x1d1ccf:this[_0x1d457b(0x6be)],this[_0x1d457b(0x529)]();for(let _0x55f691=0x0;_0x55f691<_0x1d1ccf;++_0x55f691)this[_0x1d457b(0x677)]['push'](this[_0x1d457b(0x80a)]+_0x55f691);this[_0x1d457b(0x80a)]+=_0x1d1ccf,this[_0x1d457b(0xc1f)]=new _0x42be9a['t'](this[_0x1d457b(0x80a)],_0x89b7bc['xL']['Occlusion'],this[_0x1d457b(0x8e4)],this[_0x1d457b(0x3a0)],!0x1);}['_delayQuerySetDispose'](){var _0x5716f9=_0x298c2c;const _0x150f8a=this[_0x5716f9(0xc1f)];_0x150f8a&&setTimeout(()=>_0x150f8a[_0x5716f9(0x8fc)],0x3e8);}[_0x298c2c(0x8fc)](){var _0x180e75=_0x298c2c,_0x4c2d98;null!=(_0x4c2d98=this['_querySet'])&&_0x4c2d98[_0x180e75(0x8fc)](),this['_availableIndices'][_0x180e75(0x43c)]=0x0;}}},0xf715:(_0x23fc24,_0x1805c5,_0x17ad78)=>{var _0x3c20f4=a6_0x5e3a36;_0x17ad78['d'](_0x1805c5,{'$':()=>_0x1769ae});var _0x4463ba=_0x17ad78(0x149c5),_0x24369f=_0x17ad78(0xe83b);class _0x1769ae{constructor(_0x4f9e1e,_0x559590){var _0x586c33=a6_0x4d3f;this[_0x586c33(0xb52)]=_0x586c33(0xa76),this[_0x586c33(0xab8)]=_0x4f9e1e,this[_0x586c33(0x767)]={},this[_0x586c33(0xb43)]=_0x559590;}get[_0x3c20f4(0x9ce)](){return!0x1;}get[_0x3c20f4(0x3e5)](){return!!this['stages'];}['_handlesSpectorRebuildCallback'](){}[_0x3c20f4(0xae8)](_0x55f8b1,_0x118917,_0x2d0180,_0x1894d2,_0x249b6f,_0xc2420a,_0x42d7e4,_0x604aa2){var _0x19d0f0=_0x3c20f4;const _0x4109aa=this['engine'];_0x55f8b1[_0x19d0f0(0x6e4)]='',_0x55f8b1[_0x19d0f0(0x5c1)]='';var _0x133514=this['shaderProcessingContext']['availableTextures'];let _0x595db1;for(_0x595db1=0x0;_0x595db1<_0x249b6f[_0x19d0f0(0x43c)];_0x595db1++){var _0x3b7729=_0x249b6f[_0x595db1];null==_0x133514[_0x249b6f[_0x595db1]]?(_0x249b6f[_0x19d0f0(0x2d2)](_0x595db1,0x1),_0x595db1--):_0xc2420a[_0x3b7729]=_0x595db1;}for(const _0x8f66e7 of _0x4109aa[_0x19d0f0(0x76a)](this,_0x42d7e4))_0x604aa2[_0x19d0f0(0x2bd)](_0x8f66e7);this[_0x19d0f0(0x480)]();const _0x294c3a=[],_0x8e9132=[];for(_0x595db1=0x0;_0x595db1<_0x42d7e4[_0x19d0f0(0x43c)];_0x595db1++){var _0x93212f=_0x604aa2[_0x595db1];0x0<=_0x93212f&&(_0x294c3a[_0x19d0f0(0x2bd)](_0x42d7e4[_0x595db1]),_0x8e9132[_0x19d0f0(0x2bd)](_0x93212f));}this['shaderProcessingContext'][_0x19d0f0(0x3ac)]=_0x294c3a,this[_0x19d0f0(0xab8)][_0x19d0f0(0xb97)]=_0x8e9132;}['buildUniformLayout'](){var _0x5268e0=_0x3c20f4;if(this['shaderProcessingContext'][_0x5268e0(0xd6e)]['length']){this[_0x5268e0(0x7d8)]=new _0x4463ba['M'](this[_0x5268e0(0xb43)],void 0x0,void 0x0,'leftOver-'+this['_name']);for(const _0x652654 of this[_0x5268e0(0xab8)]['leftOverUniforms']){var _0x27073b=_0x652654[_0x5268e0(0xa18)][_0x5268e0(0x827)](/^(.*?)(<.*>)?$/,'$1'),_0x27073b=_0x24369f['e'][_0x5268e0(0x381)][_0x27073b];this['uniformBuffer'][_0x5268e0(0x5af)](_0x652654[_0x5268e0(0xd51)],_0x27073b,_0x652654['length']),this[_0x5268e0(0x767)][_0x652654['name']]=_0x652654[_0x5268e0(0xa18)];}this[_0x5268e0(0x7d8)]['create']();}}[_0x3c20f4(0x8fc)](){var _0x3637cf=_0x3c20f4;this['uniformBuffer']&&this['uniformBuffer'][_0x3637cf(0x8fc)]();}[_0x3c20f4(0x638)](_0x14ac0b,_0x1d20f4){var _0x541f41=_0x3c20f4;this['uniformBuffer']&&this[_0x541f41(0x767)][_0x14ac0b]&&this[_0x541f41(0x7d8)][_0x541f41(0x71f)](_0x14ac0b,_0x1d20f4);}[_0x3c20f4(0x747)](_0x31681a,_0x8a7f1,_0x2a4ed4){var _0x300ece=_0x3c20f4;this['uniformBuffer']&&this[_0x300ece(0x767)][_0x31681a]&&this[_0x300ece(0x7d8)]['updateInt2'](_0x31681a,_0x8a7f1,_0x2a4ed4);}[_0x3c20f4(0x3dd)](_0x890cdf,_0x1af8e1,_0xbd0d3d,_0x10282e){var _0x3c333a=_0x3c20f4;this['uniformBuffer']&&this[_0x3c333a(0x767)][_0x890cdf]&&this['uniformBuffer'][_0x3c333a(0x7c1)](_0x890cdf,_0x1af8e1,_0xbd0d3d,_0x10282e);}[_0x3c20f4(0x271)](_0x166aba,_0x372ed9,_0x551681,_0x507d55,_0x4d3eaa){var _0x2f7548=_0x3c20f4;this[_0x2f7548(0x7d8)]&&this[_0x2f7548(0x767)][_0x166aba]&&this[_0x2f7548(0x7d8)]['updateInt4'](_0x166aba,_0x372ed9,_0x551681,_0x507d55,_0x4d3eaa);}[_0x3c20f4(0x895)](_0x16998d,_0x5391ed){var _0x20346c=_0x3c20f4;this[_0x20346c(0x7d8)]&&this['_leftOverUniformsByName'][_0x16998d]&&this['uniformBuffer'][_0x20346c(0xbdc)](_0x16998d,_0x5391ed);}['setIntArray2'](_0x3c6f6f,_0x152875){var _0x16d42a=_0x3c20f4;this[_0x16d42a(0x895)](_0x3c6f6f,_0x152875);}['setIntArray3'](_0xcea16b,_0x158569){var _0x4743fd=_0x3c20f4;this[_0x4743fd(0x895)](_0xcea16b,_0x158569);}['setIntArray4'](_0x5b2561,_0x419f29){var _0x3ba60d=_0x3c20f4;this[_0x3ba60d(0x895)](_0x5b2561,_0x419f29);}[_0x3c20f4(0x79c)](_0x23d265,_0xac82e9){var _0x38df21=_0x3c20f4;this[_0x38df21(0x7d8)]&&this[_0x38df21(0x767)][_0x23d265]&&this[_0x38df21(0x7d8)][_0x38df21(0xca2)](_0x23d265,_0xac82e9);}[_0x3c20f4(0x742)](_0x316206,_0x5bdbd0,_0x57a5bf){var _0x462ca8=_0x3c20f4;this[_0x462ca8(0x7d8)]&&this[_0x462ca8(0x767)][_0x316206]&&this[_0x462ca8(0x7d8)][_0x462ca8(0x4c8)](_0x316206,_0x5bdbd0,_0x57a5bf);}['setUInt3'](_0x1da455,_0x43cf8c,_0x5ddad3,_0x3f0cd7){var _0x369e83=_0x3c20f4;this[_0x369e83(0x7d8)]&&this[_0x369e83(0x767)][_0x1da455]&&this[_0x369e83(0x7d8)][_0x369e83(0x210)](_0x1da455,_0x43cf8c,_0x5ddad3,_0x3f0cd7);}['setUInt4'](_0x125e0f,_0x2bf726,_0x1679a1,_0x2166f5,_0x375ae9){var _0x1c1290=_0x3c20f4;this[_0x1c1290(0x7d8)]&&this['_leftOverUniformsByName'][_0x125e0f]&&this[_0x1c1290(0x7d8)]['updateUInt4'](_0x125e0f,_0x2bf726,_0x1679a1,_0x2166f5,_0x375ae9);}[_0x3c20f4(0x473)](_0x44dc80,_0x12c8dc){var _0x2d46ed=_0x3c20f4;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x44dc80]&&this[_0x2d46ed(0x7d8)]['updateUIntArray'](_0x44dc80,_0x12c8dc);}['setUIntArray2'](_0x539023,_0x350e71){var _0x42bdfe=_0x3c20f4;this[_0x42bdfe(0x473)](_0x539023,_0x350e71);}['setUIntArray3'](_0x42b362,_0x1dfc42){var _0x49d6b1=_0x3c20f4;this[_0x49d6b1(0x473)](_0x42b362,_0x1dfc42);}[_0x3c20f4(0x62f)](_0x3ecc99,_0x1bd131){var _0x28783b=_0x3c20f4;this[_0x28783b(0x473)](_0x3ecc99,_0x1bd131);}[_0x3c20f4(0xced)](_0x4fa670,_0xf2c484){var _0x3e81eb=_0x3c20f4;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x4fa670]&&this[_0x3e81eb(0x7d8)]['updateArray'](_0x4fa670,_0xf2c484);}[_0x3c20f4(0x463)](_0x348d04,_0x2c8bc7){var _0x1ebda0=_0x3c20f4;this[_0x1ebda0(0xced)](_0x348d04,_0x2c8bc7);}[_0x3c20f4(0x95f)](_0x23fd5e,_0xeca7e4){var _0x47d65a=_0x3c20f4;this[_0x47d65a(0xced)](_0x23fd5e,_0xeca7e4);}['setArray4'](_0x475f07,_0x1e9cc3){var _0x1ff0f2=_0x3c20f4;this[_0x1ff0f2(0xced)](_0x475f07,_0x1e9cc3);}[_0x3c20f4(0x6c3)](_0x5a0c17,_0x18f5ff){var _0x1f5dfa=_0x3c20f4;this['uniformBuffer']&&this[_0x1f5dfa(0x767)][_0x5a0c17]&&this[_0x1f5dfa(0x7d8)][_0x1f5dfa(0xac4)](_0x5a0c17,_0x18f5ff);}[_0x3c20f4(0x716)](_0x160731,_0x129064){var _0x1fb809=_0x3c20f4;this[_0x1fb809(0x7d8)]&&this['_leftOverUniformsByName'][_0x160731]&&this['uniformBuffer'][_0x1fb809(0xd87)](_0x160731,_0x129064);}[_0x3c20f4(0xb96)](_0x11ecab,_0x1af8dc){var _0x5ecdcb=_0x3c20f4;this['uniformBuffer']&&this[_0x5ecdcb(0x767)][_0x11ecab]&&this[_0x5ecdcb(0x7d8)][_0x5ecdcb(0x98a)](_0x11ecab,_0x1af8dc);}[_0x3c20f4(0x87d)](_0x19a1fe,_0x2a31a8){var _0x24fa28=_0x3c20f4;this[_0x24fa28(0x7d8)]&&this['_leftOverUniformsByName'][_0x19a1fe]&&this['uniformBuffer'][_0x24fa28(0xd39)](_0x19a1fe,_0x2a31a8);}[_0x3c20f4(0x84a)](_0x6174bd,_0xd0771f){var _0x2e4345=_0x3c20f4;this['uniformBuffer']&&this[_0x2e4345(0x767)][_0x6174bd]&&this[_0x2e4345(0x7d8)][_0x2e4345(0xa16)](_0x6174bd,_0xd0771f);}[_0x3c20f4(0x46b)](_0x567ced,_0x96f55a){var _0x3848b7=_0x3c20f4;this[_0x3848b7(0x48e)](_0x567ced,_0x96f55a['x'],_0x96f55a['y']);}['setFloat2'](_0x35f97e,_0x4d6314,_0x389842){var _0x202d0a=_0x3c20f4;this['uniformBuffer']&&this[_0x202d0a(0x767)][_0x35f97e]&&this[_0x202d0a(0x7d8)][_0x202d0a(0x83d)](_0x35f97e,_0x4d6314,_0x389842);}['setVector3'](_0x105715,_0x3962df){var _0x148a3f=_0x3c20f4;this[_0x148a3f(0x2ad)](_0x105715,_0x3962df['x'],_0x3962df['y'],_0x3962df['z']);}[_0x3c20f4(0x2ad)](_0x3ef29b,_0xadd5c4,_0x1d841f,_0x5445b1){var _0x440c72=_0x3c20f4;this[_0x440c72(0x7d8)]&&this['_leftOverUniformsByName'][_0x3ef29b]&&this['uniformBuffer'][_0x440c72(0x307)](_0x3ef29b,_0xadd5c4,_0x1d841f,_0x5445b1);}[_0x3c20f4(0x7fa)](_0x4a5761,_0x193d16){var _0x319ddb=_0x3c20f4;this[_0x319ddb(0xac3)](_0x4a5761,_0x193d16['x'],_0x193d16['y'],_0x193d16['z'],_0x193d16['w']);}[_0x3c20f4(0x1ce)](_0x1b6e33,_0x25f914){var _0x290f0e=_0x3c20f4;this[_0x290f0e(0xac3)](_0x1b6e33,_0x25f914['x'],_0x25f914['y'],_0x25f914['z'],_0x25f914['w']);}[_0x3c20f4(0xac3)](_0x1d0f05,_0x4e97ea,_0x4ad2e6,_0x126b74,_0x27401c){var _0x4d5077=_0x3c20f4;this['uniformBuffer']&&this['_leftOverUniformsByName'][_0x1d0f05]&&this[_0x4d5077(0x7d8)]['updateFloat4'](_0x1d0f05,_0x4e97ea,_0x4ad2e6,_0x126b74,_0x27401c);}[_0x3c20f4(0x728)](_0x27f309,_0x46d5e9){var _0x5dc4e1=_0x3c20f4;this[_0x5dc4e1(0x2ad)](_0x27f309,_0x46d5e9['r'],_0x46d5e9['g'],_0x46d5e9['b']);}[_0x3c20f4(0x50a)](_0x29f4d9,_0xb38c8,_0x3b9f56){var _0x5402e8=_0x3c20f4;this[_0x5402e8(0xac3)](_0x29f4d9,_0xb38c8['r'],_0xb38c8['g'],_0xb38c8['b'],_0x3b9f56);}[_0x3c20f4(0xab1)](_0x146d1c,_0x108196){var _0x3d7910=_0x3c20f4;this[_0x3d7910(0xac3)](_0x146d1c,_0x108196['r'],_0x108196['g'],_0x108196['b'],_0x108196['a']);}[_0x3c20f4(0x8b0)](){var _0xb93b65=_0x3c20f4,_0x1ac341;return null==(_0x1ac341=this[_0xb93b65(0x28c)])?void 0x0:_0x1ac341[_0xb93b65(0x4b9)];}[_0x3c20f4(0x4db)](){var _0x239456=_0x3c20f4,_0x31124d;return null==(_0x31124d=this[_0x239456(0x28c)])?void 0x0:_0x31124d[_0x239456(0xade)];}}},0x16268:(_0x189dda,_0x10000,_0x3b4722)=>{var _0x32d657=a6_0x5e3a36;_0x3b4722['d'](_0x10000,{'t':()=>_0x5d89c0});function _0x22f2f3(_0x4b2250,_0x3b7f08,_0x329760,_0x245423){return new(_0x329760=_0x329760||Promise)(function(_0x14cc0d,_0x52e7ad){var _0x4ff3c6=a6_0x4d3f;function _0x24f9bb(_0x245723){var _0x5ce368=a6_0x4d3f;try{_0x75eb2a(_0x245423[_0x5ce368(0x8bd)](_0x245723));}catch(_0x55ecdb){_0x52e7ad(_0x55ecdb);}}function _0x18dd48(_0x5dff6b){var _0x3614ee=a6_0x4d3f;try{_0x75eb2a(_0x245423[_0x3614ee(0xb1e)](_0x5dff6b));}catch(_0x3661f8){_0x52e7ad(_0x3661f8);}}function _0x75eb2a(_0x12cffc){var _0x17f6e0=a6_0x4d3f,_0x45dc27;_0x12cffc[_0x17f6e0(0xd9d)]?_0x14cc0d(_0x12cffc['value']):((_0x45dc27=_0x12cffc[_0x17f6e0(0x438)])instanceof _0x329760?_0x45dc27:new _0x329760(function(_0x405570){_0x405570(_0x45dc27);}))['then'](_0x24f9bb,_0x18dd48);}_0x75eb2a((_0x245423=_0x245423[_0x4ff3c6(0x693)](_0x4b2250,_0x3b7f08||[]))[_0x4ff3c6(0x8bd)]());});}var _0x38b73e=_0x3b4722(0x89a1);class _0x5d89c0{constructor(_0x3864df,_0x30fa6b,_0x1d5b14,_0x578a31,_0x251c20=!0x0){var _0x2c9066=a6_0x4d3f;this['_dstBuffers']=[],this['_device']=_0x1d5b14,this[_0x2c9066(0x3a0)]=_0x578a31,this[_0x2c9066(0x2e0)]=_0x3864df,this[_0x2c9066(0x902)]=_0x251c20,this['_querySet']=_0x1d5b14['createQuerySet']({'type':_0x30fa6b,'count':_0x3864df}),this[_0x2c9066(0x73b)]=_0x578a31['createRawBuffer'](0x8*_0x3864df,_0x38b73e['FB'][_0x2c9066(0x487)]|_0x38b73e['FB']['CopySrc']),_0x251c20||this['_dstBuffers'][_0x2c9066(0x2bd)](this[_0x2c9066(0x3a0)]['createRawBuffer'](0x8*this[_0x2c9066(0x2e0)],_0x38b73e['FB'][_0x2c9066(0xc18)]|_0x38b73e['FB'][_0x2c9066(0x207)]));}get[_0x32d657(0xd73)](){var _0x3ece06=_0x32d657;return this[_0x3ece06(0xc1f)];}[_0x32d657(0x898)](_0x52cbef,_0x12413e){var _0x38dad3=_0x32d657;if(!this[_0x38dad3(0x902)]&&0x0===this[_0x38dad3(0x345)][_0x38dad3(0x43c)])return null;const _0x2771e1=this[_0x38dad3(0x8e4)][_0x38dad3(0x90d)]();let _0xd07191;return 0x0===this[_0x38dad3(0x345)]['length']?_0xd07191=this[_0x38dad3(0x3a0)][_0x38dad3(0xa04)](0x8*this[_0x38dad3(0x2e0)],_0x38b73e['FB'][_0x38dad3(0xc18)]|_0x38b73e['FB'][_0x38dad3(0x207)]):(_0xd07191=this['_dstBuffers'][this[_0x38dad3(0x345)][_0x38dad3(0x43c)]-0x1],this[_0x38dad3(0x345)][_0x38dad3(0x43c)]--),_0x2771e1[_0x38dad3(0x4ec)](this['_querySet'],_0x52cbef,_0x12413e,this['_queryBuffer'],0x0),_0x2771e1[_0x38dad3(0xa3f)](this[_0x38dad3(0x73b)],0x0,_0xd07191,0x0,0x8*_0x12413e),this[_0x38dad3(0x8e4)]['queue'][_0x38dad3(0xc32)]([_0x2771e1[_0x38dad3(0x583)]()]),_0xd07191;}[_0x32d657(0x8e1)](_0x15aab1=0x0,_0x487487=0x1){return _0x22f2f3(this,void 0x0,void 0x0,function*(){var _0x2fa215=a6_0x4d3f;const _0x4c3bd8=this[_0x2fa215(0x898)](_0x15aab1,_0x487487);if(null===_0x4c3bd8)return null;yield _0x4c3bd8[_0x2fa215(0x308)](_0x38b73e['gc']['Read']);var _0x44df25=new BigUint64Array(_0x4c3bd8[_0x2fa215(0x29a)]())[_0x2fa215(0x98e)]();return _0x4c3bd8[_0x2fa215(0x652)](),this[_0x2fa215(0x345)][this[_0x2fa215(0x345)][_0x2fa215(0x43c)]]=_0x4c3bd8,_0x44df25;});}['readValue'](_0x46a006=0x0){return _0x22f2f3(this,void 0x0,void 0x0,function*(){var _0x4c612d=a6_0x4d3f;const _0x7f09cd=this[_0x4c612d(0x898)](_0x46a006,0x1);if(null===_0x7f09cd)return null;yield _0x7f09cd[_0x4c612d(0x308)](_0x38b73e['gc'][_0x4c612d(0x1f6)]);var _0x4b4208=new BigUint64Array(_0x7f09cd[_0x4c612d(0x29a)]()),_0x4b4208=Number(_0x4b4208[0x0]);return _0x7f09cd['unmap'](),this[_0x4c612d(0x345)][this[_0x4c612d(0x345)][_0x4c612d(0x43c)]]=_0x7f09cd,_0x4b4208;});}['readTwoValuesAndSubtract'](_0x1eac42=0x0){return _0x22f2f3(this,void 0x0,void 0x0,function*(){var _0x4873ca=a6_0x4d3f;const _0x39eb79=this[_0x4873ca(0x898)](_0x1eac42,0x2);if(null===_0x39eb79)return null;yield _0x39eb79[_0x4873ca(0x308)](_0x38b73e['gc'][_0x4873ca(0x1f6)]);var _0x24fd3e=new BigUint64Array(_0x39eb79[_0x4873ca(0x29a)]()),_0x24fd3e=Number(_0x24fd3e[0x1]-_0x24fd3e[0x0]);return _0x39eb79['unmap'](),this[_0x4873ca(0x345)][this[_0x4873ca(0x345)]['length']]=_0x39eb79,_0x24fd3e;});}[_0x32d657(0x8fc)](){var _0x1af0ac=_0x32d657;this[_0x1af0ac(0xc1f)]['destroy'](),this[_0x1af0ac(0x3a0)][_0x1af0ac(0xa49)](this['_queryBuffer']);for(let _0x1e3d55=0x0;_0x1e3d55<this[_0x1af0ac(0x345)][_0x1af0ac(0x43c)];++_0x1e3d55)this[_0x1af0ac(0x3a0)][_0x1af0ac(0xa49)](this[_0x1af0ac(0x345)][_0x1e3d55]);}}},0x7d48:(_0x140fb0,_0x4cdbbc,_0x3386c5)=>{_0x3386c5['d'](_0x4cdbbc,{'B':()=>_0x109424});class _0x109424{constructor(){var _0xc97137=a6_0x4d3f;this[_0xc97137(0x942)]=[],this['reset']();}['reset'](_0x267472=!0x1){var _0x10b136=a6_0x4d3f;this[_0x10b136(0x5b5)]=null,_0x267472&&(this[_0x10b136(0xa77)]=null,this[_0x10b136(0xa7c)]=null,this[_0x10b136(0x27f)]=null,this[_0x10b136(0x942)]=[],this['depthTextureFormat']=void 0x0);}}},0x1114f:(_0x102b87,_0x5820d8,_0x433509)=>{var _0x5fcc28=a6_0x5e3a36;_0x433509['d'](_0x5820d8,{'d':()=>_0x3e5b67});const _0x26559c={'mat2':0x2,'mat3':0x3,'mat4':0x4,'mat2x2':0x2,'mat3x3':0x3,'mat4x4':0x4};class _0x3e5b67{constructor(_0x236305){var _0x5c02b3=a6_0x4d3f;this[_0x5c02b3(0x7a5)]=_0x236305,this['_attributeNextLocation']=0x0,this[_0x5c02b3(0xd58)]=0x0,this[_0x5c02b3(0x1ef)]=0x0,this['freeBindingIndex']=0x0,this[_0x5c02b3(0xb86)]={},this[_0x5c02b3(0xa6b)]={},this[_0x5c02b3(0x372)]={},this[_0x5c02b3(0x332)]={},this[_0x5c02b3(0x989)]={},this[_0x5c02b3(0x1c0)]=[],this[_0x5c02b3(0xd9b)]=[],this[_0x5c02b3(0x4a1)]=[],this['bindGroupEntries']=[],this[_0x5c02b3(0x52e)]=[],this[_0x5c02b3(0x84c)]=[],this[_0x5c02b3(0x1f5)]=[],this['leftOverUniforms']=[],this['_findStartingGroupBinding']();}static get[_0x5fcc28(0x418)](){var _0x20d75d=_0x5fcc28;return _0x3e5b67['_SimplifiedKnownBindings']?_0x3e5b67['_SimplifiedKnownUBOs']:_0x3e5b67[_0x20d75d(0xc2d)];}[_0x5fcc28(0x449)](){var _0x57f1b2=_0x5fcc28,_0x1bedb1=_0x3e5b67[_0x57f1b2(0x418)];const _0x427b58=[];for(const _0x597e99 in _0x1bedb1){var _0x3f5291=_0x1bedb1[_0x597e99][_0x57f1b2(0x970)];-0x1!==_0x3f5291[_0x57f1b2(0x755)]&&(void 0x0===_0x427b58[_0x3f5291[_0x57f1b2(0x755)]]?_0x427b58[_0x3f5291[_0x57f1b2(0x755)]]=_0x3f5291[_0x57f1b2(0x9ad)]:_0x427b58[_0x3f5291['groupIndex']]=Math[_0x57f1b2(0xbbd)](_0x427b58[_0x3f5291[_0x57f1b2(0x755)]],_0x3f5291[_0x57f1b2(0x9ad)]));}this['freeGroupIndex']=_0x427b58[_0x57f1b2(0x43c)]-0x1,0x0===this['freeGroupIndex']?(this['freeGroupIndex']++,this['freeBindingIndex']=0x0):this[_0x57f1b2(0xb0e)]=_0x427b58[_0x427b58[_0x57f1b2(0x43c)]-0x1]+0x1;}[_0x5fcc28(0xbd9)](_0x2d2c84,_0x490582=0x0){var _0x18a108=_0x5fcc28,_0x3c8314=this[_0x18a108(0x9fd)];return this['_attributeNextLocation']+=(null!=(_0x2d2c84=_0x26559c[_0x2d2c84])?_0x2d2c84:0x1)*(_0x490582||0x1),_0x3c8314;}['getVaryingNextLocation'](_0x4af7ef,_0x53188b=0x0){var _0x956c55=_0x5fcc28,_0x24ba2f=this[_0x956c55(0xd58)];return this[_0x956c55(0xd58)]+=(null!=(_0x4af7ef=_0x26559c[_0x4af7ef])?_0x4af7ef:0x1)*(_0x53188b||0x1),_0x24ba2f;}['getNextFreeUBOBinding'](){return this['_getNextFreeBinding'](0x1);}[_0x5fcc28(0xb77)](_0x74486c){var _0x17055c=_0x5fcc28;if(this[_0x17055c(0xb0e)]>0x10000-_0x74486c&&(this['freeGroupIndex']++,this[_0x17055c(0xb0e)]=0x0),0x4===this['freeGroupIndex'])throw _0x17055c(0x9e5);var _0x5aa4bc={'groupIndex':this['freeGroupIndex'],'bindingIndex':this['freeBindingIndex']};return this[_0x17055c(0xb0e)]+=_0x74486c,_0x5aa4bc;}}_0x3e5b67[_0x5fcc28(0x497)]=!0x0,_0x3e5b67[_0x5fcc28(0x996)]={'Scene':{'binding':{'groupIndex':0x0,'bindingIndex':0x0}},'Light0':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light1':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light2':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light3':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light4':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light5':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light6':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light7':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light8':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light9':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light10':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light11':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light12':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light13':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light14':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light15':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light16':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light17':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light18':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light19':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light20':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light21':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light22':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light23':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light24':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light25':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light26':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light27':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light28':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light29':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light30':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Light31':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Material':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Mesh':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}},'Internals':{'binding':{'groupIndex':-0x1,'bindingIndex':-0x1}}},_0x3e5b67[_0x5fcc28(0xc2d)]={'Scene':{'binding':{'groupIndex':0x0,'bindingIndex':0x0}},'Light0':{'binding':{'groupIndex':0x1,'bindingIndex':0x0}},'Light1':{'binding':{'groupIndex':0x1,'bindingIndex':0x1}},'Light2':{'binding':{'groupIndex':0x1,'bindingIndex':0x2}},'Light3':{'binding':{'groupIndex':0x1,'bindingIndex':0x3}},'Light4':{'binding':{'groupIndex':0x1,'bindingIndex':0x4}},'Light5':{'binding':{'groupIndex':0x1,'bindingIndex':0x5}},'Light6':{'binding':{'groupIndex':0x1,'bindingIndex':0x6}},'Light7':{'binding':{'groupIndex':0x1,'bindingIndex':0x7}},'Light8':{'binding':{'groupIndex':0x1,'bindingIndex':0x8}},'Light9':{'binding':{'groupIndex':0x1,'bindingIndex':0x9}},'Light10':{'binding':{'groupIndex':0x1,'bindingIndex':0xa}},'Light11':{'binding':{'groupIndex':0x1,'bindingIndex':0xb}},'Light12':{'binding':{'groupIndex':0x1,'bindingIndex':0xc}},'Light13':{'binding':{'groupIndex':0x1,'bindingIndex':0xd}},'Light14':{'binding':{'groupIndex':0x1,'bindingIndex':0xe}},'Light15':{'binding':{'groupIndex':0x1,'bindingIndex':0xf}},'Light16':{'binding':{'groupIndex':0x1,'bindingIndex':0x10}},'Light17':{'binding':{'groupIndex':0x1,'bindingIndex':0x11}},'Light18':{'binding':{'groupIndex':0x1,'bindingIndex':0x12}},'Light19':{'binding':{'groupIndex':0x1,'bindingIndex':0x13}},'Light20':{'binding':{'groupIndex':0x1,'bindingIndex':0x14}},'Light21':{'binding':{'groupIndex':0x1,'bindingIndex':0x15}},'Light22':{'binding':{'groupIndex':0x1,'bindingIndex':0x16}},'Light23':{'binding':{'groupIndex':0x1,'bindingIndex':0x17}},'Light24':{'binding':{'groupIndex':0x1,'bindingIndex':0x18}},'Light25':{'binding':{'groupIndex':0x1,'bindingIndex':0x19}},'Light26':{'binding':{'groupIndex':0x1,'bindingIndex':0x1a}},'Light27':{'binding':{'groupIndex':0x1,'bindingIndex':0x1b}},'Light28':{'binding':{'groupIndex':0x1,'bindingIndex':0x1c}},'Light29':{'binding':{'groupIndex':0x1,'bindingIndex':0x1d}},'Light30':{'binding':{'groupIndex':0x1,'bindingIndex':0x1e}},'Light31':{'binding':{'groupIndex':0x1,'bindingIndex':0x1f}},'Material':{'binding':{'groupIndex':0x2,'bindingIndex':0x0}},'Mesh':{'binding':{'groupIndex':0x2,'bindingIndex':0x1}},'Internals':{'binding':{'groupIndex':0x2,'bindingIndex':0x2}}};},0xe83b:(_0x3bafe1,_0x3bb115,_0x2f0fca)=>{var _0x29018a=a6_0x5e3a36;_0x2f0fca['d'](_0x3bb115,{'e':()=>_0x220612});var _0x4f64ce=_0x2f0fca(0x11722),_0x3efd6f=_0x2f0fca(0x89a1),_0x4afe6b=_0x2f0fca(0x6214);class _0x220612{constructor(){var _0x4ad227=a6_0x4d3f;this[_0x4ad227(0x7a5)]=_0x4f64ce['x']['GLSL'];}[_0x29018a(0x7de)](_0x29d1a5,_0x556251,_0x525de7){var _0x25c432=_0x29018a,_0x388991=0x0;[_0x29d1a5,_0x556251,_0x388991]=this[_0x25c432(0xc6e)](_0x29d1a5,_0x556251,_0x525de7);for(let _0x507bec=0x0;_0x507bec<this['_webgpuProcessingContext'][_0x25c432(0xd6e)][_0x25c432(0x43c)];_0x507bec++)if(this[_0x25c432(0x866)][_0x25c432(0xd6e)][_0x507bec][_0x25c432(0xd51)]===_0x29d1a5)return;this['_webgpuProcessingContext'][_0x25c432(0xd6e)][_0x25c432(0x2bd)]({'name':_0x29d1a5,'type':_0x556251,'length':_0x388991});}[_0x29018a(0xb26)](){var _0xedd0b3=_0x29018a;if(!this[_0xedd0b3(0x866)][_0xedd0b3(0xd6e)][_0xedd0b3(0x43c)])return'';var _0x10c578=_0x220612[_0xedd0b3(0x69a)];let _0x2a921e=this[_0xedd0b3(0x866)][_0xedd0b3(0x372)][_0x10c578];return _0x2a921e||(_0x2a921e={'binding':this['_webgpuProcessingContext']['getNextFreeUBOBinding']()},this['_webgpuProcessingContext'][_0xedd0b3(0x372)][_0x10c578]=_0x2a921e,this[_0xedd0b3(0x8ea)](_0x10c578,_0x2a921e,_0x3efd6f['Rs'][_0xedd0b3(0x2c1)],!0x0),this['_addBufferBindingDescription'](_0x10c578,_0x2a921e,_0x3efd6f['Rs'][_0xedd0b3(0x2c1)],!0x1)),this[_0xedd0b3(0x55e)](_0x10c578,_0x2a921e);}['_collectBindingNames'](){var _0x947bf6=_0x29018a;for(let _0x5a6a12=0x0;_0x5a6a12<this['_webgpuProcessingContext'][_0x947bf6(0xd9b)]['length'];_0x5a6a12++){var _0x2c9374=this[_0x947bf6(0x866)][_0x947bf6(0xd9b)][_0x5a6a12];if(void 0x0===_0x2c9374)this[_0x947bf6(0x866)]['bindGroupLayoutEntries'][_0x5a6a12]=[];else for(let _0x5d810c=0x0;_0x5d810c<_0x2c9374[_0x947bf6(0x43c)];_0x5d810c++){var _0x5a67a2=this[_0x947bf6(0x866)][_0x947bf6(0xd9b)][_0x5a6a12][_0x5d810c],_0x3f9044=this[_0x947bf6(0x866)][_0x947bf6(0x4a1)][_0x5a6a12][_0x5a67a2[_0x947bf6(0x970)]][_0x947bf6(0xd51)],_0x4d6f2f=this['_webgpuProcessingContext'][_0x947bf6(0x4a1)][_0x5a6a12][_0x5a67a2[_0x947bf6(0x970)]]['nameInArrayOfTexture'];_0x5a67a2&&(_0x5a67a2['texture']||_0x5a67a2[_0x947bf6(0x52c)]||_0x5a67a2[_0x947bf6(0xcc0)]?this[_0x947bf6(0x866)][_0x947bf6(0x84c)][_0x947bf6(0x2bd)](_0x4d6f2f):_0x5a67a2['sampler']?this[_0x947bf6(0x866)][_0x947bf6(0x1f5)]['push'](_0x3f9044):_0x5a67a2['buffer']&&this[_0x947bf6(0x866)][_0x947bf6(0x52e)][_0x947bf6(0x2bd)](_0x3f9044));}}}[_0x29018a(0x348)](){var _0x2964a8=_0x29018a;const _0x4e913d=this[_0x2964a8(0x866)]['bindGroupEntries'];for(let _0x3bb9b2=0x0;_0x3bb9b2<this[_0x2964a8(0x866)][_0x2964a8(0xd9b)][_0x2964a8(0x43c)];_0x3bb9b2++){var _0x45bcd4=this[_0x2964a8(0x866)]['bindGroupLayoutEntries'][_0x3bb9b2];const _0x21cd75=[];for(let _0x5b6a5e=0x0;_0x5b6a5e<_0x45bcd4[_0x2964a8(0x43c)];_0x5b6a5e++){var _0x492e52=this['_webgpuProcessingContext'][_0x2964a8(0xd9b)][_0x3bb9b2][_0x5b6a5e];_0x492e52['sampler']||_0x492e52[_0x2964a8(0x20b)]||_0x492e52[_0x2964a8(0xcc0)]||_0x492e52[_0x2964a8(0x52c)]?_0x21cd75[_0x2964a8(0x2bd)]({'binding':_0x492e52[_0x2964a8(0x970)],'resource':void 0x0}):_0x492e52[_0x2964a8(0x5e7)]&&_0x21cd75[_0x2964a8(0x2bd)]({'binding':_0x492e52[_0x2964a8(0x970)],'resource':{'buffer':void 0x0,'offset':0x0,'size':0x0}});}_0x4e913d[_0x3bb9b2]=_0x21cd75;}}['_addTextureBindingDescription'](_0x22e263,_0x48b2f6,_0x298648,_0x1c6826,_0xc770bc,_0x469e8f){var _0x45f4a4=_0x29018a;let {groupIndex:_0x222f06,bindingIndex:_0x5ac665}=_0x48b2f6['textures'][_0x298648];this['_webgpuProcessingContext'][_0x45f4a4(0xd9b)][_0x222f06]||(this[_0x45f4a4(0x866)][_0x45f4a4(0xd9b)][_0x222f06]=[],this[_0x45f4a4(0x866)][_0x45f4a4(0x4a1)][_0x222f06]=[]),this[_0x45f4a4(0x866)][_0x45f4a4(0x4a1)][_0x222f06][_0x5ac665]||(_0xc770bc=null===_0x1c6826?this[_0x45f4a4(0x866)][_0x45f4a4(0xd9b)][_0x222f06][_0x45f4a4(0x2bd)]({'binding':_0x5ac665,'visibility':0x0,'externalTexture':{}}):_0xc770bc?this['_webgpuProcessingContext']['bindGroupLayoutEntries'][_0x222f06][_0x45f4a4(0x2bd)]({'binding':_0x5ac665,'visibility':0x0,'storageTexture':{'access':_0x3efd6f['Gt'][_0x45f4a4(0xd02)],'format':_0xc770bc,'viewDimension':_0x1c6826}}):this['_webgpuProcessingContext'][_0x45f4a4(0xd9b)][_0x222f06]['push']({'binding':_0x5ac665,'visibility':0x0,'texture':{'sampleType':_0x48b2f6[_0x45f4a4(0xd5e)],'viewDimension':_0x1c6826,'multisampled':!0x1}}),_0x1c6826=_0x48b2f6[_0x45f4a4(0x7b9)]?_0x22e263+_0x298648:_0x22e263,this[_0x45f4a4(0x866)][_0x45f4a4(0x4a1)][_0x222f06][_0x5ac665]={'name':_0x22e263,'index':_0xc770bc-0x1,'nameInArrayOfTexture':_0x1c6826}),_0x5ac665=this[_0x45f4a4(0x866)][_0x45f4a4(0x4a1)][_0x222f06][_0x5ac665]['index'],this[_0x45f4a4(0x866)][_0x45f4a4(0xd9b)][_0x222f06][_0x5ac665][_0x45f4a4(0x643)]|=_0x469e8f?_0x3efd6f['$X'][_0x45f4a4(0x557)]:_0x3efd6f['$X'][_0x45f4a4(0xbc1)];}[_0x29018a(0xafe)](_0x4f9608,_0xff2182,_0x568909){var _0x371e8b=_0x29018a;let {groupIndex:_0x43bdcf,bindingIndex:_0x7898c0}=_0xff2182[_0x371e8b(0x970)];this[_0x371e8b(0x866)][_0x371e8b(0xd9b)][_0x43bdcf]||(this[_0x371e8b(0x866)]['bindGroupLayoutEntries'][_0x43bdcf]=[],this[_0x371e8b(0x866)][_0x371e8b(0x4a1)][_0x43bdcf]=[]),this['_webgpuProcessingContext'][_0x371e8b(0x4a1)][_0x43bdcf][_0x7898c0]||(_0xff2182=this[_0x371e8b(0x866)]['bindGroupLayoutEntries'][_0x43bdcf][_0x371e8b(0x2bd)]({'binding':_0x7898c0,'visibility':0x0,'sampler':{'type':_0xff2182[_0x371e8b(0xa18)]}}),this[_0x371e8b(0x866)][_0x371e8b(0x4a1)][_0x43bdcf][_0x7898c0]={'name':_0x4f9608,'index':_0xff2182-0x1}),_0x7898c0=this['_webgpuProcessingContext'][_0x371e8b(0x4a1)][_0x43bdcf][_0x7898c0]['index'],this[_0x371e8b(0x866)][_0x371e8b(0xd9b)][_0x43bdcf][_0x7898c0][_0x371e8b(0x643)]|=_0x568909?_0x3efd6f['$X'][_0x371e8b(0x557)]:_0x3efd6f['$X']['Fragment'];}['_addBufferBindingDescription'](_0x232774,_0x1bc9bf,_0x20a594,_0x3a1e18){var _0x4952c0=_0x29018a;let {groupIndex:_0x4f042e,bindingIndex:_0x546865}=_0x1bc9bf[_0x4952c0(0x970)];this[_0x4952c0(0x866)][_0x4952c0(0xd9b)][_0x4f042e]||(this[_0x4952c0(0x866)][_0x4952c0(0xd9b)][_0x4f042e]=[],this[_0x4952c0(0x866)]['bindGroupLayoutEntryInfo'][_0x4f042e]=[]),this[_0x4952c0(0x866)]['bindGroupLayoutEntryInfo'][_0x4f042e][_0x546865]||(_0x1bc9bf=this[_0x4952c0(0x866)][_0x4952c0(0xd9b)][_0x4f042e][_0x4952c0(0x2bd)]({'binding':_0x546865,'visibility':0x0,'buffer':{'type':_0x20a594}}),this[_0x4952c0(0x866)][_0x4952c0(0x4a1)][_0x4f042e][_0x546865]={'name':_0x232774,'index':_0x1bc9bf-0x1}),_0x546865=this[_0x4952c0(0x866)]['bindGroupLayoutEntryInfo'][_0x4f042e][_0x546865][_0x4952c0(0xc29)],this[_0x4952c0(0x866)]['bindGroupLayoutEntries'][_0x4f042e][_0x546865]['visibility']|=_0x3a1e18?_0x3efd6f['$X'][_0x4952c0(0x557)]:_0x3efd6f['$X']['Fragment'];}[_0x29018a(0x3da)](_0x21bc76,_0x5ad48c,_0x4b3f4e,_0x476d1c){var _0x481261=_0x29018a;let _0x100790=_0x21bc76[_0x481261(0x456)](_0x5ad48c);if(_0x100790<0x0)return _0x4afe6b[_0x481261(0xab6)](_0x481261(0x8a4)),_0x21bc76;if(_0x4b3f4e){for(;_0x100790++<_0x21bc76[_0x481261(0x43c)]&&'{'!=_0x21bc76[_0x481261(0x63f)](_0x100790););_0x100790<_0x21bc76['length']&&(_0x21bc76=_0x21bc76[_0x481261(0x803)](0x0,_0x100790+0x1)+_0x4b3f4e+_0x21bc76['substring'](_0x100790+0x1));}return _0x476d1c&&(_0x5ad48c=_0x21bc76[_0x481261(0xd38)]('}'),_0x21bc76=_0x21bc76[_0x481261(0x803)](0x0,_0x5ad48c),_0x21bc76+=_0x476d1c+'\x0a}'),_0x21bc76;}}_0x220612[_0x29018a(0x69f)]=_0x29018a(0x341),_0x220612['LeftOvertUBOName']=_0x29018a(0xc8a),_0x220612[_0x29018a(0x2b9)]='Internals',_0x220612[_0x29018a(0x381)]={'bool':0x1,'int':0x1,'float':0x1,'vec2':0x2,'ivec2':0x2,'vec3':0x3,'ivec3':0x3,'vec4':0x4,'ivec4':0x4,'mat2':0x4,'mat3':0xc,'mat4':0x10,'i32':0x1,'u32':0x1,'f32':0x1,'mat2x2':0x4,'mat3x3':0xc,'mat4x4':0x10},_0x220612[_0x29018a(0x4f2)]={'sampler2D':_0x29018a(0x3b1),'sampler2DArray':'sampler2DArray','sampler2DShadow':_0x29018a(0x246),'sampler2DArrayShadow':'sampler2DArrayShadow','samplerCube':'samplerCube','sampler3D':_0x29018a(0x98d)},_0x220612['_TextureTypeByWebGLSamplerType']={'sampler2D':_0x29018a(0xc09),'sampler2DArray':'texture2DArray','sampler2DShadow':_0x29018a(0xc09),'sampler2DArrayShadow':'texture2DArray','samplerCube':_0x29018a(0x287),'samplerCubeArray':_0x29018a(0xd15),'sampler3D':_0x29018a(0x980)},_0x220612[_0x29018a(0x76b)]={'textureCube':_0x3efd6f['p_'][_0x29018a(0x1e2)],'textureCubeArray':_0x3efd6f['p_']['CubeArray'],'texture2D':_0x3efd6f['p_'][_0x29018a(0xa4e)],'texture2DArray':_0x3efd6f['p_'][_0x29018a(0xd37)],'texture3D':_0x3efd6f['p_']['E3d']},_0x220612[_0x29018a(0x915)]={'sampler2DShadow':'samplerShadow','sampler2DArrayShadow':_0x29018a(0x3ea)},_0x220612[_0x29018a(0x5ad)]={'samplerShadow':!0x0,'samplerArrayShadow':!0x0,'sampler':!0x1};},0x3a2d:(_0x24d4bb,_0x463b3e,_0x5a8426)=>{var _0xf1ffa4=a6_0x5e3a36;_0x5a8426['d'](_0x463b3e,{'s':()=>_0x2cc8dc});var _0x59b0d9=_0x5a8426(0x1114f),_0x3041e4=_0x5a8426(0x89a1),_0x397c0b=_0x5a8426(0x10ea4),_0x1e27d9=_0x5a8426(0xe83b),_0x28732e=_0x5a8426(0x11722);class _0x2cc8dc extends _0x1e27d9['e']{constructor(){var _0x2f002b=a6_0x4d3f;super(...arguments),this[_0x2f002b(0x422)]=[],this[_0x2f002b(0x620)]=[],this['_vertexIsGLES3']=!0x1,this[_0x2f002b(0xbc8)]=!0x1,this[_0x2f002b(0x7a5)]=_0x28732e['x'][_0x2f002b(0x8d7)],this[_0x2f002b(0x82f)]=!0x0;}['_getArraySize'](_0x36be78,_0x567e8f,_0x427166){var _0x5cbd87=a6_0x4d3f;let _0x175d7a=0x0;var _0x5c778e=_0x36be78[_0x5cbd87(0x456)]('['),_0x23a754=_0x36be78['indexOf'](']');if(0x0<_0x5c778e&&0x0<_0x23a754){const _0x2af7ff=_0x36be78[_0x5cbd87(0x803)](_0x5c778e+0x1,_0x23a754);_0x175d7a=+_0x2af7ff,isNaN(_0x175d7a)&&(_0x175d7a=+_0x427166[_0x2af7ff[_0x5cbd87(0x71d)]()]),_0x36be78=_0x36be78[_0x5cbd87(0x38c)](0x0,_0x5c778e);}return[_0x36be78,_0x567e8f,_0x175d7a];}['initializeShaders'](_0x31732c){var _0x29827c=a6_0x4d3f;this['_webgpuProcessingContext']=_0x31732c,this[_0x29827c(0x422)][_0x29827c(0x43c)]=0x0,this[_0x29827c(0x620)][_0x29827c(0x43c)]=0x0,this['attributeKeywordName']=void 0x0,this[_0x29827c(0x70d)]=void 0x0,this[_0x29827c(0x697)]=void 0x0;}['preProcessShaderCode'](_0x543f05,_0x24cbb6){var _0xda71ba=a6_0x4d3f,_0x3851fa=_0xda71ba(0x943)+_0x1e27d9['e'][_0xda71ba(0x2b9)]+'\x20{\x0afloat\x20yFactor_;\x0afloat\x20textureOutputHeight_;\x0a};\x0a',_0x468922=-0x1!==_0x543f05['indexOf'](_0xda71ba(0x73c));return _0x24cbb6?(this[_0xda71ba(0xbc8)]=-0x1!==_0x543f05[_0xda71ba(0x456)](_0xda71ba(0x36f)),this[_0xda71ba(0xbc8)]&&(this[_0xda71ba(0x697)]='in'),_0x468922?_0x543f05:_0x3851fa+_0xda71ba(0xa13)+_0x543f05):(this[_0xda71ba(0xa33)]=-0x1!==_0x543f05['indexOf'](_0xda71ba(0x36f)),this[_0xda71ba(0xa33)]&&(this[_0xda71ba(0x9a1)]='in',this[_0xda71ba(0x70d)]=_0xda71ba(0xc79)),_0x468922?_0x543f05:_0x3851fa+_0x543f05);}['varyingProcessor'](_0x2c2556,_0x16e5b5,_0x3d4448){var _0x58324e=a6_0x4d3f;this[_0x58324e(0x380)]=_0x3d4448;const _0x1d0cd8=_0x16e5b5&&this[_0x58324e(0xbc8)]?/\s*in\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm:!_0x16e5b5&&this[_0x58324e(0xa33)]?/\s*out\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm:/\s*varying\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm;var _0xde9546=_0x1d0cd8[_0x58324e(0x2f2)](_0x2c2556);if(null!==_0xde9546){var _0x5db68c=_0xde9546[0x1],_0x182ff3=_0xde9546[0x2];let _0x534cb6;_0x16e5b5?(_0x534cb6=this[_0x58324e(0x866)][_0x58324e(0xb86)][_0x182ff3],this['_missingVaryings'][_0x534cb6]='',void 0x0===_0x534cb6&&_0x397c0b['Y'][_0x58324e(0x46a)](_0x58324e(0x3ae)+_0x182ff3+_0x58324e(0x26a))):(_0x534cb6=this[_0x58324e(0x866)][_0x58324e(0x9dc)](_0x5db68c,this[_0x58324e(0xc6e)](_0x182ff3,_0x5db68c,_0x3d4448)[0x2]),this[_0x58324e(0x866)][_0x58324e(0xb86)][_0x182ff3]=_0x534cb6,this[_0x58324e(0x422)][_0x534cb6]='layout(location\x20=\x20'+_0x534cb6+_0x58324e(0xccb)+_0x5db68c+'\x20'+_0x182ff3+';'),_0x2c2556=_0x2c2556[_0x58324e(0x827)](_0xde9546[0x0],void 0x0===_0x534cb6?'':_0x58324e(0x7eb)+_0x534cb6+')\x20'+(_0x16e5b5?'in':_0x58324e(0xc79))+'\x20'+_0x5db68c+'\x20'+_0x182ff3+';');}return _0x2c2556;}[_0xf1ffa4(0x1e8)](_0x2e76ba,_0x500ebc){var _0x178f06=_0xf1ffa4;this[_0x178f06(0x380)]=_0x500ebc;const _0x770488=this[_0x178f06(0xa33)]?/\s*in\s+(\S+)\s+(\S+)\s*;/gm:/\s*attribute\s+(\S+)\s+(\S+)\s*;/gm;var _0x3e8ae7,_0x476c96,_0x509ec4=_0x770488['exec'](_0x2e76ba);return null!==_0x509ec4&&(_0x3e8ae7=_0x509ec4[0x1],_0x476c96=_0x509ec4[0x2],_0x500ebc=this['_webgpuProcessingContext'][_0x178f06(0xbd9)](_0x3e8ae7,this['_getArraySize'](_0x476c96,_0x3e8ae7,_0x500ebc)[0x2]),this[_0x178f06(0x866)][_0x178f06(0xa6b)][_0x476c96]=_0x500ebc,this[_0x178f06(0x866)][_0x178f06(0x1c0)][_0x500ebc]=_0x476c96,_0x2e76ba=_0x2e76ba[_0x178f06(0x827)](_0x509ec4[0x0],'layout(location\x20=\x20'+_0x500ebc+')\x20in\x20'+_0x3e8ae7+'\x20'+_0x476c96+';')),_0x2e76ba;}[_0xf1ffa4(0x7e2)](_0x4c8eab,_0x4a5429,_0x1b34aa){var _0x1cc7e4=_0xf1ffa4;this[_0x1cc7e4(0x380)]=_0x1b34aa;var _0x28ef12=/\s*uniform\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s+(\S+)\s*;/gm[_0x1cc7e4(0x2f2)](_0x4c8eab);if(null!==_0x28ef12){let _0x4c5316=_0x28ef12[0x1],_0x12ddc7=_0x28ef12[0x2];if(0x0===_0x4c5316[_0x1cc7e4(0x456)](_0x1cc7e4(0x8cd))||0x1===_0x4c5316['indexOf']('sampler')){let _0x47b3b9=0x0,_0x5a9f3e=([_0x12ddc7,_0x4c5316,_0x47b3b9]=this[_0x1cc7e4(0xc6e)](_0x12ddc7,_0x4c5316,_0x1b34aa),this[_0x1cc7e4(0x866)][_0x1cc7e4(0x332)][_0x12ddc7]);if(!_0x5a9f3e){_0x5a9f3e={'autoBindSampler':!0x0,'isTextureArray':0x0<_0x47b3b9,'isStorageTexture':!0x1,'textures':[],'sampleType':_0x3041e4['oD'][_0x1cc7e4(0x6a2)]};for(let _0x32b2f4=0x0;_0x32b2f4<(_0x47b3b9||0x1);++_0x32b2f4)_0x5a9f3e[_0x1cc7e4(0x7f0)][_0x1cc7e4(0x2bd)](this[_0x1cc7e4(0x866)][_0x1cc7e4(0x205)]());}var _0x28ef12=null!=(_0x28ef12=_0x1e27d9['e']['_SamplerTypeByWebGLSamplerType'][_0x4c5316])?_0x28ef12:'sampler',_0x2fffe0=!!_0x1e27d9['e'][_0x1cc7e4(0x5ad)][_0x28ef12],_0x464432=_0x2fffe0?_0x3041e4['dV'][_0x1cc7e4(0x79a)]:_0x3041e4['dV'][_0x1cc7e4(0x8d3)],_0x336379=_0x12ddc7+_0x1e27d9['e'][_0x1cc7e4(0x69f)],_0x464432=this[_0x1cc7e4(0x866)][_0x1cc7e4(0x989)][_0x336379]||{'binding':this[_0x1cc7e4(0x866)][_0x1cc7e4(0x205)](),'type':_0x464432},_0xadc17='u'===_0x4c5316[_0x1cc7e4(0x63f)](0x0)?'u':'i'===_0x4c5316['charAt'](0x0)?'i':'',_0x2fffe0=(_0xadc17&&(_0x4c5316=_0x4c5316[_0x1cc7e4(0x38c)](0x1)),_0x2fffe0?_0x3041e4['oD'][_0x1cc7e4(0xbc9)]:'u'==_0xadc17?_0x3041e4['oD'][_0x1cc7e4(0x220)]:'i'==_0xadc17?_0x3041e4['oD']['Sint']:_0x3041e4['oD'][_0x1cc7e4(0x6a2)]),_0x2fffe0=(_0x5a9f3e[_0x1cc7e4(0xd5e)]=_0x2fffe0,0x0<_0x47b3b9),_0x496200=_0x464432[_0x1cc7e4(0x970)][_0x1cc7e4(0x755)],_0x427148=_0x464432[_0x1cc7e4(0x970)][_0x1cc7e4(0x9ad)],_0x1c90ac=_0x1e27d9['e'][_0x1cc7e4(0x4f2)][_0x4c5316],_0x412ce6=_0x1e27d9['e'][_0x1cc7e4(0x2b7)][_0x4c5316],_0x3bdbad=_0x1e27d9['e'][_0x1cc7e4(0x76b)][_0x412ce6];if(_0x2fffe0){const _0x5be261=[];_0x5be261['push'](_0x1cc7e4(0x8cc)+_0x496200+_0x1cc7e4(0x76d)+_0x427148+')\x20uniform\x20'+_0xadc17+_0x28ef12+'\x20'+_0x336379+';'),_0x4c8eab='\x0d\x0a';for(let _0x532ee7=0x0;_0x532ee7<_0x47b3b9;++_0x532ee7){var _0x127c7e=_0x5a9f3e[_0x1cc7e4(0x7f0)][_0x532ee7][_0x1cc7e4(0x755)],_0x54060f=_0x5a9f3e[_0x1cc7e4(0x7f0)][_0x532ee7][_0x1cc7e4(0x9ad)];_0x5be261['push'](_0x1cc7e4(0x8cc)+_0x127c7e+',\x20binding\x20=\x20'+_0x54060f+_0x1cc7e4(0x39b)+_0x412ce6+'\x20'+_0x12ddc7+_0x1cc7e4(0x2c6)+_0x532ee7+';'),_0x4c8eab+=(0x0<_0x532ee7?'\x0d\x0a':'')+'#define\x20'+_0x12ddc7+_0x532ee7+'\x20'+_0xadc17+_0x1c90ac+'('+_0x12ddc7+_0x1cc7e4(0x2c6)+_0x532ee7+',\x20'+_0x336379+')';}_0x4c8eab=_0x5be261[_0x1cc7e4(0xce7)]('\x0d\x0a')+_0x4c8eab,this[_0x1cc7e4(0x620)][_0x1cc7e4(0x2bd)](_0x12ddc7);}else _0x47b3b9=0x1,_0x4c8eab=_0x1cc7e4(0x8cc)+_0x496200+',\x20binding\x20=\x20'+_0x427148+_0x1cc7e4(0x39b)+_0xadc17+_0x28ef12+'\x20'+_0x336379+_0x1cc7e4(0xada)+_0x5a9f3e[_0x1cc7e4(0x7f0)][0x0][_0x1cc7e4(0x755)]+_0x1cc7e4(0x76d)+_0x5a9f3e['textures'][0x0][_0x1cc7e4(0x9ad)]+_0x1cc7e4(0x39b)+_0x412ce6+'\x20'+_0x12ddc7+_0x1cc7e4(0xb94)+_0x12ddc7+'\x20'+_0xadc17+_0x1c90ac+'('+_0x12ddc7+_0x1cc7e4(0x33a)+_0x336379+')';this[_0x1cc7e4(0x866)]['availableTextures'][_0x12ddc7]=_0x5a9f3e,this[_0x1cc7e4(0x866)]['availableSamplers'][_0x336379]=_0x464432,this[_0x1cc7e4(0xafe)](_0x336379,_0x464432,!_0x4a5429);for(let _0x40d61f=0x0;_0x40d61f<_0x47b3b9;++_0x40d61f)this['_addTextureBindingDescription'](_0x12ddc7,_0x5a9f3e,_0x40d61f,_0x3bdbad,null,!_0x4a5429);}else this[_0x1cc7e4(0x7de)](_0x12ddc7,_0x4c5316,_0x1b34aa),_0x4c8eab='';}return _0x4c8eab;}[_0xf1ffa4(0x55f)](_0x115146,_0x1e1bba){var _0xf754ce=_0xf1ffa4,_0x4eee52=/uniform\s+(\w+)/gm[_0xf754ce(0x2f2)](_0x115146);if(null!==_0x4eee52){var _0x3cb144,_0x4eee52=_0x4eee52[0x1];let _0x531c78=this['_webgpuProcessingContext'][_0xf754ce(0x372)][_0x4eee52];_0x531c78||(_0x3cb144=(_0x3cb144=_0x59b0d9['d'][_0xf754ce(0x418)][_0x4eee52])&&-0x1!==_0x3cb144['binding'][_0xf754ce(0x755)]?_0x3cb144[_0xf754ce(0x970)]:this[_0xf754ce(0x866)][_0xf754ce(0x205)](),_0x531c78={'binding':_0x3cb144},this[_0xf754ce(0x866)][_0xf754ce(0x372)][_0x4eee52]=_0x531c78),this[_0xf754ce(0x8ea)](_0x4eee52,_0x531c78,_0x3041e4['Rs'][_0xf754ce(0x2c1)],!_0x1e1bba),_0x115146=_0x115146['replace']('uniform',_0xf754ce(0x8cc)+_0x531c78[_0xf754ce(0x970)]['groupIndex']+_0xf754ce(0x76d)+_0x531c78['binding']['bindingIndex']+_0xf754ce(0xd4c));}return _0x115146;}['postProcessor'](_0x29d9f8,_0x128b6d,_0x26492e,_0x5d2ff4,_0x1d2595){var _0x5f3abf=_0xf1ffa4,_0x10bb4e=-0x1!==_0x29d9f8[_0x5f3abf(0x214)](/#extension.+GL_EXT_draw_buffers.+require/);if(_0x29d9f8=(_0x29d9f8=_0x29d9f8['replace'](/#extension.+(GL_OVR_multiview2|GL_OES_standard_derivatives|GL_EXT_shader_texture_lod|GL_EXT_frag_depth|GL_EXT_draw_buffers).+(enable|require)/g,''))[_0x5f3abf(0x827)](/texture2D\s*\(/g,_0x5f3abf(0x3d2)),_0x26492e){var _0x28c446,_0x645900=0x0<=_0x29d9f8[_0x5f3abf(0x456)](_0x5f3abf(0x8cf)),_0x53500d=_0x645900?_0x5f3abf(0x8ff):'';_0x29d9f8=(_0x29d9f8=(_0x29d9f8=(_0x29d9f8=(_0x29d9f8=(_0x29d9f8=(_0x29d9f8=_0x29d9f8[_0x5f3abf(0x827)](/texture2DLodEXT\s*\(/g,_0x5f3abf(0x878)))[_0x5f3abf(0x827)](/textureCubeLodEXT\s*\(/g,_0x5f3abf(0x878)))[_0x5f3abf(0x827)](/textureCube\s*\(/g,_0x5f3abf(0x3d2)))[_0x5f3abf(0x827)](/gl_FragDepthEXT/g,_0x5f3abf(0xd72)))[_0x5f3abf(0x827)](/gl_FragColor/g,_0x5f3abf(0x77b)))[_0x5f3abf(0x827)](/gl_FragData/g,_0x5f3abf(0x9d1)))['replace'](/gl_FragCoord/g,'glFragCoord_'),this[_0x5f3abf(0xbc8)]?null!==(_0x28c446=/^\s*out\s+\S+\s+\S+\s*;/gm[_0x5f3abf(0x2f2)](_0x29d9f8))&&(_0x29d9f8=_0x29d9f8[_0x5f3abf(0x803)](0x0,_0x28c446['index'])+'layout(location\x20=\x200)\x20'+_0x29d9f8['substring'](_0x28c446[_0x5f3abf(0xc29)])):_0x29d9f8=_0x29d9f8[_0x5f3abf(0x827)](/void\s+?main\s*\(/g,(_0x10bb4e?'':'layout(location\x20=\x200)\x20out\x20vec4\x20glFragColor;\x0a')+'void\x20main('),_0x29d9f8=(_0x29d9f8=_0x29d9f8[_0x5f3abf(0x827)](/dFdy/g,_0x5f3abf(0xd95)))[_0x5f3abf(0x827)](_0x5f3abf(0x6aa),_0x53500d),_0x645900&&(_0x29d9f8=this[_0x5f3abf(0x3da)](_0x29d9f8,_0x5f3abf(0x92e),_0x5f3abf(0x36e)));}else{if(_0x29d9f8=(_0x29d9f8=_0x29d9f8[_0x5f3abf(0x827)](/gl_InstanceID/g,'gl_InstanceIndex'))[_0x5f3abf(0x827)](/gl_VertexID/g,_0x5f3abf(0xd64)),-0x1!==_0x128b6d[_0x5f3abf(0x456)](_0x5f3abf(0x32c)))return _0x5f3abf(0x74a)+_0x29d9f8;}return _0x26492e||(_0x28c446=_0x29d9f8[_0x5f3abf(0xd38)]('}'),_0x29d9f8=_0x29d9f8[_0x5f3abf(0x803)](0x0,_0x28c446),_0x29d9f8+=_0x5f3abf(0x45c),_0x1d2595[_0x5f3abf(0x8b1)]||(_0x29d9f8+=_0x5f3abf(0xcb6)),_0x29d9f8+='}'),_0x29d9f8;}[_0xf1ffa4(0xb5c)](_0x22fda0,_0x28ee92){var _0x4a6b5c=_0xf1ffa4;const _0x4c5f54=new RegExp(_0x28ee92+_0x4a6b5c(0xb5b),'gm');let _0x46aa8d=_0x4c5f54['exec'](_0x22fda0);for(;null!==_0x46aa8d;){const _0x8a7008=_0x46aa8d[0x1];let _0x10e7c0=+_0x8a7008;this[_0x4a6b5c(0x380)]&&isNaN(_0x10e7c0)&&(_0x10e7c0=+this[_0x4a6b5c(0x380)][_0x8a7008[_0x4a6b5c(0x71d)]()]),_0x22fda0=_0x22fda0[_0x4a6b5c(0x827)](_0x46aa8d[0x0],_0x28ee92+_0x10e7c0),_0x46aa8d=_0x4c5f54[_0x4a6b5c(0x2f2)](_0x22fda0);}return _0x22fda0;}[_0xf1ffa4(0x55e)](_0x159e28,_0x493006){var _0x17ca84=_0xf1ffa4;let _0x3b90a9=_0x17ca84(0x8cc)+_0x493006['binding'][_0x17ca84(0x755)]+_0x17ca84(0x76d)+_0x493006[_0x17ca84(0x970)][_0x17ca84(0x9ad)]+')\x20uniform\x20'+_0x159e28+_0x17ca84(0x4a4);for(const _0x38358c of this['_webgpuProcessingContext'][_0x17ca84(0xd6e)])0x0<_0x38358c[_0x17ca84(0x43c)]?_0x3b90a9+='\x20\x20\x20\x20'+_0x38358c[_0x17ca84(0xa18)]+'\x20'+_0x38358c[_0x17ca84(0xd51)]+'['+_0x38358c[_0x17ca84(0x43c)]+'];\x0a':_0x3b90a9+=_0x17ca84(0x666)+_0x38358c[_0x17ca84(0xa18)]+'\x20'+_0x38358c['name']+';\x0a';return _0x3b90a9+=_0x17ca84(0x9c9);}[_0xf1ffa4(0xb8b)](_0x21b414,_0x4c09f2){var _0x5cd61b=_0xf1ffa4;for(let _0x33111d=0x0;_0x33111d<this[_0x5cd61b(0x620)][_0x5cd61b(0x43c)];++_0x33111d){var _0x1acc8d=this['_textureArrayProcessing'][_0x33111d];_0x21b414=this[_0x5cd61b(0xb5c)](_0x21b414,_0x1acc8d),_0x4c09f2=this[_0x5cd61b(0xb5c)](_0x4c09f2,_0x1acc8d);}for(let _0x3fae5b=0x0;_0x3fae5b<this[_0x5cd61b(0x422)][_0x5cd61b(0x43c)];++_0x3fae5b){var _0x5f2b56=this['_missingVaryings'][_0x3fae5b];_0x5f2b56&&0x0<_0x5f2b56[_0x5cd61b(0x43c)]&&(_0x4c09f2=_0x5f2b56+'\x0a'+_0x4c09f2);}var _0x52cdea=this[_0x5cd61b(0xb26)]();return _0x21b414=_0x52cdea+_0x21b414,_0x4c09f2=_0x52cdea+_0x4c09f2,this[_0x5cd61b(0x8b5)](),this[_0x5cd61b(0x348)](),this['_preProcessors']=null,{'vertexCode':_0x21b414,'fragmentCode':_0x4c09f2};}}},0x1577e:(_0x4136a0,_0x15b035,_0x522bff)=>{var _0x5d5e03=a6_0x5e3a36;_0x522bff['d'](_0x15b035,{'o':()=>_0x3fd32b});var _0x50c0ee=_0x522bff(0x1114f),_0x33d4d5=_0x522bff(0x89a1),_0x54759b=_0x522bff(0x10ea4),_0x1cf056=_0x522bff(0xe83b),_0x53d0cf=_0x522bff(0x75be),_0x15b035=_0x522bff(0x17a92),_0x309167=(_0x15b035['v'][_0x5d5e03(0xb06)]['bonesDeclaration']='#if\x20NUM_BONE_INFLUENCERS>0\x0aattribute\x20matricesIndices\x20:\x20vec4<f32>;\x0aattribute\x20matricesWeights\x20:\x20vec4<f32>;\x0a#if\x20NUM_BONE_INFLUENCERS>4\x0aattribute\x20matricesIndicesExtra\x20:\x20vec4<f32>;\x0aattribute\x20matricesWeightsExtra\x20:\x20vec4<f32>;\x0a#endif\x0a#ifndef\x20BAKED_VERTEX_ANIMATION_TEXTURE\x0a#ifdef\x20BONETEXTURE\x0avar\x20boneSampler\x20:\x20texture_2d<f32>;\x0auniform\x20boneTextureWidth\x20:\x20f32;\x0a#else\x0auniform\x20mBones\x20:\x20array<mat4x4,BonesPerMesh>;\x0a#ifdef\x20BONES_VELOCITY_ENABLED\x0auniform\x20mPreviousBones\x20:\x20array<mat4x4,BonesPerMesh>;\x0a#endif\x0a#endif\x0a#ifdef\x20BONETEXTURE\x0afn\x20readMatrixFromRawSampler(smp\x20:\x20texture_2d<f32>,index\x20:\x20f32)->mat4x4<f32>\x0a{\x0alet\x20offset=i32(index)\x20*4;\x20\x0alet\x20m0=textureLoad(smp,vec2<i32>(offset+0,0),0);\x0alet\x20m1=textureLoad(smp,vec2<i32>(offset+1,0),0);\x0alet\x20m2=textureLoad(smp,vec2<i32>(offset+2,0),0);\x0alet\x20m3=textureLoad(smp,vec2<i32>(offset+3,0),0);\x0areturn\x20mat4x4<f32>(m0,m1,m2,m3);\x0a}\x0a#endif\x0a#endif\x0a#endif\x0a',_0x15b035['v'][_0x5d5e03(0xb06)][_0x5d5e03(0x51f)]=_0x5d5e03(0x685),_0x15b035['v'][_0x5d5e03(0xb06)][_0x5d5e03(0x523)]=_0x5d5e03(0x7a4),_0x15b035['v'][_0x5d5e03(0xb06)][_0x5d5e03(0x24a)]=_0x5d5e03(0xa17),_0x15b035['v']['IncludesShadersStoreWGSL']['clipPlaneFragment']='#if\x20defined(CLIPPLANE)\x20||\x20defined(CLIPPLANE2)\x20||\x20defined(CLIPPLANE3)\x20||\x20defined(CLIPPLANE4)\x20||\x20defined(CLIPPLANE5)\x20||\x20defined(CLIPPLANE6)\x0aif\x20(false)\x20{}\x0a#endif\x0a#ifdef\x20CLIPPLANE\x0aelse\x20if\x20(fClipDistance>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE2\x0aelse\x20if\x20(fClipDistance2>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE3\x0aelse\x20if\x20(fClipDistance3>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE4\x0aelse\x20if\x20(fClipDistance4>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE5\x0aelse\x20if\x20(fClipDistance5>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a#ifdef\x20CLIPPLANE6\x0aelse\x20if\x20(fClipDistance6>0.0)\x0a{\x0adiscard;\x0a}\x0a#endif\x0a',_0x15b035['v'][_0x5d5e03(0xb06)]['clipPlaneFragmentDeclaration']=_0x5d5e03(0x922),_0x15b035['v'][_0x5d5e03(0xb06)][_0x5d5e03(0x3eb)]=_0x5d5e03(0x508),_0x15b035['v']['IncludesShadersStoreWGSL'][_0x5d5e03(0xd04)]=_0x5d5e03(0x92a),_0x15b035['v'][_0x5d5e03(0xb06)]['instancesDeclaration']=_0x5d5e03(0xa9a),_0x15b035['v'][_0x5d5e03(0xb06)][_0x5d5e03(0x49c)]=_0x5d5e03(0xc97),_0x15b035['v']['IncludesShadersStoreWGSL'][_0x5d5e03(0x266)]=_0x5d5e03(0x4e6),_0x15b035['v']['IncludesShadersStoreWGSL'][_0x5d5e03(0x2c2)]=_0x5d5e03(0x28b),_0x15b035['v']['IncludesShadersStoreWGSL'][_0x5d5e03(0xa86)]=_0x5d5e03(0x267),_0x15b035['v']['IncludesShadersStoreWGSL'][_0x5d5e03(0xaf0)]=_0x5d5e03(0x2f5),_0x15b035['v'][_0x5d5e03(0xb06)]['morphTargetsVertexGlobalDeclaration']='#ifdef\x20MORPHTARGETS\x0auniform\x20morphTargetInfluences\x20:\x20array<f32,NUM_MORPH_INFLUENCERS>;\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0auniform\x20morphTargetTextureIndices\x20:\x20array<f32,NUM_MORPH_INFLUENCERS>;\x0auniform\x20morphTargetTextureInfo\x20:\x20vec3<f32>;\x0avar\x20morphTargets\x20:\x20texture_2d_array<f32>;\x0avar\x20morphTargetsSampler\x20:\x20sampler;\x0afn\x20readVector3FromRawSampler(targetIndex\x20:\x20i32,vertexIndex\x20:\x20f32)->vec3<f32>\x0a{\x20\x0alet\x20y=floor(vertexIndex/uniforms.morphTargetTextureInfo.y);\x0alet\x20x=vertexIndex-y*uniforms.morphTargetTextureInfo.y;\x0alet\x20textureUV=vec2<f32>((x+0.5)/uniforms.morphTargetTextureInfo.y,(y+0.5)/uniforms.morphTargetTextureInfo.z);\x0areturn\x20textureSampleLevel(morphTargets,morphTargetsSampler,textureUV,i32(uniforms.morphTargetTextureIndices[targetIndex]),0.0).xyz;\x0a}\x0a#endif\x0a#endif\x0a',_0x15b035['v'][_0x5d5e03(0xb06)][_0x5d5e03(0xcc7)]=_0x5d5e03(0xca4),_0x522bff(0x11722));const _0x1313dd=_0x5d5e03(0xcb1),_0x54f390=_0x5d5e03(0xb2f),_0x2965f2='gl_Position',_0x3151b5=_0x5d5e03(0x8cf),_0x4f3a7a=_0x5d5e03(0x517),_0x299e91='gl_FragDepth',_0x5f46a4=_0x5d5e03(0x3a4),_0x5c27fc={'texture_1d':_0x33d4d5['p_'][_0x5d5e03(0x6a0)],'texture_2d':_0x33d4d5['p_'][_0x5d5e03(0xa4e)],'texture_2d_array':_0x33d4d5['p_'][_0x5d5e03(0xd37)],'texture_3d':_0x33d4d5['p_'][_0x5d5e03(0xa5a)],'texture_cube':_0x33d4d5['p_'][_0x5d5e03(0x1e2)],'texture_cube_array':_0x33d4d5['p_'][_0x5d5e03(0x49b)],'texture_multisampled_2d':_0x33d4d5['p_']['E2d'],'texture_depth_2d':_0x33d4d5['p_'][_0x5d5e03(0xa4e)],'texture_depth_2d_array':_0x33d4d5['p_'][_0x5d5e03(0xd37)],'texture_depth_cube':_0x33d4d5['p_']['Cube'],'texture_depth_cube_array':_0x33d4d5['p_'][_0x5d5e03(0x49b)],'texture_depth_multisampled_2d':_0x33d4d5['p_'][_0x5d5e03(0xa4e)],'texture_storage_1d':_0x33d4d5['p_'][_0x5d5e03(0x6a0)],'texture_storage_2d':_0x33d4d5['p_'][_0x5d5e03(0xa4e)],'texture_storage_2d_array':_0x33d4d5['p_'][_0x5d5e03(0xd37)],'texture_storage_3d':_0x33d4d5['p_'][_0x5d5e03(0xa5a)],'texture_external':null};class _0x3fd32b extends _0x1cf056['e']{constructor(){var _0x52f917=_0x5d5e03;super(...arguments),this['shaderLanguage']=_0x309167['x']['WGSL'],this[_0x52f917(0x94a)]=/uniform\s+(\w+)\s*:\s*(.+)\s*;/,this[_0x52f917(0xb48)]=/var\s+(\w+)\s*:\s*((array<\s*)?(texture_\w+)\s*(<\s*(.+)\s*>)?\s*(,\s*\w+\s*>\s*)?);/,this['noPrecision']=!0x0;}[_0x5d5e03(0xc6e)](_0x46c5fb,_0x3320e2,_0x117158){var _0x556d6c=_0x5d5e03;let _0x3969c4=0x0;var _0x5175bd=_0x3320e2['lastIndexOf']('>');if(0x0<=_0x3320e2[_0x556d6c(0x456)](_0x556d6c(0xd06))&&0x0<_0x5175bd){let _0x5b3ca1=_0x5175bd;for(;0x0<_0x5b3ca1&&'\x20'!==_0x3320e2['charAt'](_0x5b3ca1)&&','!==_0x3320e2['charAt'](_0x5b3ca1);)_0x5b3ca1--;const _0x45ceb7=_0x3320e2[_0x556d6c(0x803)](_0x5b3ca1+0x1,_0x5175bd);for(_0x3969c4=+_0x45ceb7,isNaN(_0x3969c4)&&(_0x3969c4=+_0x117158[_0x45ceb7[_0x556d6c(0x71d)]()]);0x0<_0x5b3ca1&&('\x20'===_0x3320e2[_0x556d6c(0x63f)](_0x5b3ca1)||','===_0x3320e2[_0x556d6c(0x63f)](_0x5b3ca1));)_0x5b3ca1--;_0x3320e2=_0x3320e2[_0x556d6c(0x803)](_0x3320e2[_0x556d6c(0x456)]('<')+0x1,_0x5b3ca1+0x1);}return[_0x46c5fb,_0x3320e2,_0x3969c4];}[_0x5d5e03(0xa64)](_0x2a8217){var _0x58b730=_0x5d5e03;this[_0x58b730(0x866)]=_0x2a8217,this[_0x58b730(0xa2e)]=[],this[_0x58b730(0x1f0)]=[],this[_0x58b730(0xd1a)]=[],this[_0x58b730(0xbd2)]=[],this[_0x58b730(0x4f0)]=[],this[_0x58b730(0xb3f)]=[],this[_0x58b730(0xca1)]=[];}[_0x5d5e03(0x2aa)](_0x1984bc){var _0x3910c6=_0x5d5e03;return'struct\x20'+_0x1cf056['e'][_0x3910c6(0x2b9)]+_0x3910c6(0x277)+_0x1cf056['e'][_0x3910c6(0x2b9)]+';\x0a'+(0x0,_0x53d0cf['Kt'])(_0x1984bc);}[_0x5d5e03(0x4a7)](_0x56c7d2,_0x3f09ea,_0x367722){var _0x529596=_0x5d5e03,_0x408bc2=/\s*varying\s+(?:(?:highp)?|(?:lowp)?)\s*(\S+)\s*:\s*(.+)\s*;/gm[_0x529596(0x2f2)](_0x56c7d2);if(null!==_0x408bc2){var _0xf1b53c=_0x408bc2[0x2],_0x408bc2=_0x408bc2[0x1];let _0x1fb5b9;_0x3f09ea?void 0x0===(_0x1fb5b9=this[_0x529596(0x866)]['availableVaryings'][_0x408bc2])&&_0x54759b['Y']['Warn'](_0x529596(0x3ae)+_0x408bc2+_0x529596(0x26a)):(_0x1fb5b9=this[_0x529596(0x866)][_0x529596(0x9dc)](_0xf1b53c,this[_0x529596(0xc6e)](_0x408bc2,_0xf1b53c,_0x367722)[0x2]),this[_0x529596(0x866)][_0x529596(0xb86)][_0x408bc2]=_0x1fb5b9,this['_varyingsWGSL'][_0x529596(0x2bd)](_0x529596(0x665)+_0x1fb5b9+')\x20'+_0x408bc2+_0x529596(0x8ce)+_0xf1b53c+','),this['_varyingsDeclWGSL'][_0x529596(0x2bd)](_0x529596(0xd96)+_0x408bc2+'\x20:\x20'+_0xf1b53c+';'),this[_0x529596(0xb3f)][_0x529596(0x2bd)](_0x408bc2)),_0x56c7d2='';}return _0x56c7d2;}['attributeProcessor'](_0x1de8c0,_0x5d0c06){var _0xab6f10=_0x5d5e03,_0x3ffc2e,_0x598f48=/\s*attribute\s+(\S+)\s*:\s*(.+)\s*;/gm['exec'](_0x1de8c0);return null!==_0x598f48&&(_0x3ffc2e=_0x598f48[0x2],_0x598f48=_0x598f48[0x1],_0x5d0c06=this['_webgpuProcessingContext']['getAttributeNextLocation'](_0x3ffc2e,this['_getArraySize'](_0x598f48,_0x3ffc2e,_0x5d0c06)[0x2]),this['_webgpuProcessingContext']['availableAttributes'][_0x598f48]=_0x5d0c06,this['_webgpuProcessingContext'][_0xab6f10(0x1c0)][_0x5d0c06]=_0x598f48,this[_0xab6f10(0xa2e)][_0xab6f10(0x2bd)](_0xab6f10(0x665)+_0x5d0c06+')\x20'+_0x598f48+_0xab6f10(0x8ce)+_0x3ffc2e+','),this['_attributesDeclWGSL'][_0xab6f10(0x2bd)](_0xab6f10(0xd96)+_0x598f48+_0xab6f10(0x8ce)+_0x3ffc2e+';'),this[_0xab6f10(0xd1a)][_0xab6f10(0x2bd)](_0x598f48),_0x1de8c0=''),_0x1de8c0;}[_0x5d5e03(0x7e2)](_0x3abc46,_0x9ac60f,_0x3a8b9c){var _0x18cfc0=_0x5d5e03,_0x323935,_0x186713=this[_0x18cfc0(0x94a)][_0x18cfc0(0x2f2)](_0x3abc46);return null!==_0x186713&&(_0x323935=_0x186713[0x2],_0x186713=_0x186713[0x1],this[_0x18cfc0(0x7de)](_0x186713,_0x323935,_0x3a8b9c),_0x3abc46=''),_0x3abc46;}[_0x5d5e03(0x5ee)](_0x5b081a,_0x1d9516,_0x28c002){var _0x50b7dc=_0x5d5e03,_0x32f1a7=this[_0x50b7dc(0xb48)]['exec'](_0x5b081a);if(null!==_0x32f1a7){var _0x302a18=_0x32f1a7[0x1],_0x229e59=_0x32f1a7[0x2],_0x18642b=!!_0x32f1a7[0x3];const _0x2eadcc=_0x32f1a7[0x4];var _0x13e70f=0x0<_0x2eadcc['indexOf'](_0x50b7dc(0x6d1));const _0x294e28=_0x32f1a7[0x6];var _0x59ed1f=_0x13e70f?_0x294e28[_0x50b7dc(0x803)](0x0,_0x294e28[_0x50b7dc(0x456)](','))[_0x50b7dc(0x71d)]():null;let _0xfc6c03=_0x18642b?this['_getArraySize'](_0x302a18,_0x229e59,_0x28c002)[0x2]:0x0,_0x9549ff=this[_0x50b7dc(0x866)][_0x50b7dc(0x332)][_0x302a18];if(_0x9549ff)_0xfc6c03=_0x9549ff[_0x50b7dc(0x7f0)][_0x50b7dc(0x43c)];else{_0x9549ff={'isTextureArray':0x0<_0xfc6c03,'isStorageTexture':_0x13e70f,'textures':[],'sampleType':_0x33d4d5['oD'][_0x50b7dc(0x6a2)]},_0xfc6c03=_0xfc6c03||0x1;for(let _0xd66c64=0x0;_0xd66c64<_0xfc6c03;++_0xd66c64)_0x9549ff[_0x50b7dc(0x7f0)]['push'](this['_webgpuProcessingContext'][_0x50b7dc(0x205)]());}this['_webgpuProcessingContext'][_0x50b7dc(0x332)][_0x302a18]=_0x9549ff;var _0x32f1a7=0x0<_0x2eadcc[_0x50b7dc(0x456)](_0x50b7dc(0x550)),_0x5bd851=_0x5c27fc[_0x2eadcc],_0x18642b=_0x32f1a7?_0x33d4d5['oD'][_0x50b7dc(0xbc9)]:_0x50b7dc(0x924)===_0x294e28?_0x33d4d5['oD'][_0x50b7dc(0x220)]:'i32'===_0x294e28?_0x33d4d5['oD'][_0x50b7dc(0xb36)]:_0x33d4d5['oD'][_0x50b7dc(0x6a2)];if(_0x9549ff[_0x50b7dc(0xd5e)]=_0x18642b,void 0x0===_0x5bd851)throw'Can\x27t\x20get\x20the\x20texture\x20dimension\x20corresponding\x20to\x20the\x20texture\x20function\x20\x22'+_0x2eadcc+'\x22!';for(let _0x354d70=0x0;_0x354d70<_0xfc6c03;++_0x354d70){var {groupIndex:_0x43b792,bindingIndex:_0x5e650a}=_0x9549ff[_0x50b7dc(0x7f0)][_0x354d70];0x0===_0x354d70&&(_0x5b081a=_0x50b7dc(0xc78)+_0x43b792+')\x20@binding('+_0x5e650a+')\x20'+_0x5b081a),this[_0x50b7dc(0x8b2)](_0x302a18,_0x9549ff,_0x354d70,_0x5bd851,_0x59ed1f,!_0x1d9516);}}return _0x5b081a;}[_0x5d5e03(0xd35)](_0x39a597){return _0x39a597;}['finalizeShaders'](_0x38def5,_0x2272c1){var _0x4df77c=_0x5d5e03,_0x24d347=0x0<=_0x2272c1[_0x4df77c(0x456)](_0x4df77c(0x8cf))?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(internals.yFactor_\x20==\x201.)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gl_FragCoord.y\x20=\x20internals.textureOutputHeight_\x20-\x20gl_FragCoord.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20':'',_0x52e9f0=(_0x38def5=this[_0x4df77c(0x783)](_0x38def5,!0x0),_0x2272c1=this[_0x4df77c(0x783)](_0x2272c1,!0x1),_0x38def5=this['_processCustomBuffers'](_0x38def5,!0x0),_0x2272c1=this['_processCustomBuffers'](_0x2272c1,!0x1),this[_0x4df77c(0xb26)]()),_0x52e9f0=(_0x2272c1=_0x52e9f0+_0x2272c1,_0x38def5=(_0x38def5=_0x52e9f0+_0x38def5)[_0x4df77c(0x827)](/#define /g,'//#define\x20'),_0x38def5=this[_0x4df77c(0x36c)](_0x38def5),this[_0x4df77c(0x4f0)][_0x4df77c(0xce7)]('\x0a')+'\x0a'),_0x41fcd9=(_0x1313dd,_0x54f390,_0x2965f2,this[_0x4df77c(0x1f0)]['join']('\x0a')+'\x0a');let _0x5c1910=_0x4df77c(0xc56),_0x127bd7=(0x0<this[_0x4df77c(0xa2e)][_0x4df77c(0x43c)]&&(_0x5c1910+=this['_attributesWGSL']['join']('\x0a')),_0x5c1910+=_0x4df77c(0x19f),_0x4df77c(0x797)),_0x44d791=(0x0<this['_varyingsWGSL'][_0x4df77c(0x43c)]&&(_0x127bd7+=this[_0x4df77c(0xbd2)][_0x4df77c(0xce7)]('\x0a')),_0x127bd7+=_0x4df77c(0x19f),_0x38def5=_0x4df77c(0x1cc)+_0x5c1910+_0x41fcd9+_0x127bd7+_0x52e9f0+_0x38def5,_0x4df77c(0x85e)+_0x1313dd+_0x4df77c(0x452)+_0x54f390+_0x4df77c(0x7d9));for(let _0x8407a6=0x0;_0x8407a6<this[_0x4df77c(0xd1a)]['length'];++_0x8407a6){var _0x2769f6=this[_0x4df77c(0xd1a)][_0x8407a6];_0x44d791+='\x20\x20'+_0x2769f6+'\x20=\x20input.'+_0x2769f6+';\x0a';}let _0xe0572a=_0x4df77c(0x35a)+_0x2965f2+_0x4df77c(0x928);for(let _0x2c08cb=0x0;_0x2c08cb<this[_0x4df77c(0xb3f)][_0x4df77c(0x43c)];++_0x2c08cb){var _0x3c4815=this['_varyingNamesWGSL'][_0x2c08cb];_0xe0572a+=_0x4df77c(0xc62)+_0x3c4815+_0x4df77c(0xb74)+_0x3c4815+';\x0a';}_0xe0572a+=_0x4df77c(0xb49),_0x38def5=this[_0x4df77c(0x3da)](_0x38def5,_0x4df77c(0x88f),_0x44d791,_0xe0572a),_0x2272c1=_0x2272c1['replace'](/#define /g,_0x4df77c(0xd6b)),_0x2272c1=(_0x2272c1=this[_0x4df77c(0x36c)](_0x2272c1))[_0x4df77c(0x827)](/dpdy/g,_0x4df77c(0x533)),_0x3151b5,_0x4f3a7a,_0x5f46a4,_0x299e91;let _0x153ecc=_0x4df77c(0xcf1),_0x56ff6f=(0x0<this['_varyingsWGSL'][_0x4df77c(0x43c)]&&(_0x153ecc+=this['_varyingsWGSL']['join']('\x0a')),_0x153ecc+=_0x4df77c(0x19f),_0x4df77c(0x9ed)),_0x22c858=!0x1,_0x32c63e=0x0;for(;!(_0x22c858||(_0x32c63e=_0x2272c1['indexOf'](_0x299e91,_0x32c63e))<0x0);){var _0x10e636=_0x32c63e;for(_0x22c858=!0x0;0x1<_0x32c63e&&'\x0a'!==_0x2272c1[_0x4df77c(0x63f)](_0x32c63e);){if('/'===_0x2272c1['charAt'](_0x32c63e)&&'/'===_0x2272c1[_0x4df77c(0x63f)](_0x32c63e-0x1)){_0x22c858=!0x1;break;}_0x32c63e--;}_0x32c63e=_0x10e636+_0x299e91['length'];}_0x22c858&&(_0x56ff6f+=_0x4df77c(0x43f)),_0x56ff6f+='};\x0a',_0x2272c1='var<private>\x20gl_FragCoord\x20:\x20vec4<f32>;\x0avar<private>\x20gl_FrontFacing\x20:\x20bool;\x0avar<private>\x20gl_FragColor\x20:\x20vec4<f32>;\x0avar<private>\x20gl_FragDepth\x20:\x20f32;\x0a'+_0x153ecc+_0x52e9f0+_0x56ff6f+_0x2272c1;let _0x582833=_0x4df77c(0xb8a)+_0x3151b5+_0x4df77c(0x4dd)+_0x4f3a7a+_0x4df77c(0xd5a)+_0x24d347;for(let _0x195ef4=0x0;_0x195ef4<this['_varyingNamesWGSL'][_0x4df77c(0x43c)];++_0x195ef4){var _0x2db164=this[_0x4df77c(0xb3f)][_0x195ef4];_0x582833+='\x20\x20'+_0x2db164+'\x20=\x20input.'+_0x2db164+';\x0a';}let _0x4404d1=_0x4df77c(0x1af)+_0x5f46a4+';\x0a';return _0x22c858&&(_0x4404d1+='\x20\x20output.fragDepth\x20=\x20'+_0x299e91+';\x0a'),_0x4404d1+=_0x4df77c(0xb49),_0x2272c1=this[_0x4df77c(0x3da)](_0x2272c1,_0x4df77c(0x88f),_0x582833,_0x4404d1),this[_0x4df77c(0x8b5)](),this[_0x4df77c(0x348)](),{'vertexCode':_0x38def5,'fragmentCode':_0x2272c1};}[_0x5d5e03(0x55e)](_0x2c0888,_0xcda995){var _0x5bf775=_0x5d5e03;let _0x349798='',_0x47ecdd=_0x5bf775(0x999)+_0x2c0888+_0x5bf775(0xafb);for(const _0xe0a604 of this['_webgpuProcessingContext']['leftOverUniforms']){var _0x289fbe=_0xe0a604[_0x5bf775(0xa18)][_0x5bf775(0x827)](/^(.*?)(<.*>)?$/,'$1'),_0x57cfd0=_0x1cf056['e'][_0x5bf775(0x381)][_0x289fbe];0x0<_0xe0a604[_0x5bf775(0x43c)]?_0x57cfd0<=0x2?(_0x57cfd0=_0x2c0888+'_'+this['_stridedUniformArrays']['length']+_0x5bf775(0x5c7),_0x349798+=_0x5bf775(0x999)+_0x57cfd0+_0x5bf775(0x614)+_0x289fbe+_0x5bf775(0x238),this[_0x5bf775(0xca1)]['push'](_0xe0a604[_0x5bf775(0xd51)]),_0x47ecdd+=_0x5bf775(0x1d0)+_0xe0a604[_0x5bf775(0xd51)]+_0x5bf775(0xc98)+_0x57cfd0+',\x20'+_0xe0a604['length']+_0x5bf775(0xd79)):_0x47ecdd+='\x20'+_0xe0a604['name']+_0x5bf775(0xc98)+_0xe0a604[_0x5bf775(0xa18)]+',\x20'+_0xe0a604['length']+'>,\x0a':_0x47ecdd+='\x20\x20'+_0xe0a604['name']+'\x20:\x20'+_0xe0a604['type']+',\x0a';}return _0x47ecdd+=_0x5bf775(0xc20),_0x47ecdd=_0x349798+'\x0a'+_0x47ecdd,_0x47ecdd+=_0x5bf775(0xc78)+_0xcda995[_0x5bf775(0x970)][_0x5bf775(0x755)]+_0x5bf775(0xc6c)+_0xcda995[_0x5bf775(0x970)][_0x5bf775(0x9ad)]+_0x5bf775(0x9be)+_0x2c0888+';\x0a';}['_processSamplers'](_0x38fe13,_0x155d37){var _0x5194a1=_0x5d5e03;const _0x2012d2=/var\s+(\w+Sampler)\s*:\s*(sampler|sampler_comparison)\s*;/gm;for(;;){var _0x4fc1ef=_0x2012d2[_0x5194a1(0x2f2)](_0x38fe13);if(null===_0x4fc1ef)break;const _0x2bc295=_0x4fc1ef[0x1];var _0x5a9673=_0x4fc1ef[0x2],_0xe16688=_0x2bc295[_0x5194a1(0x456)](_0x1cf056['e'][_0x5194a1(0x69f)])===_0x2bc295[_0x5194a1(0x43c)]-_0x1cf056['e']['AutoSamplerSuffix']['length']?_0x2bc295['substring'](0x0,_0x2bc295[_0x5194a1(0x456)](_0x1cf056['e']['AutoSamplerSuffix'])):null,_0x5a9673=_0x5194a1(0x217)===_0x5a9673?_0x33d4d5['dV'][_0x5194a1(0x79a)]:_0x33d4d5['dV'][_0x5194a1(0x8d3)];if(_0xe16688){const _0x2fd474=this['_webgpuProcessingContext']['availableTextures'][_0xe16688];_0x2fd474&&(_0x2fd474[_0x5194a1(0xbd5)]=!0x0);}let _0x3c5c44=this[_0x5194a1(0x866)][_0x5194a1(0x989)][_0x2bc295];_0x3c5c44||(_0x3c5c44={'binding':this[_0x5194a1(0x866)][_0x5194a1(0x205)](),'type':_0x5a9673},this['_webgpuProcessingContext']['availableSamplers'][_0x2bc295]=_0x3c5c44),this[_0x5194a1(0xafe)](_0x2bc295,_0x3c5c44,_0x155d37),(_0xe16688=_0x38fe13[_0x5194a1(0x803)](0x0,_0x4fc1ef['index']),_0x5a9673=_0x5194a1(0xc78)+_0x3c5c44[_0x5194a1(0x970)][_0x5194a1(0x755)]+_0x5194a1(0xc6c)+_0x3c5c44['binding']['bindingIndex']+')\x20'),(_0x38fe13=_0xe16688+_0x5a9673+_0x38fe13[_0x5194a1(0x803)](_0x4fc1ef[_0x5194a1(0xc29)]),_0x2012d2['lastIndex']+=_0x5a9673[_0x5194a1(0x43c)]);}return _0x38fe13;}[_0x5d5e03(0xcec)](_0x1f3133,_0x3c1c3a){var _0x5a4a0f=_0x5d5e03;const _0x4f8789=/var<\s*(uniform|storage)\s*(,\s*(read|read_write)\s*)?>\s+(\S+)\s*:\s*(\S+)\s*;/gm;for(;;){var _0x133ce0=_0x4f8789[_0x5a4a0f(0x2f2)](_0x1f3133);if(null===_0x133ce0)break;var _0x33963d=_0x133ce0[0x1],_0x3569d7=_0x133ce0[0x3];let _0x75b5=_0x133ce0[0x4];var _0x4e5055=_0x133ce0[0x5];let _0x5d92a5=this[_0x5a4a0f(0x866)][_0x5a4a0f(0x372)][_0x75b5];if(!_0x5d92a5){var _0x145267=_0x5a4a0f(0x21b)===_0x33963d?_0x50c0ee['d'][_0x5a4a0f(0x418)][_0x4e5055]:null;let _0x598a96;_0x145267?(_0x75b5=_0x4e5055,-0x1===(_0x598a96=_0x145267[_0x5a4a0f(0x970)])[_0x5a4a0f(0x755)]&&(_0x598a96=this['_webgpuProcessingContext'][_0x5a4a0f(0x205)]())):_0x598a96=this[_0x5a4a0f(0x866)][_0x5a4a0f(0x205)](),_0x5d92a5={'binding':_0x598a96},this[_0x5a4a0f(0x866)][_0x5a4a0f(0x372)][_0x75b5]=_0x5d92a5;}this[_0x5a4a0f(0x8ea)](_0x75b5,this[_0x5a4a0f(0x866)]['availableBuffers'][_0x75b5],_0x5a4a0f(0x269)===_0x3569d7?_0x33d4d5['Rs']['Storage']:_0x5a4a0f(0x6d1)===_0x33963d?_0x33d4d5['Rs']['ReadOnlyStorage']:_0x33d4d5['Rs'][_0x5a4a0f(0x2c1)],_0x3c1c3a),_0x4e5055=_0x5a4a0f(0xc78)+_0x5d92a5[_0x5a4a0f(0x970)][_0x5a4a0f(0x755)]+_0x5a4a0f(0xc6c)+_0x5d92a5[_0x5a4a0f(0x970)][_0x5a4a0f(0x9ad)]+')\x20',(_0x1f3133=_0x1f3133[_0x5a4a0f(0x803)](0x0,_0x133ce0[_0x5a4a0f(0xc29)])+_0x4e5055+_0x1f3133[_0x5a4a0f(0x803)](_0x133ce0[_0x5a4a0f(0xc29)]),_0x4f8789[_0x5a4a0f(0x70e)]+=_0x4e5055[_0x5a4a0f(0x43c)]);}return _0x1f3133;}[_0x5d5e03(0x36c)](_0x41c481){var _0xb9046c=_0x5d5e03;for(const _0x43e450 of this[_0xb9046c(0xca1)])_0x41c481=_0x41c481[_0xb9046c(0x827)](new RegExp(_0x43e450+_0xb9046c(0x9d2),'g'),_0x43e450+'[$1].el');return _0x41c481;}}},0x99e2:(_0x11d8c3,_0x2f0255,_0x35018b)=>{var _0x5907db=a6_0x5e3a36;_0x35018b['d'](_0x2f0255,{'w':()=>_0x5a7326});var _0x328a63=_0x35018b(0x77a5);class _0x5a7326{constructor(_0x5dc56f,_0x49cb56,_0x18808c,_0xad5e38){var _0xd19b8a=a6_0x4d3f;this[_0xd19b8a(0x58e)]=!0x1,this['_play']=!0x1,this[_0xd19b8a(0xce0)]=[],this[_0xd19b8a(0x9e9)]=!0x1,this['_engine']=_0x5dc56f,this[_0xd19b8a(0x6ba)]=_0x49cb56,this['_bundleList']=_0x18808c,this[_0xd19b8a(0xce6)]=_0xad5e38;}get['enabled'](){var _0x36c339=a6_0x4d3f;return this[_0x36c339(0x9e9)];}get['play'](){var _0x22d034=a6_0x4d3f;return this[_0x22d034(0xd33)];}get[_0x5907db(0x5cf)](){var _0x500c1c=_0x5907db;return this[_0x500c1c(0x58e)];}set[_0x5907db(0xcc9)](_0x42bcbd){var _0x3ae2f2=_0x5907db;this[_0x3ae2f2(0xce0)][_0x3ae2f2(0x43c)]=0x0,this[_0x3ae2f2(0x58e)]=this['_enabled']=_0x42bcbd,this['_play']=!0x1,_0x42bcbd&&(this['_modeSaved']=this[_0x3ae2f2(0x6ba)],this[_0x3ae2f2(0x6ba)]=_0x328a63['g'][_0x3ae2f2(0x846)]);}get['mode'](){var _0x543cb5=_0x5907db;return this[_0x543cb5(0x6ba)];}set[_0x5907db(0x582)](_0x27bcce){var _0x1cd1a1=_0x5907db;this[_0x1cd1a1(0x58e)]?this[_0x1cd1a1(0x65b)]=_0x27bcce:this['_mode']=_0x27bcce;}[_0x5907db(0xa3b)](){var _0x2b6cd8=_0x5907db;this['_record']&&this['_mainPassBundleList']['push'](this['_bundleList'][_0x2b6cd8(0x5ec)]());}[_0x5907db(0x284)](_0x5e6405,_0x22f7c4){var _0xac1575=_0x5907db,_0x380460;if(this[_0xac1575(0xd33)])null!=(_0x380460=null==(_0x380460=_0x22f7c4[_0xac1575(0x914)])?void 0x0:_0x380460[_0x22f7c4[_0xac1575(0x213)]])&&_0x380460['run'](_0x5e6405),this['_mode']===_0x328a63['g'][_0xac1575(0x2fd)]&&this[_0xac1575(0x57c)][_0xac1575(0x6f6)](null==(_0x380460=null==(_0x380460=_0x22f7c4[_0xac1575(0x914)])?void 0x0:_0x380460[_0x22f7c4[_0xac1575(0x213)]])?void 0x0:_0x380460[_0xac1575(0x676)]);else{if(!this[_0xac1575(0x58e)])return!0x1;_0x22f7c4[_0xac1575(0x914)]||(_0x22f7c4[_0xac1575(0x914)]=[]),_0x22f7c4[_0xac1575(0x914)][_0x22f7c4[_0xac1575(0x213)]]=this[_0xac1575(0xce6)]['clone'](),_0x22f7c4[_0xac1575(0x914)][_0x22f7c4[_0xac1575(0x213)]][_0xac1575(0x237)](_0x5e6405),this['_bundleListRenderTarget'][_0xac1575(0x247)]();}return!0x0;}[_0x5907db(0x1f4)](_0x103564){var _0x39ddc3=_0x5907db;if(this['_record']&&(this['_mainPassBundleList'][_0x39ddc3(0x2bd)](this[_0x39ddc3(0x6ae)][_0x39ddc3(0x5ec)]()),this[_0x39ddc3(0x58e)]=!0x1,this[_0x39ddc3(0xd33)]=!0x0,this['_mode']=this[_0x39ddc3(0x65b)]),null!==_0x103564&&this[_0x39ddc3(0xd33)]){for(let _0x5e4403=0x0;_0x5e4403<this[_0x39ddc3(0xce0)]['length'];++_0x5e4403)this[_0x39ddc3(0xce0)][_0x5e4403][_0x39ddc3(0x237)](_0x103564),this[_0x39ddc3(0x6ba)]===_0x328a63['g'][_0x39ddc3(0x2fd)]&&this[_0x39ddc3(0x57c)][_0x39ddc3(0x6f6)](this[_0x39ddc3(0xce0)][_0x5e4403][_0x39ddc3(0x676)]);}}['reset'](){var _0x13c0b4=_0x5907db;this[_0x13c0b4(0xcc9)]=!0x1,this['enabled']=!0x0;}}},0x6c74:(_0x7363f2,_0xcee97b,_0x21a101)=>{var _0x125045=a6_0x5e3a36;_0x21a101['d'](_0xcee97b,{'F':()=>_0x190086});class _0x190086 extends _0x21a101(0x2902)['C']{constructor(_0x8a96d1){var _0x51e677=a6_0x4d3f;super(!0x1),this[_0x51e677(0x7f7)]=_0x8a96d1,this[_0x51e677(0x247)]();}get[_0x125045(0x649)](){var _0x1cf51f=_0x125045;return this[_0x1cf51f(0x3c6)];}set[_0x125045(0x649)](_0x174bda){var _0x27b07a=_0x125045;this['_func']!==_0x174bda&&(this[_0x27b07a(0x3c6)]=_0x174bda,this['_cache'][_0x27b07a(0xa9e)](_0x174bda));}get['funcMask'](){var _0x51d0f0=_0x125045;return this[_0x51d0f0(0xa73)];}set[_0x125045(0x1f1)](_0x16e71e){var _0x51bdb5=_0x125045;this[_0x51bdb5(0xa73)]!==_0x16e71e&&(this[_0x51bdb5(0xa73)]=_0x16e71e,this[_0x51bdb5(0x7f7)][_0x51bdb5(0x6b4)](_0x16e71e));}get[_0x125045(0xd17)](){var _0x1872fe=_0x125045;return this[_0x1872fe(0xc41)];}set[_0x125045(0xd17)](_0x3de855){var _0x5c207a=_0x125045;this[_0x5c207a(0xc41)]!==_0x3de855&&(this[_0x5c207a(0xc41)]=_0x3de855,this['_cache'][_0x5c207a(0xd56)](_0x3de855));}get['opDepthFail'](){var _0xa2aa87=_0x125045;return this[_0xa2aa87(0x27a)];}set['opDepthFail'](_0x5b1a16){var _0x406a57=_0x125045;this[_0x406a57(0x27a)]!==_0x5b1a16&&(this['_opDepthFail']=_0x5b1a16,this['_cache'][_0x406a57(0x4bc)](_0x5b1a16));}get[_0x125045(0x9da)](){var _0x597a13=_0x125045;return this[_0x597a13(0x598)];}set['opStencilDepthPass'](_0x4f7a91){var _0x4fc7a4=_0x125045;this[_0x4fc7a4(0x598)]!==_0x4f7a91&&(this[_0x4fc7a4(0x598)]=_0x4f7a91,this[_0x4fc7a4(0x7f7)][_0x4fc7a4(0xa85)](_0x4f7a91));}get[_0x125045(0x432)](){return this['_mask'];}set[_0x125045(0x432)](_0x564ad6){var _0x9dc0da=_0x125045;this[_0x9dc0da(0xb45)]!==_0x564ad6&&(this['_mask']=_0x564ad6,this[_0x9dc0da(0x7f7)][_0x9dc0da(0xcea)](_0x564ad6));}get[_0x125045(0xcc9)](){var _0x769414=_0x125045;return this[_0x769414(0x9e9)];}set[_0x125045(0xcc9)](_0x37c337){var _0x1943d0=_0x125045;this[_0x1943d0(0x9e9)]!==_0x37c337&&(this[_0x1943d0(0x9e9)]=_0x37c337,this[_0x1943d0(0x7f7)][_0x1943d0(0x97a)](_0x37c337));}[_0x125045(0x247)](){var _0x59e31b=_0x125045;super[_0x59e31b(0x247)](),this['_cache']['resetStencilState']();}['apply'](){var _0x4224ca=_0x125045,_0x55d52a=null==(_0x55d52a=this['stencilMaterial'])?void 0x0:_0x55d52a[_0x4224ca(0xcc9)];this[_0x4224ca(0xcc9)]=(_0x55d52a?this[_0x4224ca(0xab0)]:this[_0x4224ca(0xa6e)])[_0x4224ca(0xcc9)],this[_0x4224ca(0xcc9)]&&(this[_0x4224ca(0x649)]=(_0x55d52a?this[_0x4224ca(0xab0)]:this['stencilGlobal'])[_0x4224ca(0x649)],this[_0x4224ca(0x2e7)]=(_0x55d52a?this[_0x4224ca(0xab0)]:this[_0x4224ca(0xa6e)])[_0x4224ca(0x2e7)],this[_0x4224ca(0x1f1)]=(_0x55d52a?this['stencilMaterial']:this[_0x4224ca(0xa6e)])[_0x4224ca(0x1f1)],this[_0x4224ca(0xd17)]=(_0x55d52a?this[_0x4224ca(0xab0)]:this[_0x4224ca(0xa6e)])[_0x4224ca(0xd17)],this['opDepthFail']=(_0x55d52a?this[_0x4224ca(0xab0)]:this[_0x4224ca(0xa6e)])[_0x4224ca(0x5f8)],this[_0x4224ca(0x9da)]=(_0x55d52a?this[_0x4224ca(0xab0)]:this[_0x4224ca(0xa6e)])[_0x4224ca(0x9da)],this['mask']=(_0x55d52a?this['stencilMaterial']:this[_0x4224ca(0xa6e)])['mask']);}}},0x59c6:(_0x5db069,_0xe5dc3e,_0x423013)=>{var _0x5930fa=a6_0x5e3a36;_0x423013['d'](_0xe5dc3e,{'D':()=>_0x45f655,'U':()=>_0x102856});var _0x455648,_0x1c6b60,_0x46f8d4=_0x423013(0x89a1),_0x2b8022=_0x423013(0x1b5c),_0x23fbb2=_0x423013(0x77a5),_0x1e72da=_0x423013(0x25b1),_0x121259=_0x423013(0x18215);_0x455648={'MipMap':0x0,0x0:_0x5930fa(0x209),'InvertYPremultiplyAlpha':0x1,0x1:_0x5930fa(0x865),'Clear':0x2,0x2:_0x5930fa(0x7c0),'InvertYPremultiplyAlphaWithOfst':0x3,0x3:_0x5930fa(0x656)},_0x1c6b60={'DontInvertY':0x0,0x0:'DontInvertY','InvertY':0x1,0x1:_0x5930fa(0x4ae)};const _0x1e5e76=[{'vertex':_0x5930fa(0x3fd),'fragment':_0x5930fa(0x854)},{'vertex':_0x5930fa(0x7d6),'fragment':_0x5930fa(0x880)},{'vertex':_0x5930fa(0x950),'fragment':_0x5930fa(0x30e)},{'vertex':_0x5930fa(0x7d6),'fragment':_0x5930fa(0x8f4)}],_0x102856={'':0x0,'r8unorm':0x1,'r8uint':0x2,'r8sint':0x3,'r16uint':0x4,'r16sint':0x5,'r16float':0x6,'rg8unorm':0x7,'rg8uint':0x8,'rg8sint':0x9,'r32uint':0xa,'r32sint':0xb,'r32float':0xc,'rg16uint':0xd,'rg16sint':0xe,'rg16float':0xf,'rgba8unorm':0x10,'rgba8unorm-srgb':0x11,'rgba8uint':0x12,'rgba8sint':0x13,'bgra8unorm':0x14,'bgra8unorm-srgb':0x15,'rgb10a2unorm':0x16,'rg32uint':0x17,'rg32sint':0x18,'rg32float':0x19,'rgba16uint':0x1a,'rgba16sint':0x1b,'rgba16float':0x1c,'rgba32uint':0x1d,'rgba32sint':0x1e,'rgba32float':0x1f,'stencil8':0x20,'depth16unorm':0x21,'depth24plus':0x22,'depth24plus-stencil8':0x23,'depth32float':0x24,'depth24unorm-stencil8':0x25,'depth32float-stencil8':0x26};class _0x45f655{constructor(_0x4ab6cf,_0x443c81,_0x3c2f2f,_0x4c76b8){var _0x233027=_0x5930fa;this['_pipelines']={},this[_0x233027(0xd13)]=[],this[_0x233027(0x623)]={},this[_0x233027(0x8a5)]=[],this[_0x233027(0x5e6)]=[],this[_0x233027(0x8e4)]=_0x4ab6cf,this[_0x233027(0x42d)]=_0x443c81,this[_0x233027(0xa11)]=_0x3c2f2f,this[_0x233027(0x3a0)]=_0x4c76b8,this['_mipmapSampler']=_0x4ab6cf[_0x233027(0x39f)]({'minFilter':_0x46f8d4['X9'][_0x233027(0xa7a)]}),this['_videoSampler']=_0x4ab6cf['createSampler']({'minFilter':_0x46f8d4['X9'][_0x233027(0xa7a)]}),this[_0x233027(0xa84)]=this[_0x233027(0x3a0)]['createBuffer'](0x10,_0x46f8d4['FB'][_0x233027(0x2c1)]|_0x46f8d4['FB']['CopyDst'])['underlyingResource'],this[_0x233027(0xd14)](_0x46f8d4['EV'][_0x233027(0xcb5)]),this[_0x233027(0xaab)](_0x46f8d4['EV']['RGBA8Unorm']);}static[_0x5930fa(0xc4d)](_0x331bdd,_0x235e01){var _0x4e91d9=_0x5930fa;return _0x2b8022['R']['ILog2'](Math[_0x4e91d9(0xbbd)](_0x331bdd,_0x235e01))+0x1;}['_getPipeline'](_0x2ec37a,_0xb47ea5=_0x455648[_0x5930fa(0x209)],_0x34f109){var _0x248ea6=_0x5930fa,_0x5ee775=_0xb47ea5===_0x455648[_0x248ea6(0x209)]?0x1:_0xb47ea5===_0x455648[_0x248ea6(0x865)]?((_0x34f109['invertY']?0x1:0x0)<<0x1)+((_0x34f109[_0x248ea6(0x6eb)]?0x1:0x0)<<0x2):_0xb47ea5===_0x455648[_0x248ea6(0x7c0)]?0x8:_0xb47ea5===_0x455648[_0x248ea6(0x656)]?((_0x34f109[_0x248ea6(0x63a)]?0x1:0x0)<<0x4)+((_0x34f109[_0x248ea6(0x6eb)]?0x1:0x0)<<0x5):0x0;this[_0x248ea6(0x50e)][_0x2ec37a]||(this[_0x248ea6(0x50e)][_0x2ec37a]=[]);let _0x1af8b2=this[_0x248ea6(0x50e)][_0x2ec37a][_0x5ee775];if(!_0x1af8b2){let _0x484100=_0x248ea6(0x813),_0x2a999b=(_0xb47ea5!==_0x455648[_0x248ea6(0x865)]&&_0xb47ea5!==_0x455648[_0x248ea6(0x656)]||(_0x34f109['invertY']&&(_0x484100+=_0x248ea6(0x386)),_0x34f109['premultiplyAlpha']&&(_0x484100+='#define\x20PREMULTIPLYALPHA\x0d\x0a')),this[_0x248ea6(0xd13)][_0x5ee775]);if(!_0x2a999b){let _0x458c7e=this[_0x248ea6(0x42d)][_0x248ea6(0x4b3)](_0x484100+_0x1e5e76[_0xb47ea5]['vertex'],_0x248ea6(0x4b9)),_0x4fda05=this[_0x248ea6(0x42d)][_0x248ea6(0x4b3)](_0x484100+_0x1e5e76[_0xb47ea5][_0x248ea6(0xade)],_0x248ea6(0xade));this[_0x248ea6(0xa11)]&&(_0x458c7e=this[_0x248ea6(0xa11)]['convertSpirV2WGSL'](_0x458c7e),_0x4fda05=this[_0x248ea6(0xa11)][_0x248ea6(0x5b3)](_0x4fda05)),(_0x34f109=this['_device']['createShaderModule']({'code':_0x458c7e}),_0xb47ea5=this[_0x248ea6(0x8e4)]['createShaderModule']({'code':_0x4fda05})),_0x2a999b=this[_0x248ea6(0xd13)][_0x5ee775]=[_0x34f109,_0xb47ea5];}const _0x16d694=this[_0x248ea6(0x8e4)][_0x248ea6(0x871)]({'layout':_0x46f8d4['fu'][_0x248ea6(0x441)],'vertex':{'module':_0x2a999b[0x0],'entryPoint':_0x248ea6(0x886)},'fragment':{'module':_0x2a999b[0x1],'entryPoint':_0x248ea6(0x886),'targets':[{'format':_0x2ec37a}]},'primitive':{'topology':_0x46f8d4['YV'][_0x248ea6(0x8a2)],'stripIndexFormat':_0x46f8d4['iD'][_0x248ea6(0x9d7)]}});_0x1af8b2=this['_pipelines'][_0x2ec37a][_0x5ee775]=[_0x16d694,_0x16d694[_0x248ea6(0x415)](0x0)];}return _0x1af8b2;}['_getVideoPipeline'](_0x303066,_0x10cb0a=_0x1c6b60[_0x5930fa(0x257)]){var _0x2ba3b4=_0x5930fa,_0x53c57c,_0x730de5,_0x10cb0a=_0x10cb0a===_0x1c6b60[_0x2ba3b4(0x4ae)]?0x1:0x0;this[_0x2ba3b4(0x623)][_0x303066]||(this['_videoPipelines'][_0x303066]=[]);let _0x2afd80=this[_0x2ba3b4(0x623)][_0x303066][_0x10cb0a];if(!_0x2afd80){let _0x21f25d=this['_videoCompiledShaders'][_0x10cb0a];_0x21f25d||(_0x53c57c=this[_0x2ba3b4(0x8e4)][_0x2ba3b4(0x5db)]({'code':_0x2ba3b4(0xa15)}),_0x730de5=this[_0x2ba3b4(0x8e4)][_0x2ba3b4(0x5db)]({'code':0x0==_0x10cb0a?_0x2ba3b4(0xcff):'\x0a\x20\x20\x20\x20@group(0)\x20@binding(0)\x20var\x20videoSampler:\x20sampler;\x0a\x20\x20\x20\x20@group(0)\x20@binding(1)\x20var\x20videoTexture:\x20texture_external;\x0a\x0a\x20\x20\x20\x20@fragment\x0a\x20\x20\x20\x20fn\x20main(\x0a\x20\x20\x20\x20\x20\x20\x20\x20@location(0)\x20fragUV:\x20vec2<f32>\x0a\x20\x20\x20\x20)\x20->\x20@location(0)\x20vec4<f32>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20textureSampleBaseClampToEdge(videoTexture,\x20videoSampler,\x20vec2<f32>(fragUV.x,\x201.0\x20-\x20fragUV.y));\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20'}),_0x21f25d=this[_0x2ba3b4(0x8a5)][_0x10cb0a]=[_0x53c57c,_0x730de5]);const _0xaf3c53=this[_0x2ba3b4(0x8e4)][_0x2ba3b4(0x871)]({'label':_0x2ba3b4(0x8eb)+_0x303066+'_'+(0x0==_0x10cb0a?_0x2ba3b4(0x257):'InvertY'),'layout':_0x46f8d4['fu'][_0x2ba3b4(0x441)],'vertex':{'module':_0x21f25d[0x0],'entryPoint':'main'},'fragment':{'module':_0x21f25d[0x1],'entryPoint':_0x2ba3b4(0x886),'targets':[{'format':_0x303066}]},'primitive':{'topology':_0x46f8d4['YV'][_0x2ba3b4(0x8a2)],'stripIndexFormat':_0x46f8d4['iD'][_0x2ba3b4(0x9d7)]}});_0x2afd80=this[_0x2ba3b4(0x623)][_0x303066][_0x10cb0a]=[_0xaf3c53,_0xaf3c53[_0x2ba3b4(0x415)](0x0)];}return _0x2afd80;}static[_0x5930fa(0x792)](_0x33c507){var _0x8921fb=_0x5930fa;switch(_0x33c507){case _0x46f8d4['EV']['R8Unorm']:case _0x46f8d4['EV'][_0x8921fb(0x22d)]:case _0x46f8d4['EV']['R8Uint']:case _0x46f8d4['EV'][_0x8921fb(0x1a6)]:case _0x46f8d4['EV']['RG8Unorm']:case _0x46f8d4['EV'][_0x8921fb(0x901)]:case _0x46f8d4['EV'][_0x8921fb(0x35b)]:case _0x46f8d4['EV'][_0x8921fb(0x2d1)]:case _0x46f8d4['EV'][_0x8921fb(0xcb5)]:case _0x46f8d4['EV']['RGBA8UnormSRGB']:case _0x46f8d4['EV']['RGBA8Snorm']:case _0x46f8d4['EV'][_0x8921fb(0x88c)]:case _0x46f8d4['EV'][_0x8921fb(0xb70)]:case _0x46f8d4['EV'][_0x8921fb(0xd00)]:case _0x46f8d4['EV']['BGRA8UnormSRGB']:case _0x46f8d4['EV'][_0x8921fb(0x9a6)]:case _0x46f8d4['EV'][_0x8921fb(0xd7d)]:case _0x46f8d4['EV'][_0x8921fb(0xa60)]:case _0x46f8d4['EV'][_0x8921fb(0xa6c)]:case _0x46f8d4['EV'][_0x8921fb(0xa37)]:case _0x46f8d4['EV'][_0x8921fb(0xa1e)]:case _0x46f8d4['EV'][_0x8921fb(0x7d3)]:case _0x46f8d4['EV'][_0x8921fb(0xc11)]:case _0x46f8d4['EV'][_0x8921fb(0xbe6)]:case _0x46f8d4['EV'][_0x8921fb(0xa2c)]:case _0x46f8d4['EV'][_0x8921fb(0x3bd)]:case _0x46f8d4['EV']['BC3RGBAUnorm']:case _0x46f8d4['EV'][_0x8921fb(0x420)]:case _0x46f8d4['EV'][_0x8921fb(0x479)]:case _0x46f8d4['EV'][_0x8921fb(0xae3)]:case _0x46f8d4['EV'][_0x8921fb(0x8f5)]:case _0x46f8d4['EV'][_0x8921fb(0xb40)]:case _0x46f8d4['EV'][_0x8921fb(0x8d9)]:case _0x46f8d4['EV'][_0x8921fb(0x73a)]:case _0x46f8d4['EV']['ETC2RGB8Unorm']:case _0x46f8d4['EV']['ETC2RGB8UnormSRGB']:case _0x46f8d4['EV'][_0x8921fb(0x37b)]:case _0x46f8d4['EV'][_0x8921fb(0x28f)]:case _0x46f8d4['EV'][_0x8921fb(0x33f)]:case _0x46f8d4['EV'][_0x8921fb(0x628)]:case _0x46f8d4['EV'][_0x8921fb(0xa2a)]:case _0x46f8d4['EV'][_0x8921fb(0x788)]:case _0x46f8d4['EV'][_0x8921fb(0xd9c)]:case _0x46f8d4['EV']['EACRG11Snorm']:case _0x46f8d4['EV'][_0x8921fb(0x253)]:case _0x46f8d4['EV'][_0x8921fb(0x51e)]:case _0x46f8d4['EV'][_0x8921fb(0x38a)]:case _0x46f8d4['EV']['ASTC5x4UnormSRGB']:case _0x46f8d4['EV'][_0x8921fb(0x690)]:case _0x46f8d4['EV'][_0x8921fb(0x6e9)]:case _0x46f8d4['EV'][_0x8921fb(0x3e1)]:case _0x46f8d4['EV'][_0x8921fb(0x2c8)]:case _0x46f8d4['EV']['ASTC6x6Unorm']:case _0x46f8d4['EV'][_0x8921fb(0x7e7)]:case _0x46f8d4['EV'][_0x8921fb(0x4d9)]:case _0x46f8d4['EV'][_0x8921fb(0x868)]:case _0x46f8d4['EV'][_0x8921fb(0x994)]:case _0x46f8d4['EV'][_0x8921fb(0x5cd)]:case _0x46f8d4['EV'][_0x8921fb(0xcd9)]:case _0x46f8d4['EV']['ASTC8x8UnormSRGB']:case _0x46f8d4['EV'][_0x8921fb(0x3a9)]:case _0x46f8d4['EV']['ASTC10x5UnormSRGB']:case _0x46f8d4['EV'][_0x8921fb(0x297)]:case _0x46f8d4['EV'][_0x8921fb(0xa39)]:case _0x46f8d4['EV'][_0x8921fb(0x876)]:case _0x46f8d4['EV'][_0x8921fb(0xda7)]:case _0x46f8d4['EV'][_0x8921fb(0xa53)]:case _0x46f8d4['EV'][_0x8921fb(0x625)]:case _0x46f8d4['EV'][_0x8921fb(0x3f3)]:case _0x46f8d4['EV'][_0x8921fb(0xb2a)]:case _0x46f8d4['EV'][_0x8921fb(0x69e)]:case _0x46f8d4['EV'][_0x8921fb(0x2b4)]:return _0x23fbb2['g'][_0x8921fb(0x2ba)];case _0x46f8d4['EV'][_0x8921fb(0x6b9)]:case _0x46f8d4['EV'][_0x8921fb(0x50d)]:case _0x46f8d4['EV']['RG16Uint']:case _0x46f8d4['EV']['RG16Sint']:case _0x46f8d4['EV'][_0x8921fb(0x657)]:case _0x46f8d4['EV'][_0x8921fb(0x231)]:case _0x46f8d4['EV'][_0x8921fb(0x6f7)]:return _0x23fbb2['g'][_0x8921fb(0xbd0)];case _0x46f8d4['EV'][_0x8921fb(0x32f)]:case _0x46f8d4['EV']['RG16Float']:case _0x46f8d4['EV'][_0x8921fb(0xd29)]:return _0x23fbb2['g'][_0x8921fb(0xa51)];case _0x46f8d4['EV']['R32Uint']:case _0x46f8d4['EV'][_0x8921fb(0x7b0)]:case _0x46f8d4['EV'][_0x8921fb(0xbe1)]:case _0x46f8d4['EV'][_0x8921fb(0x60c)]:case _0x46f8d4['EV'][_0x8921fb(0xc0d)]:case _0x46f8d4['EV']['RGBA32Sint']:return _0x23fbb2['g'][_0x8921fb(0x9e7)];case _0x46f8d4['EV']['R32Float']:case _0x46f8d4['EV'][_0x8921fb(0x286)]:case _0x46f8d4['EV']['RGBA32Float']:case _0x46f8d4['EV'][_0x8921fb(0x355)]:return _0x23fbb2['g'][_0x8921fb(0x85c)];case _0x46f8d4['EV'][_0x8921fb(0x9e2)]:throw _0x8921fb(0xd11);case _0x46f8d4['EV'][_0x8921fb(0x8b7)]:throw'No\x20fixed\x20size\x20for\x20Depth24Plus\x20format!';case _0x46f8d4['EV']['Depth24PlusStencil8']:throw'No\x20fixed\x20size\x20for\x20Depth24PlusStencil8\x20format!';}return _0x23fbb2['g'][_0x8921fb(0x2ba)];}static[_0x5930fa(0x206)](_0x5aa6b4){var _0x47e0f1=_0x5930fa;switch(_0x5aa6b4){case _0x46f8d4['EV'][_0x47e0f1(0xb5e)]:case _0x46f8d4['EV'][_0x47e0f1(0x22d)]:case _0x46f8d4['EV'][_0x47e0f1(0x9c7)]:case _0x46f8d4['EV'][_0x47e0f1(0x1a6)]:return{'width':0x1,'height':0x1,'length':0x1};case _0x46f8d4['EV']['R16Uint']:case _0x46f8d4['EV'][_0x47e0f1(0x50d)]:case _0x46f8d4['EV'][_0x47e0f1(0x32f)]:case _0x46f8d4['EV'][_0x47e0f1(0x398)]:case _0x46f8d4['EV'][_0x47e0f1(0x901)]:case _0x46f8d4['EV']['RG8Uint']:case _0x46f8d4['EV'][_0x47e0f1(0x2d1)]:return{'width':0x1,'height':0x1,'length':0x2};case _0x46f8d4['EV'][_0x47e0f1(0xcf3)]:case _0x46f8d4['EV']['R32Sint']:case _0x46f8d4['EV'][_0x47e0f1(0x8a8)]:case _0x46f8d4['EV']['RG16Uint']:case _0x46f8d4['EV']['RG16Sint']:case _0x46f8d4['EV'][_0x47e0f1(0x4c3)]:case _0x46f8d4['EV'][_0x47e0f1(0xcb5)]:case _0x46f8d4['EV'][_0x47e0f1(0x2cd)]:case _0x46f8d4['EV'][_0x47e0f1(0xc27)]:case _0x46f8d4['EV'][_0x47e0f1(0x88c)]:case _0x46f8d4['EV'][_0x47e0f1(0xb70)]:case _0x46f8d4['EV']['BGRA8Unorm']:case _0x46f8d4['EV'][_0x47e0f1(0x50b)]:case _0x46f8d4['EV'][_0x47e0f1(0xd7d)]:case _0x46f8d4['EV']['RGB10A2Unorm']:case _0x46f8d4['EV'][_0x47e0f1(0xa60)]:return{'width':0x1,'height':0x1,'length':0x4};case _0x46f8d4['EV'][_0x47e0f1(0xbe1)]:case _0x46f8d4['EV']['RG32Sint']:case _0x46f8d4['EV']['RG32Float']:case _0x46f8d4['EV']['RGBA16Uint']:case _0x46f8d4['EV'][_0x47e0f1(0x231)]:case _0x46f8d4['EV'][_0x47e0f1(0xd29)]:return{'width':0x1,'height':0x1,'length':0x8};case _0x46f8d4['EV'][_0x47e0f1(0xc0d)]:case _0x46f8d4['EV'][_0x47e0f1(0x671)]:case _0x46f8d4['EV'][_0x47e0f1(0x78e)]:return{'width':0x1,'height':0x1,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0x9e2)]:throw'No\x20fixed\x20size\x20for\x20Stencil8\x20format!';case _0x46f8d4['EV'][_0x47e0f1(0x6f7)]:return{'width':0x1,'height':0x1,'length':0x2};case _0x46f8d4['EV'][_0x47e0f1(0x8b7)]:throw _0x47e0f1(0x24e);case _0x46f8d4['EV'][_0x47e0f1(0xd10)]:throw _0x47e0f1(0xd27);case _0x46f8d4['EV'][_0x47e0f1(0x355)]:case _0x46f8d4['EV'][_0x47e0f1(0xa6c)]:return{'width':0x1,'height':0x1,'length':0x4};case _0x46f8d4['EV'][_0x47e0f1(0xa37)]:return{'width':0x1,'height':0x1,'length':0x5};case _0x46f8d4['EV']['BC7RGBAUnorm']:case _0x46f8d4['EV'][_0x47e0f1(0x7d3)]:case _0x46f8d4['EV'][_0x47e0f1(0xc11)]:case _0x46f8d4['EV']['BC6HRGBFloat']:case _0x46f8d4['EV'][_0x47e0f1(0xa2c)]:case _0x46f8d4['EV'][_0x47e0f1(0x3bd)]:case _0x46f8d4['EV']['BC3RGBAUnorm']:case _0x46f8d4['EV']['BC3RGBAUnormSRGB']:case _0x46f8d4['EV'][_0x47e0f1(0x479)]:case _0x46f8d4['EV'][_0x47e0f1(0xae3)]:return{'width':0x4,'height':0x4,'length':0x10};case _0x46f8d4['EV']['BC4RUnorm']:case _0x46f8d4['EV'][_0x47e0f1(0xb40)]:case _0x46f8d4['EV']['BC1RGBAUnorm']:case _0x46f8d4['EV'][_0x47e0f1(0x73a)]:return{'width':0x4,'height':0x4,'length':0x8};case _0x46f8d4['EV'][_0x47e0f1(0x1ff)]:case _0x46f8d4['EV'][_0x47e0f1(0x2cf)]:case _0x46f8d4['EV'][_0x47e0f1(0x37b)]:case _0x46f8d4['EV'][_0x47e0f1(0x28f)]:case _0x46f8d4['EV'][_0x47e0f1(0xa2a)]:case _0x46f8d4['EV'][_0x47e0f1(0x788)]:return{'width':0x4,'height':0x4,'length':0x8};case _0x46f8d4['EV'][_0x47e0f1(0x33f)]:case _0x46f8d4['EV'][_0x47e0f1(0x628)]:case _0x46f8d4['EV']['EACRG11Unorm']:case _0x46f8d4['EV'][_0x47e0f1(0x67e)]:return{'width':0x4,'height':0x4,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0x253)]:case _0x46f8d4['EV']['ASTC4x4UnormSRGB']:return{'width':0x4,'height':0x4,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0x38a)]:case _0x46f8d4['EV'][_0x47e0f1(0xbd1)]:return{'width':0x5,'height':0x4,'length':0x10};case _0x46f8d4['EV']['ASTC5x5Unorm']:case _0x46f8d4['EV'][_0x47e0f1(0x6e9)]:return{'width':0x5,'height':0x5,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0x3e1)]:case _0x46f8d4['EV'][_0x47e0f1(0x2c8)]:return{'width':0x6,'height':0x5,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0xd91)]:case _0x46f8d4['EV'][_0x47e0f1(0x7e7)]:return{'width':0x6,'height':0x6,'length':0x10};case _0x46f8d4['EV']['ASTC8x5Unorm']:case _0x46f8d4['EV']['ASTC8x5UnormSRGB']:return{'width':0x8,'height':0x5,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0x994)]:case _0x46f8d4['EV'][_0x47e0f1(0x5cd)]:return{'width':0x8,'height':0x6,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0xcd9)]:case _0x46f8d4['EV'][_0x47e0f1(0x609)]:return{'width':0x8,'height':0x8,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0x3a9)]:case _0x46f8d4['EV'][_0x47e0f1(0x49d)]:return{'width':0xa,'height':0x5,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0x297)]:case _0x46f8d4['EV']['ASTC10x6UnormSRGB']:return{'width':0xa,'height':0x6,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0x876)]:case _0x46f8d4['EV']['ASTC10x8UnormSRGB']:return{'width':0xa,'height':0x8,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0xa53)]:case _0x46f8d4['EV'][_0x47e0f1(0x625)]:return{'width':0xa,'height':0xa,'length':0x10};case _0x46f8d4['EV'][_0x47e0f1(0x3f3)]:case _0x46f8d4['EV'][_0x47e0f1(0xb2a)]:return{'width':0xc,'height':0xa,'length':0x10};case _0x46f8d4['EV']['ASTC12x12Unorm']:case _0x46f8d4['EV'][_0x47e0f1(0x2b4)]:return{'width':0xc,'height':0xc,'length':0x10};}return{'width':0x1,'height':0x1,'length':0x4};}static[_0x5930fa(0x9d9)](_0x22f9da){return!!_0x22f9da['release'];}static[_0x5930fa(0x576)](_0x3d5d03){var _0x1dc322=_0x5930fa;return!!_0x3d5d03[_0x1dc322(0x8fc)];}static[_0x5930fa(0xc8c)](_0x1c6af8){var _0xa409a1=_0x5930fa;return void 0x0!==_0x1c6af8[_0xa409a1(0xb8d)];}static['IsImageBitmapArray'](_0xc502ed){var _0xf6d196=_0x5930fa;return Array['isArray'](_0xc502ed)&&void 0x0!==_0xc502ed[0x0][_0xf6d196(0xb8d)];}[_0x5930fa(0x387)](_0x411ca8){this['_commandEncoderForCreation']=_0x411ca8;}static[_0x5930fa(0x1fd)](_0xd0efe3){var _0x2f98bf=_0x5930fa;switch(_0xd0efe3){case _0x46f8d4['EV'][_0x2f98bf(0x7d3)]:case _0x46f8d4['EV']['BC7RGBAUnorm']:case _0x46f8d4['EV']['BC6HRGBFloat']:case _0x46f8d4['EV'][_0x2f98bf(0xc11)]:case _0x46f8d4['EV']['BC5RGSnorm']:case _0x46f8d4['EV'][_0x2f98bf(0xa2c)]:case _0x46f8d4['EV'][_0x2f98bf(0xb40)]:case _0x46f8d4['EV'][_0x2f98bf(0x8f5)]:case _0x46f8d4['EV'][_0x2f98bf(0x420)]:case _0x46f8d4['EV'][_0x2f98bf(0x844)]:case _0x46f8d4['EV'][_0x2f98bf(0xae3)]:case _0x46f8d4['EV'][_0x2f98bf(0x479)]:case _0x46f8d4['EV'][_0x2f98bf(0x73a)]:case _0x46f8d4['EV'][_0x2f98bf(0x8d9)]:case _0x46f8d4['EV'][_0x2f98bf(0x1ff)]:case _0x46f8d4['EV'][_0x2f98bf(0x2cf)]:case _0x46f8d4['EV'][_0x2f98bf(0x37b)]:case _0x46f8d4['EV']['ETC2RGB8A1UnormSRGB']:case _0x46f8d4['EV'][_0x2f98bf(0x33f)]:case _0x46f8d4['EV']['ETC2RGBA8UnormSRGB']:case _0x46f8d4['EV'][_0x2f98bf(0xa2a)]:case _0x46f8d4['EV']['EACR11Snorm']:case _0x46f8d4['EV'][_0x2f98bf(0xd9c)]:case _0x46f8d4['EV'][_0x2f98bf(0x67e)]:case _0x46f8d4['EV'][_0x2f98bf(0x253)]:case _0x46f8d4['EV'][_0x2f98bf(0x51e)]:case _0x46f8d4['EV'][_0x2f98bf(0x38a)]:case _0x46f8d4['EV'][_0x2f98bf(0xbd1)]:case _0x46f8d4['EV'][_0x2f98bf(0x690)]:case _0x46f8d4['EV'][_0x2f98bf(0x6e9)]:case _0x46f8d4['EV'][_0x2f98bf(0x3e1)]:case _0x46f8d4['EV'][_0x2f98bf(0x2c8)]:case _0x46f8d4['EV'][_0x2f98bf(0xd91)]:case _0x46f8d4['EV'][_0x2f98bf(0x7e7)]:case _0x46f8d4['EV']['ASTC8x5Unorm']:case _0x46f8d4['EV'][_0x2f98bf(0x868)]:case _0x46f8d4['EV']['ASTC8x6Unorm']:case _0x46f8d4['EV'][_0x2f98bf(0x5cd)]:case _0x46f8d4['EV'][_0x2f98bf(0xcd9)]:case _0x46f8d4['EV'][_0x2f98bf(0x609)]:case _0x46f8d4['EV'][_0x2f98bf(0x3a9)]:case _0x46f8d4['EV']['ASTC10x5UnormSRGB']:case _0x46f8d4['EV'][_0x2f98bf(0x297)]:case _0x46f8d4['EV'][_0x2f98bf(0xa39)]:case _0x46f8d4['EV']['ASTC10x8Unorm']:case _0x46f8d4['EV'][_0x2f98bf(0xda7)]:case _0x46f8d4['EV'][_0x2f98bf(0xa53)]:case _0x46f8d4['EV'][_0x2f98bf(0x625)]:case _0x46f8d4['EV'][_0x2f98bf(0x3f3)]:case _0x46f8d4['EV'][_0x2f98bf(0xb2a)]:case _0x46f8d4['EV'][_0x2f98bf(0x69e)]:case _0x46f8d4['EV']['ASTC12x12UnormSRGB']:return!0x0;}return!0x1;}static['GetWebGPUTextureFormat'](_0x1f9e54,_0x25e283,_0xe55792=!0x1){var _0x260a87=_0x5930fa;switch(_0x25e283){case _0x23fbb2['g'][_0x260a87(0x715)]:return _0x46f8d4['EV'][_0x260a87(0x6f7)];case _0x23fbb2['g']['TEXTUREFORMAT_DEPTH24']:return _0x46f8d4['EV'][_0x260a87(0x8b7)];case _0x23fbb2['g'][_0x260a87(0x684)]:return _0x46f8d4['EV'][_0x260a87(0xd10)];case _0x23fbb2['g']['TEXTUREFORMAT_DEPTH32_FLOAT']:return _0x46f8d4['EV'][_0x260a87(0x355)];case _0x23fbb2['g'][_0x260a87(0xc35)]:return _0x46f8d4['EV'][_0x260a87(0xa6c)];case _0x23fbb2['g'][_0x260a87(0xa48)]:return _0x46f8d4['EV'][_0x260a87(0xa37)];case _0x23fbb2['g'][_0x260a87(0xc68)]:return _0xe55792?_0x46f8d4['EV'][_0x260a87(0x7d3)]:_0x46f8d4['EV']['BC7RGBAUnorm'];case _0x23fbb2['g']['TEXTUREFORMAT_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT']:return _0x46f8d4['EV'][_0x260a87(0xc11)];case _0x23fbb2['g'][_0x260a87(0x5d0)]:return _0x46f8d4['EV'][_0x260a87(0xbe6)];case _0x23fbb2['g'][_0x260a87(0x503)]:return _0xe55792?_0x46f8d4['EV'][_0x260a87(0x420)]:_0x46f8d4['EV'][_0x260a87(0x844)];case _0x23fbb2['g'][_0x260a87(0x83b)]:return _0xe55792?_0x46f8d4['EV']['BC2RGBAUnormSRGB']:_0x46f8d4['EV']['BC2RGBAUnorm'];case _0x23fbb2['g'][_0x260a87(0x54e)]:case _0x23fbb2['g'][_0x260a87(0xc6d)]:return _0xe55792?_0x46f8d4['EV'][_0x260a87(0x73a)]:_0x46f8d4['EV'][_0x260a87(0x8d9)];case _0x23fbb2['g'][_0x260a87(0xd2d)]:return _0xe55792?_0x46f8d4['EV'][_0x260a87(0x51e)]:_0x46f8d4['EV'][_0x260a87(0x253)];case _0x23fbb2['g']['TEXTUREFORMAT_COMPRESSED_RGB_ETC1_WEBGL']:case _0x23fbb2['g'][_0x260a87(0x856)]:return _0xe55792?_0x46f8d4['EV'][_0x260a87(0x2cf)]:_0x46f8d4['EV'][_0x260a87(0x1ff)];case _0x23fbb2['g']['TEXTUREFORMAT_COMPRESSED_RGBA8_ETC2_EAC']:return _0xe55792?_0x46f8d4['EV'][_0x260a87(0x628)]:_0x46f8d4['EV']['ETC2RGBA8Unorm'];}switch(_0x1f9e54){case _0x23fbb2['g'][_0x260a87(0x364)]:switch(_0x25e283){case _0x23fbb2['g']['TEXTUREFORMAT_RED']:return _0x46f8d4['EV'][_0x260a87(0x22d)];case _0x23fbb2['g'][_0x260a87(0x56a)]:return _0x46f8d4['EV'][_0x260a87(0x901)];case _0x23fbb2['g'][_0x260a87(0x3e3)]:throw _0x260a87(0x971);case _0x23fbb2['g'][_0x260a87(0x3b0)]:return _0x46f8d4['EV'][_0x260a87(0x1a6)];case _0x23fbb2['g'][_0x260a87(0x67a)]:return _0x46f8d4['EV'][_0x260a87(0x2d1)];case _0x23fbb2['g'][_0x260a87(0x72b)]:throw _0x260a87(0x3b6);case _0x23fbb2['g'][_0x260a87(0xb9e)]:return _0x46f8d4['EV']['RGBA8Sint'];default:return _0x46f8d4['EV'][_0x260a87(0xc27)];}case _0x23fbb2['g'][_0x260a87(0x2ba)]:switch(_0x25e283){case _0x23fbb2['g'][_0x260a87(0xbd8)]:return _0x46f8d4['EV'][_0x260a87(0xb5e)];case _0x23fbb2['g'][_0x260a87(0x56a)]:return _0x46f8d4['EV']['RG8Unorm'];case _0x23fbb2['g'][_0x260a87(0x3e3)]:throw'TEXTUREFORMAT_RGB\x20format\x20not\x20supported\x20in\x20WebGPU';case _0x23fbb2['g'][_0x260a87(0x719)]:return _0xe55792?_0x46f8d4['EV']['RGBA8UnormSRGB']:_0x46f8d4['EV'][_0x260a87(0xcb5)];case _0x23fbb2['g']['TEXTUREFORMAT_BGRA']:return _0xe55792?_0x46f8d4['EV'][_0x260a87(0x50b)]:_0x46f8d4['EV']['BGRA8Unorm'];case _0x23fbb2['g'][_0x260a87(0x3b0)]:return _0x46f8d4['EV'][_0x260a87(0x9c7)];case _0x23fbb2['g'][_0x260a87(0x67a)]:return _0x46f8d4['EV']['RG8Uint'];case _0x23fbb2['g']['TEXTUREFORMAT_RGB_INTEGER']:throw _0x260a87(0x3b6);case _0x23fbb2['g']['TEXTUREFORMAT_RGBA_INTEGER']:return _0x46f8d4['EV'][_0x260a87(0x88c)];case _0x23fbb2['g'][_0x260a87(0xaa5)]:throw _0x260a87(0xbb2);case _0x23fbb2['g'][_0x260a87(0x8e8)]:throw'TEXTUREFORMAT_LUMINANCE\x20format\x20not\x20supported\x20in\x20WebGPU';case _0x23fbb2['g'][_0x260a87(0xd09)]:throw _0x260a87(0x946);default:return _0x46f8d4['EV'][_0x260a87(0xcb5)];}case _0x23fbb2['g'][_0x260a87(0x494)]:switch(_0x25e283){case _0x23fbb2['g'][_0x260a87(0x3b0)]:return _0x46f8d4['EV'][_0x260a87(0x50d)];case _0x23fbb2['g']['TEXTUREFORMAT_RG_INTEGER']:return _0x46f8d4['EV']['RG16Sint'];case _0x23fbb2['g']['TEXTUREFORMAT_RGB_INTEGER']:throw _0x260a87(0x464);default:return _0x23fbb2['g'][_0x260a87(0xb9e)],_0x46f8d4['EV']['RGBA16Sint'];}case _0x23fbb2['g'][_0x260a87(0xbd0)]:switch(_0x25e283){case _0x23fbb2['g'][_0x260a87(0x3b0)]:return _0x46f8d4['EV'][_0x260a87(0x6b9)];case _0x23fbb2['g'][_0x260a87(0x67a)]:return _0x46f8d4['EV']['RG16Uint'];case _0x23fbb2['g']['TEXTUREFORMAT_RGB_INTEGER']:throw'TEXTUREFORMAT_RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU';default:return _0x23fbb2['g'][_0x260a87(0xb9e)],_0x46f8d4['EV'][_0x260a87(0x657)];}case _0x23fbb2['g'][_0x260a87(0x9de)]:switch(_0x25e283){case _0x23fbb2['g']['TEXTUREFORMAT_RED_INTEGER']:return _0x46f8d4['EV'][_0x260a87(0x7b0)];case _0x23fbb2['g']['TEXTUREFORMAT_RG_INTEGER']:return _0x46f8d4['EV'][_0x260a87(0x60c)];case _0x23fbb2['g']['TEXTUREFORMAT_RGB_INTEGER']:throw _0x260a87(0x464);default:return _0x23fbb2['g'][_0x260a87(0xb9e)],_0x46f8d4['EV']['RGBA32Sint'];}case _0x23fbb2['g'][_0x260a87(0x9e7)]:switch(_0x25e283){case _0x23fbb2['g'][_0x260a87(0x3b0)]:return _0x46f8d4['EV'][_0x260a87(0xcf3)];case _0x23fbb2['g'][_0x260a87(0x67a)]:return _0x46f8d4['EV'][_0x260a87(0xbe1)];case _0x23fbb2['g'][_0x260a87(0x72b)]:throw'TEXTUREFORMAT_RGB_INTEGER\x20format\x20not\x20supported\x20in\x20WebGPU';default:return _0x23fbb2['g'][_0x260a87(0xb9e)],_0x46f8d4['EV'][_0x260a87(0xc0d)];}case _0x23fbb2['g'][_0x260a87(0x85c)]:switch(_0x25e283){case _0x23fbb2['g']['TEXTUREFORMAT_RED']:return _0x46f8d4['EV'][_0x260a87(0x8a8)];case _0x23fbb2['g']['TEXTUREFORMAT_RG']:return _0x46f8d4['EV']['RG32Float'];case _0x23fbb2['g'][_0x260a87(0x3e3)]:throw _0x260a87(0x1fb);default:return _0x23fbb2['g']['TEXTUREFORMAT_RGBA'],_0x46f8d4['EV'][_0x260a87(0x78e)];}case _0x23fbb2['g'][_0x260a87(0xa51)]:switch(_0x25e283){case _0x23fbb2['g']['TEXTUREFORMAT_RED']:return _0x46f8d4['EV'][_0x260a87(0x32f)];case _0x23fbb2['g'][_0x260a87(0x56a)]:return _0x46f8d4['EV']['RG16Float'];case _0x23fbb2['g'][_0x260a87(0x3e3)]:throw _0x260a87(0x1fb);default:return _0x23fbb2['g'][_0x260a87(0x719)],_0x46f8d4['EV'][_0x260a87(0xd29)];}case _0x23fbb2['g'][_0x260a87(0xd0e)]:throw _0x260a87(0x6b6);case _0x23fbb2['g'][_0x260a87(0xcb4)]:throw'TEXTURETYPE_UNSIGNED_INT_10F_11F_11F_REV\x20format\x20not\x20supported\x20in\x20WebGPU';case _0x23fbb2['g']['TEXTURETYPE_UNSIGNED_INT_5_9_9_9_REV']:throw _0x260a87(0xd81);case _0x23fbb2['g'][_0x260a87(0x93d)]:throw _0x260a87(0x93e);case _0x23fbb2['g'][_0x260a87(0xae1)]:throw _0x260a87(0x698);case _0x23fbb2['g'][_0x260a87(0x6e0)]:switch(_0x25e283){case _0x23fbb2['g'][_0x260a87(0x719)]:return _0x46f8d4['EV'][_0x260a87(0x9a6)];case _0x23fbb2['g'][_0x260a87(0xb9e)]:throw _0x260a87(0x5a0);default:return _0x46f8d4['EV'][_0x260a87(0x9a6)];}}return _0xe55792?_0x46f8d4['EV']['RGBA8UnormSRGB']:_0x46f8d4['EV'][_0x260a87(0xcb5)];}static[_0x5930fa(0x59d)](_0x432fdc){var _0x335f83=_0x5930fa;switch(_0x432fdc){case _0x46f8d4['EV']['R8Unorm']:case _0x46f8d4['EV'][_0x335f83(0x22d)]:case _0x46f8d4['EV'][_0x335f83(0x9c7)]:case _0x46f8d4['EV'][_0x335f83(0x1a6)]:case _0x46f8d4['EV']['BC4RUnorm']:case _0x46f8d4['EV'][_0x335f83(0xb40)]:case _0x46f8d4['EV'][_0x335f83(0x6b9)]:case _0x46f8d4['EV'][_0x335f83(0x50d)]:case _0x46f8d4['EV'][_0x335f83(0x6f7)]:case _0x46f8d4['EV'][_0x335f83(0x32f)]:case _0x46f8d4['EV'][_0x335f83(0xcf3)]:case _0x46f8d4['EV'][_0x335f83(0x7b0)]:case _0x46f8d4['EV'][_0x335f83(0x8a8)]:case _0x46f8d4['EV']['Depth32Float']:case _0x46f8d4['EV']['Stencil8']:case _0x46f8d4['EV'][_0x335f83(0x8b7)]:case _0x46f8d4['EV'][_0x335f83(0xa2a)]:case _0x46f8d4['EV'][_0x335f83(0x788)]:return 0x1;case _0x46f8d4['EV'][_0x335f83(0x398)]:case _0x46f8d4['EV'][_0x335f83(0x901)]:case _0x46f8d4['EV'][_0x335f83(0x35b)]:case _0x46f8d4['EV'][_0x335f83(0x2d1)]:case _0x46f8d4['EV']['Depth24UnormStencil8']:case _0x46f8d4['EV'][_0x335f83(0xa37)]:case _0x46f8d4['EV']['BC5RGUnorm']:case _0x46f8d4['EV'][_0x335f83(0x3bd)]:case _0x46f8d4['EV']['RG16Uint']:case _0x46f8d4['EV'][_0x335f83(0x6fd)]:case _0x46f8d4['EV'][_0x335f83(0x4c3)]:case _0x46f8d4['EV'][_0x335f83(0xbe1)]:case _0x46f8d4['EV'][_0x335f83(0x60c)]:case _0x46f8d4['EV'][_0x335f83(0x286)]:case _0x46f8d4['EV']['Depth24PlusStencil8']:case _0x46f8d4['EV'][_0x335f83(0xd9c)]:case _0x46f8d4['EV'][_0x335f83(0x67e)]:return 0x2;case _0x46f8d4['EV']['RGB9E5UFloat']:case _0x46f8d4['EV'][_0x335f83(0xa60)]:case _0x46f8d4['EV'][_0x335f83(0xc11)]:case _0x46f8d4['EV'][_0x335f83(0xbe6)]:case _0x46f8d4['EV'][_0x335f83(0x1ff)]:case _0x46f8d4['EV'][_0x335f83(0x2cf)]:return 0x3;case _0x46f8d4['EV'][_0x335f83(0xcb5)]:case _0x46f8d4['EV'][_0x335f83(0x2cd)]:case _0x46f8d4['EV'][_0x335f83(0xc27)]:case _0x46f8d4['EV'][_0x335f83(0x88c)]:case _0x46f8d4['EV'][_0x335f83(0xb70)]:case _0x46f8d4['EV'][_0x335f83(0xd00)]:case _0x46f8d4['EV']['BGRA8UnormSRGB']:case _0x46f8d4['EV'][_0x335f83(0x9a6)]:case _0x46f8d4['EV'][_0x335f83(0xa1e)]:case _0x46f8d4['EV'][_0x335f83(0x7d3)]:case _0x46f8d4['EV']['BC3RGBAUnorm']:case _0x46f8d4['EV'][_0x335f83(0x420)]:case _0x46f8d4['EV']['BC2RGBAUnorm']:case _0x46f8d4['EV'][_0x335f83(0xae3)]:case _0x46f8d4['EV'][_0x335f83(0x8d9)]:case _0x46f8d4['EV'][_0x335f83(0x73a)]:case _0x46f8d4['EV'][_0x335f83(0x657)]:case _0x46f8d4['EV']['RGBA16Sint']:case _0x46f8d4['EV'][_0x335f83(0xd29)]:case _0x46f8d4['EV'][_0x335f83(0xc0d)]:case _0x46f8d4['EV']['RGBA32Sint']:case _0x46f8d4['EV'][_0x335f83(0x78e)]:case _0x46f8d4['EV'][_0x335f83(0x37b)]:case _0x46f8d4['EV'][_0x335f83(0x28f)]:case _0x46f8d4['EV'][_0x335f83(0x33f)]:case _0x46f8d4['EV'][_0x335f83(0x628)]:case _0x46f8d4['EV'][_0x335f83(0x253)]:case _0x46f8d4['EV'][_0x335f83(0x51e)]:case _0x46f8d4['EV'][_0x335f83(0x38a)]:case _0x46f8d4['EV'][_0x335f83(0xbd1)]:case _0x46f8d4['EV'][_0x335f83(0x690)]:case _0x46f8d4['EV']['ASTC5x5UnormSRGB']:case _0x46f8d4['EV']['ASTC6x5Unorm']:case _0x46f8d4['EV']['ASTC6x5UnormSRGB']:case _0x46f8d4['EV'][_0x335f83(0xd91)]:case _0x46f8d4['EV'][_0x335f83(0x7e7)]:case _0x46f8d4['EV']['ASTC8x5Unorm']:case _0x46f8d4['EV'][_0x335f83(0x868)]:case _0x46f8d4['EV'][_0x335f83(0x994)]:case _0x46f8d4['EV'][_0x335f83(0x5cd)]:case _0x46f8d4['EV'][_0x335f83(0xcd9)]:case _0x46f8d4['EV'][_0x335f83(0x609)]:case _0x46f8d4['EV'][_0x335f83(0x3a9)]:case _0x46f8d4['EV']['ASTC10x5UnormSRGB']:case _0x46f8d4['EV'][_0x335f83(0x297)]:case _0x46f8d4['EV'][_0x335f83(0xa39)]:case _0x46f8d4['EV']['ASTC10x8Unorm']:case _0x46f8d4['EV'][_0x335f83(0xda7)]:case _0x46f8d4['EV'][_0x335f83(0xa53)]:case _0x46f8d4['EV'][_0x335f83(0x625)]:case _0x46f8d4['EV']['ASTC12x10Unorm']:case _0x46f8d4['EV'][_0x335f83(0xb2a)]:case _0x46f8d4['EV'][_0x335f83(0x69e)]:case _0x46f8d4['EV'][_0x335f83(0x2b4)]:return 0x4;}throw'Unknown\x20format\x20'+_0x432fdc+'!';}static['HasStencilAspect'](_0x1d6fa6){var _0x53ccf9=_0x5930fa;switch(_0x1d6fa6){case _0x46f8d4['EV']['Stencil8']:case _0x46f8d4['EV'][_0x53ccf9(0xa6c)]:case _0x46f8d4['EV'][_0x53ccf9(0xa37)]:case _0x46f8d4['EV'][_0x53ccf9(0xd10)]:return!0x0;}return!0x1;}static[_0x5930fa(0x515)](_0x1c6075){var _0x35e367=_0x5930fa;switch(_0x1c6075){case _0x46f8d4['EV'][_0x35e367(0xa6c)]:case _0x46f8d4['EV']['Depth32FloatStencil8']:case _0x46f8d4['EV'][_0x35e367(0xd10)]:return!0x0;}return!0x1;}[_0x5930fa(0xad1)](_0x52d895,_0x498561,_0x1bf790,_0x994707=!0x1,_0x4c0c53){var _0x31b27f=_0x5930fa,_0x2f8066=void 0x0===_0x4c0c53,[_0x5690e2,_0x19d25b]=this['_getVideoPipeline'](_0x1bf790,_0x994707?_0x1c6b60['InvertY']:_0x1c6b60[_0x31b27f(0x257)]);null!=(_0x4a738a=(_0x3d3bd1=_0x4c0c53=_0x2f8066?this[_0x31b27f(0x8e4)][_0x31b27f(0x90d)]({}):_0x4c0c53)[_0x31b27f(0x885)])&&_0x4a738a[_0x31b27f(0x4f3)](_0x3d3bd1,_0x31b27f(0x874)+_0x994707);const _0x15bd40=_0x498561['_hardwareTexture'];var _0x4a738a={'colorAttachments':[{'view':_0x15bd40[_0x31b27f(0x8e9)][_0x31b27f(0x42a)]({'format':_0x1bf790,'dimension':_0x46f8d4['p_']['E2d'],'mipLevelCount':0x1,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':0x1,'aspect':_0x46f8d4['H7']['All']}),'loadOp':_0x46f8d4['Ws'][_0x31b27f(0xab7)],'storeOp':_0x46f8d4['EG'][_0x31b27f(0x7c7)]}]};const _0x453d27=_0x4c0c53[_0x31b27f(0x377)](_0x4a738a);var _0x3d3bd1={'layout':_0x19d25b,'entries':[{'binding':0x0,'resource':this[_0x31b27f(0xc50)]},{'binding':0x1,'resource':this[_0x31b27f(0x8e4)][_0x31b27f(0xce9)]({'source':_0x52d895[_0x31b27f(0x8e9)]})}]},_0x994707=this[_0x31b27f(0x8e4)][_0x31b27f(0xa7e)](_0x3d3bd1);_0x453d27[_0x31b27f(0x6fc)](_0x5690e2),_0x453d27[_0x31b27f(0xbae)](0x0,_0x994707),_0x453d27[_0x31b27f(0x581)](0x4,0x1,0x0,0x0),_0x453d27[_0x31b27f(0xb80)](),null!=(_0x1bf790=(_0x498561=_0x4c0c53)[_0x31b27f(0x761)])&&_0x1bf790[_0x31b27f(0x4f3)](_0x498561),_0x2f8066&&this['_device'][_0x31b27f(0x4a6)]['submit']([_0x4c0c53[_0x31b27f(0x583)]()]);}[_0x5930fa(0x2a9)](_0x7fcf08,_0x2fcc24,_0x56015d,_0x4a631a,_0x3a0a1e=!0x1,_0x43c918=!0x1,_0x15a05d=0x0,_0x1b3065=0x0,_0x5de748=0x1,_0x40bf65=0x0,_0x550ff1=0x0,_0xa26167=0x0,_0x1bd9b0=0x0,_0x28e979,_0xd9fab3){var _0x225de0=_0x5930fa,_0x56b6c0,_0x3d7366,_0x488220=0x0!==_0xa26167,_0x126e29=void 0x0===_0x28e979,[_0x55c9ad,_0x95f140]=this['_getPipeline'](_0x4a631a,_0x488220?_0x455648[_0x225de0(0x656)]:_0x455648[_0x225de0(0x865)],{'invertY':_0x3a0a1e,'premultiplyAlpha':_0x43c918});_0x15a05d=Math[_0x225de0(0xbbd)](_0x15a05d,0x0),null!=(_0x56b6c0=(_0x3d7366=_0x28e979=_0x126e29?this[_0x225de0(0x8e4)][_0x225de0(0x90d)]({}):_0x28e979)[_0x225de0(0x885)])&&_0x56b6c0['call'](_0x3d7366,_0x225de0(0x71b)+_0x3a0a1e+_0x225de0(0x3fb)+_0x43c918);let _0x3e5c28;if(_0x45f655[_0x225de0(0x9d9)](_0x7fcf08)?(_0x3e5c28=_0x7fcf08['underlyingResource'],_0x3a0a1e&&!_0x43c918&&0x1===_0x5de748&&0x0===_0x15a05d||(_0x7fcf08=void 0x0)):(_0x3e5c28=_0x7fcf08,_0x7fcf08=void 0x0),_0x3e5c28){_0x488220&&this[_0x225de0(0x3a0)][_0x225de0(0x786)](this['_ubCopyWithOfst'],0x0,new Float32Array([_0x40bf65,_0x550ff1,_0xa26167,_0x1bd9b0]),0x0,0x10);const _0x145cf1=_0x7fcf08,_0x32eada=null!=(_0x56b6c0=null===_0x145cf1||void 0x0===_0x145cf1?void 0x0:_0x145cf1[_0x225de0(0xc28)])?_0x56b6c0:this[_0x225de0(0x900)]({'width':_0x2fcc24,'height':_0x56015d,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x4a631a,0x1,_0x28e979,_0x46f8d4['v2'][_0x225de0(0xc37)]|_0x46f8d4['v2'][_0x225de0(0x634)]|_0x46f8d4['v2'][_0x225de0(0x4ee)]);_0x3a0a1e=null!=(_0x3d7366=null===_0x145cf1||void 0x0===_0x145cf1?void 0x0:_0x145cf1['_copyInvertYRenderPassDescr'])?_0x3d7366:{'colorAttachments':[{'view':_0x32eada['createView']({'format':_0x4a631a,'dimension':_0x46f8d4['p_'][_0x225de0(0xa4e)],'baseMipLevel':0x0,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':0x0}),'loadOp':_0x46f8d4['Ws']['Load'],'storeOp':_0x46f8d4['EG'][_0x225de0(0x7c7)]}]};const _0x3805ae=_0x28e979[_0x225de0(0x377)](_0x3a0a1e);let _0x36f129=_0x488220?null===_0x145cf1||void 0x0===_0x145cf1?void 0x0:_0x145cf1[_0x225de0(0xbb8)]:null===_0x145cf1||void 0x0===_0x145cf1?void 0x0:_0x145cf1[_0x225de0(0x8dc)];if(!_0x36f129){const _0x5ecef7={'layout':_0x95f140,'entries':[{'binding':0x0,'resource':_0x3e5c28[_0x225de0(0x42a)]({'format':_0x4a631a,'dimension':_0x46f8d4['p_'][_0x225de0(0xa4e)],'baseMipLevel':_0x1b3065,'mipLevelCount':0x1,'arrayLayerCount':_0x5de748,'baseArrayLayer':_0x15a05d})}]};_0x488220&&_0x5ecef7[_0x225de0(0xb58)][_0x225de0(0x2bd)]({'binding':0x1,'resource':{'buffer':this['_ubCopyWithOfst']}}),_0x36f129=this[_0x225de0(0x8e4)][_0x225de0(0xa7e)](_0x5ecef7);}_0x3805ae[_0x225de0(0x6fc)](_0x55c9ad),_0x3805ae[_0x225de0(0xbae)](0x0,_0x36f129),_0x3805ae[_0x225de0(0x581)](0x4,0x1,0x0,0x0),_0x3805ae['end'](),_0x28e979[_0x225de0(0x281)]({'texture':_0x32eada},{'texture':_0x3e5c28,'mipLevel':_0x1b3065,'origin':{'x':0x0,'y':0x0,'z':_0x15a05d}},{'width':_0x2fcc24,'height':_0x56015d,'depthOrArrayLayers':0x1}),_0x145cf1?(_0x145cf1[_0x225de0(0xc28)]=_0x32eada,_0x145cf1[_0x225de0(0x227)]=_0x3a0a1e,_0x488220?_0x145cf1[_0x225de0(0xbb8)]=_0x36f129:_0x145cf1[_0x225de0(0x8dc)]=_0x36f129):this[_0x225de0(0x5e6)][_0x225de0(0x2bd)]([_0x32eada,null]),null!=(_0x40bf65=(_0x43c918=_0x28e979)['popDebugGroup'])&&_0x40bf65[_0x225de0(0x4f3)](_0x43c918),_0x126e29&&this['_device'][_0x225de0(0x4a6)][_0x225de0(0xc32)]([_0x28e979[_0x225de0(0x583)]()]);}}[_0x5930fa(0x4fa)](_0x41fdb7,_0x5a1a64,_0xdbf9a3,_0x5937cf){var _0x275fa5=_0x5930fa,_0x58008d,_0x28976c=void 0x0===_0x5937cf,[_0x5a1a64,_0x53b522]=this[_0x275fa5(0xd14)](_0x5a1a64,_0x455648['InvertYPremultiplyAlpha'],{'invertY':!0x0,'premultiplyAlpha':!0x1});null!=(_0x5275d7=(_0x58008d=_0x5937cf=_0x28976c?this[_0x275fa5(0x8e4)]['createCommandEncoder']({}):_0x5937cf)[_0x275fa5(0x885)])&&_0x5275d7[_0x275fa5(0x4f3)](_0x58008d,'internal\x20copy\x20texture\x20with\x20invertY');const _0x3da7de=_0x5937cf[_0x275fa5(0x377)](_0xdbf9a3);var _0x5275d7=this[_0x275fa5(0x8e4)][_0x275fa5(0xa7e)]({'layout':_0x53b522,'entries':[{'binding':0x0,'resource':_0x41fdb7}]});_0x3da7de[_0x275fa5(0x6fc)](_0x5a1a64),_0x3da7de[_0x275fa5(0xbae)](0x0,_0x5275d7),_0x3da7de[_0x275fa5(0x581)](0x4,0x1,0x0,0x0),_0x3da7de[_0x275fa5(0xb80)](),null!=(_0xdbf9a3=(_0x58008d=_0x5937cf)[_0x275fa5(0x761)])&&_0xdbf9a3[_0x275fa5(0x4f3)](_0x58008d),_0x28976c&&this['_device'][_0x275fa5(0x4a6)][_0x275fa5(0xc32)]([_0x5937cf[_0x275fa5(0x583)]()]);}[_0x5930fa(0x900)](_0x1d239a,_0x56dbb5=!0x1,_0x2012b2=!0x1,_0x41ddd4=!0x1,_0x3cf069=!0x1,_0x1b7df8=!0x1,_0x5a355e=_0x46f8d4['EV'][_0x5930fa(0xcb5)],_0x14bf3f=0x1,_0x3ac9fc,_0x599ed8=-0x1,_0x12e0a2=0x0){var _0x827454=_0x5930fa;0x1<_0x14bf3f&&(_0x14bf3f=0x4);var _0x40de16=_0x1d239a[_0x827454(0x2d8)]||0x1,_0x27f7c3={'width':_0x1d239a[_0x827454(0x680)],'height':_0x1d239a[_0x827454(0x9f8)],'depthOrArrayLayers':_0x40de16},_0x978a5d=_0x45f655['IsCompressedFormat'](_0x5a355e),_0x11ac86=_0x56dbb5?_0x45f655[_0x827454(0xc4d)](_0x1d239a['width'],_0x1d239a['height']):0x1,_0x599ed8=0x0<=_0x599ed8?_0x599ed8:_0x46f8d4['v2']['CopySrc']|_0x46f8d4['v2']['CopyDst']|_0x46f8d4['v2'][_0x827454(0x4ee)],_0x978a5d=(_0x12e0a2|=_0x56dbb5&&!_0x978a5d?_0x46f8d4['v2'][_0x827454(0xc37)]|_0x46f8d4['v2'][_0x827454(0x634)]:0x0,_0x978a5d||_0x1b7df8||(_0x12e0a2|=_0x46f8d4['v2']['RenderAttachment']|_0x46f8d4['v2']['CopyDst']),this[_0x827454(0x8e4)][_0x827454(0x900)]({'label':_0x827454(0x5e1)+_0x27f7c3[_0x827454(0x680)]+'x'+_0x27f7c3[_0x827454(0x9f8)]+'x'+_0x27f7c3[_0x827454(0x3b4)]+'_'+(_0x56dbb5?_0x827454(0x39c):_0x827454(0xacf))+'_'+_0x5a355e+_0x827454(0x793)+_0x14bf3f,'size':_0x27f7c3,'dimension':_0x1b7df8?_0x46f8d4['kd']['E3d']:_0x46f8d4['kd'][_0x827454(0xa4e)],'format':_0x5a355e,'usage':_0x599ed8|_0x12e0a2,'sampleCount':_0x14bf3f,'mipLevelCount':_0x11ac86}));return _0x45f655[_0x827454(0xc8c)](_0x1d239a)&&(this[_0x827454(0xbd3)](_0x1d239a,_0x978a5d,_0x1d239a[_0x827454(0x680)],_0x1d239a[_0x827454(0x9f8)],_0x40de16,_0x5a355e,0x0,0x0,_0x41ddd4,_0x3cf069,0x0,0x0),_0x56dbb5&&_0x2012b2&&this[_0x827454(0xba9)](_0x978a5d,_0x5a355e,_0x11ac86,0x0,_0x3ac9fc)),_0x978a5d;}[_0x5930fa(0x687)](_0x2c6754,_0x10ea14=!0x1,_0x5b9397=!0x1,_0x4baa87=!0x1,_0xe1e0d0=!0x1,_0x27dbab=_0x46f8d4['EV']['RGBA8Unorm'],_0x293750=0x1,_0x33be21,_0x4ee588=-0x1,_0x244b7f=0x0){var _0x3ca65f=_0x5930fa;0x1<_0x293750&&(_0x293750=0x4);var _0x359322=(_0x45f655[_0x3ca65f(0xd8c)](_0x2c6754)?_0x2c6754[0x0]:_0x2c6754)[_0x3ca65f(0x680)],_0x544cf1=(_0x45f655[_0x3ca65f(0xd8c)](_0x2c6754)?_0x2c6754[0x0]:_0x2c6754)[_0x3ca65f(0x9f8)],_0xdf33f7=_0x45f655[_0x3ca65f(0x1fd)](_0x27dbab),_0x51c0d0=_0x10ea14?_0x45f655[_0x3ca65f(0xc4d)](_0x359322,_0x544cf1):0x1,_0x4ee588=0x0<=_0x4ee588?_0x4ee588:_0x46f8d4['v2'][_0x3ca65f(0xc37)]|_0x46f8d4['v2']['CopyDst']|_0x46f8d4['v2'][_0x3ca65f(0x4ee)],_0xdf33f7=(_0x244b7f|=_0x10ea14&&!_0xdf33f7?_0x46f8d4['v2'][_0x3ca65f(0xc37)]|_0x46f8d4['v2'][_0x3ca65f(0x634)]:0x0,_0xdf33f7||(_0x244b7f|=_0x46f8d4['v2'][_0x3ca65f(0x634)]|_0x46f8d4['v2']['CopyDst']),this['_device'][_0x3ca65f(0x900)]({'label':_0x3ca65f(0x8c6)+_0x359322+'x'+_0x544cf1+'x6_'+(_0x10ea14?_0x3ca65f(0x39c):_0x3ca65f(0xacf))+'_'+_0x27dbab+_0x3ca65f(0x793)+_0x293750,'size':{'width':_0x359322,'height':_0x544cf1,'depthOrArrayLayers':0x6},'dimension':_0x46f8d4['kd'][_0x3ca65f(0xa4e)],'format':_0x27dbab,'usage':_0x4ee588|_0x244b7f,'sampleCount':_0x293750,'mipLevelCount':_0x51c0d0}));return _0x45f655[_0x3ca65f(0xd8c)](_0x2c6754)&&(this[_0x3ca65f(0x5ae)](_0x2c6754,_0xdf33f7,_0x359322,_0x544cf1,_0x27dbab,_0x4baa87,_0xe1e0d0,0x0,0x0),_0x10ea14&&_0x5b9397&&this[_0x3ca65f(0x3c1)](_0xdf33f7,_0x27dbab,_0x51c0d0,_0x33be21)),_0xdf33f7;}[_0x5930fa(0x3c1)](_0x52116d,_0x1c9c03,_0x5df846,_0x5422b6){var _0x10edcc=_0x5930fa,_0x38e1ca,_0x54b582,_0x470749=void 0x0===_0x5422b6;null!=(_0x38e1ca=(_0x54b582=_0x5422b6=_0x470749?this['_device'][_0x10edcc(0x90d)]({}):_0x5422b6)[_0x10edcc(0x885)])&&_0x38e1ca[_0x10edcc(0x4f3)](_0x54b582,_0x10edcc(0xa83)+_0x5df846+'\x20levels');for(let _0x1a5a9d=0x0;_0x1a5a9d<0x6;++_0x1a5a9d)this[_0x10edcc(0xba9)](_0x52116d,_0x1c9c03,_0x5df846,_0x1a5a9d,_0x5422b6);null!=(_0x54b582=(_0x38e1ca=_0x5422b6)[_0x10edcc(0x761)])&&_0x54b582['call'](_0x38e1ca),_0x470749&&this[_0x10edcc(0x8e4)]['queue']['submit']([_0x5422b6[_0x10edcc(0x583)]()]);}[_0x5930fa(0xba9)](_0x44a83b,_0x8857a0,_0x3e56f7,_0x5383f2=0x0,_0x1b9600){var _0x5389c3=_0x5930fa,_0x23004d,_0x32af4f,_0xda7454=void 0x0===_0x1b9600,[_0x599787,_0x1418c8]=this[_0x5389c3(0xd14)](_0x8857a0);_0x5383f2=Math['max'](_0x5383f2,0x0),null!=(_0x23004d=(_0x32af4f=_0x1b9600=_0xda7454?this[_0x5389c3(0x8e4)][_0x5389c3(0x90d)]({}):_0x1b9600)[_0x5389c3(0x885)])&&_0x23004d[_0x5389c3(0x4f3)](_0x32af4f,_0x5389c3(0xae5)+_0x5383f2+_0x5389c3(0x4b5)+_0x3e56f7+_0x5389c3(0x2c7));let _0x4960c1;if(_0x45f655[_0x5389c3(0x9d9)](_0x44a83b)?(_0x4960c1=_0x44a83b['underlyingResource'],_0x44a83b[_0x5389c3(0x6e2)]=_0x44a83b[_0x5389c3(0x6e2)]||[],_0x44a83b[_0x5389c3(0x499)]=_0x44a83b[_0x5389c3(0x499)]||[]):(_0x4960c1=_0x44a83b,_0x44a83b=void 0x0),_0x4960c1){const _0x43888b=_0x44a83b;for(let _0x33b549=0x1;_0x33b549<_0x3e56f7;++_0x33b549){var _0x1319cb=null!=(_0x1319cb=null==(_0x1319cb=null===_0x43888b||void 0x0===_0x43888b?void 0x0:_0x43888b['_mipmapGenRenderPassDescr'][_0x5383f2])?void 0x0:_0x1319cb[_0x33b549-0x1])?_0x1319cb:{'colorAttachments':[{'view':_0x4960c1['createView']({'format':_0x8857a0,'dimension':_0x46f8d4['p_'][_0x5389c3(0xa4e)],'baseMipLevel':_0x33b549,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':_0x5383f2}),'loadOp':_0x46f8d4['Ws']['Load'],'storeOp':_0x46f8d4['EG'][_0x5389c3(0x7c7)]}]};_0x43888b&&(_0x43888b[_0x5389c3(0x6e2)][_0x5383f2]=_0x43888b[_0x5389c3(0x6e2)][_0x5383f2]||[],_0x43888b[_0x5389c3(0x6e2)][_0x5383f2][_0x33b549-0x1]=_0x1319cb);const _0x25127c=_0x1b9600[_0x5389c3(0x377)](_0x1319cb);_0x1319cb=null!=(_0x1319cb=null==(_0x1319cb=null===_0x43888b||void 0x0===_0x43888b?void 0x0:_0x43888b[_0x5389c3(0x499)][_0x5383f2])?void 0x0:_0x1319cb[_0x33b549-0x1])?_0x1319cb:this[_0x5389c3(0x8e4)]['createBindGroup']({'layout':_0x1418c8,'entries':[{'binding':0x0,'resource':this[_0x5389c3(0x516)]},{'binding':0x1,'resource':_0x4960c1[_0x5389c3(0x42a)]({'format':_0x8857a0,'dimension':_0x46f8d4['p_']['E2d'],'baseMipLevel':_0x33b549-0x1,'mipLevelCount':0x1,'arrayLayerCount':0x1,'baseArrayLayer':_0x5383f2})}]}),(_0x43888b&&(_0x43888b[_0x5389c3(0x499)][_0x5383f2]=_0x43888b[_0x5389c3(0x499)][_0x5383f2]||[],_0x43888b['_mipmapGenBindGroup'][_0x5383f2][_0x33b549-0x1]=_0x1319cb),_0x25127c['setPipeline'](_0x599787),_0x25127c[_0x5389c3(0xbae)](0x0,_0x1319cb),_0x25127c[_0x5389c3(0x581)](0x4,0x1,0x0,0x0),_0x25127c[_0x5389c3(0xb80)]());}null!=(_0x32af4f=(_0x23004d=_0x1b9600)['popDebugGroup'])&&_0x32af4f[_0x5389c3(0x4f3)](_0x23004d),_0xda7454&&this[_0x5389c3(0x8e4)][_0x5389c3(0x4a6)]['submit']([_0x1b9600[_0x5389c3(0x583)]()]);}}['createGPUTextureForInternalTexture'](_0x25d77e,_0x3a152a,_0xbd8077,_0x59a35c,_0x156466){var _0x3e40cf=_0x5930fa;_0x25d77e[_0x3e40cf(0xbac)]||(_0x25d77e['_hardwareTexture']=new _0x121259['Z']()),void 0x0===_0x3a152a&&(_0x3a152a=_0x25d77e[_0x3e40cf(0x680)]),void 0x0===_0xbd8077&&(_0xbd8077=_0x25d77e['height']),void 0x0===_0x59a35c&&(_0x59a35c=_0x25d77e['depth']);const _0x5e0ddc=_0x25d77e[_0x3e40cf(0xbac)];var _0x48f9c2,_0x156466=0x0!=((null!=_0x156466?_0x156466:0x0)&_0x23fbb2['g'][_0x3e40cf(0xbba)]),_0x19b233=(_0x5e0ddc[_0x3e40cf(0x920)]=_0x45f655[_0x3e40cf(0x7ab)](_0x25d77e[_0x3e40cf(0xa18)],_0x25d77e[_0x3e40cf(0x920)],_0x25d77e[_0x3e40cf(0x389)]),_0x5e0ddc[_0x3e40cf(0x701)]=_0x25d77e[_0x3e40cf(0xc90)]===_0x1e72da['S'][_0x3e40cf(0xc61)]||_0x25d77e[_0x3e40cf(0x94c)]===_0x1e72da['S'][_0x3e40cf(0x509)]?_0x46f8d4['v2']['TextureBinding']|_0x46f8d4['v2'][_0x3e40cf(0xc37)]|_0x46f8d4['v2']['RenderAttachment']:_0x25d77e[_0x3e40cf(0xc90)]===_0x1e72da['S'][_0x3e40cf(0x918)]?_0x46f8d4['v2'][_0x3e40cf(0x4ee)]|_0x46f8d4['v2'][_0x3e40cf(0x634)]:-0x1,_0x5e0ddc['textureAdditionalUsages']=_0x156466?_0x46f8d4['v2']['StorageBinding']:0x0,_0x25d77e[_0x3e40cf(0x9fb)]),_0x5bdfca=_0x59a35c||0x1,_0x19b233=null!==_0x25d77e['_maxLodLevel']?_0x25d77e['_maxLodLevel']:_0x19b233?_0x45f655['ComputeNumMipmapLevels'](_0x3a152a,_0xbd8077):0x1;return _0x25d77e[_0x3e40cf(0xd30)]?(_0x48f9c2=this[_0x3e40cf(0x687)]({'width':_0x3a152a,'height':_0xbd8077},_0x25d77e[_0x3e40cf(0x9fb)],_0x25d77e[_0x3e40cf(0x9fb)],_0x25d77e['invertY'],!0x1,_0x5e0ddc['format'],0x1,this['_commandEncoderForCreation'],_0x5e0ddc['textureUsages'],_0x5e0ddc[_0x3e40cf(0x5a6)]),_0x5e0ddc[_0x3e40cf(0x3ee)](_0x48f9c2),_0x5e0ddc[_0x3e40cf(0x42a)]({'format':_0x5e0ddc[_0x3e40cf(0x920)],'dimension':_0x46f8d4['p_']['Cube'],'mipLevelCount':_0x19b233,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':0x6,'aspect':_0x45f655['HasDepthAndStencilAspects'](_0x5e0ddc[_0x3e40cf(0x920)])?_0x46f8d4['H7'][_0x3e40cf(0xc02)]:_0x46f8d4['H7'][_0x3e40cf(0x9e3)]},_0x156466)):(_0x48f9c2=this['createTexture']({'width':_0x3a152a,'height':_0xbd8077,'layers':_0x5bdfca},_0x25d77e['generateMipMaps'],_0x25d77e[_0x3e40cf(0x9fb)],_0x25d77e['invertY'],!0x1,_0x25d77e['is3D'],_0x5e0ddc['format'],0x1,this['_commandEncoderForCreation'],_0x5e0ddc[_0x3e40cf(0x701)],_0x5e0ddc['textureAdditionalUsages']),_0x5e0ddc[_0x3e40cf(0x3ee)](_0x48f9c2),_0x5e0ddc[_0x3e40cf(0x42a)]({'format':_0x5e0ddc['format'],'dimension':_0x25d77e[_0x3e40cf(0xc21)]?_0x46f8d4['p_'][_0x3e40cf(0xd37)]:_0x25d77e[_0x3e40cf(0x208)]?_0x46f8d4['kd'][_0x3e40cf(0xa5a)]:_0x46f8d4['p_'][_0x3e40cf(0xa4e)],'mipLevelCount':_0x19b233,'baseArrayLayer':0x0,'baseMipLevel':0x0,'arrayLayerCount':_0x25d77e[_0x3e40cf(0x208)]?0x1:_0x5bdfca,'aspect':_0x45f655[_0x3e40cf(0x515)](_0x5e0ddc[_0x3e40cf(0x920)])?_0x46f8d4['H7'][_0x3e40cf(0xc02)]:_0x46f8d4['H7']['All']},_0x156466)),_0x25d77e['width']=_0x25d77e[_0x3e40cf(0xcbd)]=_0x3a152a,_0x25d77e[_0x3e40cf(0x9f8)]=_0x25d77e['baseHeight']=_0xbd8077,_0x25d77e[_0x3e40cf(0x550)]=_0x25d77e[_0x3e40cf(0x83c)]=_0x59a35c,this['createMSAATexture'](_0x25d77e,_0x25d77e[_0x3e40cf(0x72f)]),_0x5e0ddc;}[_0x5930fa(0xbfd)](_0x1dcd89,_0x10a5b8){var _0x188ac0=_0x5930fa;const _0x1f02b3=_0x1dcd89[_0x188ac0(0xbac)];var _0x10ded3,_0x23d838,_0x28fe4f,_0x192575;null!==_0x1f02b3&&void 0x0!==_0x1f02b3&&_0x1f02b3['msaaTexture']&&(this[_0x188ac0(0x47f)](_0x1f02b3[_0x188ac0(0x655)]),_0x1f02b3[_0x188ac0(0x655)]=null),!_0x1f02b3||(null!=_0x10a5b8?_0x10a5b8:0x1)<=0x1||(_0x10ded3=_0x1dcd89[_0x188ac0(0x680)],_0x23d838=_0x1dcd89['height'],_0x28fe4f=_0x1dcd89[_0x188ac0(0x550)]||0x1,_0x1dcd89[_0x188ac0(0xd30)]?(_0x192575=this[_0x188ac0(0x687)]({'width':_0x10ded3,'height':_0x23d838},!0x1,!0x1,_0x1dcd89[_0x188ac0(0x63a)],!0x1,_0x1f02b3[_0x188ac0(0x920)],_0x10a5b8,this[_0x188ac0(0x759)],_0x1f02b3[_0x188ac0(0x701)],_0x1f02b3[_0x188ac0(0x5a6)]),_0x1f02b3[_0x188ac0(0x655)]=_0x192575):(_0x192575=this[_0x188ac0(0x900)]({'width':_0x10ded3,'height':_0x23d838,'layers':_0x28fe4f},!0x1,!0x1,_0x1dcd89['invertY'],!0x1,_0x1dcd89[_0x188ac0(0x208)],_0x1f02b3['format'],_0x10a5b8,this[_0x188ac0(0x759)],_0x1f02b3['textureUsages'],_0x1f02b3[_0x188ac0(0x5a6)]),_0x1f02b3[_0x188ac0(0x655)]=_0x192575));}['updateCubeTextures'](_0x251544,_0x4b3c8e,_0x2361e8,_0x56f70f,_0x53bbfe,_0x3525d2=!0x1,_0x96afd0=!0x1,_0x2bedc9=0x0,_0x4f290b=0x0){var _0x3e0c7e=_0x5930fa,_0x540a62=[0x0,0x3,0x1,0x4,0x2,0x5];for(let _0x450fe9=0x0;_0x450fe9<_0x540a62[_0x3e0c7e(0x43c)];++_0x450fe9){var _0x5de44=_0x251544[_0x540a62[_0x450fe9]];this[_0x3e0c7e(0xbd3)](_0x5de44,_0x4b3c8e,_0x2361e8,_0x56f70f,0x1,_0x53bbfe,_0x450fe9,0x0,_0x3525d2,_0x96afd0,_0x2bedc9,_0x4f290b);}}[_0x5930fa(0xbd3)](_0x1e50ba,_0x5ef672,_0x42feea,_0xa2fe86,_0x1ccad0,_0x4d379f,_0x51ea04=0x0,_0x34f2f9=0x0,_0x15db78=!0x1,_0x600d7a=!0x1,_0xacdce0=0x0,_0x51d6f6=0x0,_0x11f5e7){var _0x4273f1=_0x5930fa,_0x36a54a=_0x45f655[_0x4273f1(0x576)](_0x5ef672)?_0x5ef672[_0x4273f1(0xbac)][_0x4273f1(0x8e9)]:_0x5ef672,_0x54b72f=_0x45f655['_GetBlockInformationFromFormat'](_0x4d379f),_0x126f89=_0x45f655[_0x4273f1(0x576)](_0x5ef672)?_0x5ef672['_hardwareTexture']:_0x5ef672;const _0x2690e1={'texture':_0x36a54a,'origin':{'x':_0xacdce0,'y':_0x51d6f6,'z':Math[_0x4273f1(0xbbd)](_0x51ea04,0x0)},'mipLevel':_0x34f2f9,'premultipliedAlpha':_0x600d7a},_0x3eedc3={'width':Math[_0x4273f1(0xc34)](_0x42feea/_0x54b72f[_0x4273f1(0x680)])*_0x54b72f[_0x4273f1(0x680)],'height':Math[_0x4273f1(0xc34)](_0xa2fe86/_0x54b72f[_0x4273f1(0x9f8)])*_0x54b72f[_0x4273f1(0x9f8)],'depthOrArrayLayers':_0x1ccad0||0x1};if(void 0x0!==_0x1e50ba[_0x4273f1(0x6ed)]){_0x36a54a=Math[_0x4273f1(0xc34)](_0x42feea/_0x54b72f[_0x4273f1(0x680)])*_0x54b72f['length'];if(0x100*Math['ceil'](_0x36a54a/0x100)==_0x36a54a){const _0x5053b5=this[_0x4273f1(0x8e4)][_0x4273f1(0x90d)]({}),_0x484407=this[_0x4273f1(0x3a0)]['createRawBuffer'](_0x1e50ba[_0x4273f1(0x6ed)],_0x46f8d4['FB'][_0x4273f1(0x820)]|_0x46f8d4['FB'][_0x4273f1(0xc37)],!0x0);_0x54b72f=_0x484407[_0x4273f1(0x29a)](),(new Uint8Array(_0x54b72f)[_0x4273f1(0x3ee)](_0x1e50ba),_0x484407['unmap'](),_0x5053b5[_0x4273f1(0xcfd)]({'buffer':_0x484407,'offset':0x0,'bytesPerRow':_0x36a54a,'rowsPerImage':_0xa2fe86},_0x2690e1,_0x3eedc3),this['_device'][_0x4273f1(0x4a6)][_0x4273f1(0xc32)]([_0x5053b5[_0x4273f1(0x583)]()]),this[_0x4273f1(0x3a0)]['releaseBuffer'](_0x484407));}else this[_0x4273f1(0x8e4)][_0x4273f1(0x4a6)][_0x4273f1(0x2fa)](_0x2690e1,_0x1e50ba,{'offset':0x0,'bytesPerRow':_0x36a54a,'rowsPerImage':_0xa2fe86},_0x3eedc3);if(_0x15db78||_0x600d7a){if(!_0x45f655[_0x4273f1(0x576)](_0x5ef672))throw'updateTexture:\x20Can\x27t\x20process\x20the\x20texture\x20data\x20because\x20a\x20GPUTexture\x20was\x20provided\x20instead\x20of\x20an\x20InternalTexture!';_0x54b72f=0x0===_0xacdce0&&0x0===_0x51d6f6&&_0x42feea===_0x5ef672[_0x4273f1(0x680)]&&_0xa2fe86===_0x5ef672['height'],this[_0x4273f1(0x2a9)](_0x126f89,_0x5ef672[_0x4273f1(0x680)],_0x5ef672[_0x4273f1(0x9f8)],_0x4d379f,_0x15db78,_0x600d7a,_0x51ea04,_0x34f2f9,_0x1ccad0||0x1,_0xacdce0,_0x51d6f6,_0x54b72f?0x0:_0x42feea,_0x54b72f?0x0:_0xa2fe86,void 0x0,_0x11f5e7);}}else{if(_0x15db78){if(_0x2690e1['premultipliedAlpha']=!0x1,_0x45f655[_0x4273f1(0x576)](_0x5ef672)&&0x0===_0xacdce0&&0x0===_0x51d6f6&&_0x42feea===_0x5ef672[_0x4273f1(0x680)]&&_0xa2fe86===_0x5ef672['height'])this[_0x4273f1(0x8e4)][_0x4273f1(0x4a6)][_0x4273f1(0x31d)]({'source':_0x1e50ba},_0x2690e1,_0x3eedc3),this[_0x4273f1(0x2a9)](_0x126f89,_0x42feea,_0xa2fe86,_0x4d379f,_0x15db78,_0x600d7a,_0x51ea04,_0x34f2f9,_0x1ccad0||0x1,0x0,0x0,0x0,0x0,void 0x0,_0x11f5e7);else{const _0x47b391=this[_0x4273f1(0x8e4)][_0x4273f1(0x90d)]({});_0x36a54a=this[_0x4273f1(0x900)]({'width':_0x42feea,'height':_0xa2fe86,'layers':0x1},!0x1,!0x1,!0x1,!0x1,!0x1,_0x4d379f,0x1,_0x47b391,_0x46f8d4['v2'][_0x4273f1(0xc37)]|_0x46f8d4['v2'][_0x4273f1(0x4ee)]),(this[_0x4273f1(0x5e6)]['push']([_0x36a54a,null]),_0x3eedc3[_0x4273f1(0x3b4)]=0x1,this[_0x4273f1(0x8e4)]['queue']['copyExternalImageToTexture']({'source':_0x1e50ba},{'texture':_0x36a54a},_0x3eedc3),_0x3eedc3[_0x4273f1(0x3b4)]=_0x1ccad0||0x1,this['invertYPreMultiplyAlpha'](_0x36a54a,_0x42feea,_0xa2fe86,_0x4d379f,_0x15db78,_0x600d7a,_0x51ea04,_0x34f2f9,_0x1ccad0||0x1,0x0,0x0,0x0,0x0,_0x47b391,_0x11f5e7),_0x47b391[_0x4273f1(0x281)]({'texture':_0x36a54a},_0x2690e1,_0x3eedc3),this[_0x4273f1(0x8e4)][_0x4273f1(0x4a6)]['submit']([_0x47b391[_0x4273f1(0x583)]()]));}}else this[_0x4273f1(0x8e4)][_0x4273f1(0x4a6)][_0x4273f1(0x31d)]({'source':_0x1e50ba},_0x2690e1,_0x3eedc3);}}[_0x5930fa(0x658)](_0x3a9804,_0x5ef979,_0x247ba8,_0x2b3a62,_0x8b1e37,_0x1debea,_0x352a1c=0x0,_0x256db7=0x0,_0x59039c=null,_0x5dd7f8=!0x1){var _0x3dd679=_0x5930fa,_0x2918c3=_0x45f655[_0x3dd679(0x206)](_0x1debea),_0x2918c3=Math[_0x3dd679(0xc34)](_0x2b3a62/_0x2918c3[_0x3dd679(0x680)])*_0x2918c3[_0x3dd679(0x43c)],_0x57ad2f=0x100*Math[_0x3dd679(0xc34)](_0x2918c3/0x100),_0x354eae=_0x57ad2f*_0x8b1e37,_0x602213=this[_0x3dd679(0x3a0)][_0x3dd679(0xa04)](_0x354eae,_0x46f8d4['FB'][_0x3dd679(0xc18)]|_0x46f8d4['FB'][_0x3dd679(0x207)]);const _0x7cf839=this['_device']['createCommandEncoder']({});return _0x7cf839['copyTextureToBuffer']({'texture':_0x3a9804,'mipLevel':_0x256db7,'origin':{'x':_0x5ef979,'y':_0x247ba8,'z':Math[_0x3dd679(0xbbd)](_0x352a1c,0x0)}},{'buffer':_0x602213,'offset':0x0,'bytesPerRow':_0x57ad2f},{'width':_0x2b3a62,'height':_0x8b1e37,'depthOrArrayLayers':0x1}),this[_0x3dd679(0x8e4)][_0x3dd679(0x4a6)][_0x3dd679(0xc32)]([_0x7cf839[_0x3dd679(0x583)]()]),this[_0x3dd679(0x3a0)][_0x3dd679(0x8d8)](_0x602213,_0x354eae,_0x2b3a62,_0x8b1e37,_0x2918c3,_0x57ad2f,_0x45f655[_0x3dd679(0x792)](_0x1debea),0x0,_0x59039c,!0x0,_0x5dd7f8);}['releaseTexture'](_0x26f32d){var _0x1c2326=_0x5930fa,_0x3d6d93,_0x5b34d9;_0x45f655['_IsInternalTexture'](_0x26f32d)?(_0x3d6d93=_0x26f32d[_0x1c2326(0xbac)],_0x5b34d9=_0x26f32d[_0x1c2326(0x96d)],this[_0x1c2326(0x5e6)][_0x1c2326(0x2bd)]([_0x3d6d93,_0x5b34d9])):this[_0x1c2326(0x5e6)][_0x1c2326(0x2bd)]([_0x26f32d,null]);}[_0x5930fa(0x5ed)](){var _0x2dc873=_0x5930fa;for(let _0x53d6ee=0x0;_0x53d6ee<this[_0x2dc873(0x5e6)][_0x2dc873(0x43c)];++_0x53d6ee){const [_0x294af2,_0x4def43]=this[_0x2dc873(0x5e6)][_0x53d6ee];_0x294af2&&(_0x45f655[_0x2dc873(0x9d9)](_0x294af2)?_0x294af2[_0x2dc873(0x721)]():_0x294af2[_0x2dc873(0xa3c)]()),null!==_0x4def43&&void 0x0!==_0x4def43&&_0x4def43[_0x2dc873(0x8fc)]();}this[_0x2dc873(0x5e6)][_0x2dc873(0x43c)]=0x0;}}},0x17bd:(_0x4c1844,_0x5455e9,_0x1a7666)=>{var _0x3cd64e=a6_0x5e3a36;_0x1a7666['d'](_0x5455e9,{'b':()=>_0x32e20c});var _0x19948c=_0x1a7666(0x89a1),_0x3f6bdc=_0x1a7666(0x360b),_0x11cb7a=_0x1a7666(0x16268);class _0x32e20c{constructor(_0x32ed9a,_0x4b9b76){var _0xa70573=a6_0x4d3f;this[_0xa70573(0x9e9)]=!0x1,this['_gpuFrameTimeCounter']=new _0x3f6bdc['z'](),this['_measureDurationState']=0x0,this[_0xa70573(0x8e4)]=_0x32ed9a,this[_0xa70573(0x3a0)]=_0x4b9b76;}get['gpuFrameTimeCounter'](){return this['_gpuFrameTimeCounter'];}get[_0x3cd64e(0xbab)](){return this['_enabled'];}set[_0x3cd64e(0xbab)](_0xc94419){var _0x31f239=_0x3cd64e;this[_0x31f239(0x9e9)]!==_0xc94419&&(this[_0x31f239(0x9e9)]=_0xc94419,this[_0x31f239(0x1b3)]=0x0,_0xc94419?this['_measureDuration']=new _0x29ef18(this['_device'],this[_0x31f239(0x3a0)]):this[_0x31f239(0x22f)][_0x31f239(0x8fc)]());}[_0x3cd64e(0x700)](_0xfa518d){var _0x705cc5=_0x3cd64e;this[_0x705cc5(0x9e9)]&&0x0===this[_0x705cc5(0x1b3)]&&(this[_0x705cc5(0x22f)][_0x705cc5(0x891)](_0xfa518d),this['_measureDurationState']=0x1);}[_0x3cd64e(0x1f4)](_0x3f5c48){var _0x3da26a=_0x3cd64e;0x1===this[_0x3da26a(0x1b3)]&&(this[_0x3da26a(0x1b3)]=0x2,this['_measureDuration'][_0x3da26a(0x304)](_0x3f5c48)[_0x3da26a(0x40d)](_0x12791d=>{var _0x39cec4=_0x3da26a;null!==_0x12791d&&0x0<=_0x12791d&&(this['_gpuFrameTimeCounter'][_0x39cec4(0x8dd)](),this[_0x39cec4(0x771)][_0x39cec4(0xafa)](_0x12791d,!0x0)),this[_0x39cec4(0x1b3)]=0x0;}));}}class _0x29ef18{constructor(_0x4ad61d,_0x3a2034){var _0x163785=_0x3cd64e;this[_0x163785(0xc1f)]=new _0x11cb7a['t'](0x2,_0x19948c['xL'][_0x163785(0x57a)],_0x4ad61d,_0x3a2034);}[_0x3cd64e(0x891)](_0x4fbc7a){var _0x301739=_0x3cd64e;_0x4fbc7a[_0x301739(0xc23)](this[_0x301739(0xc1f)]['querySet'],0x0);}[_0x3cd64e(0x304)](_0x3c0731){return _0x3346f5=this,_0x4fb29c=function*(){var _0x5aae82=a6_0x4d3f;return _0x3c0731[_0x5aae82(0xc23)](this['_querySet']['querySet'],0x1),this['_querySet'][_0x5aae82(0xa10)](0x0);},new(_0x493aef=(_0x493aef=_0x388f6b=void 0x0)||Promise)(function(_0x40326d,_0x4ca638){var _0x537419=a6_0x4d3f;function _0x47d91a(_0x134628){var _0x2ff9aa=a6_0x4d3f;try{_0x47830a(_0x4fb29c[_0x2ff9aa(0x8bd)](_0x134628));}catch(_0x2a28e8){_0x4ca638(_0x2a28e8);}}function _0x28b04c(_0x7f7d4){var _0x34d440=a6_0x4d3f;try{_0x47830a(_0x4fb29c[_0x34d440(0xb1e)](_0x7f7d4));}catch(_0x4548f4){_0x4ca638(_0x4548f4);}}function _0x47830a(_0x588fdf){var _0x4e49a9=a6_0x4d3f,_0xecc3e8;_0x588fdf[_0x4e49a9(0xd9d)]?_0x40326d(_0x588fdf[_0x4e49a9(0x438)]):((_0xecc3e8=_0x588fdf[_0x4e49a9(0x438)])instanceof _0x493aef?_0xecc3e8:new _0x493aef(function(_0xdedf28){_0xdedf28(_0xecc3e8);}))[_0x4e49a9(0x40d)](_0x47d91a,_0x28b04c);}_0x47830a((_0x4fb29c=_0x4fb29c[_0x537419(0x693)](_0x3346f5,_0x388f6b||[]))[_0x537419(0x8bd)]());});var _0x3346f5,_0x388f6b,_0x493aef,_0x4fb29c;}[_0x3cd64e(0x8fc)](){var _0x421ccd=_0x3cd64e;this['_querySet'][_0x421ccd(0x8fc)]();}}},0x1181f:(_0x3c345,_0x397fe3,_0x536334)=>{var _0x3b7da8=a6_0x5e3a36;_0x536334['d'](_0x397fe3,{'o':()=>_0x560045});var _0x397fe3=_0x536334(0xa838),_0x56b01b=_0x536334(0x1dad),_0x1d40cd=_0x536334(0xbac7),_0x324a66=_0x536334(0x13708),_0x4afd0c=_0x536334(0x58b),_0x373d8c=_0x536334(0xf96c),_0xde503b=_0x536334(0x9fd1),_0x2ba0b4=_0x536334(0x15857);class _0x560045 extends _0x397fe3['Y']{constructor(_0x1b1d44,_0x1d05d3,_0x2c7045,_0x4701bb,_0x395e4d=null){var _0x52757d=a6_0x4d3f;super(_0x1b1d44,_0x4701bb),this[_0x52757d(0xa41)]=_0x395e4d,this[_0x52757d(0x7ba)]=!0x1,this[_0x52757d(0x4d5)]=!0x1,this[_0x52757d(0xc16)]=!0x1,this[_0x52757d(0x531)]=_0x560045[_0x52757d(0x8b8)],this[_0x52757d(0x7dc)]=null,this[_0x52757d(0x4b6)]=new _0x373d8c['y$'](),this[_0x52757d(0x201)]=new _0x373d8c['y$'](),_0x4701bb=this[_0x52757d(0xc81)](),_0x1b1d44=_0x1b1d44||_0x52757d(0xa29),_0x2c7045[_0x52757d(0x9c8)]=0x0|Math[_0x52757d(0x639)](_0x2c7045[_0x52757d(0x9c8)])||0x20,_0x2c7045['clickToPlay']=Boolean(_0x2c7045[_0x52757d(0x1e1)]),_0x2c7045[_0x52757d(0x5fe)]=void 0x0===_0x2c7045[_0x52757d(0x5fe)]||Boolean(_0x2c7045[_0x52757d(0x5fe)]),_0x2c7045[_0x52757d(0x991)]=void 0x0===_0x2c7045[_0x52757d(0x991)]||Boolean(_0x2c7045[_0x52757d(0x991)]),_0x2c7045[_0x52757d(0x1ee)]=Math[_0x52757d(0x639)](_0x2c7045[_0x52757d(0x1ee)])||(_0x4701bb[_0x52757d(0xca7)]?0.48*_0x4701bb[_0x52757d(0xca7)]['maxZ']:0x3e8),void 0x0===_0x2c7045[_0x52757d(0xa52)]?this[_0x52757d(0xc16)]=!0x0:this[_0x52757d(0xc16)]=_0x2c7045['useDirectMapping'],void 0x0===_0x2c7045['faceForward']&&(_0x2c7045[_0x52757d(0x2fe)]=!0x0),this[_0x52757d(0x6a8)](!0x1),_0x2c7045[_0x52757d(0x8a6)]?this[_0x52757d(0x378)]=_0x2c7045[_0x52757d(0x8a6)]:this[_0x52757d(0x378)]=(0x0,_0x4afd0c['Qk'])(_0x1b1d44+_0x52757d(0x378),{'segments':_0x2c7045['resolution'],'diameter':_0x2c7045[_0x52757d(0x1ee)],'updatable':!0x1,'sideOrientation':_0x56b01b['Kj'][_0x52757d(0x624)]},_0x4701bb);const _0x2b402f=this[_0x52757d(0x7c5)]=new _0x324a66['I'](_0x1b1d44+_0x52757d(0x7c5),_0x4701bb);_0x2b402f[_0x52757d(0x69b)]=!0x0,_0x2b402f['fovMultiplier']=0x1,_0x2b402f[_0x52757d(0x82d)]=!0x1,_0x395e4d=this[_0x52757d(0xad3)](_0x1d05d3,_0x4701bb,_0x2c7045);if(this[_0x52757d(0x20b)]=_0x395e4d,this[_0x52757d(0x378)][_0x52757d(0x8ae)]=_0x2b402f,(this[_0x52757d(0x378)]['parent']=this)[_0x52757d(0xd26)]=(0x0,_0x4afd0c['Qk'])('',{'slice':0.5,'diameter':0.98*_0x2c7045['size'],'segments':0x2*_0x2c7045[_0x52757d(0x9c8)],'sideOrientation':_0x56b01b['Kj'][_0x52757d(0x624)]},_0x4701bb),this[_0x52757d(0xd26)][_0x52757d(0x1a0)](_0x2ba0b4['RD']['X'],-Math['PI']/0x2),this['_halfDomeMask'][_0x52757d(0x51a)]=this[_0x52757d(0x378)],this['_halfDome']=!!_0x2c7045[_0x52757d(0x6c6)],this[_0x52757d(0xd26)][_0x52757d(0x8f1)](this[_0x52757d(0x7ba)]),this[_0x52757d(0x4d5)]=!!_0x2c7045[_0x52757d(0xb32)],this[_0x52757d(0x45d)][_0x52757d(0xa32)]=0x1,this[_0x52757d(0x45d)][_0x52757d(0x201)][_0x52757d(0xa71)](()=>{var _0x3dfb57=_0x52757d;this[_0x3dfb57(0x6a8)](!0x0);}),_0x2c7045[_0x52757d(0x2fe)]&&_0x4701bb['activeCamera']){const _0x19f2b4=_0x4701bb[_0x52757d(0xca7)];_0x1b1d44=_0xde503b['P'][_0x52757d(0xa94)]();const _0x26cd9e=_0xde503b['P'][_0x52757d(0xbb5)](_0x1b1d44,_0x19f2b4[_0x52757d(0x314)]());_0x26cd9e['normalize'](),this[_0x52757d(0x3db)]['y']=Math['acos'](_0xde503b['P'][_0x52757d(0xb61)](_0x1b1d44,_0x26cd9e));}this['_changeTextureMode'](this[_0x52757d(0x531)]);}get[_0x3b7da8(0x20b)](){var _0x45dfb8=_0x3b7da8;return this[_0x45dfb8(0x45d)];}set[_0x3b7da8(0x20b)](_0x363608){var _0x2bb1fe=_0x3b7da8;this[_0x2bb1fe(0x45d)]!==_0x363608&&(this[_0x2bb1fe(0x45d)]=_0x363608,this[_0x2bb1fe(0xc16)]?(this[_0x2bb1fe(0x45d)][_0x2bb1fe(0x427)]=_0x1d40cd['x'][_0x2bb1fe(0x90b)],this[_0x2bb1fe(0x45d)][_0x2bb1fe(0x486)]=_0x1d40cd['x'][_0x2bb1fe(0x90b)],this[_0x2bb1fe(0x7c5)][_0x2bb1fe(0x2ea)]=this[_0x2bb1fe(0x45d)]):(this[_0x2bb1fe(0x45d)][_0x2bb1fe(0xcc2)]=_0x1d40cd['x'][_0x2bb1fe(0x606)],this[_0x2bb1fe(0x45d)][_0x2bb1fe(0x486)]=_0x1d40cd['x']['CLAMP_ADDRESSMODE'],this[_0x2bb1fe(0x7c5)][_0x2bb1fe(0x368)]=this[_0x2bb1fe(0x45d)]),this[_0x2bb1fe(0xc96)](this[_0x2bb1fe(0x531)]));}get[_0x3b7da8(0x8a6)](){var _0x45df63=_0x3b7da8;return this[_0x45df63(0x378)];}get[_0x3b7da8(0x5a7)](){var _0x552e4d=_0x3b7da8;return this['_material'][_0x552e4d(0x5a7)];}set[_0x3b7da8(0x5a7)](_0x7a0a0e){var _0x3c3dab=_0x3b7da8;this[_0x3c3dab(0x7c5)][_0x3c3dab(0x5a7)]=_0x7a0a0e;}get[_0x3b7da8(0x784)](){var _0x2dbd06=_0x3b7da8;return this[_0x2dbd06(0x531)];}set[_0x3b7da8(0x784)](_0x4562d2){var _0x3f5063=_0x3b7da8;this['_textureMode']!==_0x4562d2&&this[_0x3f5063(0xc96)](_0x4562d2);}get[_0x3b7da8(0x9e6)](){var _0x1774a7=_0x3b7da8;return this[_0x1774a7(0x7ba)];}set[_0x3b7da8(0x9e6)](_0x3485c1){var _0xa6732d=_0x3b7da8;this[_0xa6732d(0x7ba)]=_0x3485c1,this['_halfDomeMask'][_0xa6732d(0x8f1)](_0x3485c1),this['_changeTextureMode'](this[_0xa6732d(0x531)]);}set['crossEye'](_0xb4e5c9){var _0x525fa4=_0x3b7da8;this[_0x525fa4(0x4d5)]=_0xb4e5c9,this['_changeTextureMode'](this[_0x525fa4(0x531)]);}get[_0x3b7da8(0x1b6)](){var _0x409165=_0x3b7da8;return this[_0x409165(0x4d5)];}get[_0x3b7da8(0x8ae)](){var _0xb3e955=_0x3b7da8;return this[_0xb3e955(0x7c5)];}['_changeTextureMode'](_0x1881e6){var _0x22176f=_0x3b7da8;switch(this['_scene'][_0x22176f(0xa0a)]['remove'](this[_0x22176f(0x7dc)]),this['_textureMode']=_0x1881e6,this[_0x22176f(0x45d)]['uScale']=0x1,this[_0x22176f(0x45d)][_0x22176f(0x53c)]=0x1,this['_texture'][_0x22176f(0x646)]=0x0,this[_0x22176f(0x45d)][_0x22176f(0x637)]=0x0,this[_0x22176f(0x45d)]['vAng']=0x0,_0x1881e6){case _0x560045[_0x22176f(0x8b8)]:this[_0x22176f(0x7ba)]&&(this[_0x22176f(0x45d)][_0x22176f(0x7c3)]=0x2,this['_texture'][_0x22176f(0x646)]=-0x1);break;case _0x560045['MODE_SIDEBYSIDE']:{this[_0x22176f(0x45d)][_0x22176f(0x7c3)]=this[_0x22176f(0x7ba)]?0.99999:0.5;const _0xda0ef9=this[_0x22176f(0x7ba)]?0x0:0.5,_0x688e80=this[_0x22176f(0x7ba)]?-0.5:0x0;this[_0x22176f(0x7dc)]=this[_0x22176f(0xccd)][_0x22176f(0xa0a)]['add'](_0x8f9ca3=>{var _0x3d8251=_0x22176f;let _0x277523=_0x8f9ca3[_0x3d8251(0x9d6)];(_0x277523=this[_0x3d8251(0x4d5)]?!_0x277523:_0x277523)?this[_0x3d8251(0x45d)][_0x3d8251(0x646)]=_0xda0ef9:this[_0x3d8251(0x45d)][_0x3d8251(0x646)]=_0x688e80;});break;}case _0x560045[_0x22176f(0xb73)]:this[_0x22176f(0x45d)][_0x22176f(0x53c)]=this['_halfDome']?0.99999:0.5,this['_onBeforeCameraRenderObserver']=this[_0x22176f(0xccd)]['onBeforeCameraRenderObservable']['add'](_0x419887=>{var _0x4a9c2c=_0x22176f;let _0x51f8bf=_0x419887[_0x4a9c2c(0x9d6)];this[_0x4a9c2c(0x4d5)]&&(_0x51f8bf=!_0x51f8bf),this[_0x4a9c2c(0x45d)][_0x4a9c2c(0x637)]=_0x51f8bf?0.5:0x0;});}}[_0x3b7da8(0x8fc)](_0x27091a,_0xa13b8a=!0x1){var _0x32e7ce=_0x3b7da8;this['_texture'][_0x32e7ce(0x8fc)](),this[_0x32e7ce(0x378)][_0x32e7ce(0x8fc)](),this[_0x32e7ce(0x7c5)][_0x32e7ce(0x8fc)](),this['_scene'][_0x32e7ce(0xa0a)][_0x32e7ce(0x9c2)](this[_0x32e7ce(0x7dc)]),this[_0x32e7ce(0x4b6)]['clear'](),this[_0x32e7ce(0x201)][_0x32e7ce(0x642)](),super['dispose'](_0x27091a,_0xa13b8a);}}_0x560045[_0x3b7da8(0x8b8)]=0x0,_0x560045['MODE_TOPBOTTOM']=0x1,_0x560045[_0x3b7da8(0xcde)]=0x2;},0x231f:(_0x34843e,_0x7a13fa,_0x465fc4)=>{var _0x55afcd=a6_0x5e3a36;_0x465fc4['d'](_0x7a13fa,{'$':()=>_0x4f0595});var _0x37d7b7=_0x465fc4(0x1272b),_0x2a765c=_0x465fc4(0x9927),_0x1e28b9=_0x465fc4(0x364b),_0x27dedb=_0x465fc4(0x9fd1),_0xa46702=_0x465fc4(0x77a5),_0x213e0d=_0x465fc4(0x2b0),_0x544c45=_0x465fc4(0x93b9),_0x2301d=_0x465fc4(0x16067),_0x401696=_0x465fc4(0xda41),_0x1afb99=_0x465fc4(0xf8c1);class _0x3d7e4a{constructor(){var _0x1f6c6d=a6_0x4d3f;this[_0x1f6c6d(0x548)]=!0x1,this[_0x1f6c6d(0x512)]=!0x1,this[_0x1f6c6d(0x95e)]=!0x1,this['_ignore']=!0x1;}get['singleClick'](){return this['_singleClick'];}get[_0x55afcd(0xc07)](){return this['_doubleClick'];}get[_0x55afcd(0x454)](){return this['_hasSwiped'];}get[_0x55afcd(0x66f)](){var _0x2d29cf=_0x55afcd;return this[_0x2d29cf(0xb4c)];}set[_0x55afcd(0xbea)](_0x2eb8b3){var _0x5830e0=_0x55afcd;this[_0x5830e0(0x548)]=_0x2eb8b3;}set['doubleClick'](_0x1ba4df){var _0x3db19a=_0x55afcd;this[_0x3db19a(0x512)]=_0x1ba4df;}set['hasSwiped'](_0x4bab65){var _0x30bde6=_0x55afcd;this[_0x30bde6(0x95e)]=_0x4bab65;}set['ignore'](_0x500fab){var _0x11b4fc=_0x55afcd;this[_0x11b4fc(0xb4c)]=_0x500fab;}}class _0x4f0595{constructor(_0xc84335){var _0x29cb83=_0x55afcd;this[_0x29cb83(0x92c)]=!0x1,this[_0x29cb83(0x3f7)]=!0x1,this[_0x29cb83(0x8ca)]=null,this[_0x29cb83(0xa1c)]=null,this[_0x29cb83(0x940)]=0x0,this[_0x29cb83(0x776)]=!0x1,this[_0x29cb83(0x241)]=!0x1,this['_swipeButtonPressed']=-0x1,this['_skipPointerTap']=!0x1,this[_0x29cb83(0xc31)]=!0x1,this['_pointerX']=0x0,this[_0x29cb83(0xbad)]=0x0,this[_0x29cb83(0x366)]=new _0x27dedb['FM'](0x0,0x0),this[_0x29cb83(0x81e)]=new _0x27dedb['FM'](0x0,0x0),this[_0x29cb83(0x7b7)]=0x0,this[_0x29cb83(0xc74)]=0x0,this[_0x29cb83(0x248)]={},this[_0x29cb83(0x617)]={},this[_0x29cb83(0x855)]=null,this[_0x29cb83(0xd7a)]=0x0,this[_0x29cb83(0x7cf)]=null,this[_0x29cb83(0xccd)]=_0xc84335||_0x1afb99['l']['LastCreatedScene'],this[_0x29cb83(0xccd)];}get['meshUnderPointer'](){var _0x50c2d1=_0x55afcd;return this[_0x50c2d1(0x855)]&&(this[_0x50c2d1(0x855)][_0x50c2d1(0x826)](),this[_0x50c2d1(0x855)]=null),this[_0x50c2d1(0xda8)];}[_0x55afcd(0xcf6)](_0x49b902){var _0x28bf8c=_0x55afcd;return this[_0x28bf8c(0x617)][_0x49b902]||null;}get[_0x55afcd(0x939)](){var _0x2dd792=_0x55afcd;return new _0x27dedb['FM'](this[_0x2dd792(0xc14)],this['_unTranslatedPointerY']);}get[_0x55afcd(0x409)](){var _0x2183a5=_0x55afcd;return this[_0x2183a5(0xaad)];}set[_0x55afcd(0x409)](_0x121325){var _0x23855c=_0x55afcd;this[_0x23855c(0xaad)]=_0x121325;}get[_0x55afcd(0xaef)](){var _0x4085db=_0x55afcd;return this[_0x4085db(0xbad)];}set[_0x55afcd(0xaef)](_0x12c040){var _0x35e2e7=_0x55afcd;this[_0x35e2e7(0xbad)]=_0x12c040;}['_updatePointerPosition'](_0x4b2013){var _0xd2cf30=_0x55afcd,_0x3245d2=this[_0xd2cf30(0xccd)]['getEngine']()[_0xd2cf30(0x626)]();_0x3245d2&&(this[_0xd2cf30(0xaad)]=_0x4b2013['clientX']-_0x3245d2['left'],this[_0xd2cf30(0xbad)]=_0x4b2013[_0xd2cf30(0x7a8)]-_0x3245d2['top'],this[_0xd2cf30(0xc14)]=this[_0xd2cf30(0xaad)],this[_0xd2cf30(0x493)]=this[_0xd2cf30(0xbad)]);}['_processPointerMove'](_0x2c1025,_0x3785a8){var _0x503741=_0x55afcd;const _0x5cd8a0=this[_0x503741(0xccd)],_0x1ea291=_0x5cd8a0[_0x503741(0x9d0)](),_0x3fbc7e=_0x1ea291[_0x503741(0x402)]();_0x3fbc7e&&(_0x3fbc7e[_0x503741(0xd5c)]=_0x1ea291[_0x503741(0x3c4)],_0x5cd8a0[_0x503741(0xa31)]||(_0x3fbc7e[_0x503741(0x58c)][_0x503741(0x708)]=_0x5cd8a0[_0x503741(0x8b4)])),this[_0x503741(0x78a)](_0x2c1025,_0x3785a8,_0x5cd8a0);for(const _0xbe49e3 of _0x5cd8a0[_0x503741(0xbe0)]){var _0x21441d=!(null==_0x2c1025||!_0x2c1025[_0x503741(0x1a2)]);_0x2c1025=_0xbe49e3[_0x503741(0x6a4)](this['_unTranslatedPointerX'],this['_unTranslatedPointerY'],_0x2c1025,_0x21441d,_0x3fbc7e);}var _0x1cd620=_0x3785a8[_0x503741(0xb75)]>=_0x2301d['Fz']['MouseWheelX']&&_0x3785a8[_0x503741(0xb75)]<=_0x2301d['Fz'][_0x503741(0x8e2)]?_0x37d7b7['kD'][_0x503741(0x3e4)]:_0x37d7b7['kD']['POINTERMOVE'];_0x5cd8a0['onPointerMove']&&(_0x2c1025=_0x2c1025||this[_0x503741(0x9ca)](_0x3785a8),_0x5cd8a0[_0x503741(0xd76)](_0x3785a8,_0x2c1025,_0x1cd620));let _0x977586;_0x2c1025?(_0x977586=new _0x37d7b7['R5'](_0x1cd620,_0x3785a8,_0x2c1025),this[_0x503741(0x718)](_0x2c1025,_0x3785a8)):(_0x977586=new _0x37d7b7['R5'](_0x1cd620,_0x3785a8,null,this),this[_0x503741(0x855)]=_0x977586),_0x5cd8a0['onPointerObservable'][_0x503741(0xd0a)]()&&_0x5cd8a0['onPointerObservable'][_0x503741(0x6b1)](_0x977586,_0x1cd620);}[_0x55afcd(0x718)](_0x5869b1,_0x487ab0){var _0x2d956a=_0x55afcd;const _0x23c9b6=this[_0x2d956a(0xccd)];_0x5869b1&&_0x23c9b6['_pickingAvailable']&&(_0x5869b1[_0x2d956a(0xc6f)]||(_0x5869b1['ray']=_0x23c9b6['createPickingRay'](_0x487ab0[_0x2d956a(0xacc)],_0x487ab0[_0x2d956a(0xb31)],_0x27dedb['y3'][_0x2d956a(0xbeb)](),_0x23c9b6[_0x2d956a(0xca7)])));}[_0x55afcd(0xc55)](_0x215370,_0x53f8ed){var _0x275955=_0x55afcd;return this[_0x275955(0xd7a)]++,this[_0x275955(0xccd)][_0x275955(0x94f)]['add'](_0x215370,_0x53f8ed);}[_0x55afcd(0xb12)](_0x3f4ab9){var _0x425b9d=_0x55afcd;return this['_cameraObserverCount']--,this['_scene'][_0x425b9d(0x94f)]['remove'](_0x3f4ab9);}['_checkForPicking'](){var _0xe3a7a3=_0x55afcd;return!!(this[_0xe3a7a3(0xccd)][_0xe3a7a3(0x94f)][_0xe3a7a3(0x6e8)][_0xe3a7a3(0x43c)]>this[_0xe3a7a3(0xd7a)]||this[_0xe3a7a3(0xccd)][_0xe3a7a3(0x272)]);}[_0x55afcd(0x6b7)](_0x1bebfe,_0x2a75fc,_0x4ea527){var _0x20467f=_0x55afcd;const _0x3027a8=this['_scene'],_0x27d5c1=new _0x37d7b7['FV'](_0x4ea527,_0x2a75fc,this[_0x20467f(0xc14)],this['_unTranslatedPointerY']);return _0x1bebfe&&(_0x27d5c1[_0x20467f(0x841)]=_0x1bebfe,_0x27d5c1[_0x20467f(0xc6f)]=_0x1bebfe[_0x20467f(0xc6f)],_0x1bebfe[_0x20467f(0x80d)]&&(_0x27d5c1[_0x20467f(0x532)]=_0x1bebfe)),_0x3027a8[_0x20467f(0xaa7)][_0x20467f(0x6b1)](_0x27d5c1,_0x4ea527),!!_0x27d5c1['skipOnPointerObservable'];}['_pickMove'](_0x36bf48){var _0x1c02f1=_0x55afcd;const _0x37a4e6=this[_0x1c02f1(0xccd)];var _0x231422=_0x37a4e6[_0x1c02f1(0x682)](this[_0x1c02f1(0xc14)],this[_0x1c02f1(0x493)],_0x37a4e6[_0x1c02f1(0x5fa)],!0x1,_0x37a4e6['cameraToUseForPointers'],_0x37a4e6[_0x1c02f1(0x289)]);return this[_0x1c02f1(0x78a)](_0x231422,_0x36bf48,_0x37a4e6),_0x231422;}[_0x55afcd(0x78a)](_0x586cf4,_0x150de4,_0x30416b){var _0x52b053=_0x55afcd;const _0xc6a15c=_0x30416b[_0x52b053(0x9d0)](),_0x1f4133=_0xc6a15c[_0x52b053(0x402)]();var _0x2d98e6;null!=_0x586cf4&&_0x586cf4[_0x52b053(0x1a2)]?(this['setPointerOverMesh'](_0x586cf4[_0x52b053(0x1a2)],_0x150de4['pointerId'],_0x586cf4,_0x150de4),!_0x30416b[_0x52b053(0xa31)]&&_0x1f4133&&this[_0x52b053(0xda8)]&&(_0x2d98e6=this['_pointerOverMesh']['_getActionManagerForTrigger']())&&_0x2d98e6[_0x52b053(0x22a)]&&(_0x1f4133[_0x52b053(0x58c)]['cursor']=_0x2d98e6['hoverCursor']||_0x30416b['hoverCursor'])):this[_0x52b053(0x961)](null,_0x150de4[_0x52b053(0x7ca)],_0x586cf4,_0x150de4);}[_0x55afcd(0x881)](_0x5f5d04,_0x2a3be7){var _0x35b646=_0x55afcd;const _0x4520a9=new PointerEvent(_0x35b646(0x3dc),_0x2a3be7);_0x4520a9[_0x35b646(0xb75)]=_0x2301d['Fz'][_0x35b646(0x2f0)],this[_0x35b646(0x6b7)](_0x5f5d04,_0x4520a9,_0x37d7b7['kD'][_0x35b646(0x41b)])||this['_processPointerMove'](_0x5f5d04,_0x4520a9);}['simulatePointerDown'](_0xe5e59,_0x1d09c5){var _0x5ab410=_0x55afcd;const _0x5065ba=new PointerEvent(_0x5ab410(0x5fb),_0x1d09c5);_0x5065ba[_0x5ab410(0xb75)]=_0x5065ba[_0x5ab410(0x7cb)]+0x2,this[_0x5ab410(0x6b7)](_0xe5e59,_0x5065ba,_0x37d7b7['kD']['POINTERDOWN'])||this[_0x5ab410(0xc1d)](_0xe5e59,_0x5065ba);}['_processPointerDown'](_0x219517,_0x22fd34){var _0x3c9b94=_0x55afcd;const _0x35c692=this[_0x3c9b94(0xccd)];if(null!=_0x219517&&_0x219517[_0x3c9b94(0x1a2)]){this['_pickedDownMesh']=_0x219517[_0x3c9b94(0x1a2)];const _0x45b922=_0x219517[_0x3c9b94(0x1a2)][_0x3c9b94(0xc5e)]();if(_0x45b922){if(_0x45b922[_0x3c9b94(0x407)])switch(_0x45b922[_0x3c9b94(0x7e1)](_0xa46702['g'][_0x3c9b94(0x30b)],_0x213e0d['V'][_0x3c9b94(0x5ba)](_0x219517[_0x3c9b94(0x1a2)],_0x22fd34)),_0x22fd34[_0x3c9b94(0x7cb)]){case 0x0:_0x45b922[_0x3c9b94(0x7e1)](_0xa46702['g'][_0x3c9b94(0x3a5)],_0x213e0d['V'][_0x3c9b94(0x5ba)](_0x219517[_0x3c9b94(0x1a2)],_0x22fd34));break;case 0x1:_0x45b922[_0x3c9b94(0x7e1)](_0xa46702['g']['ACTION_OnCenterPickTrigger'],_0x213e0d['V'][_0x3c9b94(0x5ba)](_0x219517[_0x3c9b94(0x1a2)],_0x22fd34));break;case 0x2:_0x45b922['processTrigger'](_0xa46702['g'][_0x3c9b94(0x2b2)],_0x213e0d['V'][_0x3c9b94(0x5ba)](_0x219517[_0x3c9b94(0x1a2)],_0x22fd34));}_0x45b922[_0x3c9b94(0x6a9)](_0xa46702['g']['ACTION_OnLongPressTrigger'])&&window['setTimeout'](()=>{var _0x32d087=_0x3c9b94,_0x1eb4e9=_0x35c692[_0x32d087(0x682)](this[_0x32d087(0xc14)],this[_0x32d087(0x493)],_0x161608=>_0x161608[_0x32d087(0x45a)]&&_0x161608[_0x32d087(0xc87)]&&_0x161608[_0x32d087(0x3e5)]()&&_0x161608[_0x32d087(0x505)]&&_0x161608[_0x32d087(0x505)][_0x32d087(0x6a9)](_0xa46702['g'][_0x32d087(0x9ef)])&&_0x161608===this['_pickedDownMesh'],!0x1,_0x35c692[_0x32d087(0xa5b)]);null!=_0x1eb4e9&&_0x1eb4e9[_0x32d087(0x1a2)]&&_0x45b922&&0x0!==this[_0x32d087(0x940)]&&Date[_0x32d087(0x3e0)]()-this['_startingPointerTime']>_0x4f0595['LongPressDelay']&&!this[_0x32d087(0xa0d)]()&&(this['_startingPointerTime']=0x0,_0x45b922['processTrigger'](_0xa46702['g'][_0x32d087(0x9ef)],_0x213e0d['V'][_0x32d087(0x5ba)](_0x1eb4e9[_0x32d087(0x1a2)],_0x22fd34)));},_0x4f0595[_0x3c9b94(0x400)]);}}else{for(const _0x1e2dfd of _0x35c692[_0x3c9b94(0x8ba)])_0x219517=_0x1e2dfd['action'](this[_0x3c9b94(0xc14)],this[_0x3c9b94(0x493)],_0x219517,_0x22fd34,!0x1);}let _0x46a337;var _0x334e6a=_0x37d7b7['kD'][_0x3c9b94(0xc88)];_0x219517?(_0x35c692[_0x3c9b94(0x27d)]&&_0x35c692[_0x3c9b94(0x27d)](_0x22fd34,_0x219517,_0x334e6a),_0x46a337=new _0x37d7b7['R5'](_0x334e6a,_0x22fd34,_0x219517),this[_0x3c9b94(0x718)](_0x219517,_0x22fd34)):_0x46a337=new _0x37d7b7['R5'](_0x334e6a,_0x22fd34,null,this),_0x35c692['onPointerObservable'][_0x3c9b94(0xd0a)]()&&_0x35c692[_0x3c9b94(0x94f)][_0x3c9b94(0x6b1)](_0x46a337,_0x334e6a);}['_isPointerSwiping'](){var _0x65e3be=_0x55afcd;return this[_0x65e3be(0x241)];}[_0x55afcd(0x61c)](_0x409652,_0x26250f,_0x25555b){var _0x4ead0d=_0x55afcd;const _0x29b7d7=new PointerEvent(_0x4ead0d(0xaa3),_0x26250f),_0x3c43db=(_0x29b7d7[_0x4ead0d(0xb75)]=_0x2301d['Fz'][_0x4ead0d(0x2f0)],new _0x3d7e4a());_0x25555b?_0x3c43db[_0x4ead0d(0xc07)]=!0x0:_0x3c43db[_0x4ead0d(0xbea)]=!0x0,this['_checkPrePointerObservable'](_0x409652,_0x29b7d7,_0x37d7b7['kD'][_0x4ead0d(0x560)])||this[_0x4ead0d(0x3cd)](_0x409652,_0x29b7d7,_0x3c43db);}[_0x55afcd(0x3cd)](_0x8e696c,_0x421627,_0x4b9d47){var _0x2d9364=_0x55afcd;const _0x2f9668=this[_0x2d9364(0xccd)];if(null!=_0x8e696c&&_0x8e696c[_0x2d9364(0x1a2)]){this[_0x2d9364(0x982)]=_0x8e696c['pickedMesh'],this['_pickedDownMesh']===this['_pickedUpMesh']&&(_0x2f9668['onPointerPick']&&_0x2f9668[_0x2d9364(0x272)](_0x421627,_0x8e696c),_0x4b9d47['singleClick']&&!_0x4b9d47[_0x2d9364(0x66f)]&&_0x2f9668[_0x2d9364(0x94f)][_0x2d9364(0x6e8)][_0x2d9364(0x43c)]>this['_cameraObserverCount']&&(_0x3250a1=_0x37d7b7['kD'][_0x2d9364(0xc1c)],_0x42bfad=new _0x37d7b7['R5'](_0x3250a1,_0x421627,_0x8e696c),this['_setRayOnPointerInfo'](_0x8e696c,_0x421627),_0x2f9668[_0x2d9364(0x94f)][_0x2d9364(0x6b1)](_0x42bfad,_0x3250a1)));const _0x3a10a7=_0x8e696c[_0x2d9364(0x1a2)]['_getActionManagerForTrigger']();if(_0x3a10a7&&!_0x4b9d47[_0x2d9364(0x66f)]){_0x3a10a7['processTrigger'](_0xa46702['g'][_0x2d9364(0x8bf)],_0x213e0d['V'][_0x2d9364(0x5ba)](_0x8e696c['pickedMesh'],_0x421627,_0x8e696c)),!_0x4b9d47['hasSwiped']&&_0x4b9d47[_0x2d9364(0xbea)]&&_0x3a10a7[_0x2d9364(0x7e1)](_0xa46702['g']['ACTION_OnPickTrigger'],_0x213e0d['V']['CreateNew'](_0x8e696c['pickedMesh'],_0x421627,_0x8e696c));const _0x1419d0=_0x8e696c[_0x2d9364(0x1a2)][_0x2d9364(0xc5e)](_0xa46702['g']['ACTION_OnDoublePickTrigger']);_0x4b9d47['doubleClick']&&_0x1419d0&&_0x1419d0[_0x2d9364(0x7e1)](_0xa46702['g'][_0x2d9364(0xa4f)],_0x213e0d['V'][_0x2d9364(0x5ba)](_0x8e696c[_0x2d9364(0x1a2)],_0x421627,_0x8e696c));}}else{if(!_0x4b9d47[_0x2d9364(0x66f)]){for(const _0xd56ecc of _0x2f9668['_pointerUpStage'])_0x8e696c=_0xd56ecc[_0x2d9364(0x6a4)](this[_0x2d9364(0xc14)],this['_unTranslatedPointerY'],_0x8e696c,_0x421627,_0x4b9d47['doubleClick']);}}if(this[_0x2d9364(0x2d5)]&&this[_0x2d9364(0x2d5)]!==this[_0x2d9364(0x982)]){const _0x28abcb=this['_pickedDownMesh'][_0x2d9364(0xc5e)](_0xa46702['g'][_0x2d9364(0xa0c)]);_0x28abcb&&_0x28abcb[_0x2d9364(0x7e1)](_0xa46702['g'][_0x2d9364(0xa0c)],_0x213e0d['V'][_0x2d9364(0x5ba)](this[_0x2d9364(0x2d5)],_0x421627));}if(!_0x4b9d47['ignore']){var _0x3250a1,_0x42bfad=new _0x37d7b7['R5'](_0x37d7b7['kD'][_0x2d9364(0x560)],_0x421627,_0x8e696c);if(this[_0x2d9364(0x718)](_0x8e696c,_0x421627),_0x2f9668[_0x2d9364(0x94f)][_0x2d9364(0x6b1)](_0x42bfad,_0x37d7b7['kD']['POINTERUP']),_0x2f9668[_0x2d9364(0x395)]&&_0x2f9668[_0x2d9364(0x395)](_0x421627,_0x8e696c,_0x37d7b7['kD'][_0x2d9364(0x560)]),!_0x4b9d47[_0x2d9364(0x454)]&&!this['_skipPointerTap']&&!this[_0x2d9364(0xc31)]){let _0x56c547=0x0;_0x4b9d47[_0x2d9364(0xbea)]?_0x56c547=_0x37d7b7['kD'][_0x2d9364(0x243)]:_0x4b9d47[_0x2d9364(0xc07)]&&(_0x56c547=_0x37d7b7['kD']['POINTERDOUBLETAP']),_0x56c547&&(_0x3250a1=new _0x37d7b7['R5'](_0x56c547,_0x421627,_0x8e696c),_0x2f9668[_0x2d9364(0x94f)][_0x2d9364(0xd0a)]()&&_0x2f9668[_0x2d9364(0x94f)][_0x2d9364(0x301)](_0x56c547)&&_0x2f9668['onPointerObservable']['notifyObservers'](_0x3250a1,_0x56c547));}}}['isPointerCaptured'](_0x561ecb=0x0){return this['_pointerCaptures'][_0x561ecb];}[_0x55afcd(0x8f7)](_0x5f069e=!0x0,_0x55bc52=!0x0,_0x5365cd=!0x0,_0x1cb10a=null){var _0x448f56=_0x55afcd;const _0x3beec0=this[_0x448f56(0xccd)],_0x402b93=_0x3beec0[_0x448f56(0x9d0)]();_0x1cb10a=_0x1cb10a||_0x402b93[_0x448f56(0x402)](),this['_alreadyAttached']&&this[_0x448f56(0x675)](),_0x1cb10a&&(this[_0x448f56(0xd60)]=_0x1cb10a),this[_0x448f56(0x7cf)]=new _0x401696['U'](_0x402b93),this[_0x448f56(0x703)]=_0x2e6377=>{var _0x32fedb=_0x448f56;if(!this['_meshPickProceed']){const _0x43ee53=_0x3beec0[_0x32fedb(0x547)]||0x0===_0x3beec0['_registeredActions']&&!this['_checkForPicking']()&&!_0x3beec0[_0x32fedb(0x395)]?null:_0x3beec0[_0x32fedb(0x682)](this[_0x32fedb(0xc14)],this[_0x32fedb(0x493)],_0x3beec0[_0x32fedb(0x7dd)],!0x1,_0x3beec0[_0x32fedb(0xa5b)]);(this[_0x32fedb(0x8ca)]=_0x43ee53)&&(_0x2e6377=_0x43ee53[_0x32fedb(0xc6b)]&&_0x43ee53[_0x32fedb(0x1a2)]?_0x43ee53['pickedMesh'][_0x32fedb(0xc5e)]():null),this[_0x32fedb(0x3f7)]=!0x0;}return _0x2e6377;},this[_0x448f56(0x9b6)]=(_0x44a67f,_0x2e29a1,_0x43909c)=>{var _0x53804b=_0x448f56;(Date['now']()-this[_0x53804b(0xc74)]>_0x4f0595['DoubleClickDelay']&&!this[_0x53804b(0x776)]||_0x44a67f!==this[_0x53804b(0x622)])&&(this[_0x53804b(0x776)]=!0x1,_0x2e29a1[_0x53804b(0xbea)]=!0x0,_0x2e29a1[_0x53804b(0x66f)]=!0x1,_0x43909c(_0x2e29a1,this['_currentPickResult']));},this[_0x448f56(0xcd1)]=(_0x123c64,_0x10b463,_0x4db352,_0x37379f)=>{var _0x3a220c=_0x448f56;const _0x1c181f=new _0x3d7e4a();let _0x1e42bf=this[_0x3a220c(0x8ca)]=null,_0x43b7b8=_0x123c64['hasSpecificMask'](_0x37d7b7['kD']['POINTERPICK'])||_0x10b463['hasSpecificMask'](_0x37d7b7['kD'][_0x3a220c(0xc1c)])||_0x123c64[_0x3a220c(0x301)](_0x37d7b7['kD'][_0x3a220c(0x243)])||_0x10b463[_0x3a220c(0x301)](_0x37d7b7['kD'][_0x3a220c(0x243)])||_0x123c64[_0x3a220c(0x301)](_0x37d7b7['kD'][_0x3a220c(0x502)])||_0x10b463['hasSpecificMask'](_0x37d7b7['kD'][_0x3a220c(0x502)]),_0x526fb1=!0x1;if(_0x43b7b8=!_0x43b7b8&&_0x2a765c['O']&&(_0x1e42bf=this[_0x3a220c(0x703)](_0x1e42bf,_0x1c181f))?_0x1e42bf[_0x3a220c(0x407)]:_0x43b7b8){_0x4db352=_0x4db352['button'];if(_0x1c181f[_0x3a220c(0x454)]=this[_0x3a220c(0xa0d)](),!_0x1c181f['hasSwiped']){let _0x2d0c9e=!_0x4f0595[_0x3a220c(0xa99)],_0x171953=(_0x2d0c9e||(_0x2d0c9e=!_0x123c64[_0x3a220c(0x301)](_0x37d7b7['kD'][_0x3a220c(0x502)])&&!_0x10b463['hasSpecificMask'](_0x37d7b7['kD']['POINTERDOUBLETAP']))&&!_0x2a765c['O']['HasSpecificTrigger'](_0xa46702['g'][_0x3a220c(0xa4f)])&&(_0x1e42bf=this[_0x3a220c(0x703)](_0x1e42bf,_0x1c181f))&&(_0x2d0c9e=!_0x1e42bf['hasSpecificTrigger'](_0xa46702['g'][_0x3a220c(0xa4f)])),_0x2d0c9e?(Date[_0x3a220c(0x3e0)]()-this['_previousStartingPointerTime']>_0x4f0595[_0x3a220c(0x633)]||_0x4db352!==this[_0x3a220c(0x622)])&&(_0x1c181f[_0x3a220c(0xbea)]=!0x0,_0x37379f(_0x1c181f,this[_0x3a220c(0x8ca)]),_0x526fb1=!0x0):(this[_0x3a220c(0xd54)]=this[_0x3a220c(0x3f2)],this[_0x3a220c(0x3f2)]=window[_0x3a220c(0x7bb)](this[_0x3a220c(0x9b6)][_0x3a220c(0x977)](this,_0x4db352,_0x1c181f,_0x37379f),_0x4f0595['DoubleClickDelay'])),_0x123c64[_0x3a220c(0x301)](_0x37d7b7['kD'][_0x3a220c(0x502)])||_0x10b463[_0x3a220c(0x301)](_0x37d7b7['kD'][_0x3a220c(0x502)]));(_0x171953=!_0x171953&&_0x2a765c['O'][_0x3a220c(0xaf1)](_0xa46702['g'][_0x3a220c(0xa4f)])&&(_0x1e42bf=this['_initActionManager'](_0x1e42bf,_0x1c181f))?_0x1e42bf[_0x3a220c(0x6a9)](_0xa46702['g']['ACTION_OnDoublePickTrigger']):_0x171953)&&(_0x4db352===this[_0x3a220c(0x622)]&&Date['now']()-this['_previousStartingPointerTime']<_0x4f0595['DoubleClickDelay']&&!this[_0x3a220c(0x776)]?(_0x1c181f[_0x3a220c(0x454)]||this[_0x3a220c(0xa0d)]()?(this['_doubleClickOccured']=!0x1,this['_previousStartingPointerTime']=this[_0x3a220c(0x7b7)],this[_0x3a220c(0x81e)]['x']=this[_0x3a220c(0x366)]['x'],this[_0x3a220c(0x81e)]['y']=this[_0x3a220c(0x366)]['y'],this[_0x3a220c(0x622)]=_0x4db352,_0x4f0595[_0x3a220c(0xa99)]?(this[_0x3a220c(0xd54)]&&clearTimeout(this[_0x3a220c(0xd54)]),this[_0x3a220c(0xd54)]=this[_0x3a220c(0x3f2)],_0x37379f(_0x1c181f,this[_0x3a220c(0xa1c)])):_0x37379f(_0x1c181f,this[_0x3a220c(0x8ca)])):(this[_0x3a220c(0xc74)]=0x0,this['_doubleClickOccured']=!0x0,_0x1c181f[_0x3a220c(0xc07)]=!0x0,_0x1c181f['ignore']=!0x1,_0x4f0595[_0x3a220c(0xa99)]&&this['_previousDelayedSimpleClickTimeout']&&clearTimeout(this['_previousDelayedSimpleClickTimeout']),this[_0x3a220c(0xd54)]=this[_0x3a220c(0x3f2)],_0x37379f(_0x1c181f,this[_0x3a220c(0x8ca)])),_0x526fb1=!0x0):(this[_0x3a220c(0x776)]=!0x1,this[_0x3a220c(0xc74)]=this['_startingPointerTime'],this[_0x3a220c(0x81e)]['x']=this[_0x3a220c(0x366)]['x'],this[_0x3a220c(0x81e)]['y']=this[_0x3a220c(0x366)]['y'],this[_0x3a220c(0x622)]=_0x4db352));}}_0x526fb1||_0x37379f(_0x1c181f,this[_0x3a220c(0x8ca)]);},this[_0x448f56(0x256)]=_0x4c93fb=>{var _0x77feb0=_0x448f56,_0x1ebe99;void 0x0===_0x4c93fb['pointerId']&&(_0x4c93fb['pointerId']=0x0),this[_0x77feb0(0x600)](_0x4c93fb),this[_0x77feb0(0x241)]||-0x1===this[_0x77feb0(0xd52)]||(this[_0x77feb0(0x241)]=Math['abs'](this[_0x77feb0(0x366)]['x']-this[_0x77feb0(0xaad)])>_0x4f0595[_0x77feb0(0xccc)]||Math['abs'](this['_startingPointerPosition']['y']-this[_0x77feb0(0xbad)])>_0x4f0595[_0x77feb0(0xccc)]),this[_0x77feb0(0x6b7)](null,_0x4c93fb,_0x4c93fb[_0x77feb0(0xb75)]>=_0x2301d['Fz']['MouseWheelX']&&_0x4c93fb['inputIndex']<=_0x2301d['Fz'][_0x77feb0(0x8e2)]?_0x37d7b7['kD'][_0x77feb0(0x3e4)]:_0x37d7b7['kD'][_0x77feb0(0x41b)])||(_0x3beec0[_0x77feb0(0xa5b)]||_0x3beec0['activeCamera'])&&(_0x3beec0['skipPointerMovePicking']?this['_processPointerMove'](new _0x1e28b9['p'](),_0x4c93fb):(_0x3beec0[_0x77feb0(0x5fa)]||(_0x3beec0['pointerMovePredicate']=_0x7f79d=>_0x7f79d[_0x77feb0(0x45a)]&&_0x7f79d['isVisible']&&_0x7f79d[_0x77feb0(0x3e5)]()&&_0x7f79d[_0x77feb0(0x2fc)]()&&(_0x7f79d[_0x77feb0(0x9b8)]||_0x3beec0[_0x77feb0(0xbfb)]||null!==_0x7f79d[_0x77feb0(0xc5e)]())&&(!_0x3beec0[_0x77feb0(0xa5b)]||0x0!=(_0x3beec0[_0x77feb0(0xa5b)]['layerMask']&_0x7f79d[_0x77feb0(0xce2)]))),_0x1ebe99=0x0<_0x3beec0[_0x77feb0(0x882)]?this[_0x77feb0(0x9ca)](_0x4c93fb):null,this[_0x77feb0(0x64f)](_0x1ebe99,_0x4c93fb)));},this['_onPointerDown']=_0x5153c6=>{var _0x1fefc9=_0x448f56,_0x56f702;this[_0x1fefc9(0x940)]++,this[_0x1fefc9(0x2d5)]=null,this[_0x1fefc9(0x3f7)]=!0x1,void 0x0===_0x5153c6[_0x1fefc9(0x7ca)]&&(_0x5153c6[_0x1fefc9(0x7ca)]=0x0),this[_0x1fefc9(0x600)](_0x5153c6),-0x1===this[_0x1fefc9(0xd52)]&&(this['_swipeButtonPressed']=_0x5153c6['button']),_0x3beec0[_0x1fefc9(0x926)]&&_0x1cb10a&&(_0x5153c6[_0x1fefc9(0x6de)](),_0x1cb10a[_0x1fefc9(0x5bb)]()),this[_0x1fefc9(0x366)]['x']=this['_pointerX'],this['_startingPointerPosition']['y']=this['_pointerY'],this[_0x1fefc9(0x7b7)]=Date[_0x1fefc9(0x3e0)](),this[_0x1fefc9(0x6b7)](null,_0x5153c6,_0x37d7b7['kD'][_0x1fefc9(0xc88)])||!_0x3beec0[_0x1fefc9(0xa5b)]&&!_0x3beec0[_0x1fefc9(0xca7)]||(this[_0x1fefc9(0x248)][_0x5153c6[_0x1fefc9(0x7ca)]]=!0x0,_0x3beec0[_0x1fefc9(0xa9d)]||(_0x3beec0[_0x1fefc9(0xa9d)]=_0x2d3683=>_0x2d3683[_0x1fefc9(0x45a)]&&_0x2d3683[_0x1fefc9(0xc87)]&&_0x2d3683['isReady']()&&_0x2d3683['isEnabled']()&&(!_0x3beec0[_0x1fefc9(0xa5b)]||0x0!=(_0x3beec0[_0x1fefc9(0xa5b)][_0x1fefc9(0xce2)]&_0x2d3683[_0x1fefc9(0xce2)]))),this[_0x1fefc9(0x2d5)]=null,_0x56f702=_0x3beec0[_0x1fefc9(0xb02)]||0x0===_0x3beec0[_0x1fefc9(0x882)]&&!this[_0x1fefc9(0x4e1)]()&&!_0x3beec0['onPointerDown']?new _0x1e28b9['p']():_0x3beec0[_0x1fefc9(0x682)](this[_0x1fefc9(0xc14)],this[_0x1fefc9(0x493)],_0x3beec0[_0x1fefc9(0xa9d)],!0x1,_0x3beec0[_0x1fefc9(0xa5b)]),this[_0x1fefc9(0xc1d)](_0x56f702,_0x5153c6));},this[_0x448f56(0x3ed)]=_0x1c9783=>{var _0x738977=_0x448f56;0x0!==this['_totalPointersPressed']&&(this[_0x738977(0x940)]--,this[_0x738977(0x982)]=null,this[_0x738977(0x3f7)]=!0x1,void 0x0===_0x1c9783[_0x738977(0x7ca)]&&(_0x1c9783['pointerId']=0x0),this[_0x738977(0x600)](_0x1c9783),_0x3beec0[_0x738977(0xa67)]&&_0x1cb10a&&(_0x1c9783[_0x738977(0x6de)](),_0x1cb10a[_0x738977(0x5bb)]()),this['_initClickEvent'](_0x3beec0['onPrePointerObservable'],_0x3beec0['onPointerObservable'],_0x1c9783,(_0x5d6add,_0x4eddd6)=>{var _0x202d59=_0x738977;if(_0x3beec0[_0x202d59(0xaa7)]['hasObservers']()&&(this[_0x202d59(0x51c)]=!0x1,!_0x5d6add['ignore'])){if(this['_checkPrePointerObservable'](null,_0x1c9783,_0x37d7b7['kD'][_0x202d59(0x560)]))return void(this[_0x202d59(0xd52)]===_0x1c9783[_0x202d59(0x7cb)]&&(this['_isSwiping']=!0x1,this[_0x202d59(0xd52)]=-0x1));_0x5d6add[_0x202d59(0x454)]||(_0x5d6add[_0x202d59(0xbea)]&&_0x3beec0[_0x202d59(0xaa7)][_0x202d59(0x301)](_0x37d7b7['kD']['POINTERTAP'])&&this[_0x202d59(0x6b7)](null,_0x1c9783,_0x37d7b7['kD'][_0x202d59(0x243)])&&(this[_0x202d59(0x51c)]=!0x0),_0x5d6add['doubleClick']&&_0x3beec0[_0x202d59(0xaa7)]['hasSpecificMask'](_0x37d7b7['kD'][_0x202d59(0x502)])&&this[_0x202d59(0x6b7)](null,_0x1c9783,_0x37d7b7['kD'][_0x202d59(0x502)])&&(this[_0x202d59(0x51c)]=!0x0));}this['_pointerCaptures'][_0x1c9783['pointerId']]?(0x0===_0x1c9783[_0x202d59(0x4f1)]&&(this[_0x202d59(0x248)][_0x1c9783[_0x202d59(0x7ca)]]=!0x1),(_0x3beec0['cameraToUseForPointers']||_0x3beec0[_0x202d59(0xca7)])&&(_0x3beec0[_0x202d59(0x7dd)]||(_0x3beec0[_0x202d59(0x7dd)]=_0x42350f=>_0x42350f[_0x202d59(0x45a)]&&_0x42350f[_0x202d59(0xc87)]&&_0x42350f[_0x202d59(0x3e5)]()&&_0x42350f[_0x202d59(0x2fc)]()&&(!_0x3beec0['cameraToUseForPointers']||0x0!=(_0x3beec0[_0x202d59(0xa5b)][_0x202d59(0xce2)]&_0x42350f[_0x202d59(0xce2)]))),!this['_meshPickProceed']&&(_0x2a765c['O']&&_0x2a765c['O'][_0x202d59(0xd50)]||this[_0x202d59(0x4e1)]()||_0x3beec0['onPointerUp'])&&this[_0x202d59(0x703)](null,_0x5d6add),_0x4eddd6=_0x4eddd6||this[_0x202d59(0x8ca)],this[_0x202d59(0x3cd)](_0x4eddd6,_0x1c9783,_0x5d6add),this['_previousPickResult']=this['_currentPickResult'],this[_0x202d59(0xd52)]===_0x1c9783[_0x202d59(0x7cb)]&&(this[_0x202d59(0x241)]=!0x1,this[_0x202d59(0xd52)]=-0x1))):this[_0x202d59(0xd52)]===_0x1c9783[_0x202d59(0x7cb)]&&(this[_0x202d59(0x241)]=!0x1,this[_0x202d59(0xd52)]=-0x1);}));},this[_0x448f56(0x7f2)]=_0x568c62=>{var _0x3c294f=_0x448f56,_0x1a754b=_0x544c45['OG'][_0x3c294f(0x9c3)];if(_0x3beec0[_0x3c294f(0x87e)][_0x3c294f(0xd0a)]()){var _0x13b8b4=new _0x544c45['WZ'](_0x1a754b,_0x568c62);if(_0x3beec0['onPreKeyboardObservable'][_0x3c294f(0x6b1)](_0x13b8b4,_0x1a754b),_0x13b8b4[_0x3c294f(0x63d)])return;}_0x3beec0[_0x3c294f(0x7ec)][_0x3c294f(0xd0a)]()&&(_0x13b8b4=new _0x544c45['NG'](_0x1a754b,_0x568c62),_0x3beec0[_0x3c294f(0x7ec)][_0x3c294f(0x6b1)](_0x13b8b4,_0x1a754b)),_0x3beec0['actionManager']&&_0x3beec0[_0x3c294f(0x505)][_0x3c294f(0x7e1)](_0xa46702['g'][_0x3c294f(0xc9b)],_0x213e0d['V']['CreateNewFromScene'](_0x3beec0,_0x568c62));},this[_0x448f56(0x710)]=_0x23306d=>{var _0x5705c4=_0x448f56,_0x4717fa=_0x544c45['OG'][_0x5705c4(0x6d2)];if(_0x3beec0[_0x5705c4(0x87e)]['hasObservers']()){var _0x582ba=new _0x544c45['WZ'](_0x4717fa,_0x23306d);if(_0x3beec0[_0x5705c4(0x87e)][_0x5705c4(0x6b1)](_0x582ba,_0x4717fa),_0x582ba[_0x5705c4(0x63d)])return;}_0x3beec0[_0x5705c4(0x7ec)][_0x5705c4(0xd0a)]()&&(_0x582ba=new _0x544c45['NG'](_0x4717fa,_0x23306d),_0x3beec0[_0x5705c4(0x7ec)][_0x5705c4(0x6b1)](_0x582ba,_0x4717fa)),_0x3beec0['actionManager']&&_0x3beec0[_0x5705c4(0x505)][_0x5705c4(0x7e1)](_0xa46702['g'][_0x5705c4(0x7b2)],_0x213e0d['V'][_0x5705c4(0x2ef)](_0x3beec0,_0x23306d));},this[_0x448f56(0x7cf)][_0x448f56(0x5bd)]['add'](_0x583a36=>{var _0xbb74ff=_0x448f56;_0x583a36[_0xbb74ff(0x2f7)]===_0x2301d['Yi'][_0xbb74ff(0xaed)]?_0x583a36[_0xbb74ff(0x3a2)]['add'](_0x5dd933=>{var _0x6bf5e0=_0xbb74ff;_0x5dd933[_0x6bf5e0(0xb75)]===_0x2301d['Fz']['LeftClick']||_0x5dd933['inputIndex']===_0x2301d['Fz'][_0x6bf5e0(0x6f1)]||_0x5dd933['inputIndex']===_0x2301d['Fz'][_0x6bf5e0(0x912)]||_0x5dd933[_0x6bf5e0(0xb75)]===_0x2301d['Fz'][_0x6bf5e0(0x203)]||_0x5dd933[_0x6bf5e0(0xb75)]===_0x2301d['Fz'][_0x6bf5e0(0x374)]?_0x55bc52&&0x1===_0x583a36[_0x6bf5e0(0xb1a)](_0x5dd933[_0x6bf5e0(0xb75)])?this['_onPointerDown'](_0x5dd933):_0x5f069e&&0x0===_0x583a36[_0x6bf5e0(0xb1a)](_0x5dd933['inputIndex'])&&this[_0x6bf5e0(0x3ed)](_0x5dd933):!_0x5365cd||_0x5dd933['inputIndex']!==_0x2301d['Fz'][_0x6bf5e0(0x2f0)]&&_0x5dd933[_0x6bf5e0(0xb75)]!==_0x2301d['Fz'][_0x6bf5e0(0x705)]&&_0x5dd933[_0x6bf5e0(0xb75)]!==_0x2301d['Fz'][_0x6bf5e0(0xb0a)]&&_0x5dd933[_0x6bf5e0(0xb75)]!==_0x2301d['Fz']['MouseWheelZ']||this[_0x6bf5e0(0x256)](_0x5dd933);}):_0x583a36[_0xbb74ff(0x2f7)]===_0x2301d['Yi'][_0xbb74ff(0x60d)]?_0x583a36['onInputChangedObservable'][_0xbb74ff(0x4ba)](_0x4db24b=>{var _0x4382ea=_0xbb74ff;_0x4db24b[_0x4382ea(0xb75)]===_0x2301d['Fz'][_0x4382ea(0x98f)]&&(_0x55bc52&&0x1===_0x583a36[_0x4382ea(0xb1a)](_0x4db24b[_0x4382ea(0xb75)])?(this['_onPointerDown'](_0x4db24b),0x1<this[_0x4382ea(0x940)]&&(this[_0x4382ea(0xc31)]=!0x0)):_0x5f069e&&0x0===_0x583a36[_0x4382ea(0xb1a)](_0x4db24b[_0x4382ea(0xb75)])&&(this[_0x4382ea(0x3ed)](_0x4db24b),0x0===this['_totalPointersPressed']&&(this[_0x4382ea(0xc31)]=!0x1))),_0x5365cd&&_0x4db24b[_0x4382ea(0xb75)]===_0x2301d['Fz'][_0x4382ea(0x2f0)]&&this['_onPointerMove'](_0x4db24b);}):_0x583a36[_0xbb74ff(0x2f7)]===_0x2301d['Yi'][_0xbb74ff(0x695)]&&_0x583a36[_0xbb74ff(0x3a2)][_0xbb74ff(0x4ba)](_0x471660=>{var _0x42a8da=_0xbb74ff;'keydown'===_0x471660['type']?this['_onKeyDown'](_0x471660):_0x42a8da(0xa8c)===_0x471660[_0x42a8da(0xa18)]&&this['_onKeyUp'](_0x471660);});}),this[_0x448f56(0x92c)]=!0x0;}[_0x55afcd(0x675)](){var _0x4649a2=_0x55afcd;this[_0x4649a2(0x92c)]&&(this[_0x4649a2(0x7cf)][_0x4649a2(0x8fc)](),this[_0x4649a2(0x7cf)]=null,this[_0x4649a2(0xd60)]&&!this[_0x4649a2(0xccd)][_0x4649a2(0xa31)]&&(this[_0x4649a2(0xd60)][_0x4649a2(0x58c)][_0x4649a2(0x708)]=this[_0x4649a2(0xccd)]['defaultCursor']),this[_0x4649a2(0x92c)]=!0x1,this[_0x4649a2(0xd60)]=null);}[_0x55afcd(0x961)](_0x509b58,_0x120afa=0x0,_0x71ac6c,_0x5d653c){var _0x187f59=_0x55afcd;if(this[_0x187f59(0x617)][_0x120afa]!==_0x509b58||_0x509b58&&_0x509b58[_0x187f59(0x7cc)][_0x187f59(0x97f)]){const _0x206765=this[_0x187f59(0x617)][_0x120afa];let _0x3ace31;_0x206765&&(_0x3ace31=_0x206765[_0x187f59(0xc5e)](_0xa46702['g'][_0x187f59(0x56e)]))&&_0x3ace31['processTrigger'](_0xa46702['g'][_0x187f59(0x56e)],_0x213e0d['V'][_0x187f59(0x5ba)](_0x206765,_0x5d653c,{'pointerId':_0x120afa})),_0x509b58?(this[_0x187f59(0x617)][_0x120afa]=_0x509b58,this['_pointerOverMesh']=_0x509b58,(_0x3ace31=_0x509b58[_0x187f59(0xc5e)](_0xa46702['g']['ACTION_OnPointerOverTrigger']))&&_0x3ace31['processTrigger'](_0xa46702['g'][_0x187f59(0xcbb)],_0x213e0d['V']['CreateNew'](_0x509b58,_0x5d653c,{'pointerId':_0x120afa,'pickResult':_0x71ac6c}))):(delete this[_0x187f59(0x617)][_0x120afa],this[_0x187f59(0xda8)]=null);}}[_0x55afcd(0xd82)](){var _0x88a700=_0x55afcd;return this[_0x88a700(0xd23)];}[_0x55afcd(0xc22)](_0x296d6a){var _0x4dd31a=_0x55afcd;this[_0x4dd31a(0xda8)]===_0x296d6a&&(this[_0x4dd31a(0xda8)]=null),this['_pickedDownMesh']===_0x296d6a&&(this[_0x4dd31a(0x2d5)]=null),this[_0x4dd31a(0x982)]===_0x296d6a&&(this[_0x4dd31a(0x982)]=null);for(const _0x307716 in this[_0x4dd31a(0x617)])this[_0x4dd31a(0x617)][_0x307716]===_0x296d6a&&delete this[_0x4dd31a(0x617)][_0x307716];}}_0x4f0595[_0x55afcd(0xccc)]=0xa,_0x4f0595[_0x55afcd(0x400)]=0x1f4,_0x4f0595[_0x55afcd(0x633)]=0x12c,_0x4f0595['ExclusiveDoubleClickMode']=!0x1;},0x11fc5:(_0xba9be4,_0x39de4e,_0xc2d38e)=>{_0xc2d38e['d'](_0x39de4e,{'W':()=>_0x2c699e});class _0x2c699e{constructor(){var _0x5963c1=a6_0x4d3f;this[_0x5963c1(0xc2a)]=!0x1;}}},0x72fb:(_0x5591ff,_0x569ef8,_0x4abe8b)=>{var _0x349233=a6_0x5e3a36;_0x4abe8b['d'](_0x569ef8,{'m':()=>_0x469399});class _0x469399{static[_0x349233(0xc06)](_0x23bcd6,_0x370293){var _0x173424=_0x349233;return _0x23bcd6[_0x173424(0x34b)]!==_0x370293[_0x173424(0x34b)]?(_0x370293[_0x173424(0x34b)]?0x1:0x0)-(_0x23bcd6[_0x173424(0x34b)]?0x1:0x0):_0x370293[_0x173424(0xb6e)]-_0x23bcd6[_0x173424(0xb6e)];}}_0x469399[_0x349233(0xba4)]=0x0,_0x469399[_0x349233(0x578)]=0x1,_0x469399[_0x349233(0x96a)]=0x2,_0x469399['FALLOFF_STANDARD']=0x3,_0x469399[_0x349233(0xbaa)]=0x0,_0x469399[_0x349233(0x62a)]=0x1,_0x469399[_0x349233(0xa8d)]=0x2,_0x469399[_0x349233(0x335)]=0x0,_0x469399['INTENSITYMODE_LUMINOUSPOWER']=0x1,_0x469399[_0x349233(0x24f)]=0x2,_0x469399[_0x349233(0xb27)]=0x3,_0x469399['INTENSITYMODE_LUMINANCE']=0x4,_0x469399[_0x349233(0x31c)]=0x0,_0x469399['LIGHTTYPEID_DIRECTIONALLIGHT']=0x1,_0x469399[_0x349233(0x264)]=0x2,_0x469399[_0x349233(0x9a8)]=0x3;},0xdd81:(_0x35ba79,_0x3f90fb,_0x4cc19b)=>{var _0x5bddd3=a6_0x5e3a36,_0x1a4469=_0x4cc19b(0x17a92);_0x4cc19b(0x175b0),_0x4cc19b(0xe6c7),_0x4cc19b(0x15fb5),_0x4cc19b(0x1f57),_0x4cc19b(0x1f85),_0x4cc19b(0xff1b),_0x4cc19b(0x12a16),_0x4cc19b(0x3328),_0x4cc19b(0x6318),_0x4cc19b(0xb0bc),_0x4cc19b(0x10ef),_0x4cc19b(0x17ef8),_0x1a4469['v'][_0x5bddd3(0x333)][_0x5bddd3(0x8f3)]='precision\x20highp\x20float;\x0auniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0a#include<fogFragmentDeclaration>\x0avec3\x20computeCustomDiffuseLighting(lightingInfo\x20info,vec3\x20diffuseBase,float\x20shadow)\x0a{\x0adiffuseBase=info.diffuse*shadow;\x0a#ifdef\x20CELLBASIC\x0afloat\x20level=1.0;\x0aif\x20(info.ndl<0.5)\x0alevel=0.5;\x0adiffuseBase.rgb*vec3(level,level,level);\x0a#else\x0afloat\x20ToonThresholds[4];\x0aToonThresholds[0]=0.95;\x0aToonThresholds[1]=0.5;\x0aToonThresholds[2]=0.2;\x0aToonThresholds[3]=0.03;\x0afloat\x20ToonBrightnessLevels[5];\x0aToonBrightnessLevels[0]=1.0;\x0aToonBrightnessLevels[1]=0.8;\x0aToonBrightnessLevels[2]=0.6;\x0aToonBrightnessLevels[3]=0.35;\x0aToonBrightnessLevels[4]=0.2;\x0aif\x20(info.ndl>ToonThresholds[0])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[0];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[1])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[1];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[2])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[2];\x0a}\x0aelse\x20if\x20(info.ndl>ToonThresholds[3])\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[3];\x0a}\x0aelse\x0a{\x0adiffuseBase.rgb*=ToonBrightnessLevels[4];\x0a}\x0a#endif\x0areturn\x20max(diffuseBase,vec3(0.2));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);\x0avec4\x20baseColor=vec4(1.,1.,1.,1.);\x0avec3\x20diffuseColor=vDiffuseColor.rgb;\x0afloat\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0alightingInfo\x20info;\x0avec3\x20diffuseBase=vec3(0.,0.,0.);\x0afloat\x20shadow=1.;\x0afloat\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x20\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase*diffuseColor,0.0,1.0)*baseColor.rgb;\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0x6953:(_0x1ae228,_0x1f676e,_0x39cc7c)=>{var _0x4895b2=a6_0x5e3a36,_0x357d9f=_0x39cc7c(0x17a92);_0x39cc7c(0x13f9a),_0x39cc7c(0x12929),_0x39cc7c(0x12bc6),_0x39cc7c(0x13216),_0x39cc7c(0x6a99),_0x39cc7c(0xe6c7),_0x39cc7c(0x15fb5),_0x39cc7c(0x733d),_0x39cc7c(0xb434),_0x39cc7c(0xdcea),_0x39cc7c(0x6efd),_0x39cc7c(0x9871),_0x39cc7c(0x6e75),_0x39cc7c(0xedb9),_0x357d9f['v'][_0x4895b2(0x333)]['cellVertexShader']=_0x4895b2(0xa03);},0x2c85:(_0x4dc893,_0x4b70df,_0x15a6bb)=>{var _0x3198bf=a6_0x5e3a36,_0x1afa0f=_0x15a6bb(0x17a92);_0x15a6bb(0xff1b),_0x15a6bb(0x12a16),_0x15a6bb(0x3328),_0x15a6bb(0x6318),_0x15a6bb(0x10ef),_0x15a6bb(0x17ef8),_0x1afa0f['v'][_0x3198bf(0x333)][_0x3198bf(0x9af)]=_0x3198bf(0x67b);},0x16f95:(_0x2a227f,_0x487d04,_0x570d93)=>{var _0x2bc879=a6_0x5e3a36,_0x2101b2=_0x570d93(0x17a92);_0x570d93(0x13f9a),_0x570d93(0x12929),_0x570d93(0x12bc6),_0x570d93(0x13216),_0x570d93(0x6a99),_0x570d93(0x733d),_0x570d93(0xb434),_0x570d93(0xdcea),_0x570d93(0x6efd),_0x570d93(0x9871),_0x570d93(0xedb9),_0x2101b2['v'][_0x2bc879(0x333)][_0x2bc879(0x990)]=_0x2bc879(0xd90);},0x10367:(_0x32da9c,_0x43dbc0,_0x113a5a)=>{var _0x324694=a6_0x5e3a36,_0x22e984=_0x113a5a(0x17a92);_0x113a5a(0x175b0),_0x113a5a(0xe6c7),_0x113a5a(0x15fb5),_0x113a5a(0x1f57),_0x113a5a(0x1f85),_0x113a5a(0x12a16),_0x113a5a(0xff1b),_0x113a5a(0x3328),_0x113a5a(0x6318),_0x113a5a(0xb0bc),_0x113a5a(0x10ef),_0x113a5a(0x17ef8),_0x22e984['v'][_0x324694(0x333)][_0x324694(0x94b)]='precision\x20highp\x20float;uniform\x20vec4\x20vEyePosition;uniform\x20vec4\x20vDiffuseColor;uniform\x20vec4\x20furColor;uniform\x20float\x20furLength;varying\x20vec3\x20vPositionW;varying\x20float\x20vfur_length;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<helperFunctions>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20sampler2D\x20diffuseSampler;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0auniform\x20float\x20furOffset;uniform\x20float\x20furOcclusion;uniform\x20sampler2D\x20furTexture;varying\x20vec2\x20vFurUV;\x0a#endif\x0a#include<lightsFragmentFunctions>\x0a#include<shadowsFragmentFunctions>\x0a#include<fogFragmentDeclaration>\x0a#include<clipPlaneFragmentDeclaration>\x0afloat\x20Rand(vec3\x20rv)\x20{float\x20x=dot(rv,vec3(12.9898,78.233,24.65487));return\x20fract(sin(x)*43758.5453);}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0a#include<clipPlaneFragment>\x0avec3\x20viewDirectionW=normalize(vEyePosition.xyz-vPositionW);vec4\x20baseColor=furColor;vec3\x20diffuseColor=vDiffuseColor.rgb;float\x20alpha=vDiffuseColor.a;\x0a#ifdef\x20DIFFUSE\x0abaseColor*=texture2D(diffuseSampler,vDiffuseUV);\x0a#ifdef\x20ALPHATEST\x0aif\x20(baseColor.a<0.4)\x0adiscard;\x0a#endif\x0a#include<depthPrePass>\x0abaseColor.rgb*=vDiffuseInfos.y;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0abaseColor.rgb*=vColor.rgb;\x0a#endif\x0a#ifdef\x20NORMAL\x0avec3\x20normalW=normalize(vNormalW);\x0a#else\x0avec3\x20normalW=vec3(1.0,1.0,1.0);\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0avec4\x20furTextureColor=texture2D(furTexture,vec2(vFurUV.x,vFurUV.y));if\x20(furTextureColor.a<=0.0\x20||\x20furTextureColor.g<furOffset)\x20{discard;}\x0afloat\x20occlusion=mix(0.0,furTextureColor.b*1.2,furOffset);baseColor=vec4(baseColor.xyz*max(occlusion,furOcclusion),1.1-furOffset);\x0a#endif\x0avec3\x20diffuseBase=vec3(0.,0.,0.);lightingInfo\x20info;float\x20shadow=1.;float\x20glossiness=0.;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specularBase=vec3(0.,0.,0.);\x0a#endif\x0a#include<lightFragment>[0..maxSimultaneousLights]\x0a#if\x20defined(VERTEXALPHA)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0aalpha*=vColor.a;\x0a#endif\x0avec3\x20finalDiffuse=clamp(diffuseBase.rgb*baseColor.rgb,0.0,1.0);\x0a#ifdef\x20HIGHLEVEL\x0avec4\x20color=vec4(finalDiffuse,alpha);\x0a#else\x0afloat\x20r=vfur_length/furLength*0.5;vec4\x20color=vec4(finalDiffuse*(0.5+r),alpha);\x0a#endif\x0a#include<fogFragment>\x0agl_FragColor=color;\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0xe461:(_0x36e9ce,_0x1d1cc4,_0x23c4c6)=>{var _0x49d18f=_0x23c4c6(0x17a92);_0x23c4c6(0x13f9a),_0x23c4c6(0x12929),_0x23c4c6(0x12bc6),_0x23c4c6(0x13216),_0x23c4c6(0x6a99),_0x23c4c6(0xe6c7),_0x23c4c6(0x15fb5),_0x23c4c6(0x733d),_0x23c4c6(0xb434),_0x23c4c6(0xdcea),_0x23c4c6(0x6efd),_0x23c4c6(0x9871),_0x23c4c6(0x6e75),_0x23c4c6(0xedb9),_0x49d18f['v']['ShadersStore']['furVertexShader']='precision\x20highp\x20float;attribute\x20vec3\x20position;attribute\x20vec3\x20normal;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0auniform\x20float\x20furLength;uniform\x20float\x20furAngle;\x0a#ifdef\x20HIGHLEVEL\x0auniform\x20float\x20furOffset;uniform\x20vec3\x20furGravity;uniform\x20float\x20furTime;uniform\x20float\x20furSpacing;uniform\x20float\x20furDensity;\x0a#endif\x0a#ifdef\x20HEIGHTMAP\x0auniform\x20sampler2D\x20heightTexture;\x0a#endif\x0a#ifdef\x20HIGHLEVEL\x0avarying\x20vec2\x20vFurUV;\x0a#endif\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;uniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;uniform\x20mat4\x20diffuseMatrix;uniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0avarying\x20float\x20vfur_length;\x0a#ifdef\x20VERTEXCOLOR\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0afloat\x20Rand(vec3\x20rv)\x20{float\x20x=dot(rv,vec3(12.9898,78.233,24.65487));return\x20fract(sin(x)*43758.5453);}\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0afloat\x20r=Rand(position);\x0a#ifdef\x20HEIGHTMAP\x0a#if\x20__VERSION__>100\x0avfur_length=furLength*texture(heightTexture,uv).x;\x0a#else\x0avfur_length=furLength*texture2D(heightTexture,uv).r;\x0a#endif\x0a#else\x20\x0avfur_length=(furLength*r);\x0a#endif\x0avec3\x20tangent1=vec3(normal.y,-normal.x,0);vec3\x20tangent2=vec3(-normal.z,0,normal.x);r=Rand(tangent1*r);float\x20J=(2.0+4.0*r);r=Rand(tangent2*r);float\x20K=(2.0+2.0*r);tangent1=tangent1*J+tangent2*K;tangent1=normalize(tangent1);vec3\x20newPosition=position+normal*vfur_length*cos(furAngle)+tangent1*vfur_length*sin(furAngle);\x0a#ifdef\x20HIGHLEVEL\x0avec3\x20forceDirection=vec3(0.0,0.0,0.0);forceDirection.x=sin(furTime+position.x*0.05)*0.2;forceDirection.y=cos(furTime*0.7+position.y*0.04)*0.2;forceDirection.z=sin(furTime*0.7+position.z*0.04)*0.2;vec3\x20displacement=vec3(0.0,0.0,0.0);displacement=furGravity+forceDirection;float\x20displacementFactor=pow(furOffset,3.0);vec3\x20aNormal=normal;aNormal.xyz+=displacement*displacementFactor;newPosition=vec3(newPosition.x,newPosition.y,newPosition.z)+(normalize(aNormal)*furOffset*furSpacing);\x0a#endif\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0agl_Position=viewProjection*finalWorld*vec4(newPosition,1.0);vec4\x20worldPos=finalWorld*vec4(newPosition,1.0);vPositionW=vec3(worldPos);\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));}\x0aelse\x0a{vDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));}\x0a#ifdef\x20HIGHLEVEL\x0avFurUV=vDiffuseUV*furDensity;\x0a#endif\x0a#else\x0a#ifdef\x20HIGHLEVEL\x0avFurUV=uv*furDensity;\x0a#endif\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0xbd74:(_0x320490,_0x2b06dc,_0x364be2)=>{var _0x431db0=a6_0x5e3a36,_0x25aa4a=_0x364be2(0x17a92);_0x364be2(0x175b0),_0x364be2(0xe6c7),_0x364be2(0x15fb5),_0x364be2(0x1f57),_0x364be2(0x1f85),_0x364be2(0xff1b),_0x364be2(0x12a16),_0x364be2(0x3328),_0x364be2(0x6318),_0x364be2(0xb0bc),_0x364be2(0x10ef),_0x364be2(0x17ef8),_0x25aa4a['v'][_0x431db0(0x333)][_0x431db0(0x3b5)]=_0x431db0(0x741);},0x4a05:(_0x3930ae,_0x52ea18,_0x48a09e)=>{var _0x157aed=a6_0x5e3a36,_0x42d6c6=_0x48a09e(0x17a92);_0x48a09e(0x13f9a),_0x48a09e(0x12929),_0x48a09e(0x12bc6),_0x48a09e(0x13216),_0x48a09e(0x6a99),_0x48a09e(0xe6c7),_0x48a09e(0x15fb5),_0x48a09e(0x733d),_0x48a09e(0xb434),_0x48a09e(0xdcea),_0x48a09e(0x6efd),_0x48a09e(0x9871),_0x48a09e(0x6e75),_0x48a09e(0xedb9),_0x42d6c6['v'][_0x157aed(0x333)][_0x157aed(0x24d)]=_0x157aed(0x577);},0x1072f:(_0x36687a,_0x56d018,_0x9eebf4)=>{var _0x24537d=a6_0x5e3a36,_0x11d02d=_0x9eebf4(0x17a92);_0x9eebf4(0x12a16),_0x9eebf4(0x10ef),_0x9eebf4(0x17ef8),_0x11d02d['v']['ShadersStore'][_0x24537d(0x30a)]='#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0a#define\x20SQRT2\x201.41421356\x0a#define\x20PI\x203.14159\x0aprecision\x20highp\x20float;\x0auniform\x20float\x20visibility;\x0auniform\x20vec3\x20mainColor;\x0auniform\x20vec3\x20lineColor;\x0auniform\x20vec4\x20gridControl;\x0auniform\x20vec3\x20gridOffset;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vNormal;\x0a#include<fogFragmentDeclaration>\x0a#ifdef\x20OPACITY\x0avarying\x20vec2\x20vOpacityUV;\x0auniform\x20sampler2D\x20opacitySampler;\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0afloat\x20getDynamicVisibility(float\x20position)\x20{\x0afloat\x20majorGridFrequency=gridControl.y;\x0aif\x20(floor(position+0.5)==floor(position/majorGridFrequency+0.5)*majorGridFrequency)\x0a{\x0areturn\x201.0;\x0a}\x20\x0areturn\x20gridControl.z;\x0a}\x0afloat\x20getAnisotropicAttenuation(float\x20differentialLength)\x20{\x0aconst\x20float\x20maxNumberOfLines=10.0;\x0areturn\x20clamp(1.0/(differentialLength+1.0)-1.0/maxNumberOfLines,0.0,1.0);\x0a}\x0afloat\x20isPointOnLine(float\x20position,float\x20differentialLength)\x20{\x0afloat\x20fractionPartOfPosition=position-floor(position+0.5);\x20\x0afractionPartOfPosition/=differentialLength;\x20\x0afractionPartOfPosition=clamp(fractionPartOfPosition,-1.,1.);\x0afloat\x20result=0.5+0.5*cos(fractionPartOfPosition*PI);\x20\x0areturn\x20result;\x20\x0a}\x0afloat\x20contributionOnAxis(float\x20position)\x20{\x0afloat\x20differentialLength=length(vec2(dFdx(position),dFdy(position)));\x0adifferentialLength*=SQRT2;\x20\x0afloat\x20result=isPointOnLine(position,differentialLength);\x0afloat\x20dynamicVisibility=getDynamicVisibility(position);\x0aresult*=dynamicVisibility;\x0afloat\x20anisotropicAttenuation=getAnisotropicAttenuation(differentialLength);\x0aresult*=anisotropicAttenuation;\x0areturn\x20result;\x0a}\x0afloat\x20normalImpactOnAxis(float\x20x)\x20{\x0afloat\x20normalImpact=clamp(1.0-3.0*abs(x*x*x),0.0,1.0);\x0areturn\x20normalImpact;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0afloat\x20gridRatio=gridControl.x;\x0avec3\x20gridPos=(vPosition+gridOffset.xyz)/gridRatio;\x0afloat\x20x=contributionOnAxis(gridPos.x);\x0afloat\x20y=contributionOnAxis(gridPos.y);\x0afloat\x20z=contributionOnAxis(gridPos.z);\x0avec3\x20normal=normalize(vNormal);\x0ax*=normalImpactOnAxis(normal.x);\x0ay*=normalImpactOnAxis(normal.y);\x0az*=normalImpactOnAxis(normal.z);\x0a#ifdef\x20MAX_LINE\x20\x0afloat\x20grid=clamp(max(max(x,y),z),0.,1.);\x0a#else\x0afloat\x20grid=clamp(x+y+z,0.,1.);\x0a#endif\x0avec3\x20color=mix(mainColor,lineColor,grid);\x0a#ifdef\x20FOG\x0a#include<fogFragment>\x0a#endif\x0afloat\x20opacity=1.0;\x0a#ifdef\x20TRANSPARENT\x0aopacity=clamp(grid,0.08,gridControl.w*grid);\x0a#endif\x20\x0a#ifdef\x20OPACITY\x0aopacity*=texture2D(opacitySampler,vOpacityUV).a;\x0a#endif\x20\x0agl_FragColor=vec4(color.rgb,opacity*visibility);\x0a#ifdef\x20TRANSPARENT\x0a#ifdef\x20PREMULTIPLYALPHA\x0agl_FragColor.rgb*=opacity;\x0a#endif\x0a#else\x20\x0a#endif\x0a#include<imageProcessingCompatibility>\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}\x0a';},0x5442:(_0x55561a,_0x492569,_0x5023c5)=>{var _0xedd035=a6_0x5e3a36,_0x469b26=_0x5023c5(0x17a92);_0x5023c5(0x12bc6),_0x5023c5(0x6a99),_0x5023c5(0x733d),_0x5023c5(0x9871),_0x469b26['v'][_0xedd035(0x333)]['gridVertexShader']=_0xedd035(0xab5);},0x36d3:(_0x2f99df,_0x18f749,_0x409194)=>{var _0x291759=a6_0x5e3a36,_0xbac10f=_0x409194(0x17a92);_0x409194(0x175b0),_0x409194(0xe6c7),_0x409194(0x15fb5),_0x409194(0x1f57),_0x409194(0x1f85),_0x409194(0xff1b),_0x409194(0x12a16),_0x409194(0x3328),_0x409194(0x6318),_0x409194(0xb0bc),_0x409194(0x10ef),_0x409194(0x17ef8),_0xbac10f['v'][_0x291759(0x333)][_0x291759(0x56b)]=_0x291759(0x74b);},0xbb43:(_0x19d678,_0x2e5822,_0xefe4a1)=>{var _0x48ca06=a6_0x5e3a36,_0x28580e=_0xefe4a1(0x17a92);_0xefe4a1(0x13f9a),_0xefe4a1(0x12929),_0xefe4a1(0x12bc6),_0xefe4a1(0x13216),_0xefe4a1(0x6a99),_0xefe4a1(0xe6c7),_0xefe4a1(0x15fb5),_0xefe4a1(0x733d),_0xefe4a1(0xb434),_0xefe4a1(0xdcea),_0xefe4a1(0x6efd),_0xefe4a1(0x9871),_0xefe4a1(0x6e75),_0xefe4a1(0xedb9),_0x28580e['v'][_0x48ca06(0x333)][_0x48ca06(0x729)]=_0x48ca06(0x4b7);},0x1968:(_0x5f5d3b,_0xed1507,_0x2697b0)=>{var _0x198fcf=a6_0x5e3a36,_0x586890=_0x2697b0(0x17a92);_0x2697b0(0x175b0),_0x2697b0(0xe6c7),_0x2697b0(0x15fb5),_0x2697b0(0x1f57),_0x2697b0(0x1f85),_0x2697b0(0xff1b),_0x2697b0(0x12a16),_0x2697b0(0x3328),_0x2697b0(0x6318),_0x2697b0(0xb0bc),_0x2697b0(0x10ef),_0x2697b0(0x17ef8),_0x586890['v'][_0x198fcf(0x333)][_0x198fcf(0x8a0)]=_0x198fcf(0xb7b);},0x7d18:(_0xf7064b,_0x5710a7,_0x45c3b4)=>{var _0x18ecc9=a6_0x5e3a36,_0x4193c5=_0x45c3b4(0x17a92);_0x45c3b4(0x13f9a),_0x45c3b4(0x12929),_0x45c3b4(0x12bc6),_0x45c3b4(0x13216),_0x45c3b4(0x6a99),_0x45c3b4(0xe6c7),_0x45c3b4(0x15fb5),_0x45c3b4(0x733d),_0x45c3b4(0xb434),_0x45c3b4(0xdcea),_0x45c3b4(0x6efd),_0x45c3b4(0x9871),_0x45c3b4(0x6e75),_0x45c3b4(0xedb9),_0x4193c5['v'][_0x18ecc9(0x333)]['mixVertexShader']=_0x18ecc9(0x36d);},0xc97e:(_0x149a60,_0x35305d,_0x4650d1)=>{var _0x46536b=a6_0x5e3a36,_0x58d8d2=_0x4650d1(0x17a92);_0x4650d1(0x175b0),_0x4650d1(0xe6c7),_0x4650d1(0x15fb5),_0x4650d1(0x1f57),_0x4650d1(0x1f85),_0x4650d1(0xff1b),_0x4650d1(0x12a16),_0x4650d1(0x3328),_0x4650d1(0x6318),_0x4650d1(0xb0bc),_0x4650d1(0x10ef),_0x4650d1(0x17ef8),_0x58d8d2['v'][_0x46536b(0x333)][_0x46536b(0xb20)]=_0x46536b(0x54d);},0x8f3b:(_0x37047c,_0x28bdec,_0x5a776a)=>{var _0x364fcd=a6_0x5e3a36,_0x3b5d41=_0x5a776a(0x17a92);_0x5a776a(0x13f9a),_0x5a776a(0x12929),_0x5a776a(0x12bc6),_0x5a776a(0x13216),_0x5a776a(0x6a99),_0x5a776a(0xe6c7),_0x5a776a(0x15fb5),_0x5a776a(0x733d),_0x5a776a(0xb434),_0x5a776a(0xdcea),_0x5a776a(0x6efd),_0x5a776a(0x9871),_0x5a776a(0x6e75),_0x3b5d41['v'][_0x364fcd(0x333)]['normalVertexShader']='precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20DIFFUSE\x0avarying\x20vec2\x20vDiffuseUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0agl_Position=viewProjection*worldPos;\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20DIFFUSE\x0aif\x20(vDiffuseInfos.x==0.)\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv,1.0,0.0));\x0a}\x0aelse\x0a{\x0avDiffuseUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0x15bd0:(_0x59be7b,_0x4e959c,_0x1468ff)=>{var _0x387495=a6_0x5e3a36,_0x575a69=_0x1468ff(0x17a92);_0x1468ff(0x175b0),_0x1468ff(0xe6c7),_0x1468ff(0x15fb5),_0x1468ff(0x1f57),_0x1468ff(0x1f85),_0x1468ff(0xff1b),_0x1468ff(0x12a16),_0x1468ff(0x3328),_0x1468ff(0xb0bc),_0x1468ff(0x10ef),_0x1468ff(0x17ef8),_0x575a69['v'][_0x387495(0x333)][_0x387495(0x401)]=_0x387495(0x24b);},0x3e31:(_0x662b50,_0xce82e7,_0x4a3190)=>{var _0x19a0db=a6_0x5e3a36,_0x1271db=_0x4a3190(0x17a92);_0x4a3190(0x13f9a),_0x4a3190(0x12929),_0x4a3190(0x12bc6),_0x4a3190(0x13216),_0x4a3190(0x6a99),_0x4a3190(0xe6c7),_0x4a3190(0x15fb5),_0x4a3190(0x733d),_0x4a3190(0xb434),_0x4a3190(0xdcea),_0x4a3190(0x6efd),_0x4a3190(0x9871),_0x4a3190(0x6e75),_0x1271db['v'][_0x19a0db(0x333)][_0x19a0db(0xb69)]=_0x19a0db(0xa14);},0x1b5e:(_0x1aa42c,_0x13d2e9,_0x2e85be)=>{var _0x2118e2=a6_0x5e3a36,_0x1b4e68=_0x2e85be(0x17a92);_0x2e85be(0x175b0),_0x2e85be(0xe6c7),_0x2e85be(0x15fb5),_0x2e85be(0x1f57),_0x2e85be(0x1f85),_0x2e85be(0xff1b),_0x2e85be(0x12a16),_0x2e85be(0x3328),_0x2e85be(0x6318),_0x2e85be(0xb0bc),_0x2e85be(0x10ef),_0x2e85be(0x17ef8),_0x1b4e68['v'][_0x2118e2(0x333)][_0x2118e2(0x815)]=_0x2118e2(0x9f7);},0xcd2d:(_0x30f71b,_0xd18a9a,_0x7a87f3)=>{var _0x243209=a6_0x5e3a36,_0x1c5940=_0x7a87f3(0x17a92);_0x7a87f3(0x13f9a),_0x7a87f3(0x12929),_0x7a87f3(0x12bc6),_0x7a87f3(0x13216),_0x7a87f3(0x6a99),_0x7a87f3(0xe6c7),_0x7a87f3(0x15fb5),_0x7a87f3(0x733d),_0x7a87f3(0xb434),_0x7a87f3(0xdcea),_0x7a87f3(0x6efd),_0x7a87f3(0x9871),_0x7a87f3(0x6e75),_0x7a87f3(0xedb9),_0x1c5940['v'][_0x243209(0x333)][_0x243209(0x5e2)]=_0x243209(0x4c0);},0x717d:(_0x28a877,_0x30a437,_0x1226b0)=>{var _0x488218=a6_0x5e3a36,_0x456297=_0x1226b0(0x17a92);_0x1226b0(0xff1b),_0x1226b0(0x12a16),_0x1226b0(0x175b0),_0x1226b0(0x3328),_0x1226b0(0x10ef),_0x1226b0(0x17ef8),_0x456297['v'][_0x488218(0x333)][_0x488218(0xa6d)]=_0x488218(0x86a);},0xa7:(_0x573e35,_0x34f750,_0x107c19)=>{var _0x59182f=a6_0x5e3a36,_0x283bc3=_0x107c19(0x17a92);_0x107c19(0x13216),_0x107c19(0x6a99),_0x107c19(0x6efd),_0x107c19(0x9871),_0x283bc3['v']['ShadersStore']['skyVertexShader']=_0x59182f(0x952);},0x1528a:(_0x22cae3,_0x166a48,_0x4c6cfd)=>{var _0x3bfcbc=a6_0x5e3a36,_0x81e14a=_0x4c6cfd(0x17a92);_0x4c6cfd(0x175b0),_0x4c6cfd(0xe6c7),_0x4c6cfd(0x15fb5),_0x4c6cfd(0x1f57),_0x4c6cfd(0x1f85),_0x4c6cfd(0xff1b),_0x4c6cfd(0x12a16),_0x4c6cfd(0x3328),_0x4c6cfd(0x6318),_0x4c6cfd(0xb0bc),_0x4c6cfd(0x10ef),_0x4c6cfd(0x17ef8),_0x81e14a['v'][_0x3bfcbc(0x333)][_0x3bfcbc(0x74e)]=_0x3bfcbc(0x48c);},0x136e8:(_0x66fc67,_0x24defd,_0x12ffb8)=>{var _0x4bda76=a6_0x5e3a36,_0x325ffd=_0x12ffb8(0x17a92);_0x12ffb8(0x13f9a),_0x12ffb8(0x12929),_0x12ffb8(0x12bc6),_0x12ffb8(0x13216),_0x12ffb8(0x6a99),_0x12ffb8(0xe6c7),_0x12ffb8(0x15fb5),_0x12ffb8(0x733d),_0x12ffb8(0xb434),_0x12ffb8(0xdcea),_0x12ffb8(0x6efd),_0x12ffb8(0x9871),_0x12ffb8(0x6e75),_0x12ffb8(0xedb9),_0x325ffd['v'][_0x4bda76(0x333)][_0x4bda76(0xd2c)]=_0x4bda76(0x2e9);},0x109eb:(_0x77c69,_0x3dc380,_0x3f66c9)=>{var _0xe7c936=a6_0x5e3a36,_0xac9f10=_0x3f66c9(0x17a92);_0x3f66c9(0x175b0),_0x3f66c9(0xe6c7),_0x3f66c9(0x15fb5),_0x3f66c9(0x1f57),_0x3f66c9(0x1f85),_0x3f66c9(0xff1b),_0x3f66c9(0x12a16),_0x3f66c9(0x3328),_0x3f66c9(0x6318),_0x3f66c9(0xb0bc),_0x3f66c9(0x10ef),_0x3f66c9(0x17ef8),_0xac9f10['v']['ShadersStore'][_0xe7c936(0x1b8)]=_0xe7c936(0x1f9);},0x1444:(_0x273f4f,_0x2b7497,_0x3bb762)=>{var _0x3843e2=a6_0x5e3a36,_0x4eab0c=_0x3bb762(0x17a92);_0x3bb762(0x13f9a),_0x3bb762(0x12929),_0x3bb762(0x12bc6),_0x3bb762(0x13216),_0x3bb762(0x6a99),_0x3bb762(0xe6c7),_0x3bb762(0x15fb5),_0x3bb762(0x733d),_0x3bb762(0xb434),_0x3bb762(0xdcea),_0x3bb762(0x6efd),_0x3bb762(0x9871),_0x3bb762(0x6e75),_0x3bb762(0xedb9),_0x4eab0c['v'][_0x3843e2(0x333)][_0x3843e2(0x96e)]=_0x3843e2(0x618);},0x17ba7:(_0x10256b,_0x2f4558,_0x2c8de8)=>{var _0x3270ef=a6_0x5e3a36,_0x40e3fa=_0x2c8de8(0x17a92);_0x2c8de8(0x175b0),_0x2c8de8(0x16c11),_0x2c8de8(0x119a9),_0x2c8de8(0xe6c7),_0x2c8de8(0x15fb5),_0x2c8de8(0x1f57),_0x2c8de8(0x1f85),_0x2c8de8(0xff1b),_0x2c8de8(0x17bd9),_0x2c8de8(0x12a16),_0x2c8de8(0x3328),_0x2c8de8(0xb0bc),_0x2c8de8(0x1445f),_0x2c8de8(0x10ef),_0x40e3fa['v'][_0x3270ef(0x333)][_0x3270ef(0x5ab)]=_0x3270ef(0xbca);},0xf5bf:(_0xdc6e37,_0x3fcb80,_0x4dad70)=>{var _0x59837e=a6_0x5e3a36,_0x16118=_0x4dad70(0x17a92);_0x4dad70(0x13f9a),_0x4dad70(0x12929),_0x4dad70(0x12bc6),_0x4dad70(0x13216),_0x4dad70(0x6a99),_0x4dad70(0xe6c7),_0x4dad70(0x15fb5),_0x4dad70(0x17bd9),_0x4dad70(0x733d),_0x4dad70(0xb434),_0x4dad70(0xdcea),_0x4dad70(0x6efd),_0x4dad70(0x9871),_0x4dad70(0x6e75),_0x4dad70(0xedb9),_0x4dad70(0x13da6),_0x16118['v']['ShadersStore'][_0x59837e(0x6b2)]='precision\x20highp\x20float;\x0aattribute\x20vec3\x20position;\x0a#ifdef\x20NORMAL\x0aattribute\x20vec3\x20normal;\x0a#endif\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#ifdef\x20VERTEXCOLOR\x0aattribute\x20vec4\x20color;\x0a#endif\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20BUMP\x0avarying\x20vec2\x20vNormalUV;\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avarying\x20vec2\x20vNormalUV2;\x0a#endif\x0auniform\x20mat4\x20normalMatrix;\x0auniform\x20vec2\x20vNormalInfos;\x0a#endif\x0a#ifdef\x20POINTSIZE\x0auniform\x20float\x20pointSize;\x0a#endif\x0avarying\x20vec3\x20vPositionW;\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a#include<clipPlaneVertexDeclaration>\x0a#include<fogVertexDeclaration>\x0a#include<__decl__lightFragment>[0..maxSimultaneousLights]\x0a#include<logDepthDeclaration>\x0auniform\x20mat4\x20worldReflectionViewProjection;\x0auniform\x20vec2\x20windDirection;\x0auniform\x20float\x20waveLength;\x0auniform\x20float\x20time;\x0auniform\x20float\x20windForce;\x0auniform\x20float\x20waveHeight;\x0auniform\x20float\x20waveSpeed;\x0auniform\x20float\x20waveCount;\x0avarying\x20vec3\x20vPosition;\x0avarying\x20vec3\x20vRefractionMapTexCoord;\x0avarying\x20vec3\x20vReflectionMapTexCoord;\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(position,1.0);\x0avPositionW=vec3(worldPos);\x0a#ifdef\x20NORMAL\x0avNormalW=normalize(vec3(finalWorld*vec4(normal,0.0)));\x0a#endif\x0a#ifndef\x20UV1\x0avec2\x20uv=vec2(0.,0.);\x0a#endif\x0a#ifndef\x20UV2\x0avec2\x20uv2=vec2(0.,0.);\x0a#endif\x0a#ifdef\x20BUMP\x0aif\x20(vNormalInfos.x==0.)\x0a{\x0avNormalUV=vec2(normalMatrix*vec4((uv*1.0)/waveLength+time*windForce*windDirection,1.0,0.0));\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avNormalUV2=vec2(normalMatrix*vec4((uv*0.721)/waveLength+time*1.2*windForce*windDirection,1.0,0.0));\x0a#endif\x0a}\x0aelse\x0a{\x0avNormalUV=vec2(normalMatrix*vec4((uv2*1.0)/waveLength+time*windForce*windDirection\x20,1.0,0.0));\x0a#ifdef\x20BUMPSUPERIMPOSE\x0avNormalUV2=vec2(normalMatrix*vec4((uv2*0.721)/waveLength+time*1.2*windForce*windDirection\x20,1.0,0.0));\x0a#endif\x0a}\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<fogVertex>\x0a#include<shadowsVertex>[0..maxSimultaneousLights]\x0a#include<vertexColorMixing>\x0a#if\x20defined(POINTSIZE)\x20&&\x20!defined(WEBGPU)\x0agl_PointSize=pointSize;\x0a#endif\x0afloat\x20finalWaveCount=1.0/(waveCount*0.5);\x0avec3\x20p=position;\x0afloat\x20newY=(sin(((p.x/finalWaveCount)+time*waveSpeed))*waveHeight*windDirection.x*5.0)\x0a+\x20(cos(((p.z/finalWaveCount)+\x20time*waveSpeed))*waveHeight*windDirection.y*5.0);\x0ap.y+=abs(newY);\x0agl_Position=viewProjection*finalWorld*vec4(p,1.0);\x0a#ifdef\x20REFLECTION\x0aworldPos=viewProjection*finalWorld*vec4(p,1.0);\x0avPosition=position;\x0avRefractionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\x0avRefractionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\x0avRefractionMapTexCoord.z=worldPos.w;\x0aworldPos=worldReflectionViewProjection*vec4(position,1.0);\x0avReflectionMapTexCoord.x=0.5*(worldPos.w+worldPos.x);\x0avReflectionMapTexCoord.y=0.5*(worldPos.w+worldPos.y);\x0avReflectionMapTexCoord.z=worldPos.w;\x0a#endif\x0a#include<logDepthVertex>\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}\x0a';},0xd482:(_0xc2f4ee,_0x48b3f0,_0x26bdde)=>{var _0x4d0984=a6_0x5e3a36;_0x26bdde['d'](_0x48b3f0,{'W':()=>_0x1a1c9f});var _0x48b3f0=_0x26bdde(0x15a52),_0x3630fe=_0x26bdde(0x16ad5),_0x4321d7=_0x26bdde(0xe779),_0x23b32a=_0x26bdde(0xe456),_0x22097b=_0x26bdde(0x11c74),_0x129647=_0x26bdde(0x13cd1),_0x2689f6=_0x26bdde(0x77a5),_0x34b4ab=(_0x26bdde(0x11645),_0x26bdde(0x2dc8)),_0x3e1b45=_0x26bdde(0xbac7),_0x2c2021=_0x26bdde(0xf8c1),_0x26bdde=_0x26bdde(0x159af);class _0x1a1c9f extends _0x48b3f0['k']{constructor(_0x2f992d){var _0xb26c95=a6_0x4d3f;super(_0x2f992d,_0x3630fe['u'][_0xb26c95(0x411)]),this[_0xb26c95(0x1ba)]=!0x1;}get['texture'](){return this['_texture'];}set[_0x4d0984(0x20b)](_0x307289){var _0x349ffd=_0x4d0984,_0x114a1d;if(this['_texture']!==_0x307289){const _0x24f316=null!=(_0x114a1d=null==_0x307289?void 0x0:_0x307289[_0x349ffd(0xc81)]())?_0x114a1d:_0x2c2021['l'][_0x349ffd(0xd8b)];!_0x307289&&_0x24f316&&_0x24f316['markAllMaterialsAsDirty'](_0x2689f6['g'][_0x349ffd(0xcf9)],_0x1ddcf0=>_0x1ddcf0[_0x349ffd(0x2b3)](this[_0x349ffd(0x45d)])),(this[_0x349ffd(0x45d)]=_0x307289)&&_0x24f316&&_0x24f316['markAllMaterialsAsDirty'](_0x2689f6['g'][_0x349ffd(0xcf9)],_0x1cfce4=>_0x1cfce4['hasTexture'](_0x307289));}}static[_0x4d0984(0x616)](_0x2d4cea,_0x17bc72){var _0x56ccd0=_0x4d0984;const _0xc64945=_0x2d4cea;return _0xc64945[_0x56ccd0(0x91d)]();}[_0x4d0984(0x91d)](){var _0x402550=_0x4d0984;return this[_0x402550(0xc70)](),!0x0;}[_0x4d0984(0xc70)](){var _0xf142d1=_0x4d0984;this['_setInitialTarget'](this[_0xf142d1(0x1ba)]?_0x3630fe['u'][_0xf142d1(0xbc1)]:_0x3630fe['u'][_0xf142d1(0x411)]);}[_0x4d0984(0xadf)](){var _0x53dc50=_0x4d0984;return _0x53dc50(0x1f3);}[_0x4d0984(0x29c)](){var _0x470152=_0x4d0984;return this[_0x470152(0x20b)];}['autoConfigure'](_0x2b6cd0){var _0x3c3fdc=_0x4d0984;if(!this['position']['isConnected']){let _0x21d2ca=_0x2b6cd0[_0x3c3fdc(0x932)](_0x358d37=>_0x358d37[_0x3c3fdc(0x9e4)]&&_0x3c3fdc(0x7f1)===_0x358d37[_0x3c3fdc(0xd51)]);_0x21d2ca||(_0x21d2ca=new _0x22097b['S'](_0x3c3fdc(0x7f1)))[_0x3c3fdc(0x44b)](),_0x21d2ca[_0x3c3fdc(0xa0b)][_0x3c3fdc(0x9cd)](this[_0x3c3fdc(0x7f1)]);}if(!this[_0x3c3fdc(0x477)][_0x3c3fdc(0x938)]){let _0x3359e7=_0x2b6cd0['getInputBlockByPredicate'](_0x1e7d60=>_0x1e7d60[_0x3c3fdc(0x2ac)]===_0x129647['$'][_0x3c3fdc(0x6bb)]);_0x3359e7||(_0x3359e7=new _0x22097b['S'](_0x3c3fdc(0x477)))['setAsSystemValue'](_0x129647['$'][_0x3c3fdc(0x6bb)]),_0x3359e7[_0x3c3fdc(0xa0b)]['connectTo'](this['world']);}if(this['view']&&!this[_0x3c3fdc(0x704)][_0x3c3fdc(0x938)]){let _0x1ddc6a=_0x2b6cd0[_0x3c3fdc(0x932)](_0x5eecd7=>_0x5eecd7[_0x3c3fdc(0x2ac)]===_0x129647['$'][_0x3c3fdc(0xd78)]);_0x1ddc6a||(_0x1ddc6a=new _0x22097b['S']('view'))[_0x3c3fdc(0x268)](_0x129647['$'][_0x3c3fdc(0xd78)]),_0x1ddc6a[_0x3c3fdc(0xa0b)][_0x3c3fdc(0x9cd)](this[_0x3c3fdc(0x704)]);}}[_0x4d0984(0x89a)](_0x4b3e8c,_0x672c9c,_0x27009a){var _0x4a46f6=_0x4d0984,_0x34a946;_0x27009a['_areTexturesDirty']&&(_0x34a946=this[_0x4a46f6(0x29c)]())&&_0x34a946[_0x4a46f6(0x5c4)]&&(_0x27009a[_0x4a46f6(0x27c)](this[_0x4a46f6(0xa3e)],_0x34a946[_0x4a46f6(0xd30)],!0x0),_0x27009a[_0x4a46f6(0x27c)](this['_defineLocalCubicName'],!!_0x34a946[_0x4a46f6(0xd16)],!0x0),_0x27009a[_0x4a46f6(0x27c)](this[_0x4a46f6(0x93f)],_0x34a946[_0x4a46f6(0xcc2)]===_0x2689f6['g'][_0x4a46f6(0x745)],!0x0),_0x27009a[_0x4a46f6(0x27c)](this[_0x4a46f6(0x37a)],_0x34a946[_0x4a46f6(0xcc2)]===_0x2689f6['g'][_0x4a46f6(0xbcd)],!0x0),_0x27009a[_0x4a46f6(0x27c)](this[_0x4a46f6(0x7c4)],_0x34a946['coordinatesMode']===_0x2689f6['g']['TEXTURE_CUBIC_MODE']||_0x34a946['coordinatesMode']===_0x2689f6['g'][_0x4a46f6(0x501)],!0x0),_0x27009a[_0x4a46f6(0x27c)](_0x4a46f6(0x796),_0x34a946['coordinatesMode']===_0x2689f6['g'][_0x4a46f6(0x501)],!0x0),_0x27009a['setValue'](this[_0x4a46f6(0xc7d)],_0x34a946[_0x4a46f6(0xcc2)]===_0x2689f6['g'][_0x4a46f6(0x224)],!0x0),_0x27009a[_0x4a46f6(0x27c)](this['_definePlanarName'],_0x34a946[_0x4a46f6(0xcc2)]===_0x2689f6['g'][_0x4a46f6(0x1c7)],!0x0),_0x27009a[_0x4a46f6(0x27c)](this[_0x4a46f6(0x30c)],_0x34a946['coordinatesMode']===_0x2689f6['g']['TEXTURE_PROJECTION_MODE'],!0x0),_0x27009a[_0x4a46f6(0x27c)](this['_defineEquirectangularName'],_0x34a946[_0x4a46f6(0xcc2)]===_0x2689f6['g'][_0x4a46f6(0x859)],!0x0),_0x27009a[_0x4a46f6(0x27c)](this[_0x4a46f6(0xc66)],_0x34a946[_0x4a46f6(0xcc2)]===_0x2689f6['g'][_0x4a46f6(0x976)],!0x0),_0x27009a['setValue'](this[_0x4a46f6(0x962)],_0x34a946[_0x4a46f6(0xcc2)]===_0x2689f6['g'][_0x4a46f6(0xa1a)],!0x0));}[_0x4d0984(0x3e5)](){var _0x5f3995=_0x4d0984;const _0x25659f=this[_0x5f3995(0x29c)]();return!(_0x25659f&&!_0x25659f[_0x5f3995(0x564)]());}[_0x4d0984(0x977)](_0x267fc6,_0x186063,_0x2e7e8f){var _0x2950e1=_0x4d0984;const _0x33ff37=this[_0x2950e1(0x29c)]();_0x2e7e8f&&_0x33ff37&&(_0x267fc6['setMatrix'](this[_0x2950e1(0xb1d)],_0x33ff37[_0x2950e1(0x5f5)]()),_0x33ff37[_0x2950e1(0xd30)]?_0x267fc6[_0x2950e1(0x8f2)](this[_0x2950e1(0x559)],_0x33ff37):_0x267fc6['setTexture'](this[_0x2950e1(0x82c)],_0x33ff37),_0x33ff37[_0x2950e1(0xd16)]&&(_0x2e7e8f=_0x33ff37,_0x267fc6[_0x2950e1(0xb6d)](this[_0x2950e1(0x3c3)],_0x2e7e8f[_0x2950e1(0x6b0)]),_0x267fc6['setVector3'](this[_0x2950e1(0x518)],_0x2e7e8f[_0x2950e1(0xd16)])));}[_0x4d0984(0x5dd)](_0x159300){var _0x45884f=_0x4d0984;if(this[_0x45884f(0x1ba)]&&_0x159300[_0x45884f(0x565)]===_0x3630fe['u'][_0x45884f(0x557)])return'';this[_0x45884f(0xa3e)]=_0x159300['_getFreeDefineName']('REFLECTIONMAP_3D'),this[_0x45884f(0x7c4)]=_0x159300[_0x45884f(0x354)](_0x45884f(0xb38)),this[_0x45884f(0xc7d)]=_0x159300['_getFreeDefineName'](_0x45884f(0xc46)),this[_0x45884f(0x8ac)]=_0x159300['_getFreeDefineName'](_0x45884f(0x6f2)),this['_defineProjectionName']=_0x159300[_0x45884f(0x354)]('REFLECTIONMAP_PROJECTION'),this[_0x45884f(0x93f)]=_0x159300['_getFreeDefineName']('REFLECTIONMAP_EXPLICIT'),this[_0x45884f(0x245)]=_0x159300[_0x45884f(0x354)](_0x45884f(0x558)),this[_0x45884f(0x2b0)]=_0x159300['_getFreeDefineName'](_0x45884f(0x5d5)),this[_0x45884f(0x962)]=_0x159300[_0x45884f(0x354)]('REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED'),this[_0x45884f(0xc66)]=_0x159300[_0x45884f(0x354)](_0x45884f(0x40f)),this[_0x45884f(0x37a)]=_0x159300[_0x45884f(0x354)](_0x45884f(0x6cd)),this[_0x45884f(0x751)]=_0x159300[_0x45884f(0x354)](_0x45884f(0x6d7)),this['_reflectionMatrixName']=_0x159300['_getFreeVariableName']('reflectionMatrix'),_0x159300[_0x45884f(0x870)](this['_reflectionMatrixName'],_0x45884f(0x20a));let _0x4cba8d='';this[_0x45884f(0xbf0)]=_0x159300[_0x45884f(0x554)](_0x45884f(0x1a5));var _0x43b6f2=this[_0x45884f(0x1ba)]?this[_0x45884f(0xbf0)]:'v_'+this[_0x45884f(0x1a5)][_0x45884f(0xa82)];return(this[_0x45884f(0x1ba)]||_0x159300[_0x45884f(0xb6b)](_0x43b6f2,_0x45884f(0x884)))&&(_0x4cba8d+=(this[_0x45884f(0x1ba)]?_0x45884f(0xb16):'')+_0x43b6f2+('\x20=\x20'+this[_0x45884f(0x1a5)][_0x45884f(0xa82)]+_0x45884f(0x1ea))),this[_0x45884f(0xb18)]=_0x159300['_getFreeVariableName']('positionUVW'),this[_0x45884f(0x8aa)]=_0x159300[_0x45884f(0x554)](_0x45884f(0x6cb)),(this['generateOnlyFragmentCode']||_0x159300[_0x45884f(0xb6b)](this[_0x45884f(0xb18)],_0x45884f(0xa05),this['_defineSkyboxName']))&&(_0x4cba8d=(_0x4cba8d+='#ifdef\x20'+this[_0x45884f(0x37a)]+'\x0d\x0a')+(this[_0x45884f(0x1ba)]?_0x45884f(0x819):'')+this[_0x45884f(0xb18)]+('\x20=\x20'+this[_0x45884f(0x7f1)][_0x45884f(0xa82)]+_0x45884f(0x978))+_0x45884f(0xa72)),_0x4cba8d=this['generateOnlyFragmentCode']||_0x159300[_0x45884f(0xb6b)](this[_0x45884f(0x8aa)],_0x45884f(0xa05),'defined('+this['_defineEquirectangularFixedName']+')\x20||\x20defined('+this[_0x45884f(0x962)]+')')?(_0x4cba8d+=_0x45884f(0x311)+this[_0x45884f(0xc66)]+')\x20||\x20defined('+this['_defineMirroredEquirectangularFixedName']+')\x0d\x0a')+(this[_0x45884f(0x1ba)]?'vec3\x20':'')+this[_0x45884f(0x8aa)]+(_0x45884f(0x255)+this[_0x45884f(0x477)][_0x45884f(0xa82)]+_0x45884f(0xa7f)+this[_0x45884f(0x7f1)]['associatedVariableName']+_0x45884f(0x95d))+_0x45884f(0xa72):_0x4cba8d;}[_0x4d0984(0x951)](_0x483c10){var _0x381920=_0x4d0984;_0x483c10[_0x381920(0xc1b)][_0x381920(0xc9f)][_0x381920(0x2bd)](this),_0x483c10[_0x381920(0xc1b)][_0x381920(0x925)][_0x381920(0x2bd)](this),this[_0x381920(0x559)]=_0x483c10[_0x381920(0x554)](this[_0x381920(0xd51)]+_0x381920(0xcce)),_0x483c10[_0x381920(0xc4c)][_0x381920(0x2bd)](this[_0x381920(0x559)]),this[_0x381920(0x82c)]=_0x483c10[_0x381920(0x554)](this[_0x381920(0xd51)]+'2DSampler'),_0x483c10[_0x381920(0xc4c)]['push'](this[_0x381920(0x82c)]),_0x483c10['_samplerDeclaration']+=_0x381920(0x55c)+this['_define3DName']+'\x0d\x0a',_0x483c10[_0x381920(0x94e)]+=_0x381920(0x4f4)+this['_cubeSamplerName']+_0x381920(0x1ea),_0x483c10[_0x381920(0x94e)]+='#else\x0d\x0a',_0x483c10[_0x381920(0x94e)]+='uniform\x20sampler2D\x20'+this[_0x381920(0x82c)]+_0x381920(0x1ea),_0x483c10[_0x381920(0x94e)]+='#endif\x0d\x0a',_0x483c10[_0x381920(0xc1b)][_0x381920(0x519)]['push'](this),_0x483c10[_0x381920(0xc1b)][_0x381920(0xb01)][_0x381920(0x2bd)](this);var _0x56fe93='//'+this['name'];_0x483c10[_0x381920(0x896)]('ReciprocalPI',_0x381920(0xcba),''),_0x483c10[_0x381920(0x833)](_0x381920(0x818),_0x56fe93),_0x483c10[_0x381920(0x833)](_0x381920(0xbc7),_0x56fe93,{'replaceStrings':[{'search':/vec3 computeReflectionCoords/g,'replace':_0x381920(0xb44)}]}),this[_0x381920(0x78d)]=_0x483c10['_getFreeVariableName'](_0x381920(0x327)),this['_reflectionVectorName']=_0x483c10['_getFreeVariableName'](_0x381920(0x823)),this['_reflectionCoordsName']=_0x483c10['_getFreeVariableName'](_0x381920(0x278)),this[_0x381920(0x3c3)]=_0x483c10[_0x381920(0x554)](_0x381920(0xbfc)),_0x483c10[_0x381920(0x870)](this[_0x381920(0x3c3)],_0x381920(0xa05)),this[_0x381920(0x518)]=_0x483c10[_0x381920(0x554)](_0x381920(0xbfc)),_0x483c10[_0x381920(0x870)](this[_0x381920(0x518)],'vec3');}['handleFragmentSideCodeReflectionCoords'](_0x5e7c25,_0x447f77,_0x160e6a=!0x1,_0xe701fe=!0x1){var _0x4b4038=_0x4d0984;_0x447f77=_0x447f77||(this[_0x4b4038(0x1ba)]?this[_0x4b4038(0xbf0)]:'v_'+this[_0x4b4038(0x1a5)]['associatedVariableName']);var _0x1d20e7=this['_reflectionMatrixName'],_0x4c6e47=_0x4b4038(0xd21)+this[_0x4b4038(0x8aa)]+')',_0x2fab36=''+this[_0x4b4038(0xb18)],_0x50f655=''+this['cameraPosition'][_0x4b4038(0xa82)],_0x17a967=''+this[_0x4b4038(0x704)][_0x4b4038(0xa82)];let _0x208455=_0x4b4038(0x320)+this[_0x4b4038(0x962)]+_0x4b4038(0x921)+this[_0x4b4038(0x758)]+'\x20=\x20computeMirroredFixedEquirectangularCoords('+_0x447f77+',\x20'+(_0x5e7c25+=_0x4b4038(0xc2b))+',\x20'+_0x4c6e47+_0x4b4038(0xd7f)+this['_defineEquirectangularFixedName']+_0x4b4038(0x921)+this[_0x4b4038(0x758)]+_0x4b4038(0x7c9)+_0x447f77+',\x20'+_0x5e7c25+',\x20'+_0x4c6e47+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this['_defineEquirectangularName']+_0x4b4038(0x921)+this[_0x4b4038(0x758)]+_0x4b4038(0x717)+_0x447f77+',\x20'+_0x5e7c25+',\x20'+_0x50f655+_0x4b4038(0x4b1)+_0x1d20e7+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this['_defineSphericalName']+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this[_0x4b4038(0x758)]+_0x4b4038(0xb68)+_0x447f77+',\x20'+_0x5e7c25+',\x20'+_0x17a967+',\x20'+_0x1d20e7+_0x4b4038(0xd7f)+this['_definePlanarName']+_0x4b4038(0x921)+this[_0x4b4038(0x758)]+_0x4b4038(0xa47)+_0x447f77+',\x20'+_0x5e7c25+',\x20'+_0x50f655+_0x4b4038(0x4b1)+_0x1d20e7+_0x4b4038(0xd7f)+this[_0x4b4038(0x7c4)]+_0x4b4038(0x467)+this[_0x4b4038(0x2b0)]+_0x4b4038(0x1d7)+this[_0x4b4038(0x758)]+_0x4b4038(0x5d7)+_0x447f77+',\x20'+_0x5e7c25+',\x20'+_0x50f655+_0x4b4038(0x4b1)+_0x1d20e7+',\x20'+this[_0x4b4038(0x518)]+',\x20'+this[_0x4b4038(0x3c3)]+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20'+this[_0x4b4038(0x758)]+_0x4b4038(0xcd2)+_0x447f77+',\x20'+_0x5e7c25+',\x20'+_0x50f655+_0x4b4038(0x4b1)+_0x1d20e7+_0x4b4038(0xd8a)+this[_0x4b4038(0x30c)]+_0x4b4038(0x921)+this[_0x4b4038(0x758)]+_0x4b4038(0x1ec)+_0x447f77+',\x20'+_0x17a967+',\x20'+_0x1d20e7+_0x4b4038(0xd7f)+this['_defineSkyboxName']+_0x4b4038(0x921)+this[_0x4b4038(0x758)]+_0x4b4038(0x1e0)+_0x2fab36+',\x20'+_0x1d20e7+_0x4b4038(0xd7f)+this[_0x4b4038(0x93f)]+_0x4b4038(0x921)+this[_0x4b4038(0x758)]+_0x4b4038(0x279);return _0xe701fe||(_0x208455+='#ifdef\x20'+this[_0x4b4038(0x751)]+_0x4b4038(0x43a)+this['_reflectionVectorName']+_0x4b4038(0x975)),_0x160e6a||(_0x208455+='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20'+this[_0x4b4038(0xa3e)]+_0x4b4038(0x1d7)+this[_0x4b4038(0x4bd)]+_0x4b4038(0xb74)+this[_0x4b4038(0x758)]+_0x4b4038(0x8d2)+this[_0x4b4038(0x4bd)]+_0x4b4038(0xb74)+this['_reflectionVectorName']+_0x4b4038(0xae9)+this['_defineProjectionName']+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+this[_0x4b4038(0x4bd)]+_0x4b4038(0xb1b)+this['_reflectionVectorName']+_0x4b4038(0x67d)+this[_0x4b4038(0x4bd)]+_0x4b4038(0xd9f)+this[_0x4b4038(0x4bd)]+_0x4b4038(0xc3c)),_0x208455;}['handleFragmentSideCodeReflectionColor'](_0x3f52b4,_0x1042be=_0x4d0984(0x436)){var _0x23e758=_0x4d0984,_0x2e1b23='vec'+(0x0===_0x1042be[_0x23e758(0x43c)]?'4':_0x1042be[_0x23e758(0x43c)]-0x1)+('\x20'+this[_0x23e758(0x78d)]+_0x23e758(0x4bb)+this[_0x23e758(0xa3e)]+'\x0d\x0a');return(_0x2e1b23=_0x2e1b23+(_0x3f52b4?this[_0x23e758(0x78d)]+_0x23e758(0x6ca)+this[_0x23e758(0x559)]+',\x20'+this[_0x23e758(0x758)]+',\x20'+_0x3f52b4+')'+_0x1042be+_0x23e758(0x1ea):this['_reflectionColorName']+'\x20=\x20textureCube('+this[_0x23e758(0x559)]+',\x20'+this[_0x23e758(0x758)]+')'+_0x1042be+_0x23e758(0x1ea))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#else\x0d\x0a')+(_0x3f52b4?this[_0x23e758(0x78d)]+_0x23e758(0x661)+this[_0x23e758(0x82c)]+',\x20'+this[_0x23e758(0x4bd)]+',\x20'+_0x3f52b4+')'+_0x1042be+';\x0d\x0a':this[_0x23e758(0x78d)]+'\x20=\x20texture2D('+this[_0x23e758(0x82c)]+',\x20'+this[_0x23e758(0x4bd)]+')'+_0x1042be+_0x23e758(0x1ea))+_0x23e758(0xa72);}[_0x4d0984(0xc03)](_0x55ba2a,_0x5ef10c){var _0x349797=_0x4d0984;let _0x193c5d='';if(_0x55ba2a['target']===_0x3630fe['u'][_0x349797(0xbc1)]){for(const _0xd8ad0a of this[_0x349797(0xad0)])_0xd8ad0a[_0x349797(0x81b)]&&(_0x193c5d+=this['_declareOutput'](_0xd8ad0a,_0x55ba2a)+_0x349797(0xb74)+_0x5ef10c+'.'+_0xd8ad0a['name']+';\x0d\x0a');}return _0x193c5d;}[_0x4d0984(0x6c8)](_0x55ebc1){var _0x1a887f=_0x4d0984;return super[_0x1a887f(0x6c8)](_0x55ebc1),this;}[_0x4d0984(0x1d3)](){var _0x353d33=_0x4d0984;let _0x41c9d2=super[_0x353d33(0x1d3)]();return this[_0x353d33(0x20b)]?(this['texture'][_0x353d33(0xd30)]?(_0x395107=this[_0x353d33(0x20b)][_0x353d33(0xbf4)],_0x41c9d2+=this[_0x353d33(0x631)]+'.texture\x20=\x20new\x20BABYLON.CubeTexture(\x22'+this[_0x353d33(0x20b)][_0x353d33(0xd51)]+_0x353d33(0xc5f)+this[_0x353d33(0x20b)][_0x353d33(0x32a)]+_0x353d33(0x1b4)+this[_0x353d33(0x20b)][_0x353d33(0xc8b)]+',\x20'+(_0x395107?'\x22'+_0x395107+'\x22':'null')+');\x0d\x0a'):_0x41c9d2+=this[_0x353d33(0x631)]+_0x353d33(0x93b)+this[_0x353d33(0x20b)][_0x353d33(0xd51)]+_0x353d33(0xd92),_0x41c9d2+=this[_0x353d33(0x631)]+_0x353d33(0xd4a)+this['texture'][_0x353d33(0xcc2)]+_0x353d33(0x1ea)):_0x41c9d2;var _0x395107;}[_0x4d0984(0x294)](){var _0x1bf597=_0x4d0984;const _0x37d485=super[_0x1bf597(0x294)]();return this['texture']&&!this[_0x1bf597(0x20b)][_0x1bf597(0xa4c)]&&(_0x37d485[_0x1bf597(0x20b)]=this['texture'][_0x1bf597(0x294)]()),_0x37d485[_0x1bf597(0x1ba)]=this['generateOnlyFragmentCode'],_0x37d485;}[_0x4d0984(0x8c3)](_0x1ff26e,_0x216494,_0x368ca9){var _0x20f841=_0x4d0984;super[_0x20f841(0x8c3)](_0x1ff26e,_0x216494,_0x368ca9),_0x1ff26e[_0x20f841(0x20b)]&&!_0x4321d7['O'][_0x20f841(0x3d1)]&&(_0x368ca9=0x0===_0x1ff26e['texture'][_0x20f841(0x2ce)][_0x20f841(0x456)](_0x20f841(0x75a))?'':_0x368ca9,_0x1ff26e[_0x20f841(0x20b)]['isCube']?this[_0x20f841(0x20b)]=_0x34b4ab['B']['Parse'](_0x1ff26e[_0x20f841(0x20b)],_0x216494,_0x368ca9):this['texture']=_0x3e1b45['x'][_0x20f841(0x7d7)](_0x1ff26e[_0x20f841(0x20b)],_0x216494,_0x368ca9)),this['generateOnlyFragmentCode']=_0x1ff26e['generateOnlyFragmentCode'],this[_0x20f841(0xc70)]();}}(function(_0x1c47d8,_0x375aa7,_0x118baf,_0x5ebfd7){var _0x26391a=_0x4d0984,_0x42de5a,_0x1b1c95=arguments[_0x26391a(0x43c)],_0x56c0ab=_0x1b1c95<0x3?_0x375aa7:null===_0x5ebfd7?_0x5ebfd7=Object['getOwnPropertyDescriptor'](_0x375aa7,_0x118baf):_0x5ebfd7;if(_0x26391a(0x413)==typeof Reflect&&'function'==typeof Reflect['decorate'])_0x56c0ab=Reflect['decorate'](_0x1c47d8,_0x375aa7,_0x118baf,_0x5ebfd7);else{for(var _0x47964d=_0x1c47d8[_0x26391a(0x43c)]-0x1;0x0<=_0x47964d;_0x47964d--)(_0x42de5a=_0x1c47d8[_0x47964d])&&(_0x56c0ab=(_0x1b1c95<0x3?_0x42de5a(_0x56c0ab):0x3<_0x1b1c95?_0x42de5a(_0x375aa7,_0x118baf,_0x56c0ab):_0x42de5a(_0x375aa7,_0x118baf))||_0x56c0ab);}0x3<_0x1b1c95&&_0x56c0ab&&Object['defineProperty'](_0x375aa7,_0x118baf,_0x56c0ab);}([(0x0,_0x26bdde['p'])(_0x4d0984(0x696),_0x26bdde['U'][_0x4d0984(0x42b)],_0x4d0984(0x38d),{'notifiers':{'rebuild':!0x0,'update':!0x0,'onValidation':_0x1a1c9f[_0x4d0984(0x616)]}})],_0x1a1c9f['prototype'],_0x4d0984(0x1ba),void 0x0),(0x0,_0x23b32a['H'])(_0x4d0984(0x421),_0x1a1c9f));},0x107c1:(_0x3a0348,_0x323336,_0x319784)=>{var _0x69258f=a6_0x5e3a36;_0x319784['d'](_0x323336,{'$':()=>_0x29f29a});var _0x323336=_0x319784(0x15a52),_0x158af7=_0x319784(0x1137a),_0x1d87c7=_0x319784(0xec3c),_0x204f5c=_0x319784(0x16ad5),_0x54c99b=_0x319784(0xe456),_0x27daa6=_0x319784(0x11c74),_0x21d1d8=_0x319784(0xd646),_0x69b6e0=_0x319784(0xebd3);class _0x29f29a extends _0x323336['k']{constructor(_0xd8c58a){var _0x1b234c=a6_0x4d3f;super(_0xd8c58a,_0x204f5c['u'][_0x1b234c(0xbc1)]),this[_0x1b234c(0x534)]=!0x0,this['registerInput'](_0x1b234c(0x769),_0x158af7['E'][_0x1b234c(0x6a2)],!0x0,_0x204f5c['u'][_0x1b234c(0xbc1)]),this[_0x1b234c(0x9a9)]('indexOfRefraction',_0x158af7['E'][_0x1b234c(0x6a2)],!0x0,_0x204f5c['u'][_0x1b234c(0xbc1)]),this[_0x1b234c(0x9a9)](_0x1b234c(0x5be),_0x158af7['E']['Float'],!0x0,_0x204f5c['u'][_0x1b234c(0xbc1)]),this[_0x1b234c(0x84e)](_0x1b234c(0x1cd),_0x158af7['E']['Object'],_0x204f5c['u'][_0x1b234c(0xbc1)],new _0x21d1d8['C'](_0x1b234c(0x1cd),this,_0x1d87c7['Ab'][_0x1b234c(0x373)],_0x29f29a,_0x1b234c(0xac1)));}[_0x69258f(0x1cf)](_0x2fd8ea){var _0x4e5b7b=_0x69258f;_0x2fd8ea[_0x4e5b7b(0x2ab)](_0x4e5b7b(0x724)),_0x2fd8ea[_0x4e5b7b(0x2ab)]('vIridescenceParams');}[_0x69258f(0xadf)](){return'IridescenceBlock';}get[_0x69258f(0x769)](){return this['_inputs'][0x0];}get[_0x69258f(0x5f2)](){var _0x20efe7=_0x69258f;return this[_0x20efe7(0xa91)][0x1];}get[_0x69258f(0x5be)](){var _0x46210e=_0x69258f;return this[_0x46210e(0xa91)][0x2];}get['iridescence'](){var _0x4a3f71=_0x69258f;return this[_0x4a3f71(0xad0)][0x0];}['autoConfigure'](){var _0x4e42d4=_0x69258f;if(!this[_0x4e42d4(0x769)]['isConnected']){const _0x3eeae2=new _0x27daa6['S'](_0x4e42d4(0x4e5),_0x204f5c['u'][_0x4e42d4(0xbc1)],_0x158af7['E'][_0x4e42d4(0x6a2)]),_0x10941e=(_0x3eeae2[_0x4e42d4(0x438)]=0x1,_0x3eeae2[_0x4e42d4(0xa0b)]['connectTo'](this[_0x4e42d4(0x769)]),new _0x27daa6['S']('Iridescence\x20ior',_0x204f5c['u'][_0x4e42d4(0xbc1)],_0x158af7['E']['Float'])),_0x5cd1a9=(_0x10941e[_0x4e42d4(0x438)]=1.3,_0x10941e[_0x4e42d4(0xa0b)][_0x4e42d4(0x9cd)](this[_0x4e42d4(0x5f2)]),new _0x27daa6['S'](_0x4e42d4(0xcef),_0x204f5c['u'][_0x4e42d4(0xbc1)],_0x158af7['E'][_0x4e42d4(0x6a2)]));_0x5cd1a9['value']=0x190,_0x5cd1a9[_0x4e42d4(0xa0b)][_0x4e42d4(0x9cd)](this[_0x4e42d4(0x5be)]);}}['prepareDefines'](_0x40c0a3,_0x11eb3a,_0x50d41d){var _0x1d004f=_0x69258f;super[_0x1d004f(0x89a)](_0x40c0a3,_0x11eb3a,_0x50d41d),_0x50d41d[_0x1d004f(0x27c)](_0x1d004f(0x88a),!0x0,!0x0),_0x50d41d[_0x1d004f(0x27c)](_0x1d004f(0x46c),!0x1,!0x0),_0x50d41d[_0x1d004f(0x27c)]('IRIDESCENCE_THICKNESS_TEXTURE',!0x1,!0x0);}static['GetCode'](_0x48b3bd){var _0x270e57=_0x69258f;return''+(_0x270e57(0x8cb)+(null!=_0x48b3bd&&_0x48b3bd['intensity'][_0x270e57(0x938)]?_0x48b3bd[_0x270e57(0x769)][_0x270e57(0xa82)]:'1.')+',\x20'+(null!=_0x48b3bd&&_0x48b3bd[_0x270e57(0x5f2)][_0x270e57(0x938)]?_0x48b3bd['indexOfRefraction'][_0x270e57(0xa82)]:_0x69b6e0['B'][_0x270e57(0x450)])+_0x270e57(0x903)+(null!=_0x48b3bd&&_0x48b3bd[_0x270e57(0x5be)][_0x270e57(0x938)]?_0x48b3bd[_0x270e57(0x5be)][_0x270e57(0xa82)]:_0x69b6e0['B']['_DefaultMaximumThickness'])+_0x270e57(0xace));}[_0x69258f(0x6c8)](_0x339d6f){var _0xc34116=_0x69258f;return _0x339d6f['target']===_0x204f5c['u'][_0xc34116(0xbc1)]&&(_0x339d6f[_0xc34116(0xc1b)]['bindableBlocks'][_0xc34116(0x2bd)](this),_0x339d6f[_0xc34116(0xc1b)]['blocksWithDefines']['push'](this)),this;}[_0x69258f(0x294)](){return super['serialize']();}[_0x69258f(0x8c3)](_0x48b638,_0x2f90fa,_0x794f82){var _0x1a8f09=_0x69258f;super[_0x1a8f09(0x8c3)](_0x48b638,_0x2f90fa,_0x794f82);}}(0x0,_0x54c99b['H'])(_0x69258f(0xcf2),_0x29f29a);},0x18495:(_0x49f093,_0x5e6fbf,_0x27ee91)=>{var _0x508aa2=a6_0x5e3a36;_0x27ee91['d'](_0x5e6fbf,{'u':()=>_0xf65b9f});var _0x138a6c=_0x27ee91(0x1137a),_0xae0e5=_0x27ee91(0x16ad5),_0x259ab5=_0x27ee91(0xf75c);class _0xf65b9f{constructor(){var _0x94726=a6_0x4d3f;this[_0x94726(0x340)]=!0x1,this[_0x94726(0x47b)]=new Array(),this[_0x94726(0x481)]=new Array(),this[_0x94726(0x43e)]=new Array(),this[_0x94726(0xc4c)]=new Array(),this[_0x94726(0xc2f)]={},this['extensions']={},this['counters']={},this['_attributeDeclaration']='',this[_0x94726(0xce8)]='',this[_0x94726(0xb93)]='',this[_0x94726(0x94e)]='',this['_varyingTransfer']='',this[_0x94726(0xcbc)]='',this[_0x94726(0xb83)]=0x0,this[_0x94726(0x337)]='',this[_0x94726(0x55a)]='';}[_0x508aa2(0x641)](_0x4abd7f){var _0x5c7a91=_0x508aa2,_0x4abd7f=_0x4abd7f[_0x5c7a91(0xc1b)]['emitComments'],_0x4414c4=this['target']===_0xae0e5['u'][_0x5c7a91(0xbc1)];this['compilationString']='\x0d\x0a'+(_0x4abd7f?'//Entry\x20point\x0d\x0a':'')+'void\x20main(void)\x20{\x0d\x0a'+this[_0x5c7a91(0x55a)],this[_0x5c7a91(0xb93)]&&(this[_0x5c7a91(0x55a)]='\x0d\x0a'+(_0x4abd7f?_0x5c7a91(0x5f9):'')+this[_0x5c7a91(0xb93)]+'\x0d\x0a'+this[_0x5c7a91(0x55a)]);let _0x5e8042='';for(const _0x4ad8e8 in this[_0x5c7a91(0xc2f)])_0x5e8042+=this['functions'][_0x4ad8e8]+'\x0d\x0a';this['compilationString']='\x0d\x0a'+_0x5e8042+'\x0d\x0a'+this[_0x5c7a91(0x55a)],!_0x4414c4&&this[_0x5c7a91(0xa8f)]&&(this[_0x5c7a91(0x55a)]=this['compilationString']+'\x0d\x0a'+this['_varyingTransfer']),this['_injectAtEnd']&&(this[_0x5c7a91(0x55a)]=this[_0x5c7a91(0x55a)]+'\x0d\x0a'+this['_injectAtEnd']),this['compilationString']=this[_0x5c7a91(0x55a)]+_0x5c7a91(0x6ef),this[_0x5c7a91(0xc1b)]['varyingDeclaration']&&(this['compilationString']='\x0d\x0a'+(_0x4abd7f?_0x5c7a91(0x74d):'')+this['sharedData'][_0x5c7a91(0x9f5)]+'\x0d\x0a'+this['compilationString']),this['_samplerDeclaration']&&(this['compilationString']='\x0d\x0a'+(_0x4abd7f?_0x5c7a91(0x807):'')+this[_0x5c7a91(0x94e)]+'\x0d\x0a'+this[_0x5c7a91(0x55a)]),this[_0x5c7a91(0xce8)]&&(this['compilationString']='\x0d\x0a'+(_0x4abd7f?_0x5c7a91(0xd44):'')+this[_0x5c7a91(0xce8)]+'\x0d\x0a'+this[_0x5c7a91(0x55a)]),this[_0x5c7a91(0x495)]&&!_0x4414c4&&(this['compilationString']='\x0d\x0a'+(_0x4abd7f?_0x5c7a91(0xb47):'')+this[_0x5c7a91(0x495)]+'\x0d\x0a'+this['compilationString']),this[_0x5c7a91(0x55a)]=_0x5c7a91(0x229)+this[_0x5c7a91(0x55a)];for(const _0x660f31 in this[_0x5c7a91(0xd61)]){var _0x5e0001=this['extensions'][_0x660f31];this['compilationString']='\x0d\x0a'+_0x5e0001+'\x0d\x0a'+this['compilationString'];}this[_0x5c7a91(0x337)]=this[_0x5c7a91(0x55a)];}get['_repeatableContentAnchor'](){var _0x34f88e=_0x508aa2;return _0x34f88e(0xa95)+this[_0x34f88e(0xb83)]++ +_0x34f88e(0xceb);}['_getFreeVariableName'](_0x11e5c6){var _0x1ba299=_0x508aa2;return _0x11e5c6=_0x11e5c6[_0x1ba299(0x827)](/[^a-zA-Z_]+/g,''),void 0x0===this[_0x1ba299(0xc1b)][_0x1ba299(0xa88)][_0x11e5c6]?(this[_0x1ba299(0xc1b)]['variableNames'][_0x11e5c6]=0x0,_0x1ba299(0xa0b)===_0x11e5c6||_0x1ba299(0x20b)===_0x11e5c6?_0x11e5c6+this['sharedData'][_0x1ba299(0xa88)][_0x11e5c6]:_0x11e5c6):(this[_0x1ba299(0xc1b)][_0x1ba299(0xa88)][_0x11e5c6]++,_0x11e5c6+this[_0x1ba299(0xc1b)][_0x1ba299(0xa88)][_0x11e5c6]);}['_getFreeDefineName'](_0x5fb057){var _0x5d611d=_0x508aa2;return void 0x0===this[_0x5d611d(0xc1b)][_0x5d611d(0x8de)][_0x5fb057]?this[_0x5d611d(0xc1b)]['defineNames'][_0x5fb057]=0x0:this[_0x5d611d(0xc1b)][_0x5d611d(0x8de)][_0x5fb057]++,_0x5fb057+this['sharedData']['defineNames'][_0x5fb057];}['_excludeVariableName'](_0x17e698){var _0x49134b=_0x508aa2;this[_0x49134b(0xc1b)][_0x49134b(0xa88)][_0x17e698]=0x0;}[_0x508aa2(0x396)](_0x4d38d1){var _0x5dc90c=_0x508aa2;this[_0x5dc90c(0xc4c)][_0x5dc90c(0x456)](_0x4d38d1)<0x0&&(this['_samplerDeclaration']+=_0x5dc90c(0x67c)+_0x4d38d1+_0x5dc90c(0x1ea),this[_0x5dc90c(0xc4c)][_0x5dc90c(0x2bd)](_0x4d38d1));}[_0x508aa2(0x527)](_0xabb0a1){var _0x10af83=_0x508aa2;switch(_0xabb0a1){case _0x138a6c['E'][_0x10af83(0x6a2)]:return _0x10af83(0x4d0);case _0x138a6c['E'][_0x10af83(0x3cf)]:return _0x10af83(0x428);case _0x138a6c['E'][_0x10af83(0xb9a)]:return _0x10af83(0xad4);case _0x138a6c['E']['Color3']:case _0x138a6c['E'][_0x10af83(0x4a0)]:return _0x10af83(0xa05);case _0x138a6c['E'][_0x10af83(0xb5d)]:case _0x138a6c['E']['Vector4']:return _0x10af83(0x884);case _0x138a6c['E'][_0x10af83(0x959)]:return'mat4';}return'';}[_0x508aa2(0x3e2)](_0x1be79f,_0x38f851,_0x3b2bee=''){var _0x3c6cb7=_0x508aa2;this[_0x3c6cb7(0xd61)][_0x1be79f]||(this['extensions'][_0x1be79f]=_0x38f851=_0x3b2bee?'#if\x20'+_0x3b2bee+'\x0d\x0a'+_0x38f851+_0x3c6cb7(0x4be):_0x38f851);}[_0x508aa2(0x896)](_0x1dfba4,_0x357838,_0x245065){var _0x477d63=_0x508aa2;this[_0x477d63(0xc2f)][_0x1dfba4]||(this[_0x477d63(0xc1b)][_0x477d63(0xc4a)]&&(_0x357838=_0x245065+'\x0d\x0a'+_0x357838),this['functions'][_0x1dfba4]=_0x357838);}[_0x508aa2(0x5f1)](_0x3f9397,_0x4be87b,_0x774241){var _0x584159=_0x508aa2;if(_0x774241&&_0x774241[_0x584159(0x612)])return _0x584159(0x79d)+_0x3f9397+'>'+(_0x774241[_0x584159(0x1ca)]?'('+_0x774241[_0x584159(0x1ca)]+')':'')+_0x584159(0x913)+_0x774241['repeatKey']+_0x584159(0xc45);let _0x5776b3=_0x259ab5['Q']['IncludesShadersStore'][_0x3f9397]+'\x0d\x0a';if(this['sharedData'][_0x584159(0xc4a)]&&(_0x5776b3=_0x4be87b+'\x0d\x0a'+_0x5776b3),!_0x774241)return _0x5776b3;if(_0x774241[_0x584159(0xa1f)])for(let _0x1d89ad=0x0;_0x1d89ad<_0x774241[_0x584159(0xa1f)]['length'];_0x1d89ad++){var _0x7f7cf4=_0x774241[_0x584159(0xa1f)][_0x1d89ad];_0x5776b3=_0x5776b3[_0x584159(0x827)](_0x7f7cf4[_0x584159(0x214)],_0x7f7cf4[_0x584159(0x827)]);}return _0x5776b3;}[_0x508aa2(0x833)](_0x437dd2,_0x438c27,_0x5a7ddb,_0x50fcdc=''){var _0x17906e=_0x508aa2,_0xa53c3b=_0x437dd2+_0x50fcdc;if(!this[_0x17906e(0xc2f)][_0xa53c3b]){if(!_0x5a7ddb||!(_0x5a7ddb[_0x17906e(0x431)]||_0x5a7ddb['removeUniforms']||_0x5a7ddb['removeVaryings']||_0x5a7ddb[_0x17906e(0x58a)]||_0x5a7ddb[_0x17906e(0xa1f)]))return _0x5a7ddb&&_0x5a7ddb['repeatKey']?this[_0x17906e(0xc2f)][_0xa53c3b]=_0x17906e(0x79d)+_0x437dd2+'>'+(_0x5a7ddb[_0x17906e(0x1ca)]?'('+_0x5a7ddb[_0x17906e(0x1ca)]+')':'')+_0x17906e(0x913)+_0x5a7ddb[_0x17906e(0x612)]+_0x17906e(0xc45):this['functions'][_0xa53c3b]=_0x17906e(0x79d)+_0x437dd2+'>'+(null!=_0x5a7ddb&&_0x5a7ddb[_0x17906e(0x1ca)]?'('+(null==_0x5a7ddb?void 0x0:_0x5a7ddb[_0x17906e(0x1ca)])+')':'')+'\x0d\x0a',void(this[_0x17906e(0xc1b)][_0x17906e(0xc4a)]&&(this['functions'][_0xa53c3b]=_0x438c27+'\x0d\x0a'+this[_0x17906e(0xc2f)][_0xa53c3b]));if(this[_0x17906e(0xc2f)][_0xa53c3b]=_0x259ab5['Q'][_0x17906e(0x466)][_0x437dd2],this[_0x17906e(0xc1b)][_0x17906e(0xc4a)]&&(this['functions'][_0xa53c3b]=_0x438c27+'\x0d\x0a'+this['functions'][_0xa53c3b]),_0x5a7ddb[_0x17906e(0x58a)]&&(this[_0x17906e(0xc2f)][_0xa53c3b]=this['functions'][_0xa53c3b]['replace'](/^\s*?#ifdef.+$/gm,''),this[_0x17906e(0xc2f)][_0xa53c3b]=this[_0x17906e(0xc2f)][_0xa53c3b]['replace'](/^\s*?#endif.*$/gm,''),this[_0x17906e(0xc2f)][_0xa53c3b]=this[_0x17906e(0xc2f)][_0xa53c3b][_0x17906e(0x827)](/^\s*?#else.*$/gm,''),this[_0x17906e(0xc2f)][_0xa53c3b]=this[_0x17906e(0xc2f)][_0xa53c3b][_0x17906e(0x827)](/^\s*?#elif.*$/gm,'')),_0x5a7ddb[_0x17906e(0x431)]&&(this[_0x17906e(0xc2f)][_0xa53c3b]=this['functions'][_0xa53c3b][_0x17906e(0x827)](/^\s*?attribute.+$/gm,'')),_0x5a7ddb[_0x17906e(0xacd)]&&(this[_0x17906e(0xc2f)][_0xa53c3b]=this[_0x17906e(0xc2f)][_0xa53c3b][_0x17906e(0x827)](/^\s*?uniform.+$/gm,'')),_0x5a7ddb[_0x17906e(0x6a6)]&&(this[_0x17906e(0xc2f)][_0xa53c3b]=this[_0x17906e(0xc2f)][_0xa53c3b]['replace'](/^\s*?varying.+$/gm,'')),_0x5a7ddb[_0x17906e(0xa1f)])for(let _0x53b1d8=0x0;_0x53b1d8<_0x5a7ddb[_0x17906e(0xa1f)][_0x17906e(0x43c)];_0x53b1d8++){var _0x1b4b29=_0x5a7ddb[_0x17906e(0xa1f)][_0x53b1d8];this[_0x17906e(0xc2f)][_0xa53c3b]=this[_0x17906e(0xc2f)][_0xa53c3b][_0x17906e(0x827)](_0x1b4b29[_0x17906e(0x214)],_0x1b4b29[_0x17906e(0x827)]);}}}[_0x508aa2(0x549)](_0x440bd3){var _0xa2fa53=_0x508aa2;return-0x1===this[_0xa2fa53(0xc1b)][_0xa2fa53(0xd3c)][_0xa2fa53(0x456)](_0x440bd3)&&(this['sharedData'][_0xa2fa53(0xd3c)][_0xa2fa53(0x2bd)](_0x440bd3),!0x0);}[_0x508aa2(0xb6b)](_0x1bdb57,_0x2fa3e5,_0x16b396='',_0x4e792f=!0x1){var _0x28069a=_0x508aa2;return-0x1===this[_0x28069a(0xc1b)][_0x28069a(0x875)][_0x28069a(0x456)](_0x1bdb57)&&(this[_0x28069a(0xc1b)][_0x28069a(0x875)][_0x28069a(0x2bd)](_0x1bdb57),_0x16b396&&(_0x16b396[_0x28069a(0x429)](_0x28069a(0x632))?this[_0x28069a(0xc1b)][_0x28069a(0x9f5)]+=_0x28069a(0x92b)+_0x16b396+'\x0d\x0a':this[_0x28069a(0xc1b)][_0x28069a(0x9f5)]+=(_0x4e792f?'#ifndef':_0x28069a(0x280))+('\x20'+_0x16b396+'\x0d\x0a')),this[_0x28069a(0xc1b)]['varyingDeclaration']+='varying\x20'+_0x2fa3e5+'\x20'+_0x1bdb57+_0x28069a(0x1ea),_0x16b396&&(this[_0x28069a(0xc1b)][_0x28069a(0x9f5)]+=_0x28069a(0xa72)),!0x0);}[_0x508aa2(0x870)](_0x17a9dc,_0x303c9a,_0x41d885='',_0x129bbc=!0x1){var _0x57cd6b=_0x508aa2;-0x1===this['uniforms'][_0x57cd6b(0x456)](_0x17a9dc)&&(this[_0x57cd6b(0x481)]['push'](_0x17a9dc),_0x41d885&&(_0x41d885[_0x57cd6b(0x429)](_0x57cd6b(0x632))?this[_0x57cd6b(0xce8)]+=_0x57cd6b(0x92b)+_0x41d885+'\x0d\x0a':this[_0x57cd6b(0xce8)]+=(_0x129bbc?_0x57cd6b(0x8ee):'#ifdef')+('\x20'+_0x41d885+'\x0d\x0a')),this[_0x57cd6b(0xce8)]+=_0x57cd6b(0xcdc)+_0x303c9a+'\x20'+_0x17a9dc+_0x57cd6b(0x1ea),_0x41d885&&(this[_0x57cd6b(0xce8)]+=_0x57cd6b(0xa72)));}[_0x508aa2(0x60f)](_0x49cfae){var _0x1057c0=_0x508aa2;return _0x49cfae[_0x1057c0(0x66c)]()===_0x49cfae[_0x1057c0(0x445)](0x0)?_0x49cfae+'.0':_0x49cfae[_0x1057c0(0x66c)]();}}},0x13764:(_0x59c280,_0x521420,_0x67fb8c)=>{_0x67fb8c['d'](_0x521420,{'U':()=>_0x1de5bf});class _0x1de5bf{constructor(){var _0xbfe7a9=a6_0x4d3f;this[_0xbfe7a9(0xd3c)]=new Array(),this[_0xbfe7a9(0x875)]=new Array(),this[_0xbfe7a9(0x9f5)]='',this[_0xbfe7a9(0x54b)]=new Array(),this['textureBlocks']=new Array(),this['bindableBlocks']=new Array(),this[_0xbfe7a9(0x313)]=new Array(),this[_0xbfe7a9(0x8c0)]=new Array(),this[_0xbfe7a9(0x519)]=new Array(),this['repeatableContentBlocks']=new Array(),this[_0xbfe7a9(0x9ea)]=new Array(),this[_0xbfe7a9(0xc9f)]=new Array(),this['animatedInputs']=new Array(),this['variableNames']={},this[_0xbfe7a9(0x8de)]={},this[_0xbfe7a9(0xbcc)]={'needWorldViewMatrix':!0x1,'needWorldViewProjectionMatrix':!0x1,'needAlphaBlending':!0x1,'needAlphaTesting':!0x1},this[_0xbfe7a9(0x322)]={'emitVertex':!0x1,'emitFragment':!0x1,'notConnectedNonOptionalInputs':new Array()},this[_0xbfe7a9(0x3ce)]=!0x1,this['variableNames'][_0xbfe7a9(0x7f1)]=0x0,this['variableNames']['normal']=0x0,this['variableNames'][_0xbfe7a9(0xd88)]=0x0,this[_0xbfe7a9(0xa88)]['uv']=0x0,this['variableNames']['uv2']=0x0,this[_0xbfe7a9(0xa88)][_0xbfe7a9(0x361)]=0x0,this['variableNames'][_0xbfe7a9(0xab4)]=0x0,this['variableNames'][_0xbfe7a9(0x5a2)]=0x0,this[_0xbfe7a9(0xa88)][_0xbfe7a9(0xce5)]=0x0,this[_0xbfe7a9(0xa88)]['color']=0x0,this[_0xbfe7a9(0xa88)][_0xbfe7a9(0x298)]=0x0,this['variableNames'][_0xbfe7a9(0x5b1)]=0x0,this[_0xbfe7a9(0xa88)][_0xbfe7a9(0x2be)]=0x0,this[_0xbfe7a9(0xa88)][_0xbfe7a9(0x79e)]=0x0,this[_0xbfe7a9(0xa88)][_0xbfe7a9(0x743)]=0x0,this[_0xbfe7a9(0xa88)]['specularBase']=0x0,this[_0xbfe7a9(0xa88)][_0xbfe7a9(0x468)]=0x0,this[_0xbfe7a9(0xa88)]['shadow']=0x0,this[_0xbfe7a9(0xa88)][_0xbfe7a9(0x704)]=0x0,this['variableNames'][_0xbfe7a9(0xa79)]=0x0,this['defineNames']['MAINUV0']=0x0,this[_0xbfe7a9(0x8de)][_0xbfe7a9(0x812)]=0x0,this[_0xbfe7a9(0x8de)][_0xbfe7a9(0x506)]=0x0,this[_0xbfe7a9(0x8de)][_0xbfe7a9(0x416)]=0x0,this['defineNames']['MAINUV4']=0x0,this[_0xbfe7a9(0x8de)][_0xbfe7a9(0x54c)]=0x0,this[_0xbfe7a9(0x8de)][_0xbfe7a9(0xc5c)]=0x0,this[_0xbfe7a9(0x8de)][_0xbfe7a9(0x563)]=0x0;}['emitErrors'](){var _0x4a8ce4=a6_0x4d3f;let _0x159e99='';this['checks'][_0x4a8ce4(0xac8)]||this[_0x4a8ce4(0x3ce)]||(_0x159e99+=_0x4a8ce4(0x604)),this[_0x4a8ce4(0x322)]['emitFragment']||(_0x159e99+=_0x4a8ce4(0xb84));for(const _0x9e8c4f of this[_0x4a8ce4(0x322)][_0x4a8ce4(0x6e3)])_0x159e99+=_0x4a8ce4(0x3ef)+_0x9e8c4f['name']+_0x4a8ce4(0x536)+_0x9e8c4f[_0x4a8ce4(0x54f)][_0x4a8ce4(0xd51)]+'['+_0x9e8c4f['ownerBlock'][_0x4a8ce4(0xadf)]()+_0x4a8ce4(0x32d);if(_0x159e99)throw _0x4a8ce4(0x936)+_0x159e99;}}},0x15556:(_0x239c9b,_0x21a755,_0x1e12ed)=>{var _0x506b12=a6_0x5e3a36;_0x1e12ed['d'](_0x21a755,{'x':()=>_0x49c70d});var _0x21a755=_0x1e12ed(0x8af2),_0x15d3cb=_0x1e12ed(0x77a5);class _0x49c70d extends _0x21a755['_']{set[_0x506b12(0x72f)](_0x1e194c){var _0x4049b3=_0x506b12;this[_0x4049b3(0x793)]=_0x1e194c;}get['samples'](){var _0x28f461=_0x506b12;return this[_0x28f461(0x793)];}constructor(_0x65d1b7,_0x21681c=0x200){var _0x1efc1e=_0x506b12;super('multiview\x20rtt',_0x21681c,_0x65d1b7,!0x1,!0x0,_0x15d3cb['g'][_0x1efc1e(0x3e7)],!0x1,void 0x0,!0x1,!0x1,!0x0,void 0x0,!0x0),this['_renderTarget']=this[_0x1efc1e(0xc81)]()[_0x1efc1e(0x9d0)]()[_0x1efc1e(0xafc)](this[_0x1efc1e(0x6c9)](),this[_0x1efc1e(0x804)]()),this[_0x1efc1e(0x45d)]=this[_0x1efc1e(0xd71)][_0x1efc1e(0x20b)],this[_0x1efc1e(0x45d)][_0x1efc1e(0x9f3)]=!0x0,this[_0x1efc1e(0x45d)][_0x1efc1e(0x920)]=_0x15d3cb['g'][_0x1efc1e(0x719)],this[_0x1efc1e(0x72f)]=this[_0x1efc1e(0x64c)]()[_0x1efc1e(0x780)]()['maxSamples']||this['samples'],this[_0x1efc1e(0x45d)][_0x1efc1e(0x72f)]=this[_0x1efc1e(0x793)];}[_0x506b12(0x540)](){var _0x2300c4=_0x506b12;this[_0x2300c4(0xd71)]&&this[_0x2300c4(0xc81)]()[_0x2300c4(0x9d0)]()['bindMultiviewFramebuffer'](this[_0x2300c4(0xd71)]);}[_0x506b12(0xb6a)](){return 0x2;}}},0xb120:(_0x4d1c99,_0x1d374d,_0x1f22ff)=>{_0x1f22ff['d'](_0x1d374d,{'p':()=>_0x550b05});class _0x550b05{constructor(_0x21394b,_0x47bf02,_0x5a092f){var _0x2c4fee=a6_0x4d3f;this['id']=_0x21394b,this[_0x2c4fee(0x442)]=_0x47bf02,this['offset']=_0x5a092f;}}},0x174f7:(_0x2943e7,_0x117ecc,_0x1a1710)=>{var _0x35fbf7=a6_0x5e3a36,_0x42d44a=_0x1a1710(0xe303),_0x1a1710=_0x1a1710(0x11929);_0x1a1710['V']['prototype'][_0x35fbf7(0x5ce)]=function(){var _0x1a7186=_0x35fbf7;this[_0x1a7186(0x45d)]&&(this['_texture'][_0x1a7186(0x8c1)]=null,this[_0x1a7186(0x45d)][_0x1a7186(0xc01)]=null,this[_0x1a7186(0x45d)]['_sphericalPolynomialComputed']=!0x1);},Object['defineProperty'](_0x1a1710['V'][_0x35fbf7(0x733)],_0x35fbf7(0x6f3),{'get':function(){var _0x142eab=_0x35fbf7;if(this[_0x142eab(0x45d)]){if(this['_texture'][_0x142eab(0x8c1)]||this[_0x142eab(0x45d)][_0x142eab(0x37f)])return this[_0x142eab(0x45d)][_0x142eab(0x8c1)];if(this[_0x142eab(0x45d)]['isReady'])return this['_texture']['_sphericalPolynomialPromise']||(this[_0x142eab(0x45d)][_0x142eab(0xc01)]=_0x42d44a['$'][_0x142eab(0x347)](this),null===this[_0x142eab(0x45d)][_0x142eab(0xc01)]?this[_0x142eab(0x45d)][_0x142eab(0x37f)]=!0x0:this[_0x142eab(0x45d)][_0x142eab(0xc01)][_0x142eab(0x40d)](_0x43a23f=>{var _0x33a48b=_0x142eab;this[_0x33a48b(0x45d)][_0x33a48b(0x8c1)]=_0x43a23f,this['_texture'][_0x33a48b(0x37f)]=!0x0;})),null;}return null;},'set':function(_0x191d58){var _0x28b313=_0x35fbf7;this['_texture']&&(this[_0x28b313(0x45d)]['_sphericalPolynomial']=_0x191d58);},'enumerable':!0x0,'configurable':!0x0});},0x16ea5:(_0x1ff783,_0x3420b2,_0x2bbcc2)=>{var _0x31fc9a=a6_0x5e3a36;_0x2bbcc2['d'](_0x3420b2,{'N':()=>_0x387892});var _0x3420b2=_0x2bbcc2(0x163e6),_0x1be8c1=_0x2bbcc2(0xc3ae);class _0x387892 extends _0x3420b2['K']{constructor(_0x50c323,_0xbcd479,_0x16e137,_0x53eda3,_0x966178,_0x5c8095){var _0x1304e2=a6_0x4d3f;super(_0x50c323,_0x16e137,_0x53eda3,_0x966178,_0x5c8095),this[_0x1304e2(0x25a)]=[],this[_0x1304e2(0x1b1)]=!0x1,this[_0x1304e2(0xcc9)]=!0x1,this[_0x1304e2(0xabc)]=null,this[_0x1304e2(0xabc)]=_0xbcd479;}[_0x31fc9a(0xc3e)](){var _0x3d6950=_0x31fc9a;this[_0x3d6950(0x2bb)]=new _0x1be8c1['z'](_0x3d6950(0x89b),0x1,null,void 0x0,this['_engine']),this[_0x3d6950(0x2bb)][_0x3d6950(0x28a)]();}[_0x31fc9a(0x3d3)](){var _0x50ea47=_0x31fc9a,_0x4de50b=this[_0x50ea47(0x57c)][_0x50ea47(0x6c9)](!0x0),_0x435f63=this[_0x50ea47(0x57c)][_0x50ea47(0x804)](!0x0),_0xd821c6=this[_0x50ea47(0x6c9)](),_0x1c9ad6=this[_0x50ea47(0x804)]();_0xd821c6===_0x4de50b&&_0x1c9ad6===_0x435f63||(this['resize']({'width':_0x4de50b,'height':_0x435f63}),this[_0x50ea47(0x1b1)]=!0x0);}[_0x31fc9a(0x645)](_0x36c64e,_0x3891e4,_0x6f746e){var _0x1acc86=_0x31fc9a;super[_0x1acc86(0x645)](_0x36c64e,_0x3891e4,_0x6f746e),this[_0x1acc86(0x1b1)]=!0x0;}[_0x31fc9a(0x5fd)](){var _0x3e7eb3=_0x31fc9a;this[_0x3e7eb3(0x25a)][_0x3e7eb3(0x43c)]=0x0;}[_0x31fc9a(0x8fc)](){var _0x360b71=_0x31fc9a;const _0x33dc7c=this[_0x360b71(0xccd)];var _0x2b1d81;super[_0x360b71(0x8fc)](),_0x33dc7c&&_0x33dc7c[_0x360b71(0x6cf)]&&-0x1!==(_0x2b1d81=_0x33dc7c[_0x360b71(0x6cf)][_0x360b71(0x3e9)][_0x360b71(0x456)](this))&&_0x33dc7c[_0x360b71(0x6cf)]['renderTargets'][_0x360b71(0x2d2)](_0x2b1d81,0x1),this['imageProcessingPostProcess']&&this[_0x360b71(0x2bb)][_0x360b71(0x8fc)](),this[_0x360b71(0xabc)]&&(this[_0x360b71(0xabc)][_0x360b71(0xb72)]=null),this[_0x360b71(0xc49)]&&(this[_0x360b71(0xc49)][_0x360b71(0x61a)]=!0x0,this[_0x360b71(0xc49)][_0x360b71(0xce1)]());}}},0x2088:(_0x17d65a,_0x1b3262,_0x6a1613)=>{function _0x6295ea(_0x2e226c,_0x252d7d,_0x1e4103){var _0x5baae0=a6_0x4d3f;_0x1e4103&&_0x2e226c[_0x5baae0(0xac3)](_0x252d7d,_0x1e4103[_0x5baae0(0xb95)]['x'],_0x1e4103[_0x5baae0(0xb95)]['y'],_0x1e4103[_0x5baae0(0xb95)]['z'],_0x1e4103['d']);}function _0x48af51(_0x305662,_0xcc6fc,_0x543184,_0x1620d3){var _0x4e865d=a6_0x4d3f,_0x25df82,_0x4dd18d=!!_0x305662;let _0x9b2eec;return Array[_0x4e865d(0x302)](_0xcc6fc)?(_0x25df82=_0xcc6fc['indexOf'](_0x1620d3),!(_0x9b2eec=-0x1!==_0x25df82)&&_0x305662?_0xcc6fc['push'](_0x1620d3):_0x9b2eec&&!_0x305662&&_0xcc6fc[_0x4e865d(0x2d2)](_0x25df82,0x1)):(_0x9b2eec=_0xcc6fc[_0x543184],_0xcc6fc[_0x543184]=_0x4dd18d),_0x9b2eec!==_0x4dd18d;}_0x6a1613['d'](_0x1b3262,{'AN':()=>function(_0x563a8d,_0x5a7e37,_0x35febf){var _0x5decb6=a6_0x4d3f,_0x4a781d;let _0x5c6a84=!0x1,_0x5903b1=null!=(_0x4a781d=_0x563a8d['clipPlane'])?_0x4a781d:_0x5a7e37[_0x5decb6(0x52a)];return _0x5c6a84=_0x48af51(_0x5903b1,_0x35febf,_0x5decb6(0xaf4),_0x5decb6(0xa56))||_0x5c6a84,_0x5903b1=null!=(_0x4a781d=_0x563a8d[_0x5decb6(0x556)])?_0x4a781d:_0x5a7e37[_0x5decb6(0x556)],_0x5c6a84=_0x48af51(_0x5903b1,_0x35febf,'CLIPPLANE2',_0x5decb6(0xd03))||_0x5c6a84,_0x5903b1=null!=(_0x4a781d=_0x563a8d[_0x5decb6(0x972)])?_0x4a781d:_0x5a7e37[_0x5decb6(0x972)],_0x5c6a84=_0x48af51(_0x5903b1,_0x35febf,_0x5decb6(0x23f),_0x5decb6(0x2a5))||_0x5c6a84,_0x5903b1=null!=(_0x4a781d=_0x563a8d[_0x5decb6(0xa93)])?_0x4a781d:_0x5a7e37[_0x5decb6(0xa93)],_0x5c6a84=_0x48af51(_0x5903b1,_0x35febf,_0x5decb6(0x3f4),_0x5decb6(0xbb9))||_0x5c6a84,_0x5903b1=null!=(_0x4a781d=_0x563a8d[_0x5decb6(0x668)])?_0x4a781d:_0x5a7e37[_0x5decb6(0x668)],_0x5c6a84=_0x48af51(_0x5903b1,_0x35febf,_0x5decb6(0x817),_0x5decb6(0x3a1))||_0x5c6a84,_0x5903b1=null!=(_0x4a781d=_0x563a8d[_0x5decb6(0x785)])?_0x4a781d:_0x5a7e37['clipPlane6'],_0x5c6a84=_0x48af51(_0x5903b1,_0x35febf,'CLIPPLANE6','#define\x20CLIPPLANE6')||_0x5c6a84;},'an':()=>function(_0x1b2692,_0x3b7c55,_0x34e603){var _0x3cf571=a6_0x4d3f,_0x123d79;_0x6295ea(_0x1b2692,'vClipPlane',null!=(_0x123d79=_0x3b7c55['clipPlane'])?_0x123d79:_0x34e603[_0x3cf571(0x52a)]),_0x6295ea(_0x1b2692,_0x3cf571(0xbe9),null!=(_0x123d79=_0x3b7c55[_0x3cf571(0x556)])?_0x123d79:_0x34e603[_0x3cf571(0x556)]),_0x6295ea(_0x1b2692,'vClipPlane3',null!=(_0x123d79=_0x3b7c55[_0x3cf571(0x972)])?_0x123d79:_0x34e603[_0x3cf571(0x972)]),_0x6295ea(_0x1b2692,_0x3cf571(0x6ab),null!=(_0x123d79=_0x3b7c55['clipPlane4'])?_0x123d79:_0x34e603[_0x3cf571(0xa93)]),_0x6295ea(_0x1b2692,_0x3cf571(0xa38),null!=(_0x123d79=_0x3b7c55[_0x3cf571(0x668)])?_0x123d79:_0x34e603[_0x3cf571(0x668)]),_0x6295ea(_0x1b2692,_0x3cf571(0x992),null!=(_0x123d79=_0x3b7c55[_0x3cf571(0x785)])?_0x123d79:_0x34e603['clipPlane6']);},'qx':()=>function(_0x3d66d8){var _0x5699de=a6_0x4d3f;-0x1===_0x3d66d8['indexOf'](_0x5699de(0xca5))&&_0x3d66d8[_0x5699de(0x2bd)]('vClipPlane'),-0x1===_0x3d66d8['indexOf'](_0x5699de(0xbe9))&&_0x3d66d8[_0x5699de(0x2bd)](_0x5699de(0xbe9)),-0x1===_0x3d66d8['indexOf'](_0x5699de(0x6d3))&&_0x3d66d8[_0x5699de(0x2bd)](_0x5699de(0x6d3)),-0x1===_0x3d66d8[_0x5699de(0x456)](_0x5699de(0x6ab))&&_0x3d66d8[_0x5699de(0x2bd)]('vClipPlane4'),-0x1===_0x3d66d8['indexOf'](_0x5699de(0xa38))&&_0x3d66d8[_0x5699de(0x2bd)](_0x5699de(0xa38)),-0x1===_0x3d66d8[_0x5699de(0x456)](_0x5699de(0x992))&&_0x3d66d8[_0x5699de(0x2bd)]('vClipPlane6');}});},0xcef:(_0x57cd39,_0x5d26aa,_0x224f6a)=>{var _0x28e51e=a6_0x5e3a36;_0x224f6a['d'](_0x5d26aa,{'q':()=>_0x237c03});class _0x237c03{constructor(_0x1e7c79,_0xc63496=!0x0){var _0x4c0e5c=a6_0x4d3f;this[_0x4c0e5c(0xa78)]=null,this[_0x4c0e5c(0xc93)]=null,this[_0x4c0e5c(0x500)]=_0x1e7c79[_0x4c0e5c(0xc94)](),_0xc63496&&(this[_0x4c0e5c(0x38e)]=_0x1e7c79[_0x4c0e5c(0x249)]());}static['IsWrapper'](_0x2c9425){var _0x1ffc8a=a6_0x4d3f;return void 0x0===_0x2c9425[_0x1ffc8a(0xa4a)];}static['GetEffect'](_0x37e7ad){var _0x167a0e=a6_0x4d3f;return void 0x0===_0x37e7ad[_0x167a0e(0xa4a)]?_0x37e7ad[_0x167a0e(0xa78)]:_0x37e7ad;}[_0x28e51e(0xb90)](_0x233250,_0x3e376a,_0x5c5b92=!0x0){var _0x5ccc2c=_0x28e51e;this[_0x5ccc2c(0xa78)]=_0x233250,void 0x0!==_0x3e376a&&(this[_0x5ccc2c(0xc93)]=_0x3e376a),_0x5c5b92&&null!=(_0x233250=this[_0x5ccc2c(0x500)])&&_0x233250['reset']();}[_0x28e51e(0x8fc)](){var _0x539280=_0x28e51e,_0x2516bb;null!=(_0x2516bb=this[_0x539280(0x500)])&&_0x2516bb[_0x539280(0x8fc)]();}}},0x6421:(_0x3dd19d,_0x48aac3,_0x1fbe24)=>{var _0x36966c=a6_0x5e3a36;_0x1fbe24['d'](_0x48aac3,{'L':()=>_0x14ec90});class _0x14ec90{constructor(){var _0x3acc5a=a6_0x4d3f;this[_0x3acc5a(0xcc8)]={},this[_0x3acc5a(0x722)]=0x20,this[_0x3acc5a(0x22e)]=-0x1,this['_mesh']=null;}[_0x36966c(0x9b0)](){var _0x17018c=_0x36966c;this[_0x17018c(0x378)]=null;}[_0x36966c(0x800)](_0x555ba1,_0x32af2c){var _0x4d1230=_0x36966c;this[_0x4d1230(0xcc8)][_0x555ba1]||(_0x555ba1<this[_0x4d1230(0x722)]&&(this[_0x4d1230(0x722)]=_0x555ba1),_0x555ba1>this['_maxRank']&&(this[_0x4d1230(0x22e)]=_0x555ba1),this[_0x4d1230(0xcc8)][_0x555ba1]=new Array()),this[_0x4d1230(0xcc8)][_0x555ba1][_0x4d1230(0x2bd)](_0x32af2c);}[_0x36966c(0x8a9)](_0x173091,_0xb8130c){var _0x11be47=_0x36966c;this[_0x11be47(0x378)]=_0xb8130c,_0x173091<this[_0x11be47(0x722)]&&(this[_0x11be47(0x722)]=_0x173091),_0x173091>this[_0x11be47(0x22e)]&&(this['_maxRank']=_0x173091);}get[_0x36966c(0xad2)](){var _0x20ecdc=_0x36966c;return this[_0x20ecdc(0x722)]<=this[_0x20ecdc(0x22e)];}[_0x36966c(0x691)](_0x44718b,_0x378918){var _0x33aa20=_0x36966c;if(this[_0x33aa20(0x378)]&&this[_0x33aa20(0x378)][_0x33aa20(0xd0d)]&&0x0<this[_0x33aa20(0x378)][_0x33aa20(0xc2e)]){this[_0x33aa20(0x378)][_0x33aa20(0xd0d)]=!0x1,_0x44718b=_0x44718b['replace']('#define\x20NUM_BONE_INFLUENCERS\x20'+this[_0x33aa20(0x378)]['numBoneInfluencers'],_0x33aa20(0x339)),_0x378918[_0x33aa20(0xcfb)]=!0x0;var _0x2d6986=this['_mesh']['getScene']();for(let _0x482f0b=0x0;_0x482f0b<_0x2d6986[_0x33aa20(0x7af)][_0x33aa20(0x43c)];_0x482f0b++){const _0x59c959=_0x2d6986[_0x33aa20(0x7af)][_0x482f0b];if(_0x59c959[_0x33aa20(0x8ae)]){if(_0x59c959['computeBonesUsingShaders']&&0x0!==_0x59c959[_0x33aa20(0xc2e)]){if(_0x59c959[_0x33aa20(0x8ae)]['getEffect']()===_0x378918)_0x59c959[_0x33aa20(0xd0d)]=!0x1;else{if(_0x59c959[_0x33aa20(0x522)]){for(const _0x48dfdd of _0x59c959[_0x33aa20(0x522)])if(_0x48dfdd['effect']===_0x378918){_0x59c959[_0x33aa20(0xd0d)]=!0x1;break;}}}}}else!this[_0x33aa20(0x378)][_0x33aa20(0x8ae)]&&_0x59c959['computeBonesUsingShaders']&&0x0<_0x59c959[_0x33aa20(0xc2e)]&&(_0x59c959['computeBonesUsingShaders']=!0x1);}}else{var _0xc6af3=this[_0x33aa20(0xcc8)][this[_0x33aa20(0x722)]];if(_0xc6af3){for(let _0x204c7e=0x0;_0x204c7e<_0xc6af3[_0x33aa20(0x43c)];_0x204c7e++)_0x44718b=_0x44718b[_0x33aa20(0x827)]('#define\x20'+_0xc6af3[_0x204c7e],'');}this[_0x33aa20(0x722)]++;}return _0x44718b;}}},0x11e40:(_0x36cbee,_0x417185,_0x42c9d9)=>{var _0x22a1c7=a6_0x5e3a36;_0x42c9d9['d'](_0x417185,{'H':()=>_0x20e39a});class _0x20e39a{constructor(_0x3f0084){var _0x17cd65=a6_0x4d3f;if(this[_0x17cd65(0x1bd)]=[],this[_0x17cd65(0x699)]=!0x0,this[_0x17cd65(0x9c0)]=!0x0,this[_0x17cd65(0x385)]=!0x1,this[_0x17cd65(0xaeb)]=!0x0,this[_0x17cd65(0xcca)]=!0x0,this[_0x17cd65(0x455)]=!0x0,this[_0x17cd65(0x5bf)]=!0x0,this['_arePrePassDirty']=!0x0,this[_0x17cd65(0x3d8)]=!0x0,this['_normals']=!0x1,this['_uvs']=!0x1,this[_0x17cd65(0xc77)]=!0x1,this[_0x17cd65(0xb05)]=!0x1,this[_0x17cd65(0xbc0)]=_0x3f0084){for(const _0x498bf4 in _0x3f0084)Object[_0x17cd65(0x733)][_0x17cd65(0x6c7)][_0x17cd65(0x4f3)](_0x3f0084,_0x498bf4)&&this[_0x17cd65(0xc0b)](_0x498bf4);}}get[_0x22a1c7(0xb57)](){return this['_isDirty'];}['markAsProcessed'](){var _0x40b782=_0x22a1c7;this[_0x40b782(0x699)]=!0x1,this[_0x40b782(0xaeb)]=!0x1,this[_0x40b782(0xcca)]=!0x1,this[_0x40b782(0x455)]=!0x1,this[_0x40b782(0x9c0)]=!0x1,this[_0x40b782(0x385)]=!0x1,this[_0x40b782(0x5bf)]=!0x1,this['_arePrePassDirty']=!0x1,this[_0x40b782(0x3d8)]=!0x1;}['markAsUnprocessed'](){var _0x305d1b=_0x22a1c7;this[_0x305d1b(0x699)]=!0x0;}[_0x22a1c7(0x966)](){var _0x2ea593=_0x22a1c7;this['_areTexturesDirty']=!0x0,this[_0x2ea593(0xaeb)]=!0x0,this['_areLightsDirty']=!0x0,this[_0x2ea593(0x455)]=!0x0,this['_areMiscDirty']=!0x0,this['_areImageProcessingDirty']=!0x0,this['_isDirty']=!0x0;}[_0x22a1c7(0x790)](){var _0x77b7d5=_0x22a1c7;this[_0x77b7d5(0x3d8)]=!0x0,this[_0x77b7d5(0x699)]=!0x0;}[_0x22a1c7(0x4c9)](_0x301e67=!0x1){var _0x1dcfdb=_0x22a1c7;this[_0x1dcfdb(0x9c0)]=!0x0,this['_areLightsDisposed']=this[_0x1dcfdb(0x385)]||_0x301e67,this['_isDirty']=!0x0;}[_0x22a1c7(0xcab)](){var _0x1b3a14=_0x22a1c7;this[_0x1b3a14(0xaeb)]=!0x0,this[_0x1b3a14(0x699)]=!0x0;}[_0x22a1c7(0x8c8)](){var _0xa728f3=_0x22a1c7;this[_0xa728f3(0xcca)]=!0x0,this[_0xa728f3(0x699)]=!0x0;}[_0x22a1c7(0x597)](){var _0x35e593=_0x22a1c7;this['_areFresnelDirty']=!0x0,this[_0x35e593(0x699)]=!0x0;}[_0x22a1c7(0x5e3)](){var _0x3745c0=_0x22a1c7;this['_areMiscDirty']=!0x0,this[_0x3745c0(0x699)]=!0x0;}[_0x22a1c7(0xba6)](){var _0x3d5bce=_0x22a1c7;this[_0x3d5bce(0xc7b)]=!0x0,this['_isDirty']=!0x0;}[_0x22a1c7(0xb56)](){var _0x432d77=_0x22a1c7;this[_0x432d77(0x1bd)]['length']=0x0;for(const _0x4c54f5 of Object[_0x432d77(0xae4)](this))'_'!==_0x4c54f5[0x0]&&this[_0x432d77(0x1bd)]['push'](_0x4c54f5);if(this['_externalProperties']){for(const _0x339ce5 in this['_externalProperties'])-0x1===this[_0x432d77(0x1bd)]['indexOf'](_0x339ce5)&&this[_0x432d77(0x1bd)][_0x432d77(0x2bd)](_0x339ce5);}}['isEqual'](_0x33fdb8){var _0x20c641=_0x22a1c7;if(this[_0x20c641(0x1bd)][_0x20c641(0x43c)]!==_0x33fdb8[_0x20c641(0x1bd)][_0x20c641(0x43c)])return!0x1;for(let _0x2bd81e=0x0;_0x2bd81e<this[_0x20c641(0x1bd)][_0x20c641(0x43c)];_0x2bd81e++){var _0x11e2eb=this['_keys'][_0x2bd81e];if(this[_0x11e2eb]!==_0x33fdb8[_0x11e2eb])return!0x1;}return!0x0;}['cloneTo'](_0xed0856){var _0x124628=_0x22a1c7;this['_keys']['length']!==_0xed0856[_0x124628(0x1bd)][_0x124628(0x43c)]&&(_0xed0856[_0x124628(0x1bd)]=this[_0x124628(0x1bd)][_0x124628(0x98e)](0x0));for(let _0x5b18af=0x0;_0x5b18af<this['_keys'][_0x124628(0x43c)];_0x5b18af++){var _0x10afe1=this[_0x124628(0x1bd)][_0x5b18af];_0xed0856[_0x10afe1]=this[_0x10afe1];}}[_0x22a1c7(0x247)](){var _0x1f6c2b=_0x22a1c7;this[_0x1f6c2b(0x1bd)][_0x1f6c2b(0x840)](_0x22486a=>this['_setDefaultValue'](_0x22486a));}['_setDefaultValue'](_0x534c03){var _0x1074fc=_0x22a1c7,_0x2fa4e3,_0x59e944=null!=(_0x59e944=null==(_0x59e944=null==(_0x59e944=this[_0x1074fc(0xbc0)])?void 0x0:_0x59e944[_0x534c03])?void 0x0:_0x59e944[_0x1074fc(0xa18)])?_0x59e944:typeof this[_0x534c03],_0x4f31f8=null==(_0x2fa4e3=null==(_0x2fa4e3=this[_0x1074fc(0xbc0)])?void 0x0:_0x2fa4e3[_0x534c03])?void 0x0:_0x2fa4e3[_0x1074fc(0xd31)];switch(_0x59e944){case _0x1074fc(0x3f1):this[_0x534c03]=null!=_0x4f31f8?_0x4f31f8:0x0;break;case'string':this[_0x534c03]=null!=_0x4f31f8?_0x4f31f8:'';break;default:this[_0x534c03]=null!=_0x4f31f8&&_0x4f31f8;}}[_0x22a1c7(0x66c)](){var _0x5c9f75=_0x22a1c7;let _0xca0f9c='';for(let _0x4ff0ca=0x0;_0x4ff0ca<this[_0x5c9f75(0x1bd)][_0x5c9f75(0x43c)];_0x4ff0ca++){var _0x50c38c=this[_0x5c9f75(0x1bd)][_0x4ff0ca],_0x49a547=this[_0x50c38c];switch(typeof _0x49a547){case _0x5c9f75(0x3f1):case'string':_0xca0f9c+=_0x5c9f75(0x292)+_0x50c38c+'\x20'+_0x49a547+'\x0a';break;default:_0x49a547&&(_0xca0f9c+=_0x5c9f75(0x292)+_0x50c38c+'\x0a');}}return _0xca0f9c;}}},0x627e:(_0x5e6770,_0xe21018,_0x352cf5)=>{var _0x40ab61=a6_0x5e3a36;_0x352cf5['d'](_0xe21018,{'S':()=>_0x50ee8a});function _0xe63d63(_0x3231f6,_0x2575c4,_0x49f4f9,_0x32fe3c){var _0x14ae1b=a6_0x4d3f,_0xbac343,_0x408321=arguments[_0x14ae1b(0x43c)],_0x2aa401=_0x408321<0x3?_0x2575c4:null===_0x32fe3c?_0x32fe3c=Object[_0x14ae1b(0xc0c)](_0x2575c4,_0x49f4f9):_0x32fe3c;if('object'==typeof Reflect&&_0x14ae1b(0x222)==typeof Reflect[_0x14ae1b(0x33b)])_0x2aa401=Reflect[_0x14ae1b(0x33b)](_0x3231f6,_0x2575c4,_0x49f4f9,_0x32fe3c);else{for(var _0x12dd55=_0x3231f6[_0x14ae1b(0x43c)]-0x1;0x0<=_0x12dd55;_0x12dd55--)(_0xbac343=_0x3231f6[_0x12dd55])&&(_0x2aa401=(_0x408321<0x3?_0xbac343(_0x2aa401):0x3<_0x408321?_0xbac343(_0x2575c4,_0x49f4f9,_0x2aa401):_0xbac343(_0x2575c4,_0x49f4f9))||_0x2aa401);}0x3<_0x408321&&_0x2aa401&&Object[_0x14ae1b(0x3b9)](_0x2575c4,_0x49f4f9,_0x2aa401);}var _0x124955=_0x352cf5(0x77a5),_0xe5bdc8=_0x352cf5(0x153ad);class _0x50ee8a{constructor(){var _0x330c06=a6_0x4d3f;this[_0x330c06(0x247)]();}[_0x40ab61(0x247)](){var _0x2899f8=_0x40ab61;this['enabled']=!0x1,this['mask']=0xff,this['func']=_0x124955['g'][_0x2899f8(0x43d)],this[_0x2899f8(0x2e7)]=0x1,this[_0x2899f8(0x1f1)]=0xff,this[_0x2899f8(0xd17)]=_0x124955['g'][_0x2899f8(0xaf5)],this[_0x2899f8(0x5f8)]=_0x124955['g'][_0x2899f8(0xaf5)],this[_0x2899f8(0x9da)]=_0x124955['g'][_0x2899f8(0x235)];}get[_0x40ab61(0x649)](){var _0x2c9ade=_0x40ab61;return this[_0x2c9ade(0x3c6)];}set[_0x40ab61(0x649)](_0x209c1a){var _0x3b01f8=_0x40ab61;this[_0x3b01f8(0x3c6)]=_0x209c1a;}get[_0x40ab61(0x2e7)](){return this['_funcRef'];}set[_0x40ab61(0x2e7)](_0x4e0d11){var _0x167c69=_0x40ab61;this[_0x167c69(0x774)]=_0x4e0d11;}get[_0x40ab61(0x1f1)](){var _0x26b820=_0x40ab61;return this[_0x26b820(0xa73)];}set[_0x40ab61(0x1f1)](_0x101feb){var _0x596297=_0x40ab61;this[_0x596297(0xa73)]=_0x101feb;}get[_0x40ab61(0xd17)](){var _0x4436ac=_0x40ab61;return this[_0x4436ac(0xc41)];}set[_0x40ab61(0xd17)](_0x183653){this['_opStencilFail']=_0x183653;}get[_0x40ab61(0x5f8)](){var _0x1c5089=_0x40ab61;return this[_0x1c5089(0x27a)];}set[_0x40ab61(0x5f8)](_0x55ab80){this['_opDepthFail']=_0x55ab80;}get[_0x40ab61(0x9da)](){var _0x474b91=_0x40ab61;return this[_0x474b91(0x598)];}set[_0x40ab61(0x9da)](_0x30950b){var _0x27c0c0=_0x40ab61;this[_0x27c0c0(0x598)]=_0x30950b;}get[_0x40ab61(0x432)](){var _0x44f1f7=_0x40ab61;return this[_0x44f1f7(0xb45)];}set[_0x40ab61(0x432)](_0x54b673){var _0x4c969f=_0x40ab61;this[_0x4c969f(0xb45)]=_0x54b673;}get['enabled'](){var _0x4cd5ef=_0x40ab61;return this[_0x4cd5ef(0x9e9)];}set[_0x40ab61(0xcc9)](_0x12c078){var _0x563d92=_0x40ab61;this[_0x563d92(0x9e9)]=_0x12c078;}[_0x40ab61(0xadf)](){var _0x4a2f9e=_0x40ab61;return _0x4a2f9e(0x95b);}['copyTo'](_0x32848a){var _0x2b495d=_0x40ab61;_0xe5bdc8['p4'][_0x2b495d(0xc5a)](()=>_0x32848a,this);}[_0x40ab61(0x294)](){return _0xe5bdc8['p4']['Serialize'](this);}[_0x40ab61(0xcfe)](_0x484521,_0x1ca480,_0x28acde){_0xe5bdc8['p4']['Parse'](()=>this,_0x484521,_0x1ca480,_0x28acde);}}_0xe63d63([(0x0,_0xe5bdc8['qC'])()],_0x50ee8a[_0x40ab61(0x733)],_0x40ab61(0x649),null),_0xe63d63([(0x0,_0xe5bdc8['qC'])()],_0x50ee8a[_0x40ab61(0x733)],'funcRef',null),_0xe63d63([(0x0,_0xe5bdc8['qC'])()],_0x50ee8a[_0x40ab61(0x733)],_0x40ab61(0x1f1),null),_0xe63d63([(0x0,_0xe5bdc8['qC'])()],_0x50ee8a[_0x40ab61(0x733)],_0x40ab61(0xd17),null),_0xe63d63([(0x0,_0xe5bdc8['qC'])()],_0x50ee8a['prototype'],_0x40ab61(0x5f8),null),_0xe63d63([(0x0,_0xe5bdc8['qC'])()],_0x50ee8a[_0x40ab61(0x733)],'opStencilDepthPass',null),_0xe63d63([(0x0,_0xe5bdc8['qC'])()],_0x50ee8a[_0x40ab61(0x733)],'mask',null),_0xe63d63([(0x0,_0xe5bdc8['qC'])()],_0x50ee8a['prototype'],_0x40ab61(0xcc9),null);},0x1836a:(_0x2a4ade,_0x7cd77a,_0x35e488)=>{var _0x3f83da=a6_0x5e3a36;_0x35e488['d'](_0x7cd77a,{'o':()=>_0x4c7387});var _0x5b10aa=_0x35e488(0x77a5);class _0x4c7387{constructor(){var _0x459bdb=a6_0x4d3f;this[_0x459bdb(0x33d)]={},this[_0x459bdb(0x393)]={};}static[_0x3f83da(0xbce)](_0xfa8cb3){var _0xa0398c=_0x3f83da;_0xfa8cb3[_0xa0398c(0x2bd)]('previousWorld','previousViewProjection',_0xa0398c(0x78b));}static[_0x3f83da(0x5b4)](_0xb74801){}[_0x3f83da(0x987)](_0x48a58f,_0x41af3f,_0x2fa879,_0x45c52b,_0x26b416){var _0x3c6f06=_0x3f83da,_0x2bb44a;_0x41af3f[_0x3c6f06(0x6cf)]&&_0x41af3f[_0x3c6f06(0x6cf)][_0x3c6f06(0xcc9)]&&_0x41af3f[_0x3c6f06(0x6cf)][_0x3c6f06(0xd69)]&&-0x1!==_0x41af3f[_0x3c6f06(0x6cf)][_0x3c6f06(0xaa2)](_0x5b10aa['g'][_0x3c6f06(0x324)])&&(this['previousWorldMatrices'][_0x2fa879[_0x3c6f06(0xb46)]]||(this[_0x3c6f06(0x33d)][_0x2fa879[_0x3c6f06(0xb46)]]=_0x45c52b[_0x3c6f06(0x5ec)]()),this[_0x3c6f06(0xd1c)]||(this['previousViewProjection']=_0x41af3f[_0x3c6f06(0x923)]()[_0x3c6f06(0x5ec)](),this['currentViewProjection']=_0x41af3f['getTransformMatrix']()['clone']()),_0x2bb44a=_0x41af3f[_0x3c6f06(0x9d0)](),this[_0x3c6f06(0xacb)][_0x3c6f06(0x8df)]!==_0x41af3f[_0x3c6f06(0x923)]()[_0x3c6f06(0x8df)]?(this[_0x3c6f06(0x787)]=_0x2bb44a['frameId'],this[_0x3c6f06(0xd1c)][_0x3c6f06(0xd77)](this[_0x3c6f06(0xacb)]),this[_0x3c6f06(0xacb)]['copyFrom'](_0x41af3f[_0x3c6f06(0x923)]())):this[_0x3c6f06(0x787)]!==_0x2bb44a[_0x3c6f06(0xba2)]&&(this[_0x3c6f06(0x787)]=_0x2bb44a[_0x3c6f06(0xba2)],this['previousViewProjection'][_0x3c6f06(0xd77)](this[_0x3c6f06(0xacb)])),_0x48a58f['setMatrix'](_0x3c6f06(0xd7e),this['previousWorldMatrices'][_0x2fa879[_0x3c6f06(0xb46)]]),_0x48a58f[_0x3c6f06(0x716)](_0x3c6f06(0xd1c),this[_0x3c6f06(0xd1c)]),this[_0x3c6f06(0x33d)][_0x2fa879[_0x3c6f06(0xb46)]]=_0x45c52b['clone']());}}},0x58c8:(_0x4fb9cf,_0x24b1bb,_0x3df18d)=>{var _0x354fb1=a6_0x5e3a36;_0x3df18d['d'](_0x24b1bb,{'c':()=>_0x50cfaf});class _0x50cfaf{constructor(_0xc3fae3){var _0x387f3f=a6_0x4d3f;this[_0x387f3f(0x1b5)](_0xc3fae3)?(this[_0x387f3f(0xb96)]=_0xc3fae3[_0x387f3f(0x98a)]['bind'](_0xc3fae3),this['setMatrix2x2']=_0xc3fae3[_0x387f3f(0xd39)]['bind'](_0xc3fae3),this[_0x387f3f(0x84a)]=_0xc3fae3['updateFloat'][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x48e)]=_0xc3fae3['updateFloat2'][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x2ad)]=_0xc3fae3[_0x387f3f(0x307)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0xac3)]=_0xc3fae3[_0x387f3f(0x9fc)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0xbcf)]=_0xc3fae3[_0x387f3f(0x2b8)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0xced)]=_0xc3fae3[_0x387f3f(0x53e)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x895)]=_0xc3fae3[_0x387f3f(0xbdc)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x716)]=_0xc3fae3[_0x387f3f(0xd87)][_0x387f3f(0x977)](_0xc3fae3),this['setMatrices']=_0xc3fae3[_0x387f3f(0xac4)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0xb6d)]=_0xc3fae3[_0x387f3f(0x852)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x7fa)]=_0xc3fae3[_0x387f3f(0x1be)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x728)]=_0xc3fae3[_0x387f3f(0xa2b)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x50a)]=_0xc3fae3['updateColor4'][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0xab1)]=_0xc3fae3[_0x387f3f(0x2bc)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x638)]=_0xc3fae3[_0x387f3f(0x71f)]['bind'](_0xc3fae3),this[_0x387f3f(0x747)]=_0xc3fae3[_0x387f3f(0x636)][_0x387f3f(0x977)](_0xc3fae3),this['setInt3']=_0xc3fae3['updateInt3']['bind'](_0xc3fae3),this[_0x387f3f(0x271)]=_0xc3fae3[_0x387f3f(0x41c)][_0x387f3f(0x977)](_0xc3fae3)):(this['setMatrix3x3']=_0xc3fae3[_0x387f3f(0xb96)]['bind'](_0xc3fae3),this[_0x387f3f(0x87d)]=_0xc3fae3[_0x387f3f(0x87d)]['bind'](_0xc3fae3),this[_0x387f3f(0x84a)]=_0xc3fae3[_0x387f3f(0x84a)][_0x387f3f(0x977)](_0xc3fae3),this['setFloat2']=_0xc3fae3[_0x387f3f(0x48e)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x2ad)]=_0xc3fae3[_0x387f3f(0x2ad)][_0x387f3f(0x977)](_0xc3fae3),this['setFloat4']=_0xc3fae3[_0x387f3f(0xac3)]['bind'](_0xc3fae3),this['setFloatArray']=_0xc3fae3['setFloatArray'][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0xced)]=_0xc3fae3[_0x387f3f(0xced)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x895)]=_0xc3fae3[_0x387f3f(0x895)]['bind'](_0xc3fae3),this['setMatrix']=_0xc3fae3[_0x387f3f(0x716)]['bind'](_0xc3fae3),this[_0x387f3f(0x6c3)]=_0xc3fae3[_0x387f3f(0x6c3)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0xb6d)]=_0xc3fae3['setVector3'][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x7fa)]=_0xc3fae3[_0x387f3f(0x7fa)]['bind'](_0xc3fae3),this[_0x387f3f(0x728)]=_0xc3fae3[_0x387f3f(0x728)]['bind'](_0xc3fae3),this[_0x387f3f(0x50a)]=_0xc3fae3[_0x387f3f(0x50a)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0xab1)]=_0xc3fae3[_0x387f3f(0xab1)][_0x387f3f(0x977)](_0xc3fae3),this['setInt']=_0xc3fae3[_0x387f3f(0x638)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x747)]=_0xc3fae3[_0x387f3f(0x747)][_0x387f3f(0x977)](_0xc3fae3),this[_0x387f3f(0x3dd)]=_0xc3fae3[_0x387f3f(0x3dd)]['bind'](_0xc3fae3),this[_0x387f3f(0x271)]=_0xc3fae3['setInt4'][_0x387f3f(0x977)](_0xc3fae3));}[_0x354fb1(0x1b5)](_0xcd036){return void 0x0!==_0xcd036['addUniform'];}}},0xceed:(_0x8d3871,_0x566e35,_0x147773)=>{var _0x15fa31=a6_0x5e3a36;_0x147773['d'](_0x566e35,{'$':()=>_0x3ebcf8});class _0x3ebcf8{constructor(_0x4933eb,_0x18b84b){var _0x55d8cd=a6_0x4d3f;this['width']=_0x4933eb,this[_0x55d8cd(0x9f8)]=_0x18b84b;}[_0x15fa31(0x66c)](){var _0x1ab8b3=_0x15fa31;return _0x1ab8b3(0xa57)+this[_0x1ab8b3(0x680)]+_0x1ab8b3(0xcd6)+this[_0x1ab8b3(0x9f8)]+'}';}[_0x15fa31(0xadf)](){return'Size';}['getHashCode'](){var _0x45d3ab=_0x15fa31;return 0x18d*(0x0|this[_0x45d3ab(0x680)])^(0x0|this[_0x45d3ab(0x9f8)]);}[_0x15fa31(0xd77)](_0x1c3677){var _0x250460=_0x15fa31;this['width']=_0x1c3677['width'],this[_0x250460(0x9f8)]=_0x1c3677[_0x250460(0x9f8)];}['copyFromFloats'](_0x573579,_0x1404f7){var _0x5488d3=_0x15fa31;return this['width']=_0x573579,this[_0x5488d3(0x9f8)]=_0x1404f7,this;}[_0x15fa31(0x3ee)](_0x3f76e1,_0x8a9752){var _0x3bd1c8=_0x15fa31;return this[_0x3bd1c8(0x988)](_0x3f76e1,_0x8a9752);}['multiplyByFloats'](_0x38eeb6,_0x1c71c8){var _0x2b717f=_0x15fa31;return new _0x3ebcf8(this['width']*_0x38eeb6,this[_0x2b717f(0x9f8)]*_0x1c71c8);}[_0x15fa31(0x5ec)](){var _0x16f57c=_0x15fa31;return new _0x3ebcf8(this['width'],this[_0x16f57c(0x9f8)]);}[_0x15fa31(0x29b)](_0x58a811){var _0x559405=_0x15fa31;return!!_0x58a811&&this[_0x559405(0x680)]===_0x58a811[_0x559405(0x680)]&&this[_0x559405(0x9f8)]===_0x58a811[_0x559405(0x9f8)];}get[_0x15fa31(0xda0)](){var _0x97135a=_0x15fa31;return this[_0x97135a(0x680)]*this[_0x97135a(0x9f8)];}static[_0x15fa31(0xb5a)](){return new _0x3ebcf8(0x0,0x0);}[_0x15fa31(0x4ba)](_0x387986){var _0x125b9a=_0x15fa31;return new _0x3ebcf8(this[_0x125b9a(0x680)]+_0x387986[_0x125b9a(0x680)],this[_0x125b9a(0x9f8)]+_0x387986[_0x125b9a(0x9f8)]);}[_0x15fa31(0x89e)](_0x29de6e){var _0x1c5da9=_0x15fa31;return new _0x3ebcf8(this[_0x1c5da9(0x680)]-_0x29de6e[_0x1c5da9(0x680)],this[_0x1c5da9(0x9f8)]-_0x29de6e['height']);}static[_0x15fa31(0xcaf)](_0xdb1af2,_0x47c774,_0x1bda02){var _0x3d3f6b=_0x15fa31,_0x28051f=_0xdb1af2[_0x3d3f6b(0x680)]+(_0x47c774['width']-_0xdb1af2[_0x3d3f6b(0x680)])*_0x1bda02,_0x47c774=_0xdb1af2[_0x3d3f6b(0x9f8)]+(_0x47c774['height']-_0xdb1af2['height'])*_0x1bda02;return new _0x3ebcf8(_0x28051f,_0x47c774);}}},0x6fac:(_0x53c3c0,_0x285fca,_0x5ced37)=>{var _0x46541e=a6_0x5e3a36;_0x5ced37['d'](_0x285fca,{'l':()=>_0x4afc4a});class _0x4afc4a{constructor(_0x1e826a,_0x393730,_0x23a5b9,_0x13bc2e){var _0x18beaf=a6_0x4d3f;this['x']=_0x1e826a,this['y']=_0x393730,this[_0x18beaf(0x680)]=_0x23a5b9,this['height']=_0x13bc2e;}[_0x46541e(0x1bc)](_0x48890c,_0x260410){var _0x4be3cc=_0x46541e;return new _0x4afc4a(this['x']*_0x48890c,this['y']*_0x260410,this[_0x4be3cc(0x680)]*_0x48890c,this[_0x4be3cc(0x9f8)]*_0x260410);}[_0x46541e(0x580)](_0x234206,_0x53bedb,_0x15fe12){var _0x3663bd=_0x46541e;return _0x15fe12['x']=this['x']*_0x234206,_0x15fe12['y']=this['y']*_0x53bedb,_0x15fe12[_0x3663bd(0x680)]=this[_0x3663bd(0x680)]*_0x234206,_0x15fe12[_0x3663bd(0x9f8)]=this[_0x3663bd(0x9f8)]*_0x53bedb,this;}['clone'](){var _0x405e3f=_0x46541e;return new _0x4afc4a(this['x'],this['y'],this[_0x405e3f(0x680)],this[_0x405e3f(0x9f8)]);}}},0x7bfa:(_0xb93fe8,_0x10f5e2,_0x4bd5d1)=>{_0x4bd5d1['d'](_0x10f5e2,{'g':()=>_0xc205aa});class _0xc205aa{constructor(_0x5082e2,_0x53ac42){var _0x289dfa=a6_0x4d3f;this[_0x289dfa(0x9bc)]=_0x5082e2,this['mesh']=_0x53ac42;}}},0x53f7:(_0x5c3c76,_0xd563a2,_0x287348)=>{var _0x46bcb7=a6_0x5e3a36,_0x3850a0=_0x287348(0x77a5),_0x2ce01e=_0x287348(0x9fd1),_0x287348=_0x287348(0x10187);_0x287348['P'][_0x46bcb7(0x733)][_0x46bcb7(0xc9e)]=function(_0x1e9c81,_0x44c1ee,_0x215025,_0x46f4e6,_0x2158d7,_0x13d7fd){var _0x2b59bb=_0x46bcb7;const _0x33ddd5=_0x2ce01e['jp'][_0x2b59bb(0x4a0)][0x0];var _0x4e6b2c=_0x2ce01e['jp'][_0x2b59bb(0x4a0)][0x1];let _0x1a9260=Infinity;for(let _0x39d743=this[_0x2b59bb(0x3af)];_0x39d743<this[_0x2b59bb(0x3af)]+this[_0x2b59bb(0x5a1)]-(0x3-_0x46f4e6);_0x39d743+=_0x46f4e6){var _0x31ec20=_0x215025[_0x39d743],_0x5337e8=_0x215025[_0x39d743+0x1],_0x15eb12=_0x215025[_0x39d743+0x2];_0x2158d7&&0xffffffff===_0x15eb12?_0x39d743+=0x2:(_0x31ec20=_0x44c1ee[_0x31ec20],_0x5337e8=_0x44c1ee[_0x5337e8],_0x15eb12=_0x44c1ee[_0x15eb12],_0x31ec20&&_0x5337e8&&_0x15eb12&&(_0x31ec20=_0x2ce01e['P']['ProjectOnTriangleToRef'](_0x1e9c81,_0x31ec20,_0x5337e8,_0x15eb12,_0x4e6b2c))<_0x1a9260&&(_0x33ddd5[_0x2b59bb(0xd77)](_0x4e6b2c),_0x1a9260=_0x31ec20));}return _0x13d7fd[_0x2b59bb(0xd77)](_0x33ddd5),_0x1a9260;},_0x287348['P'][_0x46bcb7(0x733)][_0x46bcb7(0x8fd)]=function(_0x2b85fc,_0x1e8c01,_0x5a59be,_0x42af8c){var _0x55bdde=_0x46bcb7;const _0x41d07c=_0x2ce01e['jp'][_0x55bdde(0x4a0)][0x0];var _0x5dcae1=_0x2ce01e['jp'][_0x55bdde(0x4a0)][0x1];let _0x34ae27=Infinity;for(let _0x290f0b=this['verticesStart'];_0x290f0b<this[_0x55bdde(0xb60)]+this[_0x55bdde(0x60e)];_0x290f0b+=0x3){var _0x34157f=_0x1e8c01[_0x290f0b],_0x418da8=_0x1e8c01[_0x290f0b+0x1],_0x36432b=_0x1e8c01[_0x290f0b+0x2],_0x34157f=_0x2ce01e['P']['ProjectOnTriangleToRef'](_0x2b85fc,_0x34157f,_0x418da8,_0x36432b,_0x5dcae1);_0x34157f<_0x34ae27&&(_0x41d07c[_0x55bdde(0xd77)](_0x5dcae1),_0x34ae27=_0x34157f);}return _0x42af8c['copyFrom'](_0x41d07c),_0x34ae27;},_0x287348['P']['prototype'][_0x46bcb7(0x62c)]=function(_0x1c803e,_0x3ce23e,_0x1aa70e,_0xc2820b){var _0x1c8ecc=_0x46bcb7,_0x1fd5ee=this['getMaterial']();if(!_0x1fd5ee)return-0x1;let _0x1408fa=0x3,_0x3e4315=!0x1;switch(_0x1fd5ee[_0x1c8ecc(0x434)]){case _0x3850a0['g'][_0x1c8ecc(0xb62)]:case _0x3850a0['g']['MATERIAL_LineLoopDrawMode']:case _0x3850a0['g'][_0x1c8ecc(0x2e3)]:case _0x3850a0['g'][_0x1c8ecc(0x7b8)]:return-0x1;case _0x3850a0['g']['MATERIAL_TriangleStripDrawMode']:_0x1408fa=0x1,_0x3e4315=!0x0;}return _0x1fd5ee['fillMode']===_0x3850a0['g'][_0x1c8ecc(0x60a)]?-0x1:!_0x1aa70e[_0x1c8ecc(0x43c)]&&this[_0x1c8ecc(0x378)][_0x1c8ecc(0x6db)]?this[_0x1c8ecc(0x8fd)](_0x1c803e,_0x3ce23e,_0x1aa70e,_0xc2820b):this[_0x1c8ecc(0xc9e)](_0x1c803e,_0x3ce23e,_0x1aa70e,_0x1408fa,_0x3e4315,_0xc2820b);};},0xb1d7:(_0x3d6189,_0x22ea52,_0x2beaa0)=>{var _0x119179=a6_0x5e3a36,_0xdc4149=_0x2beaa0(0x1dad),_0x30a942=_0x2beaa0(0x1a27),_0xda557f=_0x2beaa0(0x9fd1),_0x2c897d=_0x2beaa0(0x10ea4);_0xdc4149['Kj'][_0x119179(0x733)][_0x119179(0x52b)]=function(_0x18e4d2,_0x1b4b2d=!0x0){var _0x552aed=_0x119179;if(!this['getScene']()[_0x552aed(0x9d0)]()[_0x552aed(0x780)]()[_0x552aed(0xd70)])return _0x2c897d['Y']['Error'](_0x552aed(0xa21)),-0x1;this[_0x552aed(0x48d)]('matrix',Array[_0x552aed(0x302)](_0x18e4d2)?_0x18e4d2[_0x552aed(0x43c)]:0x1);var _0x4012fa=this[_0x552aed(0x930)][_0x552aed(0x93a)];if(Array[_0x552aed(0x302)](_0x18e4d2)){for(let _0x1aafe4=0x0;_0x1aafe4<_0x18e4d2[_0x552aed(0x43c)];++_0x1aafe4)this[_0x552aed(0xa08)](this[_0x552aed(0x930)][_0x552aed(0x93a)]++,_0x18e4d2[_0x1aafe4],_0x1aafe4===_0x18e4d2['length']-0x1&&_0x1b4b2d);}else this['thinInstanceSetMatrixAt'](this[_0x552aed(0x930)][_0x552aed(0x93a)]++,_0x18e4d2,_0x1b4b2d);return _0x4012fa;},_0xdc4149['Kj'][_0x119179(0x733)][_0x119179(0x8a7)]=function(_0xfb76b0=!0x0){var _0x19e86d=_0x119179;return this[_0x19e86d(0x52b)](_0xda557f['y3'][_0x19e86d(0xd4d)],_0xfb76b0);},_0xdc4149['Kj']['prototype'][_0x119179(0x1c8)]=function(_0x292981,_0x29b954){var _0x4b3f00=_0x119179;_0x292981===_0x30a942['o'][_0x4b3f00(0xbe8)]&&(_0x292981=_0x30a942['o'][_0x4b3f00(0x651)]),this[_0x4b3f00(0xd45)](_0x292981),this[_0x4b3f00(0xa96)](),this[_0x4b3f00(0x8a3)][_0x4b3f00(0x68a)][_0x292981]=_0x29b954,this[_0x4b3f00(0x8a3)]['sizes'][_0x292981]=_0x29b954*Math[_0x4b3f00(0xbbd)](0x20,this[_0x4b3f00(0x930)]['instancesCount']),this[_0x4b3f00(0x8a3)][_0x4b3f00(0x2a8)][_0x292981]=new Float32Array(this['_userThinInstanceBuffersStorage']['sizes'][_0x292981]),this[_0x4b3f00(0x8a3)][_0x4b3f00(0x48a)][_0x292981]=new _0x30a942['o'](this[_0x4b3f00(0x9d0)](),this[_0x4b3f00(0x8a3)]['data'][_0x292981],_0x292981,!0x0,!0x1,_0x29b954,!0x0),this['setVerticesBuffer'](this['_userThinInstanceBuffersStorage'][_0x4b3f00(0x48a)][_0x292981]);},_0xdc4149['Kj'][_0x119179(0x733)]['thinInstanceSetMatrixAt']=function(_0x379832,_0x1f3a2c,_0x34137c=!0x0){var _0x5eaff6=_0x119179;if(!this[_0x5eaff6(0x930)][_0x5eaff6(0x1fc)]||_0x379832>=this[_0x5eaff6(0x930)][_0x5eaff6(0x93a)])return!0x1;var _0x2726fb=this[_0x5eaff6(0x930)][_0x5eaff6(0x1fc)];return _0x1f3a2c[_0x5eaff6(0x63b)](_0x2726fb,0x10*_0x379832),this[_0x5eaff6(0x930)][_0x5eaff6(0x8b3)]&&(this[_0x5eaff6(0x930)]['worldMatrices'][_0x379832]=_0x1f3a2c),_0x34137c&&(this[_0x5eaff6(0x934)](_0x5eaff6(0xd9e)),this['doNotSyncBoundingInfo']||this[_0x5eaff6(0xc95)](!0x1)),!0x0;},_0xdc4149['Kj'][_0x119179(0x733)][_0x119179(0x4d1)]=function(_0x23d024,_0x33e920,_0x3a8346,_0x2e0a4c=!0x0){var _0x193160=_0x119179;return _0x23d024===_0x30a942['o'][_0x193160(0xbe8)]&&(_0x23d024=_0x30a942['o'][_0x193160(0x651)]),!(!this['_userThinInstanceBuffersStorage']||!this[_0x193160(0x8a3)][_0x193160(0x2a8)][_0x23d024]||_0x33e920>=this[_0x193160(0x930)][_0x193160(0x93a)]||(this[_0x193160(0x48d)](_0x23d024,0x0),this['_userThinInstanceBuffersStorage'][_0x193160(0x2a8)][_0x23d024][_0x193160(0x3ee)](_0x3a8346,_0x33e920*this[_0x193160(0x8a3)]['strides'][_0x23d024]),_0x2e0a4c&&this[_0x193160(0x934)](_0x23d024),0x0));},Object[_0x119179(0x3b9)](_0xdc4149['Kj'][_0x119179(0x733)],_0x119179(0x9b2),{'get':function(){var _0x1860bf=_0x119179;return this[_0x1860bf(0x930)]['instancesCount'];},'set':function(_0x139da5){var _0x1018c6=_0x119179,_0x3eb17d=null!=(_0x3eb17d=this[_0x1018c6(0x930)][_0x1018c6(0x1fc)])?_0x3eb17d:null==(_0x3eb17d=this[_0x1018c6(0x94c)])?void 0x0:_0x3eb17d[_0x1018c6(0x930)]['matrixData'];_0x139da5<=(_0x3eb17d?_0x3eb17d[_0x1018c6(0x43c)]/0x10:0x0)&&(this['_thinInstanceDataStorage'][_0x1018c6(0x93a)]=_0x139da5);},'enumerable':!0x0,'configurable':!0x0}),_0xdc4149['Kj'][_0x119179(0x733)][_0x119179(0x83f)]=function(_0x592693,_0x5cae49,_0x2fd575=!0x1){var _0x56ce10=_0x119179;_0x592693===_0x30a942['o'][_0x56ce10(0xbe8)]&&(_0x592693=_0x30a942['o'][_0x56ce10(0x651)]);const _0xfb6b88=new _0x30a942['l'](this[_0x56ce10(0x9d0)](),_0x5cae49,!_0x2fd575,0x10,!0x1,!0x0);for(let _0x142571=0x0;_0x142571<0x4;_0x142571++)this[_0x56ce10(0xaf9)](_0xfb6b88['createVertexBuffer'](_0x592693+_0x142571,0x4*_0x142571,0x4));return _0xfb6b88;},_0xdc4149['Kj'][_0x119179(0x733)][_0x119179(0x79b)]=function(_0x2e6363,_0x504d71,_0xb799a5=0x0,_0x280486=!0x1){var _0x4a4e1a=_0x119179,_0x1cc419;_0xb799a5=_0xb799a5||0x10,_0x4a4e1a(0xd9e)===_0x2e6363?(null!=(_0x1cc419=this[_0x4a4e1a(0x930)][_0x4a4e1a(0x2d6)])&&_0x1cc419[_0x4a4e1a(0x8fc)](),this[_0x4a4e1a(0x930)][_0x4a4e1a(0x2d6)]=null,this[_0x4a4e1a(0x930)][_0x4a4e1a(0x3d9)]=_0x504d71?_0x504d71['length']:0x20*_0xb799a5,this[_0x4a4e1a(0x930)][_0x4a4e1a(0x1fc)]=_0x504d71,(this['_thinInstanceDataStorage']['worldMatrices']=null)!==_0x504d71?(this[_0x4a4e1a(0x930)][_0x4a4e1a(0x93a)]=_0x504d71[_0x4a4e1a(0x43c)]/_0xb799a5,this[_0x4a4e1a(0x930)][_0x4a4e1a(0x2d6)]=this[_0x4a4e1a(0x83f)]('world',_0x504d71,_0x280486),this[_0x4a4e1a(0xaa6)]||this[_0x4a4e1a(0xc95)](!0x1)):(this[_0x4a4e1a(0x930)][_0x4a4e1a(0x93a)]=0x0,this[_0x4a4e1a(0xaa6)]||this['refreshBoundingInfo']())):'previousMatrix'===_0x2e6363?(null!=(_0x1cc419=this[_0x4a4e1a(0x930)]['previousMatrixBuffer'])&&_0x1cc419['dispose'](),(this[_0x4a4e1a(0x930)]['previousMatrixBuffer']=null)!==(this[_0x4a4e1a(0x930)]['previousMatrixData']=_0x504d71)&&(this['_thinInstanceDataStorage'][_0x4a4e1a(0x6ea)]=this['_thinInstanceCreateMatrixBuffer'](_0x4a4e1a(0xd7e),_0x504d71,_0x280486))):(_0x2e6363===_0x30a942['o'][_0x4a4e1a(0xbe8)]&&(_0x2e6363=_0x30a942['o'][_0x4a4e1a(0x651)]),null===_0x504d71?null!=(_0x1cc419=this['_userThinInstanceBuffersStorage'])&&_0x1cc419[_0x4a4e1a(0x2a8)][_0x2e6363]&&(this['removeVerticesData'](_0x2e6363),delete this[_0x4a4e1a(0x8a3)][_0x4a4e1a(0x2a8)][_0x2e6363],delete this[_0x4a4e1a(0x8a3)][_0x4a4e1a(0x68a)][_0x2e6363],delete this[_0x4a4e1a(0x8a3)]['sizes'][_0x2e6363],delete this[_0x4a4e1a(0x8a3)]['vertexBuffers'][_0x2e6363]):(this['_thinInstanceInitializeUserStorage'](),this[_0x4a4e1a(0x8a3)][_0x4a4e1a(0x2a8)][_0x2e6363]=_0x504d71,this[_0x4a4e1a(0x8a3)][_0x4a4e1a(0x68a)][_0x2e6363]=_0xb799a5,this[_0x4a4e1a(0x8a3)][_0x4a4e1a(0x2d0)][_0x2e6363]=_0x504d71[_0x4a4e1a(0x43c)],this['_userThinInstanceBuffersStorage']['vertexBuffers'][_0x2e6363]=new _0x30a942['o'](this['getEngine'](),_0x504d71,_0x2e6363,!_0x280486,!0x1,_0xb799a5,!0x0),this[_0x4a4e1a(0xaf9)](this[_0x4a4e1a(0x8a3)][_0x4a4e1a(0x48a)][_0x2e6363])));},_0xdc4149['Kj'][_0x119179(0x733)][_0x119179(0x934)]=function(_0x14effd){var _0x5d2d79=_0x119179,_0x50259b;'matrix'===_0x14effd?null!=(_0x50259b=this[_0x5d2d79(0x930)]['matrixBuffer'])&&_0x50259b[_0x5d2d79(0xa8a)](this[_0x5d2d79(0x930)][_0x5d2d79(0x1fc)],0x0,this[_0x5d2d79(0x930)][_0x5d2d79(0x93a)]):_0x5d2d79(0x5e0)===_0x14effd?null!=(_0x50259b=this[_0x5d2d79(0x930)][_0x5d2d79(0x6ea)])&&_0x50259b['updateDirectly'](this[_0x5d2d79(0x930)][_0x5d2d79(0xa2d)],0x0,this[_0x5d2d79(0x930)][_0x5d2d79(0x93a)]):(_0x14effd===_0x30a942['o'][_0x5d2d79(0xbe8)]&&(_0x14effd=_0x30a942['o'][_0x5d2d79(0x651)]),null!=(_0x50259b=this[_0x5d2d79(0x8a3)])&&_0x50259b[_0x5d2d79(0x48a)][_0x14effd]&&this[_0x5d2d79(0x8a3)][_0x5d2d79(0x48a)][_0x14effd][_0x5d2d79(0xa8a)](this['_userThinInstanceBuffersStorage'][_0x5d2d79(0x2a8)][_0x14effd],0x0));},_0xdc4149['Kj'][_0x119179(0x733)][_0x119179(0xd0f)]=function(_0x32a0ba,_0x5bd3fc,_0x4c292b){var _0x3725c7=_0x119179,_0x40553f;_0x3725c7(0xd9e)===_0x32a0ba?this[_0x3725c7(0x930)][_0x3725c7(0x2d6)]&&this['_thinInstanceDataStorage'][_0x3725c7(0x2d6)][_0x3725c7(0xa8a)](_0x5bd3fc,_0x4c292b):(_0x32a0ba===_0x30a942['o'][_0x3725c7(0xbe8)]&&(_0x32a0ba=_0x30a942['o'][_0x3725c7(0x651)]),null!=(_0x40553f=this['_userThinInstanceBuffersStorage'])&&_0x40553f['vertexBuffers'][_0x32a0ba]&&this['_userThinInstanceBuffersStorage'][_0x3725c7(0x48a)][_0x32a0ba][_0x3725c7(0xa8a)](_0x5bd3fc,_0x4c292b));},_0xdc4149['Kj'][_0x119179(0x733)][_0x119179(0x6cc)]=function(){var _0x58348e=_0x119179;if(!this[_0x58348e(0x930)][_0x58348e(0x1fc)]||!this[_0x58348e(0x930)]['matrixBuffer'])return[];var _0x590127=this[_0x58348e(0x930)]['matrixData'];if(!this['_thinInstanceDataStorage'][_0x58348e(0x8b3)]){this[_0x58348e(0x930)][_0x58348e(0x8b3)]=new Array();for(let _0xb9a618=0x0;_0xb9a618<this[_0x58348e(0x930)]['instancesCount'];++_0xb9a618)this[_0x58348e(0x930)][_0x58348e(0x8b3)][_0xb9a618]=_0xda557f['y3']['FromArray'](_0x590127,0x10*_0xb9a618);}return this['_thinInstanceDataStorage'][_0x58348e(0x8b3)];},_0xdc4149['Kj']['prototype']['thinInstanceRefreshBoundingInfo']=function(_0x387bf9=!0x1,_0x33ba93=!0x1,_0x3c3b97=!0x1){var _0x5e845a=_0x119179;if(this[_0x5e845a(0x930)][_0x5e845a(0x1fc)]&&this['_thinInstanceDataStorage']['matrixBuffer']){const _0x2cec6c=this[_0x5e845a(0x930)][_0x5e845a(0x6d8)],_0x23054b=(_0x387bf9&&(_0x2cec6c[_0x5e845a(0x43c)]=0x0,this[_0x5e845a(0x953)](_0x33ba93,_0x3c3b97)),this[_0x5e845a(0x303)]());var _0x27d091=this[_0x5e845a(0x930)][_0x5e845a(0x1fc)];if(0x0===_0x2cec6c[_0x5e845a(0x43c)]){for(let _0x10548c=0x0;_0x10548c<_0x23054b[_0x5e845a(0x899)][_0x5e845a(0xbb4)][_0x5e845a(0x43c)];++_0x10548c)_0x2cec6c[_0x5e845a(0x2bd)](_0x23054b['boundingBox'][_0x5e845a(0xbb4)][_0x10548c]['clone']());}_0xda557f['jp']['Vector3'][0x0][_0x5e845a(0xa43)](Number['POSITIVE_INFINITY']),_0xda557f['jp'][_0x5e845a(0x4a0)][0x1][_0x5e845a(0xa43)](Number[_0x5e845a(0xb7c)]);for(let _0xaa2461=0x0;_0xaa2461<this[_0x5e845a(0x930)][_0x5e845a(0x93a)];++_0xaa2461){_0xda557f['y3'][_0x5e845a(0x4b4)](_0x27d091,0x10*_0xaa2461,_0xda557f['jp']['Matrix'][0x0]);for(let _0x446a43=0x0;_0x446a43<_0x2cec6c['length'];++_0x446a43)_0xda557f['P'][_0x5e845a(0xbb7)](_0x2cec6c[_0x446a43],_0xda557f['jp']['Matrix'][0x0],_0xda557f['jp']['Vector3'][0x2]),_0xda557f['jp']['Vector3'][0x0][_0x5e845a(0xd41)](_0xda557f['jp'][_0x5e845a(0x4a0)][0x2]),_0xda557f['jp'][_0x5e845a(0x4a0)][0x1]['maximizeInPlace'](_0xda557f['jp'][_0x5e845a(0x4a0)][0x2]);}_0x23054b[_0x5e845a(0xb28)](_0xda557f['jp'][_0x5e845a(0x4a0)][0x0],_0xda557f['jp'][_0x5e845a(0x4a0)][0x1]),this[_0x5e845a(0xa81)]();}},_0xdc4149['Kj']['prototype'][_0x119179(0x48d)]=function(_0x348d88,_0x237a4a=0x1){var _0x4c8b8f=_0x119179,_0x2ed778=_0x4c8b8f(0xd9e)===(_0x348d88=_0x348d88===_0x30a942['o'][_0x4c8b8f(0xbe8)]?_0x30a942['o'][_0x4c8b8f(0x651)]:_0x348d88);if(_0x2ed778||this[_0x4c8b8f(0x8a3)]&&this[_0x4c8b8f(0x8a3)][_0x4c8b8f(0x68a)][_0x348d88]){var _0x1bcc2b=_0x2ed778?0x10:this[_0x4c8b8f(0x8a3)][_0x4c8b8f(0x68a)][_0x348d88],_0xd574df=_0x2ed778?this[_0x4c8b8f(0x930)]['matrixBufferSize']:this['_userThinInstanceBuffersStorage'][_0x4c8b8f(0x2d0)][_0x348d88];let _0x5cf6c8=_0x2ed778?this['_thinInstanceDataStorage'][_0x4c8b8f(0x1fc)]:this[_0x4c8b8f(0x8a3)][_0x4c8b8f(0x2a8)][_0x348d88];var _0x20cc66=(this['_thinInstanceDataStorage']['instancesCount']+_0x237a4a)*_0x1bcc2b;let _0x40e632=_0xd574df;for(;_0x40e632<_0x20cc66;)_0x40e632*=0x2;if(!_0x5cf6c8||_0xd574df!=_0x40e632){if(_0x5cf6c8){const _0x4244fc=new Float32Array(_0x40e632);_0x4244fc[_0x4c8b8f(0x3ee)](_0x5cf6c8,0x0),_0x5cf6c8=_0x4244fc;}else _0x5cf6c8=new Float32Array(_0x40e632);_0x2ed778?(null!=(_0x237a4a=this[_0x4c8b8f(0x930)]['matrixBuffer'])&&_0x237a4a[_0x4c8b8f(0x8fc)](),this[_0x4c8b8f(0x930)][_0x4c8b8f(0x2d6)]=this[_0x4c8b8f(0x83f)](_0x4c8b8f(0x477),_0x5cf6c8,!0x1),this[_0x4c8b8f(0x930)][_0x4c8b8f(0x1fc)]=_0x5cf6c8,this[_0x4c8b8f(0x930)]['matrixBufferSize']=_0x40e632,this[_0x4c8b8f(0xccd)][_0x4c8b8f(0x99a)]&&!this[_0x4c8b8f(0x930)][_0x4c8b8f(0xa2d)]&&(null!=(_0xd574df=this[_0x4c8b8f(0x930)][_0x4c8b8f(0x6ea)])&&_0xd574df[_0x4c8b8f(0x8fc)](),this[_0x4c8b8f(0x930)]['previousMatrixBuffer']=this[_0x4c8b8f(0x83f)]('previousWorld',_0x5cf6c8,!0x1))):(null!=(_0x2ed778=this[_0x4c8b8f(0x8a3)][_0x4c8b8f(0x48a)][_0x348d88])&&_0x2ed778[_0x4c8b8f(0x8fc)](),this['_userThinInstanceBuffersStorage'][_0x4c8b8f(0x2a8)][_0x348d88]=_0x5cf6c8,this[_0x4c8b8f(0x8a3)]['sizes'][_0x348d88]=_0x40e632,this[_0x4c8b8f(0x8a3)][_0x4c8b8f(0x48a)][_0x348d88]=new _0x30a942['o'](this[_0x4c8b8f(0x9d0)](),_0x5cf6c8,_0x348d88,!0x0,!0x1,_0x1bcc2b,!0x0),this['setVerticesBuffer'](this['_userThinInstanceBuffersStorage'][_0x4c8b8f(0x48a)][_0x348d88]));}}},_0xdc4149['Kj'][_0x119179(0x733)][_0x119179(0xa96)]=function(){var _0x4ab46f=_0x119179;this['_userThinInstanceBuffersStorage']||(this[_0x4ab46f(0x8a3)]={'data':{},'sizes':{},'vertexBuffers':{},'strides':{}});},_0xdc4149['Kj'][_0x119179(0x733)][_0x119179(0xd3d)]=function(){var _0x38a41d=_0x119179,_0x280ec4;null!=(_0x280ec4=this[_0x38a41d(0x930)])&&_0x280ec4[_0x38a41d(0x2d6)]&&(this[_0x38a41d(0x930)]['matrixBuffer'][_0x38a41d(0x8fc)](),this[_0x38a41d(0x930)]['matrixBuffer']=null);};},0x11b46:(_0x123ae1,_0x2703f8,_0x3cdfb8)=>{var _0x4ab7c9=a6_0x5e3a36;_0x3cdfb8['d'](_0x2703f8,{'s':()=>_0x5059f8});class _0x5059f8{constructor(_0x1f7272){var _0x4bd342=a6_0x4d3f;this['_view']=new Float32Array(_0x1f7272),this[_0x4bd342(0x3d5)]=0x0;}get[_0x4ab7c9(0x6e1)](){return this['_itemLength'];}['at'](_0x57d4e7){var _0x33a9f2=_0x4ab7c9;return _0x57d4e7<0x0||_0x57d4e7>=this[_0x33a9f2(0x3d5)]?NaN:this['_view'][_0x57d4e7];}[_0x4ab7c9(0x2cc)](_0x467912,_0x4ad52d){var _0xb70fa1=_0x4ab7c9;return _0x4ad52d<=_0x467912||_0x467912<0x0?new Float32Array(0x0):(_0x4ad52d>this[_0xb70fa1(0x3d5)]&&(_0x4ad52d=this['_itemLength']),this['_view']['subarray'](_0x467912,_0x4ad52d));}[_0x4ab7c9(0x2bd)](_0x16a8df){var _0x57dab6=_0x4ab7c9;this[_0x57dab6(0x1d8)][this[_0x57dab6(0x3d5)]]=_0x16a8df,this[_0x57dab6(0x3d5)]++,this[_0x57dab6(0x3d5)]>=this['_view'][_0x57dab6(0x43c)]&&this['_growArray']();}[_0x4ab7c9(0x5d3)](){var _0x128716=_0x4ab7c9,_0x118016=Math[_0x128716(0x47c)](1.5*this[_0x128716(0x1d8)][_0x128716(0x43c)]);const _0x672708=new Float32Array(_0x118016);_0x672708[_0x128716(0x3ee)](this[_0x128716(0x1d8)]),this[_0x128716(0x1d8)]=_0x672708;}}},0x13e71:(_0x1e2d98,_0x3ed090,_0x4bdaea)=>{var _0x2bdded=a6_0x5e3a36,_0x2c9d9f=_0x4bdaea(0x1446b),_0x348871=_0x4bdaea(0xf75);_0x2c9d9f['x'][_0x2bdded(0x733)]['getPerfCollector']=function(){return this['_perfCollector']||(this['_perfCollector']=new _0x348871['P'](this)),this['_perfCollector'];};},0x17a1c:(_0x371fcb,_0x5a23de,_0x486f2d)=>{var _0x334cff=a6_0x5e3a36;_0x486f2d['d'](_0x5a23de,{'q':()=>_0x4db080});class _0x4db080{static[_0x334cff(0x1f2)](_0x12b906,_0x5b538c){var _0x2e28af=_0x334cff;return _0x2e28af(0x5d6)===(_0x12b906=_0x12b906['match'](/\([^()]*\)/g)?_0x12b906['replace'](/\([^()]*\)/g,_0x5a2b9c=>(_0x5a2b9c=_0x5a2b9c['slice'](0x1,_0x5a2b9c[_0x2e28af(0x43c)]-0x1),_0x4db080[_0x2e28af(0x7e0)](_0x5a2b9c,_0x5b538c))):_0x4db080['_HandleParenthesisContent'](_0x12b906,_0x5b538c))||_0x2e28af(0x2f3)!==_0x12b906&&_0x4db080[_0x2e28af(0x1f2)](_0x12b906,_0x5b538c);}static[_0x334cff(0x7e0)](_0x5c69f7,_0x44e2e0){var _0x3c862a=_0x334cff;_0x44e2e0=_0x44e2e0||(_0x1f6799=>_0x3c862a(0x5d6)===_0x1f6799);let _0x52ecbc;const _0x2fe9f9=_0x5c69f7['split']('||');for(const _0x186b00 in _0x2fe9f9)if(Object[_0x3c862a(0x733)][_0x3c862a(0x6c7)][_0x3c862a(0x4f3)](_0x2fe9f9,_0x186b00)){let _0x5bbf69=_0x4db080[_0x3c862a(0x4ce)](_0x2fe9f9[_0x186b00][_0x3c862a(0x71d)]());const _0x3f8903=_0x5bbf69[_0x3c862a(0x349)]('&&');if(0x1<_0x3f8903['length'])for(let _0x50d929=0x0;_0x50d929<_0x3f8903['length'];++_0x50d929){const _0x180191=_0x4db080['_SimplifyNegation'](_0x3f8903[_0x50d929][_0x3c862a(0x71d)]());if(!(_0x52ecbc='true'!==_0x180191&&'false'!==_0x180191?'!'===_0x180191[0x0]?!_0x44e2e0(_0x180191[_0x3c862a(0x803)](0x1)):_0x44e2e0(_0x180191):_0x3c862a(0x5d6)===_0x180191)){_0x5bbf69=_0x3c862a(0x2f3);break;}}if(_0x52ecbc||_0x3c862a(0x5d6)===_0x5bbf69){_0x52ecbc=!0x0;break;}_0x52ecbc=_0x3c862a(0x5d6)!==_0x5bbf69&&_0x3c862a(0x2f3)!==_0x5bbf69?'!'===_0x5bbf69[0x0]?!_0x44e2e0(_0x5bbf69[_0x3c862a(0x803)](0x1)):_0x44e2e0(_0x5bbf69):'true'===_0x5bbf69;}return _0x52ecbc?_0x3c862a(0x5d6):_0x3c862a(0x2f3);}static[_0x334cff(0x4ce)](_0x4370d3){var _0x594f64=_0x334cff;return _0x594f64(0xc7a)===(_0x4370d3=(_0x4370d3=_0x4370d3[_0x594f64(0x827)](/^[\s!]+/,_0xa9749=>(_0xa9749=_0xa9749[_0x594f64(0x827)](/[\s]/g,()=>''))['length']%0x2?'!':''))['trim']())?_0x4370d3='false':_0x594f64(0x3d6)===_0x4370d3&&(_0x4370d3=_0x594f64(0x5d6)),_0x4370d3;}}},0x5898:(_0x23a59f,_0x105c8d,_0x91f138)=>{var _0x23a552=a6_0x5e3a36;_0x91f138['d'](_0x105c8d,{'B':()=>_0x400523,'M':()=>function(_0x469246,_0x140861){var _0x4b7eb3=a6_0x4d3f;const _0x3bec4d=_0x269c4f[_0x4b7eb3(0xb29)](_0x690426=>{var _0x519c10=_0x4b7eb3;{var _0x12ca3c=_0x469246,_0x498161=_0x690426,_0x473cf2=_0x140861;const _0x505272=_0x12ca3c[_0x498161];return _0x519c10(0x222)!=typeof _0x505272?null:((_0x505272['next']=_0x1d913a)[_0x519c10(0x7e8)]=_0x505272,_0x12ca3c[_0x498161]=_0x1d913a,()=>{var _0x20b10c=_0x519c10;const _0x545d1e=_0x1d913a[_0x20b10c(0x7e8)];if(_0x545d1e){const _0x7f2b40=_0x1d913a[_0x20b10c(0x8bd)];_0x7f2b40?(_0x545d1e[_0x20b10c(0x8bd)]=_0x7f2b40)[_0x20b10c(0x7e8)]=_0x545d1e:(_0x545d1e[_0x20b10c(0x8bd)]=void 0x0,_0x12ca3c[_0x498161]=_0x545d1e),_0x1d913a['next']=void 0x0,_0x1d913a[_0x20b10c(0x7e8)]=void 0x0;}});function _0x1d913a(){var _0x41b00c=_0x519c10,_0x3387c1=_0x12ca3c[_0x41b00c(0x43c)],_0x49d9c6=_0x1d913a['previous']['apply'](_0x12ca3c,arguments);return _0x473cf2(_0x498161,_0x3387c1),_0x49d9c6;}}});return()=>{var _0x255df7=_0x4b7eb3;_0x3bec4d[_0x255df7(0x840)](_0x319d4f=>{null!=_0x319d4f&&_0x319d4f();});};}});class _0x400523{static[_0x23a552(0x9cb)](_0x9bbe14,_0x2f7a95){const _0x2fb146=[];for(let _0x3e8b15=0x0;_0x3e8b15<_0x9bbe14;++_0x3e8b15)_0x2fb146['push'](_0x2f7a95());return _0x2fb146;}static[_0x23a552(0xca3)](_0x18833d,_0x6e69c3){var _0x120760=_0x23a552;return _0x400523[_0x120760(0x9cb)](_0x18833d,_0x6e69c3);}}const _0x269c4f=['push',_0x23a552(0x2d2),_0x23a552(0xbd4),'shift',_0x23a552(0xcd7)];},0x75be:(_0x24eb0e,_0x1d1bea,_0x1072be)=>{_0x1072be['d'](_0x1d1bea,{'AW':()=>function(_0x21dd33){var _0x3d9712=a6_0x4d3f;return _0x21dd33[_0x3d9712(0x827)](/[.*+?^${}()|[\]\\]/g,'\x5c$&');},'Kt':()=>function(_0x281b7f){var _0x644ee6=a6_0x4d3f;let _0x3eb66c=0x0,_0x23cd07='',_0x170f5a=!0x1;const _0x43f3a7=[];for(;_0x3eb66c<_0x281b7f[_0x644ee6(0x43c)];){var _0x10ec61,_0x227b59=_0x281b7f[_0x644ee6(0x63f)](_0x3eb66c);if(_0x23cd07)_0x227b59===_0x23cd07?'\x22'===_0x23cd07||'\x27'===_0x23cd07?('\x5c'!==_0x281b7f['charAt'](_0x3eb66c-0x1)&&(_0x23cd07=''),_0x43f3a7[_0x644ee6(0x2bd)](_0x227b59)):(_0x23cd07='',_0x170f5a=!0x1):'*/'===_0x23cd07&&'*'===_0x227b59&&_0x3eb66c+0x1<_0x281b7f[_0x644ee6(0x43c)]?''===(_0x23cd07='/'===_0x281b7f[_0x644ee6(0x63f)](_0x3eb66c+0x1)?'':_0x23cd07)&&(_0x170f5a=!0x1,_0x3eb66c++):_0x170f5a||_0x43f3a7['push'](_0x227b59);else{switch(_0x227b59){case'\x22':case'\x27':case'`':_0x23cd07=_0x227b59;break;case'/':_0x3eb66c+0x1<_0x281b7f[_0x644ee6(0x43c)]&&('/'===(_0x10ec61=_0x281b7f[_0x644ee6(0x63f)](_0x3eb66c+0x1))?(_0x23cd07='\x0a',_0x170f5a=!0x0):'*'===_0x10ec61&&(_0x23cd07='*/',_0x170f5a=!0x0));}_0x170f5a||_0x43f3a7['push'](_0x227b59);}_0x3eb66c++;}return _0x43f3a7[_0x644ee6(0xce7)]('');},'Pm':()=>function(_0x5efad3,_0x3a3289){var _0x2e596e=a6_0x4d3f;for(;_0x3a3289<_0x5efad3[_0x2e596e(0x43c)];){var _0x5cd452=_0x5efad3[_0x3a3289];if('\x20'!==_0x5cd452&&'\x0a'!==_0x5cd452&&'\x0d'!==_0x5cd452&&'\x09'!==_0x5cd452&&'\x0a'!==_0x5cd452&&'\u00a0'!==_0x5cd452)break;_0x3a3289++;}return _0x3a3289;},'uA':()=>function(_0x113570){var _0x27127a=a6_0x4d3f;return _0x113570=_0x113570[_0x27127a(0x2a4)](0x0),0x30<=_0x113570&&_0x113570<=0x39||0x41<=_0x113570&&_0x113570<=0x5a||0x61<=_0x113570&&_0x113570<=0x7a||0x5f==_0x113570;},'vt':()=>function(_0x19aab9,_0x35ea73,_0x45a870,_0x4fc2eb){var _0x4aa330=a6_0x4d3f;let _0x4ccbfb=_0x4fc2eb,_0x1fa06c=0x0,_0x1dba0f='';for(;_0x4ccbfb<_0x45a870[_0x4aa330(0x43c)];){var _0x29881a,_0x2495bb=_0x45a870['charAt'](_0x4ccbfb);if(_0x1dba0f)_0x2495bb===_0x1dba0f?('\x22'!==_0x1dba0f&&'\x27'!==_0x1dba0f||'\x5c'!==_0x45a870[_0x4aa330(0x63f)](_0x4ccbfb-0x1))&&(_0x1dba0f=''):'*/'===_0x1dba0f&&'*'===_0x2495bb&&_0x4ccbfb+0x1<_0x45a870[_0x4aa330(0x43c)]&&''===(_0x1dba0f='/'===_0x45a870[_0x4aa330(0x63f)](_0x4ccbfb+0x1)?'':_0x1dba0f)&&_0x4ccbfb++;else switch(_0x2495bb){case _0x19aab9:_0x1fa06c++;break;case _0x35ea73:_0x1fa06c--;break;case'\x22':case'\x27':case'`':_0x1dba0f=_0x2495bb;break;case'/':_0x4ccbfb+0x1<_0x45a870[_0x4aa330(0x43c)]&&('/'===(_0x29881a=_0x45a870[_0x4aa330(0x63f)](_0x4ccbfb+0x1))?_0x1dba0f='\x0a':'*'===_0x29881a&&(_0x1dba0f='*/'));}if(_0x4ccbfb++,0x0===_0x1fa06c)break;}return 0x0===_0x1fa06c?_0x4ccbfb-0x1:-0x1;},'wm':()=>function(_0x4f16e4,_0x950b48,_0x18eb19){for(;0x0<=_0x950b48&&_0x4f16e4['charAt'](_0x950b48)!==_0x18eb19;)_0x950b48--;return _0x950b48;}});},0x15cb9:(_0x4e3273,_0x1e35c2,_0x1b4f3f)=>{_0x1b4f3f['d'](_0x1e35c2,{'S':()=>function(_0x2671db){return _0x2671db+'\x20needs\x20to\x20be\x20imported\x20before\x20as\x20it\x20contains\x20a\x20side-effect\x20required\x20by\x20your\x20code.';}});},0x15d46:(_0x380f62,_0x2c5b78,_0xf9fe9a)=>{var _0x4abc52=a6_0x5e3a36;_0xf9fe9a['d'](_0x2c5b78,{'K':()=>_0x1fd372});var _0x5c21aa=_0xf9fe9a(0x10ea4),_0x2850e2=_0xf9fe9a(0xe456);class _0x1fd372{static[_0x4abc52(0x406)](_0x40ed82){var _0x4c8607=_0x4abc52;if(this[_0x4c8607(0x6c5)]&&this[_0x4c8607(0x6c5)][_0x40ed82])return this[_0x4c8607(0x6c5)][_0x40ed82];var _0x54cbd5=(0x0,_0x2850e2['q'])(_0x40ed82);if(_0x54cbd5)return _0x54cbd5;_0x5c21aa['Y']['Warn'](_0x40ed82+'\x20not\x20found,\x20you\x20may\x20have\x20missed\x20an\x20import.');var _0x42ce3c=_0x40ed82[_0x4c8607(0x349)]('.');let _0x542e9c=window||this;for(let _0x8f365=0x0,_0x437911=_0x42ce3c['length'];_0x8f365<_0x437911;_0x8f365++)_0x542e9c=_0x542e9c[_0x42ce3c[_0x8f365]];return _0x4c8607(0x222)!=typeof _0x542e9c?null:_0x542e9c;}}_0x1fd372[_0x4abc52(0x6c5)]={};},0xd78e:(_0x1da830,_0xdbcedc,_0x48e0d5)=>{var _0x374b3a=a6_0x5e3a36,_0x1f5f3c=_0x48e0d5(0xf96c),_0x348ea5=_0x48e0d5(0x9bf);_0x1f5f3c['y$'][_0x374b3a(0x733)]['runCoroutineAsync']=function(_0x4e5762){var _0x4e250e=_0x374b3a,_0x235fbf;return this[_0x4e250e(0x9b1)]||(_0x235fbf=function(_0x26ec06){var _0x4a5647=_0x4e250e;const _0x562fac=new Array(),_0x545377=new Array(),_0x1c2244=new Array(),_0x1b773d=_0x26ec06[_0x4a5647(0x4ba)](()=>{var _0x4d43c6=_0x4a5647,_0x16f03f=_0x562fac['length'];for(let _0x305271=0x0;_0x305271<_0x16f03f;_0x305271++)(0x0,_0x348ea5['WP'])(_0x562fac['shift'](),_0x545377[_0x4d43c6(0xd25)](),_0x1c2244[_0x4d43c6(0xd25)]());});return{'scheduler':(_0x5e4709,_0x433350,_0x27c3ae)=>{var _0x17f01d=_0x4a5647;_0x562fac[_0x17f01d(0x2bd)](_0x5e4709),_0x545377['push'](_0x433350),_0x1c2244[_0x17f01d(0x2bd)](_0x27c3ae);},'dispose':()=>{_0x26ec06['remove'](_0x1b773d);}};}(this),this['_coroutineScheduler']=_0x235fbf[_0x4e250e(0x460)],this[_0x4e250e(0xabe)]=_0x235fbf[_0x4e250e(0x8fc)]),(0x0,_0x348ea5['sM'])(_0x4e5762,this[_0x4e250e(0x9b1)]);},_0x1f5f3c['y$'][_0x374b3a(0x733)]['cancelAllCoroutines']=function(){var _0x4c8e91=_0x374b3a;this[_0x4c8e91(0xabe)]&&this['_coroutineSchedulerDispose'](),this['_coroutineScheduler']=void 0x0,this[_0x4c8e91(0xabe)]=void 0x0;};},0x1447:(_0x334583,_0x493c30,_0x29c6fa)=>{var _0x1eddae=a6_0x5e3a36;_0x29c6fa['d'](_0x493c30,{'b':()=>_0x253be8});class _0x253be8{static[_0x1eddae(0x346)](_0x40ee39=0x3,_0x4d7bc2=0x1f4){var _0x30c9ff=_0x1eddae;return(_0x21ce53,_0x441464,_0x316e00)=>0x0!==_0x441464['status']||_0x40ee39<=_0x316e00||-0x1!==_0x21ce53[_0x30c9ff(0x456)](_0x30c9ff(0x77e))?-0x1:Math[_0x30c9ff(0xb67)](0x2,_0x316e00)*_0x4d7bc2;}}},0x5de7:(_0x45aac8,_0x42e15b,_0x1754d1)=>{var _0x197b28=a6_0x5e3a36;_0x1754d1['d'](_0x42e15b,{'x':()=>_0x3f7107});class _0x3f7107{constructor(){var _0x1eb12a=a6_0x4d3f;this[_0x1eb12a(0x2e0)]=0x0,this[_0x1eb12a(0x5c6)]={};}[_0x197b28(0xd77)](_0x4f53b6){var _0x3d8ca3=_0x197b28;this['clear'](),_0x4f53b6['forEach']((_0x15ca86,_0x1afb96)=>this[_0x3d8ca3(0x4ba)](_0x15ca86,_0x1afb96));}[_0x197b28(0xc0e)](_0x2342c0){_0x2342c0=this['_data'][_0x2342c0];if(void 0x0!==_0x2342c0)return _0x2342c0;}[_0x197b28(0x6d5)](_0x731730,_0x460b19){var _0x1e8519=_0x197b28;let _0x2d15eb=this[_0x1e8519(0xc0e)](_0x731730);return void 0x0===_0x2d15eb&&(_0x2d15eb=_0x460b19(_0x731730))&&this[_0x1e8519(0x4ba)](_0x731730,_0x2d15eb),_0x2d15eb;}[_0x197b28(0x73e)](_0x1135c2,_0x219d40){var _0x5c7322=_0x197b28,_0x45cfe2=this[_0x5c7322(0xc0e)](_0x1135c2);return void 0x0!==_0x45cfe2?_0x45cfe2:(this[_0x5c7322(0x4ba)](_0x1135c2,_0x219d40),_0x219d40);}[_0x197b28(0xc17)](_0x5539a0){var _0x5b9476=_0x197b28;return void 0x0!==this[_0x5b9476(0x5c6)][_0x5539a0];}[_0x197b28(0x4ba)](_0x1273b3,_0x18a94a){var _0xf5786=_0x197b28;return void 0x0===this['_data'][_0x1273b3]&&(this['_data'][_0x1273b3]=_0x18a94a,++this[_0xf5786(0x2e0)],!0x0);}['set'](_0x2cd56b,_0x335dfa){var _0x252fe3=_0x197b28;return void 0x0!==this[_0x252fe3(0x5c6)][_0x2cd56b]&&(this['_data'][_0x2cd56b]=_0x335dfa,!0x0);}[_0x197b28(0x291)](_0x546f30){var _0x1e8b0c=_0x197b28,_0x48e57f=this[_0x1e8b0c(0xc0e)](_0x546f30);return void 0x0!==_0x48e57f?(delete this[_0x1e8b0c(0x5c6)][_0x546f30],--this[_0x1e8b0c(0x2e0)],_0x48e57f):null;}[_0x197b28(0x9c2)](_0xc816de){var _0x40d2d4=_0x197b28;return!!this[_0x40d2d4(0xc17)](_0xc816de)&&(delete this['_data'][_0xc816de],--this['_count'],!0x0);}['clear'](){var _0x174fc4=_0x197b28;this[_0x174fc4(0x5c6)]={},this['_count']=0x0;}get['count'](){var _0x42d36a=_0x197b28;return this[_0x42d36a(0x2e0)];}[_0x197b28(0x840)](_0x1e73d2){var _0x2e80c3=_0x197b28;for(const _0x500d8c in this[_0x2e80c3(0x5c6)]){var _0x201dfd=this[_0x2e80c3(0x5c6)][_0x500d8c];_0x1e73d2(_0x500d8c,_0x201dfd);}}[_0x197b28(0x7ac)](_0xf5bb61){var _0x453a92=_0x197b28;for(const _0xbdc30a in this['_data']){var _0x98619c=this[_0x453a92(0x5c6)][_0xbdc30a],_0x98619c=_0xf5bb61(_0xbdc30a,_0x98619c);if(_0x98619c)return _0x98619c;}return null;}}},0x16361:(_0x114c6e,_0x3c30c3,_0x4fb7ef)=>{var _0x28d89f=a6_0x5e3a36;_0x4fb7ef['d'](_0x3c30c3,{'$':()=>_0x29c0d9});var _0x533d1d=_0x4fb7ef(0x17a1c);class _0x29c0d9{static[_0x28d89f(0xcd3)](_0x54f47a){var _0x288727=_0x28d89f;_0x54f47a['_tags']=_0x54f47a[_0x288727(0xc57)]||{},_0x54f47a[_0x288727(0xaa9)]=()=>_0x29c0d9[_0x288727(0x6ec)](_0x54f47a),_0x54f47a[_0x288727(0xbf1)]=_0xdfb853=>_0x29c0d9[_0x288727(0xc08)](_0x54f47a,_0xdfb853),_0x54f47a[_0x288727(0x91e)]=_0xedc580=>_0x29c0d9[_0x288727(0xa5c)](_0x54f47a,_0xedc580),_0x54f47a[_0x288727(0xd1b)]=_0x4c82f2=>_0x29c0d9[_0x288727(0x26e)](_0x54f47a,_0x4c82f2);}static[_0x28d89f(0xa25)](_0x27dc81){var _0x3c8fc8=_0x28d89f;delete _0x27dc81[_0x3c8fc8(0xc57)],delete _0x27dc81[_0x3c8fc8(0xaa9)],delete _0x27dc81['addTags'],delete _0x27dc81['removeTags'],delete _0x27dc81[_0x3c8fc8(0xd1b)];}static['HasTags'](_0x29b683){var _0xa1264f=_0x28d89f;if(!_0x29b683[_0xa1264f(0xc57)])return!0x1;var _0x32321c=_0x29b683['_tags'];for(const _0x32bfec in _0x32321c)if(Object[_0xa1264f(0x733)][_0xa1264f(0x6c7)]['call'](_0x32321c,_0x32bfec))return!0x0;return!0x1;}static[_0x28d89f(0x7ad)](_0x4356df,_0x4a0812=!0x0){var _0x479b50=_0x28d89f;if(!_0x4356df[_0x479b50(0xc57)])return null;if(_0x4a0812){const _0x53a53c=[];for(const _0x427495 in _0x4356df[_0x479b50(0xc57)])Object[_0x479b50(0x733)]['hasOwnProperty'][_0x479b50(0x4f3)](_0x4356df['_tags'],_0x427495)&&!0x0===_0x4356df[_0x479b50(0xc57)][_0x427495]&&_0x53a53c[_0x479b50(0x2bd)](_0x427495);return _0x53a53c['join']('\x20');}return _0x4356df['_tags'];}static[_0x28d89f(0xc08)](_0x5d5da3,_0x4e1403){var _0x3a5272=_0x28d89f;if(_0x4e1403&&_0x3a5272(0x1bf)==typeof _0x4e1403){const _0x2895e1=_0x4e1403[_0x3a5272(0x349)]('\x20');_0x2895e1['forEach'](function(_0x6f32fa){_0x29c0d9['_AddTagTo'](_0x5d5da3,_0x6f32fa);});}}static[_0x28d89f(0x2f4)](_0x45813b,_0x329349){var _0x4ab7e5=_0x28d89f;''===(_0x329349=_0x329349[_0x4ab7e5(0x71d)]())||_0x4ab7e5(0x5d6)===_0x329349||_0x4ab7e5(0x2f3)===_0x329349||_0x329349[_0x4ab7e5(0x239)](/[\s]/)||_0x329349[_0x4ab7e5(0x239)](/^([!]|([|]|[&]){2})/)||(_0x29c0d9[_0x4ab7e5(0xcd3)](_0x45813b),_0x45813b[_0x4ab7e5(0xc57)][_0x329349]=!0x0);}static[_0x28d89f(0xa5c)](_0x5e5df3,_0x3401a6){var _0x1f75cb=_0x28d89f;if(_0x29c0d9['HasTags'](_0x5e5df3)){var _0x3c38a3=_0x3401a6[_0x1f75cb(0x349)]('\x20');for(const _0x321f05 in _0x3c38a3)_0x29c0d9[_0x1f75cb(0x72d)](_0x5e5df3,_0x3c38a3[_0x321f05]);}}static['_RemoveTagFrom'](_0xbad718,_0x582d9a){var _0x52cc52=_0x28d89f;delete _0xbad718[_0x52cc52(0xc57)][_0x582d9a];}static[_0x28d89f(0x26e)](_0x4762da,_0x6a46d6){var _0x1426a2=_0x28d89f;return void 0x0===_0x6a46d6||(''===_0x6a46d6?_0x29c0d9[_0x1426a2(0x6ec)](_0x4762da):_0x533d1d['q'][_0x1426a2(0x1f2)](_0x6a46d6,_0x1d6451=>_0x29c0d9[_0x1426a2(0x6ec)](_0x4762da)&&_0x4762da['_tags'][_0x1d6451]));}}},0xd84a:(_0x18c40e,_0x281e1a,_0x1de042)=>{var _0x3e693a=a6_0x5e3a36;_0x1de042['d'](_0x281e1a,{'Q':()=>_0x31f5a0});var _0x1b6f87=_0x1de042(0x18233);class _0x31f5a0{static[_0x3e693a(0xb6f)](_0xa3480e){var _0x90420e=_0x3e693a;(0x0,_0x1b6f87['CG'])()&&window['setImmediate']?window[_0x90420e(0x963)](_0xa3480e):setTimeout(_0xa3480e,0x1);}}},0xc98:(_0x35537f,_0x524122,_0x337b78)=>{var _0x370076=a6_0x5e3a36;_0x337b78['d'](_0x524122,{'L':()=>_0x68da56});var _0xaaeef5=_0x337b78(0x1266b),_0x4d0a3f=_0x337b78(0x9fd1),_0x4a494b=_0x337b78(0x1b5c);class _0x68da56{constructor(_0x28fb22=0x1,_0x4b49f4=Math['PI'],_0x57a4a1=0x0){var _0x3e14cc=a6_0x4d3f;this[_0x3e14cc(0xa50)]=_0x57a4a1,this[_0x3e14cc(0x9f9)]=0x1,this[_0x3e14cc(0x92d)]=0x1,this[_0x3e14cc(0x572)]=!0x1,this[_0x3e14cc(0x802)]=_0x4b49f4,this['radius']=_0x28fb22;}get[_0x370076(0x5c3)](){var _0x204b86=_0x370076;return this[_0x204b86(0x20f)];}set['radius'](_0x2d7b14){var _0x192be2=_0x370076;this[_0x192be2(0x20f)]=_0x2d7b14,this[_0x192be2(0xb66)]();}get[_0x370076(0x802)](){var _0x2134ef=_0x370076;return this[_0x2134ef(0xb13)];}set[_0x370076(0x802)](_0x1cc7e0){var _0xda4daf=_0x370076;this[_0xda4daf(0xb13)]=_0x1cc7e0,this['_buildHeight']();}[_0x370076(0xb66)](){var _0x2c6595=_0x370076;0x0!==this['_angle']?this[_0x2c6595(0x7ce)]=this['_radius']/Math[_0x2c6595(0xb19)](this['_angle']/0x2):this[_0x2c6595(0x7ce)]=0x1;}['startDirectionFunction'](_0x5c2898,_0x1c4021,_0x18f67f,_0x208c3c){var _0x18efb2=_0x370076;(_0x208c3c?_0x4d0a3f['jp'][_0x18efb2(0x4a0)][0x0]['copyFrom'](_0x18f67f['_localPosition']):_0x18f67f[_0x18efb2(0x7f1)][_0x18efb2(0x727)](_0x5c2898[_0x18efb2(0x3cb)](),_0x4d0a3f['jp'][_0x18efb2(0x4a0)][0x0]))['normalize'](),(_0x208c3c=_0x4a494b['R'][_0x18efb2(0x1bb)](0x0,this[_0x18efb2(0xa50)]),_0x18f67f=_0x4a494b['R'][_0x18efb2(0x1bb)](0x0,this[_0x18efb2(0xa50)]),_0x5c2898=_0x4a494b['R'][_0x18efb2(0x1bb)](0x0,this['directionRandomizer'])),(_0x1c4021['x']=_0x4d0a3f['jp']['Vector3'][0x0]['x']+_0x208c3c,_0x1c4021['y']=_0x4d0a3f['jp'][_0x18efb2(0x4a0)][0x0]['y']+_0x18f67f,_0x1c4021['z']=_0x4d0a3f['jp'][_0x18efb2(0x4a0)][0x0]['z']+_0x5c2898,_0x1c4021['normalize']());}[_0x370076(0xd24)](_0x4f1543,_0x27f48c,_0x9ea3a1,_0x27e1f0){var _0x77622b=_0x370076,_0x1b46df=_0x4a494b['R'][_0x77622b(0x1bb)](0x0,0x2*Math['PI']);let _0x11c4f9;_0x11c4f9=this['emitFromSpawnPointOnly']?0.0001:0x1-(_0x11c4f9=_0x4a494b['R'][_0x77622b(0x1bb)](0x0,this['heightRange']))*_0x11c4f9;var _0x1fcf0c=this[_0x77622b(0x20f)]-_0x4a494b['R']['RandomRange'](0x0,this[_0x77622b(0x20f)]*this[_0x77622b(0x9f9)]),_0x3bf1c6=(_0x1fcf0c*=_0x11c4f9)*Math[_0x77622b(0x7d2)](_0x1b46df),_0x1fcf0c=_0x1fcf0c*Math['cos'](_0x1b46df),_0x1b46df=_0x11c4f9*this[_0x77622b(0x7ce)];if(_0x27e1f0)return _0x27f48c['x']=_0x3bf1c6,_0x27f48c['y']=_0x1b46df,void(_0x27f48c['z']=_0x1fcf0c);_0x4d0a3f['P'][_0x77622b(0x585)](_0x3bf1c6,_0x1b46df,_0x1fcf0c,_0x4f1543,_0x27f48c);}[_0x370076(0x5ec)](){var _0x127d8e=_0x370076,_0x2f36eb=new _0x68da56(this[_0x127d8e(0x20f)],this[_0x127d8e(0xb13)],this[_0x127d8e(0xa50)]);return _0xaaeef5['j'][_0x127d8e(0x382)](this,_0x2f36eb),_0x2f36eb;}[_0x370076(0x91c)](_0x110d90){var _0x2f04ba=_0x370076;_0x110d90[_0x2f04ba(0x48e)](_0x2f04ba(0x5c3),this[_0x2f04ba(0x20f)],this[_0x2f04ba(0x9f9)]),_0x110d90[_0x2f04ba(0x84a)]('coneAngle',this[_0x2f04ba(0xb13)]),_0x110d90[_0x2f04ba(0x48e)](_0x2f04ba(0x9f8),this[_0x2f04ba(0x7ce)],this[_0x2f04ba(0x92d)]),_0x110d90['setFloat'](_0x2f04ba(0xa50),this[_0x2f04ba(0xa50)]);}[_0x370076(0x480)](_0x29d936){var _0x2cb485=_0x370076;_0x29d936[_0x2cb485(0x5af)](_0x2cb485(0x5c3),0x2),_0x29d936[_0x2cb485(0x5af)](_0x2cb485(0x489),0x1),_0x29d936['addUniform'](_0x2cb485(0x9f8),0x2),_0x29d936[_0x2cb485(0x5af)]('directionRandomizer',0x1);}[_0x370076(0x405)](){var _0x193179=_0x370076;let _0x270620=_0x193179(0x26d);return this[_0x193179(0x572)]&&(_0x270620+=_0x193179(0xd0b)),_0x270620;}[_0x370076(0xadf)](){var _0x1cc229=_0x370076;return _0x1cc229(0xb39);}[_0x370076(0x294)](){var _0x3b413a=_0x370076;const _0x1d8ef4={};return _0x1d8ef4[_0x3b413a(0xa18)]=this[_0x3b413a(0xadf)](),_0x1d8ef4[_0x3b413a(0x5c3)]=this[_0x3b413a(0x20f)],_0x1d8ef4[_0x3b413a(0x802)]=this['_angle'],_0x1d8ef4[_0x3b413a(0xa50)]=this[_0x3b413a(0xa50)],_0x1d8ef4[_0x3b413a(0x9f9)]=this[_0x3b413a(0x9f9)],_0x1d8ef4[_0x3b413a(0x92d)]=this[_0x3b413a(0x92d)],_0x1d8ef4['emitFromSpawnPointOnly']=this[_0x3b413a(0x572)],_0x1d8ef4;}['parse'](_0x4fb95e){var _0x3cfd57=_0x370076;this['radius']=_0x4fb95e[_0x3cfd57(0x5c3)],this[_0x3cfd57(0x802)]=_0x4fb95e[_0x3cfd57(0x802)],this[_0x3cfd57(0xa50)]=_0x4fb95e['directionRandomizer'],this[_0x3cfd57(0x9f9)]=void 0x0!==_0x4fb95e[_0x3cfd57(0x9f9)]?_0x4fb95e[_0x3cfd57(0x9f9)]:0x1,this['heightRange']=void 0x0!==_0x4fb95e[_0x3cfd57(0x9f9)]?_0x4fb95e['heightRange']:0x1,this[_0x3cfd57(0x572)]=void 0x0!==_0x4fb95e[_0x3cfd57(0x572)]&&_0x4fb95e['emitFromSpawnPointOnly'];}}},0x3694:(_0x24d8bc,_0x289b07,_0xf51adf)=>{var _0x4ccf8b=a6_0x5e3a36;_0xf51adf['d'](_0x289b07,{'k':()=>_0x949ecf,'z':()=>_0x3a32e7});var _0x169e4e=_0xf51adf(0x9fd1),_0x3a3769=_0xf51adf(0x1b5c),_0x4045b1=_0xf51adf(0x1266b);class _0x949ecf{constructor(_0x333ead=0x1,_0x38aa78=0x1,_0x58452b=0x1,_0x2702fe=0x0){var _0x29c2e2=a6_0x4d3f;this[_0x29c2e2(0x5c3)]=_0x333ead,this[_0x29c2e2(0x9f8)]=_0x38aa78,this['radiusRange']=_0x58452b,this['directionRandomizer']=_0x2702fe,this[_0x29c2e2(0x2a0)]=_0x169e4e['P'][_0x29c2e2(0xb5a)]();}[_0x4ccf8b(0x948)](_0x3c8136,_0x1cd30b,_0x1391a0,_0x28ccd2,_0x3ae454){var _0x5973bf=_0x4ccf8b;_0x1391a0['position'][_0x5973bf(0x727)](_0x3c8136['getTranslation'](),this[_0x5973bf(0x2a0)]),this[_0x5973bf(0x2a0)][_0x5973bf(0x9bd)](),_0x169e4e['P']['TransformNormalToRef'](this[_0x5973bf(0x2a0)],_0x3ae454,this[_0x5973bf(0x2a0)]),(_0x1391a0=_0x3a3769['R']['RandomRange'](-this[_0x5973bf(0xa50)]/0x2,this[_0x5973bf(0xa50)]/0x2),_0x3ae454=Math[_0x5973bf(0x4b8)](this[_0x5973bf(0x2a0)]['x'],this[_0x5973bf(0x2a0)]['z'])),(_0x3ae454+=_0x3a3769['R'][_0x5973bf(0x1bb)](-Math['PI']/0x2,Math['PI']/0x2)*this[_0x5973bf(0xa50)],this[_0x5973bf(0x2a0)]['y']=_0x1391a0,this[_0x5973bf(0x2a0)]['x']=Math['sin'](_0x3ae454),this[_0x5973bf(0x2a0)]['z']=Math['cos'](_0x3ae454),this['_tempVector']['normalize'](),_0x28ccd2?_0x1cd30b[_0x5973bf(0xd77)](this[_0x5973bf(0x2a0)]):_0x169e4e['P'][_0x5973bf(0x4e0)](this[_0x5973bf(0x2a0)]['x'],this[_0x5973bf(0x2a0)]['y'],this[_0x5973bf(0x2a0)]['z'],_0x3c8136,_0x1cd30b));}[_0x4ccf8b(0xd24)](_0x17b3e3,_0x2b7055,_0x1a1de6,_0x36949f){var _0x27e31e=_0x4ccf8b,_0x2b5556=_0x3a3769['R'][_0x27e31e(0x1bb)](-this['height']/0x2,this['height']/0x2),_0x94eee3=_0x3a3769['R'][_0x27e31e(0x1bb)](0x0,0x2*Math['PI']),_0xbd4b0b=_0x3a3769['R']['RandomRange']((0x1-this['radiusRange'])*(0x1-this[_0x27e31e(0x9f9)]),0x1),_0xbd4b0b=Math[_0x27e31e(0x1e3)](_0xbd4b0b)*this[_0x27e31e(0x5c3)],_0x19eb27=_0xbd4b0b*Math[_0x27e31e(0x974)](_0x94eee3),_0xbd4b0b=_0xbd4b0b*Math['sin'](_0x94eee3);_0x36949f?_0x2b7055['copyFromFloats'](_0x19eb27,_0x2b5556,_0xbd4b0b):_0x169e4e['P'][_0x27e31e(0x585)](_0x19eb27,_0x2b5556,_0xbd4b0b,_0x17b3e3,_0x2b7055);}[_0x4ccf8b(0x5ec)](){var _0x347754=_0x4ccf8b,_0x45ceb5=new _0x949ecf(this[_0x347754(0x5c3)],this['directionRandomizer']);return _0x4045b1['j'][_0x347754(0x382)](this,_0x45ceb5),_0x45ceb5;}[_0x4ccf8b(0x91c)](_0x13dd94){var _0x31b075=_0x4ccf8b;_0x13dd94[_0x31b075(0x84a)](_0x31b075(0x5c3),this['radius']),_0x13dd94[_0x31b075(0x84a)](_0x31b075(0x9f8),this[_0x31b075(0x9f8)]),_0x13dd94[_0x31b075(0x84a)]('radiusRange',this[_0x31b075(0x9f9)]),_0x13dd94[_0x31b075(0x84a)]('directionRandomizer',this[_0x31b075(0xa50)]);}['buildUniformLayout'](_0x4b2ce1){var _0x7e09c5=_0x4ccf8b;_0x4b2ce1[_0x7e09c5(0x5af)](_0x7e09c5(0x5c3),0x1),_0x4b2ce1[_0x7e09c5(0x5af)](_0x7e09c5(0x9f8),0x1),_0x4b2ce1[_0x7e09c5(0x5af)](_0x7e09c5(0x9f9),0x1),_0x4b2ce1[_0x7e09c5(0x5af)]('directionRandomizer',0x1);}[_0x4ccf8b(0x405)](){var _0x3f8701=_0x4ccf8b;return _0x3f8701(0xd3f);}[_0x4ccf8b(0xadf)](){var _0x34e8b5=_0x4ccf8b;return _0x34e8b5(0xa54);}[_0x4ccf8b(0x294)](){var _0x158072=_0x4ccf8b;const _0x1e3edb={};return _0x1e3edb['type']=this[_0x158072(0xadf)](),_0x1e3edb[_0x158072(0x5c3)]=this[_0x158072(0x5c3)],_0x1e3edb[_0x158072(0x9f8)]=this[_0x158072(0x9f8)],_0x1e3edb[_0x158072(0x9f9)]=this[_0x158072(0x9f9)],_0x1e3edb['directionRandomizer']=this[_0x158072(0xa50)],_0x1e3edb;}[_0x4ccf8b(0xcfe)](_0x81585){var _0x332cee=_0x4ccf8b;this['radius']=_0x81585[_0x332cee(0x5c3)],this['height']=_0x81585['height'],this['radiusRange']=_0x81585[_0x332cee(0x9f9)],this['directionRandomizer']=_0x81585[_0x332cee(0xa50)];}}class _0x3a32e7 extends _0x949ecf{constructor(_0x91852a=0x1,_0x5632ff=0x1,_0x3222de=0x1,_0x6c9e26=new _0x169e4e['P'](0x0,0x1,0x0),_0x5a0913=new _0x169e4e['P'](0x0,0x1,0x0)){var _0x28361f=_0x4ccf8b;super(_0x91852a,_0x5632ff,_0x3222de),this[_0x28361f(0x969)]=_0x6c9e26,this[_0x28361f(0xd5b)]=_0x5a0913;}[_0x4ccf8b(0x948)](_0x4ac60e,_0x65c2c7){var _0x194991=_0x4ccf8b,_0x3f30ca=_0x3a3769['R']['RandomRange'](this['direction1']['x'],this[_0x194991(0xd5b)]['x']),_0x53a3d1=_0x3a3769['R'][_0x194991(0x1bb)](this[_0x194991(0x969)]['y'],this[_0x194991(0xd5b)]['y']),_0x5b9526=_0x3a3769['R'][_0x194991(0x1bb)](this[_0x194991(0x969)]['z'],this[_0x194991(0xd5b)]['z']);_0x169e4e['P']['TransformNormalFromFloatsToRef'](_0x3f30ca,_0x53a3d1,_0x5b9526,_0x4ac60e,_0x65c2c7);}[_0x4ccf8b(0x5ec)](){var _0x45cd18=_0x4ccf8b,_0x2769da=new _0x3a32e7(this[_0x45cd18(0x5c3)],this[_0x45cd18(0x9f8)],this[_0x45cd18(0x9f9)],this[_0x45cd18(0x969)],this[_0x45cd18(0xd5b)]);return _0x4045b1['j'][_0x45cd18(0x382)](this,_0x2769da),_0x2769da;}['applyToShader'](_0x2138e5){var _0x5d2ff6=_0x4ccf8b;_0x2138e5[_0x5d2ff6(0x84a)]('radius',this['radius']),_0x2138e5['setFloat'](_0x5d2ff6(0x9f8),this[_0x5d2ff6(0x9f8)]),_0x2138e5[_0x5d2ff6(0x84a)](_0x5d2ff6(0x9f9),this[_0x5d2ff6(0x9f9)]),_0x2138e5['setVector3'](_0x5d2ff6(0x969),this['direction1']),_0x2138e5['setVector3'](_0x5d2ff6(0xd5b),this[_0x5d2ff6(0xd5b)]);}[_0x4ccf8b(0x480)](_0x121014){var _0xa08e23=_0x4ccf8b;_0x121014[_0xa08e23(0x5af)](_0xa08e23(0x5c3),0x1),_0x121014['addUniform'](_0xa08e23(0x9f8),0x1),_0x121014['addUniform']('radiusRange',0x1),_0x121014[_0xa08e23(0x5af)](_0xa08e23(0x969),0x3),_0x121014[_0xa08e23(0x5af)](_0xa08e23(0xd5b),0x3);}['getEffectDefines'](){var _0x8b0520=_0x4ccf8b;return _0x8b0520(0x414);}[_0x4ccf8b(0xadf)](){var _0x5f9946=_0x4ccf8b;return _0x5f9946(0x816);}[_0x4ccf8b(0x294)](){var _0x834ed4=_0x4ccf8b;const _0x1354c6=super[_0x834ed4(0x294)]();return _0x1354c6['direction1']=this[_0x834ed4(0x969)][_0x834ed4(0x3aa)](),_0x1354c6[_0x834ed4(0xd5b)]=this[_0x834ed4(0xd5b)][_0x834ed4(0x3aa)](),_0x1354c6;}['parse'](_0x44bee0){var _0x1be996=_0x4ccf8b;super[_0x1be996(0xcfe)](_0x44bee0),this[_0x1be996(0x969)][_0x1be996(0xd77)](_0x44bee0[_0x1be996(0x969)]),this['direction2'][_0x1be996(0xd77)](_0x44bee0[_0x1be996(0xd5b)]);}}},0x139b8:(_0x49ff88,_0x12783c,_0x41cb18)=>{var _0x174c07=a6_0x5e3a36;_0x41cb18['d'](_0x12783c,{'V':()=>_0x1438f9});var _0x85b83c=_0x41cb18(0x1266b),_0x181c83=_0x41cb18(0x9fd1),_0x37fd52=_0x41cb18(0x1b5c);class _0x1438f9{constructor(_0x23003b=0x1,_0x5a127=0x1,_0x5aafe6=0x0){var _0x1f1b4e=a6_0x4d3f;this[_0x1f1b4e(0x5c3)]=_0x23003b,this[_0x1f1b4e(0x9f9)]=_0x5a127,this[_0x1f1b4e(0xa50)]=_0x5aafe6;}['startDirectionFunction'](_0x35bc1d,_0x517cb6,_0x2c7851,_0x51e1fd){var _0x99425=a6_0x4d3f;const _0x3f1ce6=_0x2c7851['position']['subtract'](_0x35bc1d['getTranslation']())['normalize']();var _0x2c7851=_0x37fd52['R'][_0x99425(0x1bb)](0x0,this[_0x99425(0xa50)]),_0x3357b5=_0x37fd52['R']['RandomRange'](0x0,this['directionRandomizer']),_0x3a70a8=_0x37fd52['R'][_0x99425(0x1bb)](0x0,this[_0x99425(0xa50)]);_0x3f1ce6['x']+=_0x2c7851,_0x3f1ce6['y']+=_0x3357b5,_0x3f1ce6['z']+=_0x3a70a8,_0x3f1ce6[_0x99425(0x9bd)](),_0x51e1fd?_0x517cb6[_0x99425(0xd77)](_0x3f1ce6):_0x181c83['P'][_0x99425(0x4e0)](_0x3f1ce6['x'],_0x3f1ce6['y'],_0x3f1ce6['z'],_0x35bc1d,_0x517cb6);}[_0x174c07(0xd24)](_0xb6e08,_0x6b2953,_0x191578,_0x1ac076){var _0x2e7c3a=_0x174c07,_0x2b3ab1=this[_0x2e7c3a(0x5c3)]-_0x37fd52['R']['RandomRange'](0x0,this[_0x2e7c3a(0x5c3)]*this[_0x2e7c3a(0x9f9)]),_0x5a4575=_0x37fd52['R']['RandomRange'](0x0,0x1),_0x23e8a2=_0x37fd52['R'][_0x2e7c3a(0x1bb)](0x0,0x2*Math['PI']),_0x5a4575=Math['acos'](0x2*_0x5a4575-0x1),_0x4dc61f=_0x2b3ab1*Math[_0x2e7c3a(0x974)](_0x23e8a2)*Math[_0x2e7c3a(0x7d2)](_0x5a4575),_0x1682d5=_0x2b3ab1*Math[_0x2e7c3a(0x974)](_0x5a4575),_0x2b3ab1=_0x2b3ab1*Math[_0x2e7c3a(0x7d2)](_0x23e8a2)*Math[_0x2e7c3a(0x7d2)](_0x5a4575);_0x1ac076?_0x6b2953[_0x2e7c3a(0x988)](_0x4dc61f,Math[_0x2e7c3a(0x639)](_0x1682d5),_0x2b3ab1):_0x181c83['P'][_0x2e7c3a(0x585)](_0x4dc61f,Math['abs'](_0x1682d5),_0x2b3ab1,_0xb6e08,_0x6b2953);}[_0x174c07(0x5ec)](){var _0x5e4fb8=_0x174c07,_0x9ebc48=new _0x1438f9(this[_0x5e4fb8(0x5c3)],this[_0x5e4fb8(0xa50)]);return _0x85b83c['j'][_0x5e4fb8(0x382)](this,_0x9ebc48),_0x9ebc48;}['applyToShader'](_0x4d1d81){var _0x2a4402=_0x174c07;_0x4d1d81['setFloat'](_0x2a4402(0x5c3),this[_0x2a4402(0x5c3)]),_0x4d1d81[_0x2a4402(0x84a)](_0x2a4402(0x9f9),this[_0x2a4402(0x9f9)]),_0x4d1d81[_0x2a4402(0x84a)](_0x2a4402(0xa50),this['directionRandomizer']);}[_0x174c07(0x480)](_0x30fe54){var _0x57f954=_0x174c07;_0x30fe54[_0x57f954(0x5af)](_0x57f954(0x5c3),0x1),_0x30fe54[_0x57f954(0x5af)](_0x57f954(0x9f9),0x1),_0x30fe54['addUniform'](_0x57f954(0xa50),0x1);}[_0x174c07(0x405)](){var _0x21896a=_0x174c07;return _0x21896a(0x75d);}[_0x174c07(0xadf)](){var _0x6a4d00=_0x174c07;return _0x6a4d00(0xcc6);}['serialize'](){var _0x579c04=_0x174c07;const _0x437e57={};return _0x437e57[_0x579c04(0xa18)]=this[_0x579c04(0xadf)](),_0x437e57[_0x579c04(0x5c3)]=this['radius'],_0x437e57[_0x579c04(0x9f9)]=this['radiusRange'],_0x437e57[_0x579c04(0xa50)]=this[_0x579c04(0xa50)],_0x437e57;}[_0x174c07(0xcfe)](_0xe167c8){var _0x53eff0=_0x174c07;this[_0x53eff0(0x5c3)]=_0xe167c8[_0x53eff0(0x5c3)],this[_0x53eff0(0x9f9)]=_0xe167c8[_0x53eff0(0x9f9)],this[_0x53eff0(0xa50)]=_0xe167c8[_0x53eff0(0xa50)];}}},0x14ce1:(_0x43f1f6,_0x39a95f,_0x153acd)=>{var _0x37f2c9=a6_0x5e3a36;_0x153acd['d'](_0x39a95f,{'c':()=>_0x2f5c3b});var _0x4e291c=_0x153acd(0x1266b),_0x923a64=_0x153acd(0x9fd1),_0x21e4e7=_0x153acd(0x1b5c);class _0x2f5c3b{constructor(){var _0x594634=a6_0x4d3f;this[_0x594634(0x969)]=new _0x923a64['P'](0x0,0x1,0x0),this[_0x594634(0xd5b)]=new _0x923a64['P'](0x0,0x1,0x0);}[_0x37f2c9(0x948)](_0x4204ae,_0x2ac24e,_0x75b68b,_0x4c20c4){var _0x178263=_0x37f2c9,_0x50a303=_0x21e4e7['R']['RandomRange'](this[_0x178263(0x969)]['x'],this[_0x178263(0xd5b)]['x']),_0x45476a=_0x21e4e7['R'][_0x178263(0x1bb)](this['direction1']['y'],this[_0x178263(0xd5b)]['y']),_0x1a9d63=_0x21e4e7['R'][_0x178263(0x1bb)](this[_0x178263(0x969)]['z'],this[_0x178263(0xd5b)]['z']);_0x4c20c4?_0x2ac24e[_0x178263(0x988)](_0x50a303,_0x45476a,_0x1a9d63):_0x923a64['P'][_0x178263(0x4e0)](_0x50a303,_0x45476a,_0x1a9d63,_0x4204ae,_0x2ac24e);}[_0x37f2c9(0xd24)](_0x263c0c,_0x370fb1,_0x34a5c3,_0x37d81b){var _0x2e40f9=_0x37f2c9;_0x37d81b?_0x370fb1[_0x2e40f9(0x988)](0x0,0x0,0x0):_0x923a64['P'][_0x2e40f9(0x585)](0x0,0x0,0x0,_0x263c0c,_0x370fb1);}['clone'](){var _0x4d2106=_0x37f2c9,_0x288da2=new _0x2f5c3b();return _0x4e291c['j'][_0x4d2106(0x382)](this,_0x288da2),_0x288da2;}['applyToShader'](_0x4a820f){var _0x3ca959=_0x37f2c9;_0x4a820f[_0x3ca959(0xb6d)](_0x3ca959(0x969),this[_0x3ca959(0x969)]),_0x4a820f['setVector3'](_0x3ca959(0xd5b),this[_0x3ca959(0xd5b)]);}[_0x37f2c9(0x480)](_0x45c96d){var _0x19a244=_0x37f2c9;_0x45c96d[_0x19a244(0x5af)](_0x19a244(0x969),0x3),_0x45c96d[_0x19a244(0x5af)](_0x19a244(0xd5b),0x3);}[_0x37f2c9(0x405)](){var _0xced312=_0x37f2c9;return _0xced312(0x7a9);}[_0x37f2c9(0xadf)](){var _0x1a0e2f=_0x37f2c9;return _0x1a0e2f(0x672);}[_0x37f2c9(0x294)](){var _0x5e6963=_0x37f2c9;const _0x514653={};return _0x514653[_0x5e6963(0xa18)]=this['getClassName'](),_0x514653[_0x5e6963(0x969)]=this[_0x5e6963(0x969)][_0x5e6963(0x3aa)](),_0x514653[_0x5e6963(0xd5b)]=this[_0x5e6963(0xd5b)][_0x5e6963(0x3aa)](),_0x514653;}['parse'](_0x3e7d58){var _0x414b63=_0x37f2c9;_0x923a64['P'][_0x414b63(0x4b4)](_0x3e7d58[_0x414b63(0x969)],0x0,this[_0x414b63(0x969)]),_0x923a64['P'][_0x414b63(0x4b4)](_0x3e7d58[_0x414b63(0xd5b)],0x0,this[_0x414b63(0xd5b)]);}}},0x1511c:(_0x11cd29,_0x100096,_0x41b903)=>{var _0x2fcd2b=a6_0x5e3a36;_0x41b903['d'](_0x100096,{'A':()=>_0x54fb8d,'c':()=>_0x302cfc});var _0x285da1=_0x41b903(0x9fd1),_0x5424d2=_0x41b903(0x1b5c),_0x42c483=_0x41b903(0x1266b);class _0x54fb8d{constructor(_0x570c7b=0x1,_0x22809f=0x1,_0x1e80fe=0x0){var _0x16619a=a6_0x4d3f;this[_0x16619a(0x5c3)]=_0x570c7b,this['radiusRange']=_0x22809f,this[_0x16619a(0xa50)]=_0x1e80fe;}[_0x2fcd2b(0x948)](_0x50d68c,_0xd878b9,_0x6f2fbf,_0x27fc1a){var _0x291cf0=_0x2fcd2b;const _0x154fb0=_0x6f2fbf[_0x291cf0(0x7f1)]['subtract'](_0x50d68c['getTranslation']())[_0x291cf0(0x9bd)]();var _0x6f2fbf=_0x5424d2['R'][_0x291cf0(0x1bb)](0x0,this[_0x291cf0(0xa50)]),_0x217644=_0x5424d2['R'][_0x291cf0(0x1bb)](0x0,this['directionRandomizer']),_0x16f44f=_0x5424d2['R'][_0x291cf0(0x1bb)](0x0,this['directionRandomizer']);_0x154fb0['x']+=_0x6f2fbf,_0x154fb0['y']+=_0x217644,_0x154fb0['z']+=_0x16f44f,_0x154fb0[_0x291cf0(0x9bd)](),_0x27fc1a?_0xd878b9[_0x291cf0(0xd77)](_0x154fb0):_0x285da1['P']['TransformNormalFromFloatsToRef'](_0x154fb0['x'],_0x154fb0['y'],_0x154fb0['z'],_0x50d68c,_0xd878b9);}[_0x2fcd2b(0xd24)](_0xfc34f2,_0x11dbc2,_0x3ee65a,_0x3b221d){var _0x118599=_0x2fcd2b,_0x3d83c7=this['radius']-_0x5424d2['R'][_0x118599(0x1bb)](0x0,this[_0x118599(0x5c3)]*this[_0x118599(0x9f9)]),_0xd77803=_0x5424d2['R'][_0x118599(0x1bb)](0x0,0x1),_0x153a70=_0x5424d2['R'][_0x118599(0x1bb)](0x0,0x2*Math['PI']),_0xd77803=Math[_0x118599(0x95c)](0x2*_0xd77803-0x1),_0x5a5864=_0x3d83c7*Math[_0x118599(0x974)](_0x153a70)*Math[_0x118599(0x7d2)](_0xd77803),_0x22baab=_0x3d83c7*Math[_0x118599(0x974)](_0xd77803),_0x3d83c7=_0x3d83c7*Math[_0x118599(0x7d2)](_0x153a70)*Math[_0x118599(0x7d2)](_0xd77803);_0x3b221d?_0x11dbc2[_0x118599(0x988)](_0x5a5864,_0x22baab,_0x3d83c7):_0x285da1['P'][_0x118599(0x585)](_0x5a5864,_0x22baab,_0x3d83c7,_0xfc34f2,_0x11dbc2);}['clone'](){var _0x47cd55=_0x2fcd2b,_0x5697e4=new _0x54fb8d(this[_0x47cd55(0x5c3)],this[_0x47cd55(0xa50)]);return _0x42c483['j'][_0x47cd55(0x382)](this,_0x5697e4),_0x5697e4;}['applyToShader'](_0x5c25ae){var _0x548d2b=_0x2fcd2b;_0x5c25ae[_0x548d2b(0x84a)](_0x548d2b(0x5c3),this['radius']),_0x5c25ae[_0x548d2b(0x84a)](_0x548d2b(0x9f9),this[_0x548d2b(0x9f9)]),_0x5c25ae[_0x548d2b(0x84a)](_0x548d2b(0xa50),this[_0x548d2b(0xa50)]);}[_0x2fcd2b(0x480)](_0x14142b){var _0x2d148a=_0x2fcd2b;_0x14142b['addUniform'](_0x2d148a(0x5c3),0x1),_0x14142b[_0x2d148a(0x5af)](_0x2d148a(0x9f9),0x1),_0x14142b[_0x2d148a(0x5af)](_0x2d148a(0xa50),0x1);}[_0x2fcd2b(0x405)](){var _0x59a8ec=_0x2fcd2b;return _0x59a8ec(0x9db);}[_0x2fcd2b(0xadf)](){var _0x572b5c=_0x2fcd2b;return _0x572b5c(0x1c6);}[_0x2fcd2b(0x294)](){var _0x215534=_0x2fcd2b;const _0x12f18f={};return _0x12f18f['type']=this[_0x215534(0xadf)](),_0x12f18f[_0x215534(0x5c3)]=this[_0x215534(0x5c3)],_0x12f18f[_0x215534(0x9f9)]=this[_0x215534(0x9f9)],_0x12f18f[_0x215534(0xa50)]=this[_0x215534(0xa50)],_0x12f18f;}[_0x2fcd2b(0xcfe)](_0x4d0ed8){var _0x2452d0=_0x2fcd2b;this['radius']=_0x4d0ed8[_0x2452d0(0x5c3)],this[_0x2452d0(0x9f9)]=_0x4d0ed8['radiusRange'],this[_0x2452d0(0xa50)]=_0x4d0ed8[_0x2452d0(0xa50)];}}class _0x302cfc extends _0x54fb8d{constructor(_0x27884d=0x1,_0x468a58=new _0x285da1['P'](0x0,0x1,0x0),_0x2efed9=new _0x285da1['P'](0x0,0x1,0x0)){var _0x173a96=_0x2fcd2b;super(_0x27884d),this['direction1']=_0x468a58,this[_0x173a96(0xd5b)]=_0x2efed9;}[_0x2fcd2b(0x948)](_0x317444,_0x56696d){var _0x2f81eb=_0x2fcd2b,_0x2137e6=_0x5424d2['R'][_0x2f81eb(0x1bb)](this[_0x2f81eb(0x969)]['x'],this[_0x2f81eb(0xd5b)]['x']),_0x5830ce=_0x5424d2['R'][_0x2f81eb(0x1bb)](this[_0x2f81eb(0x969)]['y'],this[_0x2f81eb(0xd5b)]['y']),_0x29cb9c=_0x5424d2['R'][_0x2f81eb(0x1bb)](this[_0x2f81eb(0x969)]['z'],this[_0x2f81eb(0xd5b)]['z']);_0x285da1['P'][_0x2f81eb(0x4e0)](_0x2137e6,_0x5830ce,_0x29cb9c,_0x317444,_0x56696d);}[_0x2fcd2b(0x5ec)](){var _0x2d9b40=_0x2fcd2b,_0x38e598=new _0x302cfc(this['radius'],this[_0x2d9b40(0x969)],this[_0x2d9b40(0xd5b)]);return _0x42c483['j'][_0x2d9b40(0x382)](this,_0x38e598),_0x38e598;}['applyToShader'](_0x2641cf){var _0x4dae9a=_0x2fcd2b;_0x2641cf[_0x4dae9a(0x84a)](_0x4dae9a(0x5c3),this[_0x4dae9a(0x5c3)]),_0x2641cf[_0x4dae9a(0x84a)]('radiusRange',this[_0x4dae9a(0x9f9)]),_0x2641cf[_0x4dae9a(0xb6d)](_0x4dae9a(0x969),this[_0x4dae9a(0x969)]),_0x2641cf[_0x4dae9a(0xb6d)]('direction2',this[_0x4dae9a(0xd5b)]);}['buildUniformLayout'](_0x222805){var _0xe1a669=_0x2fcd2b;_0x222805['addUniform'](_0xe1a669(0x5c3),0x1),_0x222805[_0xe1a669(0x5af)](_0xe1a669(0x9f9),0x1),_0x222805['addUniform']('direction1',0x3),_0x222805[_0xe1a669(0x5af)](_0xe1a669(0xd5b),0x3);}[_0x2fcd2b(0x405)](){var _0x4cec1d=_0x2fcd2b;return _0x4cec1d(0x376);}[_0x2fcd2b(0xadf)](){var _0x15b302=_0x2fcd2b;return _0x15b302(0x1eb);}[_0x2fcd2b(0x294)](){var _0x1a93eb=_0x2fcd2b;const _0x2a324a=super['serialize']();return _0x2a324a[_0x1a93eb(0x969)]=this[_0x1a93eb(0x969)][_0x1a93eb(0x3aa)](),_0x2a324a[_0x1a93eb(0xd5b)]=this[_0x1a93eb(0xd5b)]['asArray'](),_0x2a324a;}[_0x2fcd2b(0xcfe)](_0xce42ec){var _0x3abd2b=_0x2fcd2b;super['parse'](_0xce42ec),this[_0x3abd2b(0x969)]['copyFrom'](_0xce42ec[_0x3abd2b(0x969)]),this[_0x3abd2b(0xd5b)][_0x3abd2b(0xd77)](_0xce42ec[_0x3abd2b(0xd5b)]);}}},0x5bc8:(_0x12c03d,_0x5435dd,_0x3b7717)=>{var _0x26759d=a6_0x5e3a36,_0x4549e4=_0x3b7717(0x1dad),_0x2dd487=_0x3b7717(0xd8dd),_0x397f7f=_0x3b7717(0xe0c0),_0x435262=_0x3b7717(0xee04),_0x523e7c=_0x3b7717(0x17dd3),_0x3f390c=_0x3b7717(0xbb85);_0x3b7717(0x1560d),_0x397f7f['p'][_0x26759d(0x425)](_0x3f390c['l']['NAME_PARTICLESYSTEM'],(_0x519875,_0x50ff36,_0x4038b8,_0x56be0a)=>{var _0x53b7ca=_0x26759d;const _0x5134f5=_0x397f7f['p'][_0x53b7ca(0x2f8)](_0x3f390c['l'][_0x53b7ca(0x2d4)]);if(_0x5134f5&&void 0x0!==_0x519875[_0x53b7ca(0x234)]&&null!==_0x519875[_0x53b7ca(0x234)])for(let _0x2d30f7=0x0,_0x3ed168=_0x519875[_0x53b7ca(0x234)][_0x53b7ca(0x43c)];_0x2d30f7<_0x3ed168;_0x2d30f7++){var _0x419298=_0x519875['particleSystems'][_0x2d30f7];_0x4038b8[_0x53b7ca(0x234)][_0x53b7ca(0x2bd)](_0x5134f5(_0x419298,_0x50ff36,_0x56be0a));}}),_0x397f7f['p'][_0x26759d(0xb59)](_0x3f390c['l'][_0x26759d(0x2d4)],(_0x3dea88,_0x5ce3eb,_0x4061ec)=>(_0x3dea88['activeParticleCount']?_0x2dd487['h']:_0x523e7c['p'])['Parse'](_0x3dea88,_0x5ce3eb,_0x4061ec)),_0x435262['D'][_0x26759d(0x733)][_0x26759d(0xd5f)]=function(_0xd5e834,_0x33835c=[],_0x27807f=[],_0x4f0018='',_0x5d5e23,_0x160412,_0x4ff749,_0x5e4cc5){var _0x4605a0=_0x26759d;let _0x3cdc28=[],_0x1150be=[];const _0x182bb5=[];return _0x5e4cc5?_0x5e4cc5['fillUniformsAttributesAndSamplerNames'](_0x1150be,_0x3cdc28,_0x182bb5):(_0x3cdc28=_0x523e7c['p'][_0x4605a0(0xc3b)](),_0x1150be=_0x523e7c['p']['_GetEffectCreationOptions']()),-0x1===_0x4f0018[_0x4605a0(0x456)]('\x20BILLBOARD')&&(_0x4f0018+=_0x4605a0(0x328)),null!=_0x5e4cc5&&_0x5e4cc5['isAnimationSheetEnabled']&&-0x1===_0x4f0018[_0x4605a0(0x456)](_0x4605a0(0x735))&&(_0x4f0018+='\x0a#define\x20ANIMATESHEET\x0a'),-0x1===_0x27807f[_0x4605a0(0x456)](_0x4605a0(0xd86))&&_0x27807f['push'](_0x4605a0(0xd86)),this[_0x4605a0(0x226)]({'vertex':null!=(_0x5e4cc5=null==_0x5e4cc5?void 0x0:_0x5e4cc5[_0x4605a0(0xc73)])?_0x5e4cc5:_0x4605a0(0x65d),'fragmentElement':_0xd5e834},_0x3cdc28,_0x1150be['concat'](_0x33835c),_0x182bb5['concat'](_0x27807f),_0x4f0018,_0x5d5e23,_0x160412,_0x4ff749);},_0x4549e4['Kj'][_0x26759d(0x733)][_0x26759d(0xcb2)]=function(){var _0x5eeb61=_0x26759d;const _0x3d876f=new Array();for(let _0x5f3926=0x0;_0x5f3926<this[_0x5eeb61(0xc81)]()[_0x5eeb61(0x234)]['length'];_0x5f3926++){var _0x3d86c9=this[_0x5eeb61(0xc81)]()[_0x5eeb61(0x234)][_0x5f3926];_0x3d86c9[_0x5eeb61(0xc6a)]===this&&_0x3d876f['push'](_0x3d86c9);}return _0x3d876f;},_0x4549e4['Kj'][_0x26759d(0x733)][_0x26759d(0xaea)]=function(){var _0x5b73e8=_0x26759d;const _0x21e52f=new Array(),_0xdab264=this[_0x5b73e8(0x510)]();_0xdab264[_0x5b73e8(0x2bd)](this);for(let _0x432a45=0x0;_0x432a45<this[_0x5b73e8(0xc81)]()[_0x5b73e8(0x234)][_0x5b73e8(0x43c)];_0x432a45++){var _0x2539b2=this[_0x5b73e8(0xc81)]()['particleSystems'][_0x432a45],_0x558e11=_0x2539b2[_0x5b73e8(0xc6a)];_0x558e11['position']&&-0x1!==_0xdab264[_0x5b73e8(0x456)](_0x558e11)&&_0x21e52f[_0x5b73e8(0x2bd)](_0x2539b2);}return _0x21e52f;};},0xc773:(_0x276df9,_0x804e67,_0x265844)=>{var _0x463e0a=a6_0x5e3a36,_0x51b901=_0x265844(0x10ea4),_0x448cd9=_0x265844(0xf96c),_0x1c6858=_0x265844(0xbb85),_0x1ee1cf=_0x265844(0x1446b),_0x56e9ce=_0x265844(0x38ef),_0x427a4e=_0x265844(0x12b14);_0x1ee1cf['x']['prototype']['getPhysicsEngine']=function(){var _0x3341f6=a6_0x4d3f;return this[_0x3341f6(0x34a)];},_0x1ee1cf['x'][_0x463e0a(0x733)]['enablePhysics']=function(_0x422e27=null,_0x6ed762){var _0x151c06=_0x463e0a;if(this[_0x151c06(0x34a)])return!0x0;var _0xe28f5b;this[_0x151c06(0x595)](_0x1c6858['l'][_0x151c06(0x8db)])||(_0xe28f5b=new _0x5f3d98(this),this[_0x151c06(0xcf4)](_0xe28f5b));try{if(_0x6ed762&&0x1!==(null==_0x6ed762?void 0x0:_0x6ed762['getPluginVersion']())){if(0x2!==(null==_0x6ed762?void 0x0:_0x6ed762[_0x151c06(0xc5d)]()))throw new Error(_0x151c06(0x7da));this[_0x151c06(0x34a)]=new _0x427a4e['T'](_0x422e27,_0x6ed762);}else this[_0x151c06(0x34a)]=new _0x56e9ce['T'](_0x422e27,_0x6ed762);return!(this[_0x151c06(0xc5b)]=0x0);}catch(_0x5c785e){return _0x51b901['Y']['Error'](_0x5c785e[_0x151c06(0x627)]),!0x1;}},_0x1ee1cf['x']['prototype']['disablePhysicsEngine']=function(){var _0x480883=_0x463e0a;this[_0x480883(0x34a)]&&(this[_0x480883(0x34a)][_0x480883(0x8fc)](),this[_0x480883(0x34a)]=null);},_0x1ee1cf['x']['prototype'][_0x463e0a(0x843)]=function(){var _0x19294f=_0x463e0a;return void 0x0!==this[_0x19294f(0x34a)];},_0x1ee1cf['x'][_0x463e0a(0x733)][_0x463e0a(0x8e7)]=function(_0x2ca06e){var _0xb775bf=_0x463e0a;const _0x1b0bb6=_0x2ca06e[_0xb775bf(0x6ee)][0x0][_0xb775bf(0x8a6)];_0x1b0bb6[_0xb775bf(0x20c)]&&(_0x1b0bb6['physicsImpostor']['dispose'](),_0x1b0bb6[_0xb775bf(0x20c)]=null);},_0x1ee1cf['x'][_0x463e0a(0x733)][_0x463e0a(0x8ed)]=function(_0x11cab4){var _0x486efa=_0x463e0a;if(this[_0x486efa(0x34a)]){var _0x284ca5=this[_0x486efa(0x34a)][_0x486efa(0x75e)]();if(0x0<_0x284ca5){for(this[_0x486efa(0xc5b)]+=_0x11cab4;this[_0x486efa(0xc5b)]>_0x284ca5;)this[_0x486efa(0xb33)][_0x486efa(0x6b1)](this),this[_0x486efa(0x34a)][_0x486efa(0xadc)](_0x284ca5/0x3e8),this[_0x486efa(0x660)][_0x486efa(0x6b1)](this),this[_0x486efa(0xc5b)]-=_0x284ca5;}else this[_0x486efa(0xb33)][_0x486efa(0x6b1)](this),this['_physicsEngine'][_0x486efa(0xadc)](_0x11cab4/0x3e8),this[_0x486efa(0x660)][_0x486efa(0x6b1)](this);}};class _0x5f3d98{constructor(_0x3b219a){var _0x4e8d05=_0x463e0a;this[_0x4e8d05(0xd51)]=_0x1c6858['l'][_0x4e8d05(0x8db)],this['scene']=_0x3b219a,this['scene'][_0x4e8d05(0xb33)]=new _0x448cd9['y$'](),this['scene'][_0x4e8d05(0x660)]=new _0x448cd9['y$'](),this[_0x4e8d05(0xb81)]['getDeterministicFrameTime']=()=>this[_0x4e8d05(0xb81)][_0x4e8d05(0x34a)]?0x3e8*this['scene'][_0x4e8d05(0x34a)][_0x4e8d05(0x861)]():0x3e8/0x3c;}['register'](){}[_0x463e0a(0xb56)](){}[_0x463e0a(0x8fc)](){var _0x2120cf=_0x463e0a;this['scene'][_0x2120cf(0xb33)]['clear'](),this[_0x2120cf(0xb81)][_0x2120cf(0x660)][_0x2120cf(0x642)](),this['scene'][_0x2120cf(0x34a)]&&this[_0x2120cf(0xb81)][_0x2120cf(0x1e7)]();}}_0x265844(0x643f);},0x643f:(_0x3c9e15,_0x1d76c9,_0x1bc223)=>{var _0x503f71=a6_0x5e3a36,_0x399e1a=_0x1bc223(0x51f),_0x2b4bd0=_0x1bc223(0x10abe);Object['defineProperty'](_0x399e1a['x']['prototype'],_0x503f71(0x20c),{'get':function(){var _0x29257c=_0x503f71;return this[_0x29257c(0x801)];},'set':function(_0x5e8cf6){var _0xf3241c=_0x503f71;this[_0xf3241c(0x801)]!==_0x5e8cf6&&(this[_0xf3241c(0x4ed)]&&this['onDisposeObservable'][_0xf3241c(0x9c2)](this[_0xf3241c(0x4ed)]),(this[_0xf3241c(0x801)]=_0x5e8cf6)&&(this['_disposePhysicsObserver']=this[_0xf3241c(0x8c5)][_0xf3241c(0x4ba)](()=>{var _0x37b1e2=_0xf3241c;this[_0x37b1e2(0x20c)]&&(this[_0x37b1e2(0x20c)][_0x37b1e2(0x8fc)](),this[_0x37b1e2(0x20c)]=null);})));},'enumerable':!0x0,'configurable':!0x0}),_0x399e1a['x'][_0x503f71(0x733)]['getPhysicsImpostor']=function(){var _0x5f5d5f=_0x503f71;return this[_0x5f5d5f(0x20c)];},_0x399e1a['x']['prototype'][_0x503f71(0x732)]=function(_0x405ba8,_0x1b6cef){var _0x3a12bc=_0x503f71;return this[_0x3a12bc(0x20c)]&&this[_0x3a12bc(0x20c)][_0x3a12bc(0x732)](_0x405ba8,_0x1b6cef),this;},_0x399e1a['x'][_0x503f71(0x733)][_0x503f71(0xc52)]=function(_0xb692fa,_0x3f6cf7,_0x1dc09c,_0xf21908){var _0x478872=_0x503f71;return this[_0x478872(0x20c)]&&_0xb692fa[_0x478872(0x20c)]&&this['physicsImpostor'][_0x478872(0x223)](_0xb692fa['physicsImpostor'],_0x2b4bd0['q7']['HingeJoint'],{'mainPivot':_0x3f6cf7,'connectedPivot':_0x1dc09c,'nativeParams':_0xf21908}),this;};},0x7f34:(_0x6325b9,_0x359420,_0x4791f9)=>{var _0x1c95c0=a6_0x5e3a36;_0x4791f9['d'](_0x359420,{'a':()=>_0x236071});class _0x236071{constructor(){this['_renderPipelines']={};}get[_0x1c95c0(0x49f)](){var _0x364ffe=_0x1c95c0;const _0xb92c12=[];for(const _0x5f3800 in this[_0x364ffe(0x342)]){var _0x282e12;Object[_0x364ffe(0x733)]['hasOwnProperty'][_0x364ffe(0x4f3)](this[_0x364ffe(0x342)],_0x5f3800)&&(_0x282e12=this[_0x364ffe(0x342)][_0x5f3800])['isSupported']&&_0xb92c12[_0x364ffe(0x2bd)](_0x282e12);}return _0xb92c12;}[_0x1c95c0(0x520)](_0x3279ab){var _0xa07e8a=_0x1c95c0;this['_renderPipelines'][_0x3279ab[_0xa07e8a(0xb52)]]=_0x3279ab;}['attachCamerasToRenderPipeline'](_0x232664,_0x5cf0f4,_0x3e2cb1=!0x1){var _0x23becd=_0x1c95c0;const _0xa6abed=this['_renderPipelines'][_0x232664];_0xa6abed&&_0xa6abed[_0x23becd(0x689)](_0x5cf0f4,_0x3e2cb1);}[_0x1c95c0(0xd6d)](_0x2aa328,_0x5e9e9e){var _0x281fd6=_0x1c95c0;const _0x16ec29=this[_0x281fd6(0x342)][_0x2aa328];_0x16ec29&&_0x16ec29['_detachCameras'](_0x5e9e9e);}['enableEffectInPipeline'](_0x8a0727,_0xe8822c,_0x1e45d1){const _0x1a5ed2=this['_renderPipelines'][_0x8a0727];_0x1a5ed2&&_0x1a5ed2['_enableEffect'](_0xe8822c,_0x1e45d1);}['disableEffectInPipeline'](_0x4b0adc,_0x436823,_0x4ef896){var _0x27c41b=_0x1c95c0;const _0x504861=this['_renderPipelines'][_0x4b0adc];_0x504861&&_0x504861[_0x27c41b(0xd98)](_0x436823,_0x4ef896);}[_0x1c95c0(0xa2f)](){var _0x3a6cd5=_0x1c95c0;for(const _0x2c9185 in this[_0x3a6cd5(0x342)])if(Object[_0x3a6cd5(0x733)][_0x3a6cd5(0x6c7)][_0x3a6cd5(0x4f3)](this[_0x3a6cd5(0x342)],_0x2c9185)){const _0x1542af=this['_renderPipelines'][_0x2c9185];_0x1542af[_0x3a6cd5(0xc0f)]?_0x1542af[_0x3a6cd5(0xbda)]():(_0x1542af[_0x3a6cd5(0x8fc)](),delete this[_0x3a6cd5(0x342)][_0x2c9185]);}}['_rebuild'](){var _0x5b6dcf=_0x1c95c0;for(const _0x1f335a in this[_0x5b6dcf(0x342)])if(Object[_0x5b6dcf(0x733)]['hasOwnProperty']['call'](this['_renderPipelines'],_0x1f335a)){const _0x2d406d=this[_0x5b6dcf(0x342)][_0x1f335a];_0x2d406d[_0x5b6dcf(0x825)]();}}[_0x1c95c0(0x8fc)](){var _0x56da6d=_0x1c95c0;for(const _0x33a9e1 in this[_0x56da6d(0x342)])if(Object[_0x56da6d(0x733)][_0x56da6d(0x6c7)][_0x56da6d(0x4f3)](this[_0x56da6d(0x342)],_0x33a9e1)){const _0x4ad8cf=this[_0x56da6d(0x342)][_0x33a9e1];_0x4ad8cf['dispose']();}}}},0x13aac:(_0x50b45c,_0x350f06,_0x333657)=>{var _0x393d11=a6_0x5e3a36;_0x333657['d'](_0x350f06,{'B':()=>_0x4adad0});var _0x1dfc70=_0x333657(0x77a5),_0x246ed4=_0x333657(0x1097c);class _0x4adad0{constructor(_0x537456,_0x33a804,_0xdd3d60,_0x2085ce=0x1){var _0x4622b9=a6_0x4d3f;this[_0x4622b9(0x57c)]=_0x537456,this[_0x4622b9(0x1a7)]=new _0x246ed4['p'](_0x537456,!0x0),this[_0x4622b9(0x423)]=this[_0x4622b9(0x57c)][_0x4622b9(0x566)]({'width':_0x33a804,'height':_0xdd3d60},{'generateMipMaps':!0x1,'type':_0x1dfc70['g'][_0x4622b9(0x2ba)],'format':_0x1dfc70['g'][_0x4622b9(0xd05)],'samplingMode':_0x1dfc70['g'][_0x4622b9(0x6a1)],'generateDepthBuffer':!0x0,'generateStencilBuffer':!0x1,'samples':_0x2085ce,'noColorAttachment':!0x0}),this['_depthRTWrapper'][_0x4622b9(0x408)](0x0,!0x1,!0x1,0x1);}get['depthRTWrapper'](){var _0x246a02=a6_0x4d3f;return this[_0x246a02(0x423)];}[_0x393d11(0x2c3)](_0x541810){var _0x4de8be=_0x393d11;return this['_copyTextureToTexture'][_0x4de8be(0x2c3)](_0x541810,this['_depthRTWrapper']);}['dispose'](){var _0x4440a1=_0x393d11;this[_0x4440a1(0x423)][_0x4440a1(0x8fc)](),this['_copyTextureToTexture'][_0x4440a1(0x8fc)]();}}},0xeff9:(_0x3203c5,_0x2a27d2,_0x1b7f17)=>{var _0x108c59=a6_0x5e3a36;_0x1b7f17['d'](_0x2a27d2,{'a':()=>_0x30fe76});var _0x2c743a=_0x1b7f17(0x77a5),_0x269dc5=_0x1b7f17(0xbac7),_0x3ce8f6=_0x1b7f17(0x9fd1),_0x5b66ad=_0x1b7f17(0x5f28),_0x2e93f2=_0x1b7f17(0xf96c);class _0x30fe76{constructor(_0x407e66,_0x1f4003,_0x390150,_0x4ea590,_0x6f51ac,_0x4fecaa,_0x48b365=_0x2c743a['g'][_0x108c59(0x85c)],_0xf4c37e=_0x2c743a['g'][_0x108c59(0xd05)],_0x3bf18e=_0x2c743a['g'][_0x108c59(0x85c)],_0x1f4a7b=_0x2c743a['g']['TEXTUREFORMAT_R'],_0x3e16ea=!0x1,_0x39aa2c=null,_0x4e54cc=!0x0,_0x41ce30=0x1){var _0x55e3bc=_0x108c59;this[_0x55e3bc(0x32e)]=!0x0,this[_0x55e3bc(0xc42)]=0x1,this[_0x55e3bc(0xa87)]=0x7,this[_0x55e3bc(0x1e9)]=0x3,this[_0x55e3bc(0x34f)]=0x64,this[_0x55e3bc(0x9a0)]=0xa,this['particleSize']=0.02,this['onDisposeObservable']=new _0x2e93f2['y$'](),this['_name']=_0x407e66,this[_0x55e3bc(0xccd)]=_0x1f4003,this[_0x55e3bc(0xcf8)]=_0x39aa2c,this[_0x55e3bc(0x57c)]=_0x1f4003[_0x55e3bc(0x9d0)](),this[_0x55e3bc(0x6ce)]=_0x390150,this[_0x55e3bc(0x7ce)]=_0x4ea590,this[_0x55e3bc(0xa70)]=_0x6f51ac,this['_blurTextureSizeY']=_0x4fecaa,this['_textureType']=_0x48b365,this['_textureFormat']=_0xf4c37e,this[_0x55e3bc(0x4d3)]=_0x3bf18e,this[_0x55e3bc(0xc19)]=_0x1f4a7b,this[_0x55e3bc(0x5df)]=_0x3e16ea,this[_0x55e3bc(0xbb3)]=_0x4e54cc,this[_0x55e3bc(0x793)]=_0x41ce30,this[_0x55e3bc(0x2dd)]=0x0,this['enableBlur']=0x0!==_0x6f51ac&&0x0!==_0x4fecaa,this[_0x55e3bc(0x443)]=null,this[_0x55e3bc(0x45d)]=null,this['_rtBlur']=null,this[_0x55e3bc(0x905)]=null,this[_0x55e3bc(0xbf2)]=null;}get['blurNumIterations'](){return this['_blurNumIterations'];}set['blurNumIterations'](_0x41435b){var _0x3ae42f=_0x108c59;if(this[_0x3ae42f(0x1e9)]!==_0x41435b&&(this[_0x3ae42f(0x1e9)]=_0x41435b,null!==this[_0x3ae42f(0xbf2)])){var _0x12c4c9=this[_0x3ae42f(0xbf2)][0x0],_0x39ec75=this[_0x3ae42f(0xbf2)][0x1];this['_blurPostProcesses']=[];for(let _0x4e30c7=0x0;_0x4e30c7<0x2*this[_0x3ae42f(0x1e9)];++_0x4e30c7)this[_0x3ae42f(0xbf2)][_0x4e30c7]=0x1&_0x4e30c7?_0x39ec75:_0x12c4c9;}}get[_0x108c59(0xc92)](){var _0x390795=_0x108c59;return this[_0x390795(0x443)];}get[_0x108c59(0x38f)](){var _0x389b9e=_0x108c59;return this[_0x389b9e(0xa5f)];}get[_0x108c59(0x20b)](){return this['_texture'];}get[_0x108c59(0x46f)](){var _0x7a5365=_0x108c59;return this[_0x7a5365(0x905)];}[_0x108c59(0x1cf)](){var _0x138070=_0x108c59,_0x53f63e,_0x315fbe,_0x5cfd11;this[_0x138070(0x8fc)](),this[_0x138070(0x4a5)](),this[_0x138070(0x32e)]&&this['_texture']&&([_0x53f63e,_0x315fbe,_0x5cfd11]=this['_createBlurPostProcesses'](this[_0x138070(0x45d)],this[_0x138070(0x4d3)],this[_0x138070(0xc19)],this[_0x138070(0xc42)],this[_0x138070(0xb52)],this['_useStandardBlur']),this[_0x138070(0xa5f)]=_0x53f63e,this['_textureBlurred']=_0x315fbe,this[_0x138070(0xbf2)]=_0x5cfd11);}[_0x108c59(0x908)](){var _0x3bfa98=_0x108c59;this[_0x3bfa98(0x32e)]&&this[_0x3bfa98(0xbf2)]&&(this[_0x3bfa98(0x2dd)]=0x0,this[_0x3bfa98(0xccd)][_0x3bfa98(0x64a)][_0x3bfa98(0x811)](this[_0x3bfa98(0xbf2)],this[_0x3bfa98(0xa5f)],!0x0),this[_0x3bfa98(0x57c)][_0x3bfa98(0xa66)](this[_0x3bfa98(0xa5f)]));}[_0x108c59(0x4a5)](){var _0x2a7c13=_0x108c59;this[_0x2a7c13(0x443)]=this[_0x2a7c13(0x57c)]['createRenderTargetTexture']({'width':this[_0x2a7c13(0x6ce)],'height':this[_0x2a7c13(0x7ce)]},{'generateMipMaps':!0x1,'type':this[_0x2a7c13(0x447)],'format':this[_0x2a7c13(0x750)],'samplingMode':_0x2c743a['g'][_0x2a7c13(0x6a1)],'generateDepthBuffer':this['_generateDepthBuffer'],'generateStencilBuffer':!0x1,'samples':this[_0x2a7c13(0x793)]});const _0x4d68b1=this[_0x2a7c13(0x443)][_0x2a7c13(0x20b)];_0x4d68b1['incrementReferences'](),this[_0x2a7c13(0x45d)]=new _0x269dc5['x'](null,this[_0x2a7c13(0xccd)]),this[_0x2a7c13(0x45d)][_0x2a7c13(0xd51)]=_0x2a7c13(0x4e3)+this[_0x2a7c13(0xb52)],this['_texture']['_texture']=_0x4d68b1,this[_0x2a7c13(0x45d)][_0x2a7c13(0x427)]=_0x269dc5['x'][_0x2a7c13(0x90b)],this['_texture'][_0x2a7c13(0x486)]=_0x269dc5['x'][_0x2a7c13(0x90b)],this[_0x2a7c13(0x45d)][_0x2a7c13(0xa32)]=0x1;}[_0x108c59(0xa89)](_0x3497fb,_0x579ca3,_0x354828,_0x4ed0ee,_0x20bc95,_0x2da12a=!0x1){var _0x1aadc2=_0x108c59;const _0x558c1e=this[_0x1aadc2(0xccd)][_0x1aadc2(0x9d0)]();var _0x4ed0ee=new _0x3ce8f6['FM'](Math['floor'](this[_0x1aadc2(0xa70)]/_0x4ed0ee),Math[_0x1aadc2(0x47c)](this[_0x1aadc2(0xbbf)]/_0x4ed0ee)),_0x592027=_0x579ca3===_0x2c743a['g'][_0x1aadc2(0x85c)]&&_0x558c1e[_0x1aadc2(0x780)]()['textureFloatLinearFiltering']||_0x579ca3===_0x2c743a['g'][_0x1aadc2(0xa51)]&&_0x558c1e[_0x1aadc2(0x780)]()[_0x1aadc2(0x435)],_0x4ed0ee=this['_engine'][_0x1aadc2(0x566)]({'width':_0x4ed0ee['x'],'height':_0x4ed0ee['y']},{'generateMipMaps':!0x1,'type':_0x579ca3,'format':_0x354828,'samplingMode':_0x592027?_0x2c743a['g'][_0x1aadc2(0x3d0)]:_0x2c743a['g'][_0x1aadc2(0x6a1)],'generateDepthBuffer':!0x1,'generateStencilBuffer':!0x1,'samples':this[_0x1aadc2(0x793)]});const _0x3a5a1a=_0x4ed0ee[_0x1aadc2(0x20b)],_0x2e2b9d=(_0x3a5a1a[_0x1aadc2(0x910)](),new _0x269dc5['x'](null,this[_0x1aadc2(0xccd)]));if(_0x2e2b9d[_0x1aadc2(0xd51)]=_0x1aadc2(0xa62)+_0x20bc95,_0x2e2b9d[_0x1aadc2(0x45d)]=_0x3a5a1a,_0x2e2b9d[_0x1aadc2(0x427)]=_0x269dc5['x'][_0x1aadc2(0x90b)],_0x2e2b9d[_0x1aadc2(0x486)]=_0x269dc5['x'][_0x1aadc2(0x90b)],_0x2e2b9d[_0x1aadc2(0xa32)]=0x1,_0x2da12a){const _0x1609bc=new _0x5b66ad['D'](_0x1aadc2(0x860),_0x1aadc2(0xbef),[_0x1aadc2(0x694),_0x1aadc2(0xcc3)],null,0x1,null,_0x2c743a['g'][_0x1aadc2(0x6a1)],_0x558c1e,!0x0,null,_0x579ca3,void 0x0,void 0x0,void 0x0,_0x354828),_0x324e7a=(_0x1609bc[_0x1aadc2(0x72f)]=this[_0x1aadc2(0x793)],_0x1609bc[_0x1aadc2(0x6f8)]=!0x0,_0x1609bc[_0x1aadc2(0x62b)][_0x1aadc2(0x4ba)](_0x48db86=>{var _0x39aba5=_0x1aadc2;0x0===this['_postProcessRunningIndex']?_0x48db86['setTexture']('textureSampler',_0x3497fb):_0x48db86['_bindTexture'](_0x39aba5(0x3a6),_0x1609bc[_0x39aba5(0xd59)][_0x39aba5(0x20b)]),_0x48db86[_0x39aba5(0x638)](_0x39aba5(0x694),this[_0x39aba5(0xa87)]),_0x48db86[_0x39aba5(0x48e)](_0x39aba5(0xcc3),0x1/this[_0x39aba5(0xa70)],0x0),this[_0x39aba5(0x2dd)]++;}),_0x1609bc[_0x1aadc2(0x49e)][_0x1aadc2(0x4ba)](()=>{_0x1609bc['_textures']['forEach'](_0x48e5cb=>{var _0xe26566=a6_0x4d3f;_0x48e5cb[_0xe26566(0x20b)][_0xe26566(0x427)]=_0x269dc5['x']['CLAMP_ADDRESSMODE'],_0x48e5cb[_0xe26566(0x20b)]['wrapV']=_0x269dc5['x'][_0xe26566(0x90b)];});}),this[_0x1aadc2(0x69d)](_0x1609bc),new _0x5b66ad['D'](_0x1aadc2(0x879),_0x1aadc2(0xbef),[_0x1aadc2(0x694),_0x1aadc2(0xcc3)],null,0x1,null,_0x2c743a['g'][_0x1aadc2(0x6a1)],_0x558c1e,!0x0,null,_0x579ca3,void 0x0,void 0x0,void 0x0,_0x354828)),_0x178e3a=(_0x324e7a[_0x1aadc2(0x72f)]=this[_0x1aadc2(0x793)],_0x324e7a['onApplyObservable'][_0x1aadc2(0x4ba)](_0x319be2=>{var _0x4a6e34=_0x1aadc2;_0x319be2[_0x4a6e34(0x638)](_0x4a6e34(0x694),this['blurFilterSize']),_0x319be2[_0x4a6e34(0x48e)]('blurDir',0x0,0x1/this[_0x4a6e34(0xbbf)]),this['_postProcessRunningIndex']++;}),_0x324e7a[_0x1aadc2(0x49e)]['add'](()=>{var _0x35d413=_0x1aadc2;_0x324e7a['_textures'][_0x35d413(0x840)](_0x586965=>{var _0x3900a1=_0x35d413;_0x586965[_0x3900a1(0x20b)][_0x3900a1(0x427)]=_0x269dc5['x'][_0x3900a1(0x90b)],_0x586965[_0x3900a1(0x20b)][_0x3900a1(0x486)]=_0x269dc5['x'][_0x3900a1(0x90b)];});}),this[_0x1aadc2(0x69d)](_0x324e7a),_0x1609bc[_0x1aadc2(0x61a)]=!0x1,_0x324e7a[_0x1aadc2(0x61a)]=!0x1,[]);for(let _0x290d30=0x0;_0x290d30<0x2*this['_blurNumIterations'];++_0x290d30)_0x178e3a[_0x290d30]=0x1&_0x290d30?_0x324e7a:_0x1609bc;return[_0x4ed0ee,_0x2e2b9d,_0x178e3a];}{_0x592027=[_0x1aadc2(0x663),_0x1aadc2(0xcc3),'projectedParticleConstant','depthThreshold'];const _0x288427=new _0x5b66ad['D']('BilateralBlurX','fluidRenderingBilateralBlur',_0x592027,null,0x1,null,_0x2c743a['g'][_0x1aadc2(0x6a1)],_0x558c1e,!0x0,null,_0x579ca3,void 0x0,void 0x0,void 0x0,_0x354828),_0xd28b7a=(_0x288427[_0x1aadc2(0x72f)]=this[_0x1aadc2(0x793)],_0x288427[_0x1aadc2(0x6f8)]=!0x0,_0x288427[_0x1aadc2(0x62b)][_0x1aadc2(0x4ba)](_0xd71efd=>{var _0x4c4e0a=_0x1aadc2;0x0===this[_0x4c4e0a(0x2dd)]?_0xd71efd['setTexture']('textureSampler',_0x3497fb):_0xd71efd[_0x4c4e0a(0xda6)]('textureSampler',_0x288427[_0x4c4e0a(0xd59)][_0x4c4e0a(0x20b)]),_0xd71efd[_0x4c4e0a(0x638)]('maxFilterSize',this[_0x4c4e0a(0x34f)]),_0xd71efd['setFloat2'](_0x4c4e0a(0xcc3),0x1/this[_0x4c4e0a(0xa70)],0x0),_0xd71efd[_0x4c4e0a(0x84a)](_0x4c4e0a(0xb08),this[_0x4c4e0a(0x444)]()),_0xd71efd[_0x4c4e0a(0x84a)]('depthThreshold',this[_0x4c4e0a(0x9ae)]()),this[_0x4c4e0a(0x2dd)]++;}),_0x288427[_0x1aadc2(0x49e)]['add'](()=>{var _0x1102fb=_0x1aadc2;_0x288427[_0x1102fb(0xd01)][_0x1102fb(0x840)](_0x16117c=>{var _0x1724b0=_0x1102fb;_0x16117c[_0x1724b0(0x20b)]['wrapU']=_0x269dc5['x'][_0x1724b0(0x90b)],_0x16117c['texture'][_0x1724b0(0x486)]=_0x269dc5['x']['CLAMP_ADDRESSMODE'];});}),this[_0x1aadc2(0x69d)](_0x288427),new _0x5b66ad['D'](_0x1aadc2(0x879),_0x1aadc2(0x7df),_0x592027,null,0x1,null,_0x2c743a['g'][_0x1aadc2(0x6a1)],_0x558c1e,!0x0,null,_0x579ca3,void 0x0,void 0x0,void 0x0,_0x354828)),_0x9e713c=(_0xd28b7a[_0x1aadc2(0x72f)]=this[_0x1aadc2(0x793)],_0xd28b7a[_0x1aadc2(0x62b)][_0x1aadc2(0x4ba)](_0x2a3cba=>{var _0x499b5a=_0x1aadc2;_0x2a3cba['setInt']('maxFilterSize',this[_0x499b5a(0x34f)]),_0x2a3cba[_0x499b5a(0x48e)](_0x499b5a(0xcc3),0x0,0x1/this['_blurTextureSizeY']),_0x2a3cba[_0x499b5a(0x84a)](_0x499b5a(0xb08),this['_getProjectedParticleConstant']()),_0x2a3cba['setFloat'](_0x499b5a(0x965),this[_0x499b5a(0x9ae)]()),this[_0x499b5a(0x2dd)]++;}),_0xd28b7a[_0x1aadc2(0x49e)][_0x1aadc2(0x4ba)](()=>{var _0x4dcc37=_0x1aadc2;_0xd28b7a[_0x4dcc37(0xd01)][_0x4dcc37(0x840)](_0x3911cb=>{var _0x372b58=_0x4dcc37;_0x3911cb[_0x372b58(0x20b)][_0x372b58(0x427)]=_0x269dc5['x'][_0x372b58(0x90b)],_0x3911cb[_0x372b58(0x20b)][_0x372b58(0x486)]=_0x269dc5['x'][_0x372b58(0x90b)];});}),this[_0x1aadc2(0x69d)](_0xd28b7a),_0x288427['autoClear']=!0x1,_0xd28b7a[_0x1aadc2(0x61a)]=!0x1,[]);for(let _0x49b4d7=0x0;_0x49b4d7<0x2*this['_blurNumIterations'];++_0x49b4d7)_0x9e713c[_0x49b4d7]=0x1&_0x49b4d7?_0xd28b7a:_0x288427;return[_0x4ed0ee,_0x2e2b9d,_0x9e713c];}}[_0x108c59(0x69d)](_0x25bdf9){var _0x464756=_0x108c59;_0x25bdf9['isReusable']()&&(_0x25bdf9['onActivateObservable']['add'](()=>{var _0x2e732c=a6_0x4d3f;_0x25bdf9[_0x2e732c(0x4e8)]=(_0x25bdf9[_0x2e732c(0x4e8)]+0x1)%0x2;}),_0x25bdf9['onApplyObservable'][_0x464756(0x4ba)](()=>{var _0x35a99d=_0x464756;_0x25bdf9[_0x35a99d(0x4e8)]=(_0x25bdf9['_currentRenderTextureInd']+0x1)%0x2;}));}[_0x108c59(0x444)](){var _0x2fc50a=_0x108c59,_0x281b5d;return this['blurFilterSize']*this['particleSize']*0.05*(this[_0x2fc50a(0x7ce)]/0x2)/Math['tan']((null!=(_0x281b5d=null==(_0x281b5d=this[_0x2fc50a(0xcf8)])?void 0x0:_0x281b5d['fov'])?_0x281b5d:0x2d*Math['PI']/0xb4)/0x2);}[_0x108c59(0x9ae)](){return this['particleSize']/0x2*this['blurDepthScale'];}['dispose'](){var _0x320da5=_0x108c59,_0x58af3a;this[_0x320da5(0x8c5)]['hasObservers']()&&this['onDisposeObservable'][_0x320da5(0x6b1)](this),null!=(_0x58af3a=this[_0x320da5(0x443)])&&_0x58af3a[_0x320da5(0x8fc)](),(this[_0x320da5(0x443)]=null)!=(_0x58af3a=this[_0x320da5(0x45d)])&&_0x58af3a['dispose'](),(this[_0x320da5(0x45d)]=null)!=(_0x58af3a=this[_0x320da5(0xa5f)])&&_0x58af3a['dispose'](),(this[_0x320da5(0xa5f)]=null)!=(_0x58af3a=this[_0x320da5(0x905)])&&_0x58af3a[_0x320da5(0x8fc)](),this[_0x320da5(0x905)]=null,this[_0x320da5(0xbf2)]&&(this['_blurPostProcesses'][0x0][_0x320da5(0x8fc)](),this[_0x320da5(0xbf2)][0x1]['dispose']()),this[_0x320da5(0xbf2)]=null;}}},0x1616b:(_0x35353e,_0x3e8fc8,_0x1e1870)=>{_0x1e1870['d'](_0x3e8fc8,{'p':()=>_0x2c228e});var _0x111f06=_0x1e1870(0x77a5);class _0x2c228e{constructor(){var _0x40cebd=a6_0x4d3f;this[_0x40cebd(0xcc9)]=!0x1,this[_0x40cebd(0xd51)]=_0x40cebd(0x535),this[_0x40cebd(0x670)]=[_0x111f06['g']['PREPASS_VELOCITY_TEXTURE_TYPE']];}}},0x498b:(_0x164f55,_0x4ad29c,_0x1453a5)=>{_0x1453a5['d'](_0x4ad29c,{'y':()=>_0x4b6698});var _0x786ec2=_0x1453a5(0x77a5);class _0x4b6698{constructor(){var _0xe8d06b=a6_0x4d3f;this['enabled']=!0x1,this[_0xe8d06b(0xd51)]=_0xe8d06b(0x6f9),this[_0xe8d06b(0x670)]=[_0x786ec2['g'][_0xe8d06b(0xa23)],_0x786ec2['g'][_0xe8d06b(0x544)],_0x786ec2['g'][_0xe8d06b(0x323)]];}}},0x10748:(_0x4ffaab,_0x4d0f85,_0x56d55b)=>{_0x56d55b['d'](_0x4d0f85,{'M':()=>_0x365fcd});var _0x1df971=_0x56d55b(0x77a5);class _0x365fcd{constructor(){var _0x1891cb=a6_0x4d3f;this[_0x1891cb(0xcc9)]=!0x1,this[_0x1891cb(0xd51)]=_0x1891cb(0x70f),this[_0x1891cb(0x670)]=[_0x1df971['g'][_0x1891cb(0xa23)],_0x1df971['g'][_0x1891cb(0x594)]];}}},0x8362:(_0x3d6b65,_0x4e32a0,_0x4140d4)=>{var _0xb1bf9d=a6_0x5e3a36;_0x4140d4['d'](_0x4e32a0,{'u':()=>_0x53506d});var _0x52dada=_0x4140d4(0x10ea4),_0x1d3acc=_0x4140d4(0xc84b),_0x10f92b=_0x4140d4(0xbac7),_0x4e32a0=_0x4140d4(0x5f28),_0x1ac6f2=_0x4140d4(0x77a5),_0xa023fa=(_0x4140d4(0x816b),_0x4140d4(0x17a92));_0xa023fa['v']['IncludesShadersStore']['fibonacci']='#define\x20rcp(x)\x201./x\x0a#define\x20GOLDEN_RATIO\x201.618033988749895\x0a#define\x20TWO_PI\x206.2831855\x0avec2\x20Golden2dSeq(int\x20i,float\x20n)\x0a{\x0areturn\x20vec2(float(i)/n+(0.5/n),fract(float(i)*rcp(GOLDEN_RATIO)));\x0a}\x0avec2\x20SampleDiskGolden(int\x20i,int\x20sampleCount)\x0a{\x0avec2\x20f=Golden2dSeq(i,float(sampleCount));\x0areturn\x20vec2(sqrt(f.x),TWO_PI*f.y);\x0a}',_0x4140d4(0x175b0),_0x4140d4(0x6b23),_0xa023fa['v'][_0xb1bf9d(0x466)][_0xb1bf9d(0x760)]=_0xb1bf9d(0x27b),(_0xa023fa['v']['ShadersStore'][_0xb1bf9d(0x7d0)]='#include<fibonacci>\x0a#include<helperFunctions>\x0a#include<subSurfaceScatteringFunctions>\x0a#include<diffusionProfile>\x0avarying\x20vec2\x20vUV;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20irradianceSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20albedoSampler;\x0auniform\x20vec2\x20viewportSize;\x0auniform\x20float\x20metersPerUnit;\x0aconst\x20float\x20LOG2_E=1.4426950408889634;\x0aconst\x20float\x20SSS_PIXELS_PER_SAMPLE=4.;\x0aconst\x20int\x20_SssSampleBudget=40;\x0a#define\x20rcp(x)\x201./x\x0a#define\x20Sq(x)\x20x*x\x0a#define\x20SSS_BILATERAL_FILTER\x20true\x0avec3\x20EvalBurleyDiffusionProfile(float\x20r,vec3\x20S)\x0a{\x0avec3\x20exp_13=exp2(((LOG2_E*(-1.0/3.0))*r)*S);\x20\x0avec3\x20expSum=exp_13*(1.+exp_13*exp_13);\x20\x0areturn\x20(S*rcp(8.*PI))*expSum;\x20\x0a}\x0avec2\x20SampleBurleyDiffusionProfile(float\x20u,float\x20rcpS)\x0a{\x0au=1.-u;\x20\x0afloat\x20g=1.+(4.*u)*(2.*u+sqrt(1.+(4.*u)*u));\x0afloat\x20n=exp2(log2(g)*(-1.0/3.0));\x20\x0afloat\x20p=(g*n)*n;\x20\x0afloat\x20c=1.+p+n;\x20\x0afloat\x20d=(3./LOG2_E*2.)+(3./LOG2_E)*log2(u);\x20\x0afloat\x20x=(3./LOG2_E)*log2(c)-d;\x20\x0afloat\x20rcpExp=((c*c)*c)*rcp((4.*u)*((c*c)+(4.*u)*(4.*u)));\x0afloat\x20r=x*rcpS;\x0afloat\x20rcpPdf=(8.*PI*rcpS)*rcpExp;\x20\x0areturn\x20vec2(r,rcpPdf);\x0a}\x0avec3\x20ComputeBilateralWeight(float\x20xy2,float\x20z,float\x20mmPerUnit,vec3\x20S,float\x20rcpPdf)\x0a{\x0a#ifndef\x20SSS_BILATERAL_FILTER\x0az=0.;\x0a#endif\x0afloat\x20r=sqrt(xy2+(z*mmPerUnit)*(z*mmPerUnit));\x0afloat\x20area=rcpPdf;\x0a#if\x20SSS_CLAMP_ARTIFACT\x0areturn\x20clamp(EvalBurleyDiffusionProfile(r,S)*area,0.0,1.0);\x0a#else\x0areturn\x20EvalBurleyDiffusionProfile(r,S)*area;\x0a#endif\x0a}\x0avoid\x20EvaluateSample(int\x20i,int\x20n,vec3\x20S,float\x20d,vec3\x20centerPosVS,float\x20mmPerUnit,float\x20pixelsPerMm,\x0afloat\x20phase,inout\x20vec3\x20totalIrradiance,inout\x20vec3\x20totalWeight)\x0a{\x0afloat\x20scale\x20=rcp(float(n));\x0afloat\x20offset=rcp(float(n))*0.5;\x0afloat\x20sinPhase,cosPhase;\x0asinPhase=sin(phase);\x0acosPhase=cos(phase);\x0avec2\x20bdp=SampleBurleyDiffusionProfile(float(i)*scale+offset,d);\x0afloat\x20r=bdp.x;\x0afloat\x20rcpPdf=bdp.y;\x0afloat\x20phi=SampleDiskGolden(i,n).y;\x0afloat\x20sinPhi,cosPhi;\x0asinPhi=sin(phi);\x0acosPhi=cos(phi);\x0afloat\x20sinPsi=cosPhase*sinPhi+sinPhase*cosPhi;\x20\x0afloat\x20cosPsi=cosPhase*cosPhi-sinPhase*sinPhi;\x20\x0avec2\x20vec=r*vec2(cosPsi,sinPsi);\x0avec2\x20position;\x20\x0afloat\x20xy2;\x0aposition=vUV+round((pixelsPerMm*r)*vec2(cosPsi,sinPsi))*texelSize;\x0axy2\x20=r*r;\x0avec4\x20textureSample=texture2D(irradianceSampler,position);\x0afloat\x20viewZ=texture2D(depthSampler,position).r;\x0avec3\x20irradiance\x20=textureSample.rgb;\x0aif\x20(testLightingForSSS(textureSample.a))\x0a{\x0afloat\x20relZ=viewZ-centerPosVS.z;\x0avec3\x20weight=ComputeBilateralWeight(xy2,relZ,mmPerUnit,S,rcpPdf);\x0atotalIrradiance+=weight*irradiance;\x0atotalWeight\x20+=weight;\x0a}\x0aelse\x0a{\x0a}\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec4\x20irradianceAndDiffusionProfile\x20=texture2D(irradianceSampler,vUV);\x0avec3\x20centerIrradiance=irradianceAndDiffusionProfile.rgb;\x0aint\x20diffusionProfileIndex=int(round(irradianceAndDiffusionProfile.a*255.));\x0afloat\x20centerDepth\x20=0.;\x0avec4\x20inputColor=texture2D(textureSampler,vUV);\x0abool\x20passedStencilTest=testLightingForSSS(irradianceAndDiffusionProfile.a);\x0aif\x20(passedStencilTest)\x0a{\x0acenterDepth=texture2D(depthSampler,vUV).r;\x0a}\x0aif\x20(!passedStencilTest)\x20{\x20\x0agl_FragColor=inputColor;\x0areturn;\x0a}\x0afloat\x20distScale\x20=1.;\x0avec3\x20S\x20=diffusionS[diffusionProfileIndex];\x0afloat\x20d\x20=diffusionD[diffusionProfileIndex];\x0afloat\x20filterRadius=filterRadii[diffusionProfileIndex];\x0avec2\x20centerPosNDC=vUV;\x0avec2\x20cornerPosNDC=vUV+0.5*texelSize;\x0avec3\x20centerPosVS\x20=vec3(centerPosNDC*viewportSize,1.0)*centerDepth;\x20\x0avec3\x20cornerPosVS\x20=vec3(cornerPosNDC*viewportSize,1.0)*centerDepth;\x20\x0afloat\x20mmPerUnit\x20=1000.*(metersPerUnit*rcp(distScale));\x0afloat\x20unitsPerMm=rcp(mmPerUnit);\x0afloat\x20unitsPerPixel=2.*abs(cornerPosVS.x-centerPosVS.x);\x0afloat\x20pixelsPerMm\x20=rcp(unitsPerPixel)*unitsPerMm;\x0afloat\x20filterArea\x20=PI*Sq(filterRadius*pixelsPerMm);\x0aint\x20sampleCount\x20=int(filterArea*rcp(SSS_PIXELS_PER_SAMPLE));\x0aint\x20sampleBudget=_SssSampleBudget;\x0aint\x20texturingMode=0;\x0avec3\x20albedo\x20=texture2D(albedoSampler,vUV).rgb;\x0aif\x20(distScale==0.\x20||\x20sampleCount<1)\x0a{\x0a#ifdef\x20DEBUG_SSS_SAMPLES\x0avec3\x20green=vec3(0.,1.,0.);\x0agl_FragColor=vec4(green,1.0);\x0areturn;\x0a#endif\x0agl_FragColor=vec4(inputColor.rgb+albedo*centerIrradiance,1.0);\x0areturn;\x0a}\x0a#ifdef\x20DEBUG_SSS_SAMPLES\x0avec3\x20red\x20=vec3(1.,0.,0.);\x0avec3\x20blue=vec3(0.,0.,1.);\x0agl_FragColor=vec4(mix(blue,red,clamp(float(sampleCount)/float(sampleBudget),0.0,1.0)),1.0);\x0areturn;\x0a#endif\x0afloat\x20phase=0.;\x0aint\x20n=min(sampleCount,sampleBudget);\x0avec3\x20centerWeight\x20=vec3(0.);\x20\x0avec3\x20totalIrradiance=vec3(0.);\x0avec3\x20totalWeight\x20=vec3(0.);\x0afor\x20(int\x20i=0;\x20i<n;\x20i++)\x0a{\x0aEvaluateSample(i,n,S,d,centerPosVS,mmPerUnit,pixelsPerMm,\x0aphase,totalIrradiance,totalWeight);\x0a}\x0atotalWeight=max(totalWeight,HALF_MIN);\x0agl_FragColor=vec4(inputColor.rgb+albedo*max(totalIrradiance/totalWeight,vec3(0.0)),1.);\x0a}',_0x4140d4(0x4617));class _0x1a7e22 extends _0x4e32a0['D']{['getClassName'](){return'SubSurfaceScatteringPostProcess';}constructor(_0x47de33,_0x657c39,_0x36e298,_0x559bd0=null,_0x22d47e,_0x5b96a6,_0x477a92,_0x15ce95=_0x1ac6f2['g'][_0xb1bf9d(0x3e7)]){var _0x52d51e=_0xb1bf9d;super(_0x47de33,_0x52d51e(0x1a1),[_0x52d51e(0x446),_0x52d51e(0x5ff),_0x52d51e(0x98b)],['diffusionS','diffusionD',_0x52d51e(0x1ac),_0x52d51e(0x4ff),_0x52d51e(0x653),_0x52d51e(0x546)],_0x36e298,_0x559bd0,_0x22d47e||_0x10f92b['x']['BILINEAR_SAMPLINGMODE'],_0x5b96a6,_0x477a92,null,_0x15ce95,_0x52d51e(0xb3c),void 0x0,!0x0),this[_0x52d51e(0xccd)]=_0x657c39,this['updateEffect'](),this[_0x52d51e(0x62b)]['add'](_0x89199=>{var _0x544e15=_0x52d51e,_0x13dec5;_0x657c39[_0x544e15(0x6cf)]&&_0x657c39['subSurfaceConfiguration']?(_0x13dec5=this[_0x544e15(0x446)],_0x89199[_0x544e15(0x84a)]('metersPerUnit',_0x657c39[_0x544e15(0x45f)][_0x544e15(0x98b)]),_0x89199[_0x544e15(0x48e)](_0x544e15(0x446),_0x13dec5['x'],_0x13dec5['y']),_0x89199[_0x544e15(0x8f2)]('irradianceSampler',_0x657c39['prePassRenderer'][_0x544e15(0x362)]()[_0x544e15(0x7f0)][_0x657c39[_0x544e15(0x6cf)][_0x544e15(0xaa2)](_0x1ac6f2['g'][_0x544e15(0x498)])]),_0x89199[_0x544e15(0x8f2)](_0x544e15(0x653),_0x657c39['prePassRenderer'][_0x544e15(0x362)]()[_0x544e15(0x7f0)][_0x657c39[_0x544e15(0x6cf)]['getIndex'](_0x1ac6f2['g']['PREPASS_DEPTH_TEXTURE_TYPE'])]),_0x89199['setTexture'](_0x544e15(0x546),_0x657c39[_0x544e15(0x6cf)]['getRenderTarget']()['textures'][_0x657c39[_0x544e15(0x6cf)]['getIndex'](_0x1ac6f2['g'][_0x544e15(0x968)])]),_0x89199[_0x544e15(0x48e)](_0x544e15(0x5ff),Math[_0x544e15(0xb19)](_0x657c39[_0x544e15(0xca7)]['fov']/0x2)*_0x657c39['getEngine']()[_0x544e15(0x274)](_0x657c39['activeCamera'],!0x0),Math['tan'](_0x657c39['activeCamera'][_0x544e15(0x426)]/0x2)),_0x89199[_0x544e15(0x95f)](_0x544e15(0x8c2),_0x657c39[_0x544e15(0x45f)][_0x544e15(0xa8b)]),_0x89199['setArray'](_0x544e15(0xc40),_0x657c39['subSurfaceConfiguration']['ssDiffusionD']),_0x89199[_0x544e15(0xced)](_0x544e15(0x1ac),_0x657c39[_0x544e15(0x45f)][_0x544e15(0xd84)])):_0x52dada['Y'][_0x544e15(0xb34)](_0x544e15(0x8bb));});}}var _0x45495d=_0x4140d4(0xbb85),_0x235fcf=_0x4140d4(0x15cb9);class _0x53506d{constructor(_0x1c485c){var _0x48e68c=_0xb1bf9d;this[_0x48e68c(0x6a5)]=[],this['_ssFilterRadii']=[],this[_0x48e68c(0x458)]=[],this[_0x48e68c(0xcc9)]=!0x1,this[_0x48e68c(0x295)]=!0x0,this[_0x48e68c(0xd51)]=_0x45495d['l'][_0x48e68c(0x5b2)],this[_0x48e68c(0x4ea)]=[],this[_0x48e68c(0x98b)]=0x1,this[_0x48e68c(0x670)]=[_0x1ac6f2['g'][_0x48e68c(0x594)],_0x1ac6f2['g']['PREPASS_ALBEDO_SQRT_TEXTURE_TYPE'],_0x1ac6f2['g'][_0x48e68c(0x33e)],_0x1ac6f2['g'][_0x48e68c(0x498)]],this[_0x48e68c(0x2ee)](new _0x1d3acc['Wo'](0x1,0x1,0x1)),this[_0x48e68c(0xccd)]=_0x1c485c,_0x53506d[_0x48e68c(0x6bd)](this[_0x48e68c(0xccd)]);}get[_0xb1bf9d(0xa8b)](){var _0x16beda=_0xb1bf9d;return this[_0x16beda(0x6a5)];}get['ssDiffusionD'](){return this['_ssDiffusionD'];}get[_0xb1bf9d(0xd84)](){var _0x4fa024=_0xb1bf9d;return this[_0x4fa024(0xc58)];}[_0xb1bf9d(0x2ee)](_0x4d4680){var _0x324b37=_0xb1bf9d;if(0x5<=this[_0x324b37(0x5b8)][_0x324b37(0x43c)])return _0x52dada['Y'][_0x324b37(0xb34)](_0x324b37(0x1c5)),0x0;for(let _0x7abb1=0x0;_0x7abb1<this['_ssDiffusionS'][_0x324b37(0x43c)]/0x3;_0x7abb1++)if(this[_0x324b37(0x6a5)][0x3*_0x7abb1]===_0x4d4680['r']&&this[_0x324b37(0x6a5)][0x3*_0x7abb1+0x1]===_0x4d4680['g']&&this['_ssDiffusionS'][0x3*_0x7abb1+0x2]===_0x4d4680['b'])return _0x7abb1;return this[_0x324b37(0x6a5)][_0x324b37(0x2bd)](_0x4d4680['r'],_0x4d4680['b'],_0x4d4680['g']),this['_ssDiffusionD']['push'](Math['max'](Math[_0x324b37(0xbbd)](_0x4d4680['r'],_0x4d4680['b']),_0x4d4680['g'])),this[_0x324b37(0xc58)][_0x324b37(0x2bd)](this[_0x324b37(0xa45)](_0x4d4680)),this[_0x324b37(0x4ea)]['push'](_0x4d4680),this[_0x324b37(0x458)][_0x324b37(0x43c)]-0x1;}[_0xb1bf9d(0x765)](){var _0x464163=_0xb1bf9d;return this['postProcess']=new _0x1a7e22('subSurfaceScattering',this['_scene'],0x1,null,void 0x0,this[_0x464163(0xccd)][_0x464163(0x9d0)]()),this['postProcess'][_0x464163(0x61a)]=!0x1,this[_0x464163(0xa8e)];}[_0xb1bf9d(0xbf8)](){var _0x37da9f=_0xb1bf9d;this['_ssDiffusionD']=[],this[_0x37da9f(0x6a5)]=[],this[_0x37da9f(0xc58)]=[],this['ssDiffusionProfileColors']=[];}['dispose'](){var _0x2a2671=_0xb1bf9d;this['clearAllDiffusionProfiles'](),this[_0x2a2671(0xa8e)]&&this['postProcess']['dispose']();}[_0xb1bf9d(0xa45)](_0x11054d){var _0x5b1608=_0xb1bf9d;return _0x11054d=Math[_0x5b1608(0xbbd)](_0x11054d['r'],_0x11054d['g'],_0x11054d['b']),this['_sampleBurleyDiffusionProfile'](0.997,_0x11054d);}[_0xb1bf9d(0x2cb)](_0x1f62ef,_0x3b802a){var _0x4ade1e=_0xb1bf9d,_0x5e402b=0x1+0x4*(_0x1f62ef=0x1-_0x1f62ef)*(0x2*_0x1f62ef+Math[_0x4ade1e(0x1e3)](0x1+0x4*_0x1f62ef*_0x1f62ef)),_0xf411ed=Math[_0x4ade1e(0xb67)](_0x5e402b,-0x1/0x3);return 0x3*Math[_0x4ade1e(0x562)]((0x1+_0x5e402b*_0xf411ed*_0xf411ed+_0xf411ed)/(0x4*_0x1f62ef))*_0x3b802a;}}_0x53506d[_0xb1bf9d(0x6bd)]=_0x2044bc=>{var _0x2ae67e=_0xb1bf9d;throw(0x0,_0x235fcf['S'])(_0x2ae67e(0x4ab));};},0x15a7:(_0x3ed454,_0x3603e9,_0x8fdefa)=>{var _0x3f28c7=a6_0x5e3a36;_0x8fdefa(0x17a92)['v'][_0x3f28c7(0x8f6)][_0x3f28c7(0xab3)]=_0x3f28c7(0x2da);},0x6052:(_0x492052,_0x435c22,_0x31d222)=>{var _0x199442=a6_0x5e3a36,_0x2c3c2a=_0x31d222(0x17a92);_0x31d222(0x6cce),_0x2c3c2a['v'][_0x199442(0x466)][_0x199442(0xaa1)]=_0x199442(0x9e0);},0xdcea:(_0x43c0df,_0x3bd5ca,_0x1598f8)=>{var _0x2137f1=a6_0x5e3a36;_0x1598f8(0x17a92)['v'][_0x2137f1(0x466)][_0x2137f1(0x24a)]=_0x2137f1(0x7f5);},0x12929:(_0x17ef58,_0x48ef1b,_0x54a1ce)=>{var _0x471a7a=a6_0x5e3a36;_0x54a1ce(0x17a92)['v']['IncludesShadersStore'][_0x471a7a(0x523)]=_0x471a7a(0x75b);},0x13f9a:(_0x3ed47d,_0x1ff48d,_0x29bddf)=>{var _0xa5a397=a6_0x5e3a36;_0x29bddf(0x17a92)['v'][_0xa5a397(0x466)][_0xa5a397(0x799)]=_0xa5a397(0x4e4);},0xb434:(_0xcea2e,_0x128c2b,_0x4bdab4)=>{var _0x27b9a9=a6_0x5e3a36;_0x4bdab4(0x17a92)['v']['IncludesShadersStore'][_0x27b9a9(0x51f)]=_0x27b9a9(0x526);},0x140f3:(_0x18a958,_0x229836,_0x36bb43)=>{var _0x26592f=a6_0x5e3a36;_0x36bb43(0x17a92)['v'][_0x26592f(0x466)]['boundingBoxRendererUboDeclaration']=_0x26592f(0x3df);},0x6664:(_0xc10e48,_0x12c7f7,_0x48fd9a)=>{var _0x26e569=a6_0x5e3a36;_0x48fd9a(0x17a92)['v'][_0x26e569(0x466)]['bumpFragment']='vec2\x20uvOffset=vec2(0.0,0.0);\x0a#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(DETAIL)\x0a#ifdef\x20NORMALXYSCALE\x0afloat\x20normalScale=1.0;\x0a#elif\x20defined(BUMP)\x0afloat\x20normalScale=vBumpInfos.y;\x0a#else\x0afloat\x20normalScale=1.0;\x0a#endif\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBN=vTBN;\x0a#elif\x20defined(BUMP)\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vBumpUV\x20:\x20-vBumpUV;\x0amat3\x20TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vTangentSpaceParams);\x0a#else\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vDetailUV\x20:\x20-vDetailUV;\x0amat3\x20TBN=cotangent_frame(normalW*normalScale,vPositionW,TBNUV,vec2(1.,1.));\x0a#endif\x0a#elif\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0amat3\x20TBN=vTBN;\x0a#else\x0avec2\x20TBNUV=gl_FrontFacing\x20?\x20vMainUV1\x20:\x20-vMainUV1;\x0amat3\x20TBN=cotangent_frame(normalW,vPositionW,TBNUV,vec2(1.,1.));\x0a#endif\x0a#endif\x0a#ifdef\x20PARALLAX\x0amat3\x20invTBN=transposeMat3(TBN);\x0a#ifdef\x20PARALLAXOCCLUSION\x0auvOffset=parallaxOcclusion(invTBN*-viewDirectionW,invTBN*normalW,vBumpUV,vBumpInfos.z);\x0a#else\x0auvOffset=parallaxOffset(invTBN*viewDirectionW,vBumpInfos.z);\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0avec4\x20detailColor=texture2D(detailSampler,vDetailUV+uvOffset);\x0avec2\x20detailNormalRG=detailColor.wy*2.0-1.0;\x0afloat\x20detailNormalB=sqrt(1.-saturate(dot(detailNormalRG,detailNormalRG)));\x0avec3\x20detailNormal=vec3(detailNormalRG,detailNormalB);\x0a#endif\x0a#ifdef\x20BUMP\x0a#ifdef\x20OBJECTSPACE_NORMALMAP\x0a#define\x20CUSTOM_FRAGMENT_BUMP_FRAGMENT\x0anormalW=normalize(texture2D(bumpSampler,vBumpUV).xyz\x20*2.0-1.0);\x0anormalW=normalize(mat3(normalMatrix)*normalW);\x0a#elif\x20!defined(DETAIL)\x0anormalW=perturbNormal(TBN,texture2D(bumpSampler,vBumpUV+uvOffset).xyz,vBumpInfos.y);\x0a#else\x0avec3\x20bumpNormal=texture2D(bumpSampler,vBumpUV+uvOffset).xyz*2.0-1.0;\x0a#if\x20DETAIL_NORMALBLENDMETHOD==0\x20\x0adetailNormal.xy*=vDetailInfos.z;\x0avec3\x20blendedNormal=normalize(vec3(bumpNormal.xy+detailNormal.xy,bumpNormal.z*detailNormal.z));\x0a#elif\x20DETAIL_NORMALBLENDMETHOD==1\x20\x0adetailNormal.xy*=vDetailInfos.z;\x0abumpNormal+=vec3(0.0,0.0,1.0);\x0adetailNormal*=vec3(-1.0,-1.0,1.0);\x0avec3\x20blendedNormal=bumpNormal*dot(bumpNormal,detailNormal)/bumpNormal.z-detailNormal;\x0a#endif\x0anormalW=perturbNormalBase(TBN,blendedNormal,vBumpInfos.y);\x0a#endif\x0a#elif\x20defined(DETAIL)\x0adetailNormal.xy*=vDetailInfos.z;\x0anormalW=perturbNormalBase(TBN,detailNormal,vDetailInfos.z);\x0a#endif\x0a';},0xe577:(_0x1b1612,_0x258668,_0x506d80)=>{var _0x42f795=a6_0x5e3a36,_0x4dbe6e=_0x506d80(0x17a92);_0x506d80(0x126e8),_0x4dbe6e['v']['IncludesShadersStore'][_0x42f795(0x7db)]=_0x42f795(0x5d1);},0x8cac:(_0x2a7e5c,_0x5c147b,_0x4926bc)=>{var _0xa26394=a6_0x5e3a36;_0x4926bc(0x17a92)['v'][_0xa26394(0x466)]['bumpFragmentMainFunctions']=_0xa26394(0x83a);},0xced6:(_0x40f14b,_0x3b444e,_0x4cfa1d)=>{var _0x2c9159=a6_0x5e3a36;_0x4cfa1d(0x17a92)['v'][_0x2c9159(0x466)][_0x2c9159(0x552)]='#if\x20defined(BUMP)\x20||\x20defined(PARALLAX)\x20||\x20defined(CLEARCOAT_BUMP)\x20||\x20defined(ANISOTROPIC)\x0a#if\x20defined(TANGENT)\x20&&\x20defined(NORMAL)\x0avec3\x20tbnNormal=normalize(normalUpdated);\x0avec3\x20tbnTangent=normalize(tangentUpdated.xyz);\x0avec3\x20tbnBitangent=cross(tbnNormal,tbnTangent)*tangentUpdated.w;\x0avTBN=mat3(finalWorld)*mat3(tbnTangent,tbnBitangent,tbnNormal);\x0a#endif\x0a#endif\x0a';},0x8785:(_0x19d8e8,_0x343fb3,_0x57f9ba)=>{var _0x529d26=a6_0x5e3a36;_0x57f9ba(0x17a92)['v'][_0x529d26(0x466)][_0x529d26(0xd32)]=_0x529d26(0xd3a);},0x3328:(_0x2028c5,_0x3720e8,_0x26835f)=>{var _0x52142a=a6_0x5e3a36;_0x26835f(0x17a92)['v']['IncludesShadersStore'][_0x52142a(0xa9f)]=_0x52142a(0x68f);},0xff1b:(_0x171167,_0x22422d,_0x3fedd7)=>{var _0x147cd1=a6_0x5e3a36;_0x3fedd7(0x17a92)['v'][_0x147cd1(0x466)][_0x147cd1(0x822)]=_0x147cd1(0x326);},0x6efd:(_0x106178,_0x5af098,_0x2bb876)=>{var _0x226b4b=a6_0x5e3a36;_0x2bb876(0x17a92)['v'][_0x226b4b(0x466)][_0x226b4b(0x3eb)]=_0x226b4b(0x7c2);},0x13216:(_0x1f7aa9,_0x30e408,_0x4a1ca0)=>{var _0x713c3b=a6_0x5e3a36;_0x4a1ca0(0x17a92)['v'][_0x713c3b(0x466)][_0x713c3b(0xd04)]=_0x713c3b(0xce3);},0x4bc6:(_0x1e46b2,_0x3c2ca3,_0x36c437)=>{var _0xe70c29=a6_0x5e3a36,_0x4513fb=_0x36c437(0x17a92);_0x36c437(0x6cce),_0x36c437(0x11fa6),_0x4513fb['v'][_0xe70c29(0x466)][_0xe70c29(0x2f9)]='layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x0a{\x0avec4\x20diffuseLeftColor;\x0avec4\x20diffuseRightColor;\x0avec4\x20opacityParts;\x0avec4\x20reflectionLeftColor;\x0avec4\x20reflectionRightColor;\x0avec4\x20refractionLeftColor;\x0avec4\x20refractionRightColor;\x0avec4\x20emissiveLeftColor;\x0avec4\x20emissiveRightColor;\x0avec2\x20vDiffuseInfos;\x0avec2\x20vAmbientInfos;\x0avec2\x20vOpacityInfos;\x0avec2\x20vReflectionInfos;\x0avec3\x20vReflectionPosition;\x0avec3\x20vReflectionSize;\x0avec2\x20vEmissiveInfos;\x0avec2\x20vLightmapInfos;\x0avec2\x20vSpecularInfos;\x0avec3\x20vBumpInfos;\x0amat4\x20diffuseMatrix;\x0amat4\x20ambientMatrix;\x0amat4\x20opacityMatrix;\x0amat4\x20reflectionMatrix;\x0amat4\x20emissiveMatrix;\x0amat4\x20lightmapMatrix;\x0amat4\x20specularMatrix;\x0amat4\x20bumpMatrix;\x0avec2\x20vTangentSpaceParams;\x0afloat\x20pointSize;\x0afloat\x20alphaCutOff;\x0amat4\x20refractionMatrix;\x0avec4\x20vRefractionInfos;\x0avec3\x20vRefractionPosition;\x0avec3\x20vRefractionSize;\x0avec4\x20vSpecularColor;\x0avec3\x20vEmissiveColor;\x0avec4\x20vDiffuseColor;\x0avec3\x20vAmbientColor;\x0a#define\x20ADDITIONAL_UBO_DECLARATION\x0a};\x0a#include<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a';},0x6318:(_0x5ccd84,_0xd06290,_0x3c13d0)=>{var _0x2cbb43=a6_0x5e3a36;_0x3c13d0(0x17a92)['v'][_0x2cbb43(0x466)][_0x2cbb43(0x318)]=_0x2cbb43(0x6d0);},0x10ef:(_0x6d9f31,_0x57d4b8,_0x1d5ffb)=>{var _0x16b883=a6_0x5e3a36;_0x1d5ffb(0x17a92)['v'][_0x16b883(0x466)]['fogFragment']=_0x16b883(0xcfa);},0x12a16:(_0x12ae15,_0x40d261,_0x44e7ec)=>{_0x44e7ec(0x17a92)['v']['IncludesShadersStore']['fogFragmentDeclaration']='#ifdef\x20FOG\x0a#define\x20FOGMODE_NONE\x200.\x0a#define\x20FOGMODE_EXP\x201.\x0a#define\x20FOGMODE_EXP2\x202.\x0a#define\x20FOGMODE_LINEAR\x203.\x0a#define\x20E\x202.71828\x0auniform\x20vec4\x20vFogInfos;\x0auniform\x20vec3\x20vFogColor;\x0avarying\x20vec3\x20vFogDistance;\x0afloat\x20CalcFogFactor()\x0a{\x0afloat\x20fogCoeff=1.0;\x0afloat\x20fogStart=vFogInfos.y;\x0afloat\x20fogEnd=vFogInfos.z;\x0afloat\x20fogDensity=vFogInfos.w;\x0afloat\x20fogDistance=length(vFogDistance);\x0aif\x20(FOGMODE_LINEAR==vFogInfos.x)\x0a{\x0afogCoeff=(fogEnd-fogDistance)/(fogEnd-fogStart);\x0a}\x0aelse\x20if\x20(FOGMODE_EXP==vFogInfos.x)\x0a{\x0afogCoeff=1.0/pow(E,fogDistance*fogDensity);\x0a}\x0aelse\x20if\x20(FOGMODE_EXP2==vFogInfos.x)\x0a{\x0afogCoeff=1.0/pow(E,fogDistance*fogDistance*fogDensity*fogDensity);\x0a}\x0areturn\x20clamp(fogCoeff,0.0,1.0);\x0a}\x0a#endif\x0a';},0x9871:(_0x2bb62c,_0x2d2bd3,_0x285924)=>{var _0x2bab9d=a6_0x5e3a36;_0x285924(0x17a92)['v'][_0x2bab9d(0x466)][_0x2bab9d(0xd42)]=_0x2bab9d(0xb64);},0x6a99:(_0x55e3a9,_0x318fb6,_0x1c156f)=>{var _0x18b99a=a6_0x5e3a36;_0x1c156f(0x17a92)['v'][_0x18b99a(0x466)][_0x18b99a(0xb14)]='#ifdef\x20FOG\x0avarying\x20vec3\x20vFogDistance;\x0a#endif\x0a';},0xb008:(_0x1a9fa7,_0x427484,_0x2e5fc)=>{var _0x2e5dff=a6_0x5e3a36;_0x2e5fc(0x17a92)['v'][_0x2e5dff(0x466)][_0x2e5dff(0x3f9)]='#ifdef\x20FRESNEL\x0afloat\x20computeFresnelTerm(vec3\x20viewDirection,vec3\x20worldNormal,float\x20bias,float\x20power)\x0a{\x0afloat\x20fresnelTerm=pow(bias+abs(dot(viewDirection,worldNormal)),power);\x0areturn\x20clamp(fresnelTerm,0.,1.);\x0a}\x0a#endif\x0a';},0x14535:(_0x31ab1c,_0x14653f,_0xf0a080)=>{var _0x5e907e=a6_0x5e3a36;_0xf0a080(0x17a92)['v'][_0x5e907e(0x466)][_0x5e907e(0x4fb)]='#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#ifdef\x20SPHERICAL_HARMONICS\x0avec3\x20computeEnvironmentIrradiance(vec3\x20normal)\x20{\x0areturn\x20vSphericalL00\x0a+\x20vSphericalL1_1*(normal.y)\x0a+\x20vSphericalL10*(normal.z)\x0a+\x20vSphericalL11*(normal.x)\x0a+\x20vSphericalL2_2*(normal.y*normal.x)\x0a+\x20vSphericalL2_1*(normal.y*normal.z)\x0a+\x20vSphericalL20*((3.0*normal.z*normal.z)-1.0)\x0a+\x20vSphericalL21*(normal.z*normal.x)\x0a+\x20vSphericalL22*(normal.x*normal.x-(normal.y*normal.y));\x0a}\x0a#else\x0avec3\x20computeEnvironmentIrradiance(vec3\x20normal)\x20{\x0afloat\x20Nx=normal.x;\x0afloat\x20Ny=normal.y;\x0afloat\x20Nz=normal.z;\x0avec3\x20C1=vSphericalZZ.rgb;\x0avec3\x20Cx=vSphericalX.rgb;\x0avec3\x20Cy=vSphericalY.rgb;\x0avec3\x20Cz=vSphericalZ.rgb;\x0avec3\x20Cxx_zz=vSphericalXX_ZZ.rgb;\x0avec3\x20Cyy_zz=vSphericalYY_ZZ.rgb;\x0avec3\x20Cxy=vSphericalXY.rgb;\x0avec3\x20Cyz=vSphericalYZ.rgb;\x0avec3\x20Czx=vSphericalZX.rgb;\x0avec3\x20a1=Cyy_zz*Ny+Cy;\x0avec3\x20a2=Cyz*Nz+a1;\x0avec3\x20b1=Czx*Nz+Cx;\x0avec3\x20b2=Cxy*Ny+b1;\x0avec3\x20b3=Cxx_zz*Nx+b2;\x0avec3\x20t1=Cz\x20*Nz+C1;\x0avec3\x20t2=a2\x20*Ny+t1;\x0avec3\x20t3=b3\x20*Nx+t2;\x0areturn\x20t3;\x0a}\x0a#endif\x0a#endif\x0a';},0x16b85:(_0x2573b4,_0x7b1283,_0x390303)=>{var _0x3c67a9=a6_0x5e3a36;_0x390303(0x17a92)['v']['IncludesShadersStore'][_0x3c67a9(0x4c6)]='#ifdef\x20NUM_SAMPLES\x0a#if\x20NUM_SAMPLES>0\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afloat\x20radicalInverse_VdC(uint\x20bits)\x20\x0a{\x0abits=(bits<<16u)\x20|\x20(bits>>16u);\x0abits=((bits\x20&\x200x55555555u)<<1u)\x20|\x20((bits\x20&\x200xAAAAAAAAu)>>1u);\x0abits=((bits\x20&\x200x33333333u)<<2u)\x20|\x20((bits\x20&\x200xCCCCCCCCu)>>2u);\x0abits=((bits\x20&\x200x0F0F0F0Fu)<<4u)\x20|\x20((bits\x20&\x200xF0F0F0F0u)>>4u);\x0abits=((bits\x20&\x200x00FF00FFu)<<8u)\x20|\x20((bits\x20&\x200xFF00FF00u)>>8u);\x0areturn\x20float(bits)*2.3283064365386963e-10;\x20\x0a}\x0avec2\x20hammersley(uint\x20i,uint\x20N)\x0a{\x0areturn\x20vec2(float(i)/float(N),radicalInverse_VdC(i));\x0a}\x0a#else\x0afloat\x20vanDerCorpus(int\x20n,int\x20base)\x0a{\x0afloat\x20invBase=1.0/float(base);\x0afloat\x20denom\x20=1.0;\x0afloat\x20result\x20=0.0;\x0afor(int\x20i=0;\x20i<32;\x20++i)\x0a{\x0aif(n>0)\x0a{\x0adenom\x20=mod(float(n),2.0);\x0aresult+=denom*invBase;\x0ainvBase=invBase/2.0;\x0an\x20=int(float(n)/2.0);\x0a}\x0a}\x0areturn\x20result;\x0a}\x0avec2\x20hammersley(int\x20i,int\x20N)\x0a{\x0areturn\x20vec2(float(i)/float(N),vanDerCorpus(i,2));\x0a}\x0a#endif\x0afloat\x20log4(float\x20x)\x20{\x0areturn\x20log2(x)/2.;\x0a}\x0aconst\x20float\x20NUM_SAMPLES_FLOAT=float(NUM_SAMPLES);\x0aconst\x20float\x20NUM_SAMPLES_FLOAT_INVERSED=1./NUM_SAMPLES_FLOAT;\x0aconst\x20float\x20K=4.;\x0a#define\x20inline\x0avec3\x20irradiance(samplerCube\x20inputTexture,vec3\x20inputN,vec2\x20filteringInfo)\x0a{\x0avec3\x20n=normalize(inputN);\x0avec3\x20result=vec3(0.0);\x0avec3\x20tangent=abs(n.z)<0.999\x20?\x20vec3(0.,0.,1.)\x20:\x20vec3(1.,0.,0.);\x0atangent=normalize(cross(tangent,n));\x0avec3\x20bitangent=cross(n,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,n);\x0afloat\x20maxLevel=filteringInfo.y;\x0afloat\x20dim0=filteringInfo.x;\x0afloat\x20omegaP=(4.*PI)/(6.*dim0*dim0);\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afor(uint\x20i=0u;\x20i<NUM_SAMPLES;\x20++i)\x0a#else\x0afor(int\x20i=0;\x20i<NUM_SAMPLES;\x20++i)\x0a#endif\x0a{\x0avec2\x20Xi=hammersley(i,NUM_SAMPLES);\x0avec3\x20Ls=hemisphereCosSample(Xi);\x0aLs=normalize(Ls);\x0avec3\x20Ns=vec3(0.,0.,1.);\x0afloat\x20NoL=dot(Ns,Ls);\x0aif\x20(NoL>0.)\x20{\x0afloat\x20pdf_inversed=PI/NoL;\x0afloat\x20omegaS=NUM_SAMPLES_FLOAT_INVERSED*pdf_inversed;\x0afloat\x20l=log4(omegaS)-log4(omegaP)+log4(K);\x0afloat\x20mipLevel=clamp(l,0.0,maxLevel);\x0avec3\x20c=textureCubeLodEXT(inputTexture,tbn*Ls,mipLevel).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0aresult+=c;\x0a}\x0a}\x0aresult=result*NUM_SAMPLES_FLOAT_INVERSED;\x0areturn\x20result;\x0a}\x0a#define\x20inline\x0avec3\x20radiance(float\x20alphaG,samplerCube\x20inputTexture,vec3\x20inputN,vec2\x20filteringInfo)\x0a{\x0avec3\x20n=normalize(inputN);\x0aif\x20(alphaG==0.)\x20{\x0avec3\x20c=textureCube(inputTexture,n).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0areturn\x20c;\x0a}\x20else\x20{\x0avec3\x20result=vec3(0.);\x0avec3\x20tangent=abs(n.z)<0.999\x20?\x20vec3(0.,0.,1.)\x20:\x20vec3(1.,0.,0.);\x0atangent=normalize(cross(tangent,n));\x0avec3\x20bitangent=cross(n,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,n);\x0afloat\x20maxLevel=filteringInfo.y;\x0afloat\x20dim0=filteringInfo.x;\x0afloat\x20omegaP=(4.*PI)/(6.*dim0*dim0);\x0afloat\x20weight=0.;\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0afor(uint\x20i=0u;\x20i<NUM_SAMPLES;\x20++i)\x0a#else\x0afor(int\x20i=0;\x20i<NUM_SAMPLES;\x20++i)\x0a#endif\x0a{\x0avec2\x20Xi=hammersley(i,NUM_SAMPLES);\x0avec3\x20H=hemisphereImportanceSampleDggx(Xi,alphaG);\x0afloat\x20NoV=1.;\x0afloat\x20NoH=H.z;\x0afloat\x20NoH2=H.z*H.z;\x0afloat\x20NoL=2.*NoH2-1.;\x0avec3\x20L=vec3(2.*NoH*H.x,2.*NoH*H.y,NoL);\x0aL=normalize(L);\x0aif\x20(NoL>0.)\x20{\x0afloat\x20pdf_inversed=4./normalDistributionFunction_TrowbridgeReitzGGX(NoH,alphaG);\x0afloat\x20omegaS=NUM_SAMPLES_FLOAT_INVERSED*pdf_inversed;\x0afloat\x20l=log4(omegaS)-log4(omegaP)+log4(K);\x0afloat\x20mipLevel=clamp(float(l),0.0,maxLevel);\x0aweight+=NoL;\x0avec3\x20c=textureCubeLodEXT(inputTexture,tbn*L,mipLevel).rgb;\x0a#ifdef\x20GAMMA_INPUT\x0ac=toLinearSpace(c);\x0a#endif\x0aresult+=c*NoL;\x0a}\x0a}\x0aresult=result/weight;\x0areturn\x20result;\x0a}\x0a}\x0a#endif\x0a#endif\x0a';},0x175b0:(_0x40e5a1,_0x280d1e,_0x24e037)=>{var _0x53f429=a6_0x5e3a36;_0x24e037(0x17a92)['v']['IncludesShadersStore'][_0x53f429(0x818)]=_0x53f429(0x19d);},0x17ef8:(_0x58e4f7,_0x498733,_0x38f715)=>{var _0x2f375c=a6_0x5e3a36;_0x38f715(0x17a92)['v']['IncludesShadersStore']['imageProcessingCompatibility']=_0x2f375c(0x2a6);},0x16c11:(_0x5256c4,_0x3ab333,_0x4a5fb3)=>{var _0x1b62a7=a6_0x5e3a36;_0x4a5fb3(0x17a92)['v'][_0x1b62a7(0x466)][_0x1b62a7(0x87a)]='#ifdef\x20EXPOSURE\x0auniform\x20float\x20exposureLinear;\x0a#endif\x0a#ifdef\x20CONTRAST\x0auniform\x20float\x20contrast;\x0a#endif\x0a#if\x20defined(VIGNETTE)\x20||\x20defined(DITHER)\x0auniform\x20vec2\x20vInverseScreenSize;\x0a#endif\x0a#ifdef\x20VIGNETTE\x0auniform\x20vec4\x20vignetteSettings1;\x0auniform\x20vec4\x20vignetteSettings2;\x0a#endif\x0a#ifdef\x20COLORCURVES\x0auniform\x20vec4\x20vCameraColorCurveNegative;\x0auniform\x20vec4\x20vCameraColorCurveNeutral;\x0auniform\x20vec4\x20vCameraColorCurvePositive;\x0a#endif\x0a#ifdef\x20COLORGRADING\x0a#ifdef\x20COLORGRADING3D\x0auniform\x20highp\x20sampler3D\x20txColorTransform;\x0a#else\x0auniform\x20sampler2D\x20txColorTransform;\x0a#endif\x0auniform\x20vec4\x20colorTransformSettings;\x0a#endif\x0a#ifdef\x20DITHER\x0auniform\x20float\x20ditherIntensity;\x0a#endif\x0a';},0x119a9:(_0x4c7037,_0x4261ae,_0x44964e)=>{var _0x17c9ee=a6_0x5e3a36;_0x44964e(0x17a92)['v'][_0x17c9ee(0x466)]['imageProcessingFunctions']=_0x17c9ee(0x7c8);},0x1b98:(_0x94874b,_0x2e84ad,_0x10eeee)=>{var _0x1c35ed=a6_0x5e3a36;_0x10eeee(0x17a92)['v']['IncludesShadersStore'][_0x1c35ed(0x4f9)]='vec3\x20hemisphereCosSample(vec2\x20u)\x20{\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20cosTheta2=1.-u.y;\x0afloat\x20cosTheta=sqrt(cosTheta2);\x0afloat\x20sinTheta=sqrt(1.-cosTheta2);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}\x0avec3\x20hemisphereImportanceSampleDggx(vec2\x20u,float\x20a)\x20{\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20cosTheta2=(1.-u.y)/(1.+(a+1.)*((a-1.)*u.y));\x0afloat\x20cosTheta=sqrt(cosTheta2);\x0afloat\x20sinTheta=sqrt(1.-cosTheta2);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}\x0avec3\x20hemisphereImportanceSampleDCharlie(vec2\x20u,float\x20a)\x20{\x20\x0afloat\x20phi=2.*PI*u.x;\x0afloat\x20sinTheta=pow(u.y,a/(2.*a+1.));\x0afloat\x20cosTheta=sqrt(1.-sinTheta*sinTheta);\x0areturn\x20vec3(sinTheta*cos(phi),sinTheta*sin(phi),cosTheta);\x0a}';},0x12bc6:(_0x5c344c,_0x4df993,_0x7173c6)=>{var _0x4168a6=a6_0x5e3a36;_0x7173c6(0x17a92)['v'][_0x4168a6(0x466)][_0x4168a6(0xbe2)]=_0x4168a6(0x306);},0x733d:(_0x36da22,_0x44ded,_0x4a2a23)=>{var _0x5183d8=a6_0x5e3a36;_0x4a2a23(0x17a92)['v']['IncludesShadersStore'][_0x5183d8(0x49c)]=_0x5183d8(0xb2d);},0x1610b:(_0x344fe9,_0x7619c5,_0xb51c14)=>{var _0x1f0f88=a6_0x5e3a36;_0xb51c14(0x17a92)['v']['IncludesShadersStore'][_0x1f0f88(0xaf3)]=_0x1f0f88(0x56f);},0xb0bc:(_0x5a954b,_0x236c97,_0x49df50)=>{var _0x3c6344=a6_0x5e3a36;_0x49df50(0x17a92)['v'][_0x3c6344(0x466)][_0x3c6344(0xb0d)]=_0x3c6344(0x591);},0xe6c7:(_0x3e0889,_0x286a72,_0x496edc)=>{var _0x3646b1=a6_0x5e3a36;_0x496edc(0x17a92)['v'][_0x3646b1(0x466)]['lightFragmentDeclaration']=_0x3646b1(0xd57);},0x15fb5:(_0xd655e4,_0xb32cd6,_0x43d336)=>{var _0x4ec6ac=a6_0x5e3a36;_0x43d336(0x17a92)['v'][_0x4ec6ac(0x466)][_0x4ec6ac(0xd2f)]=_0x4ec6ac(0xa3d);},0x1b3f:(_0x22c0ca,_0x5f43f9,_0x4c3fa3)=>{var _0x13d82f=a6_0x5e3a36;_0x4c3fa3(0x17a92)['v'][_0x13d82f(0x466)][_0x13d82f(0x46e)]=_0x13d82f(0xbbc);},0xc971:(_0x31273f,_0x2b691b,_0x1060bc)=>{var _0x17f3db=a6_0x5e3a36;_0x1060bc(0x17a92)['v']['IncludesShadersStore'][_0x17f3db(0x7be)]='#ifdef\x20LIGHT{X}\x0auniform\x20Light{X}\x0a{\x0avec4\x20vLightData;\x0avec4\x20vLightDiffuse;\x0avec4\x20vLightSpecular;\x0a#ifdef\x20SPOTLIGHT{X}\x0avec4\x20vLightDirection;\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(POINTLIGHT{X})\x0avec4\x20vLightFalloff;\x0a#elif\x20defined(HEMILIGHT{X})\x0avec3\x20vLightGround;\x0a#endif\x0avec4\x20shadowsInfo;\x0avec2\x20depthValues;\x0a}\x20light{X};\x0a#ifdef\x20SHADOW{X}\x0a#ifdef\x20SHADOWCSM{X}\x0auniform\x20mat4\x20lightMatrix{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromLight{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20float\x20vDepthMetric{X}[SHADOWCSMNUM_CASCADES{X}];\x0avarying\x20vec4\x20vPositionFromCamera{X};\x0a#elif\x20defined(SHADOWCUBE{X})\x0a#else\x0avarying\x20vec4\x20vPositionFromLight{X};\x0avarying\x20float\x20vDepthMetric{X};\x0auniform\x20mat4\x20lightMatrix{X};\x0a#endif\x0a#endif\x0a#endif\x0a';},0x1f57:(_0x2ddc31,_0x2b03cd,_0x31bee7)=>{var _0x23a55f=a6_0x5e3a36;_0x31bee7(0x17a92)['v']['IncludesShadersStore'][_0x23a55f(0x68c)]='struct\x20lightingInfo\x0a{\x0avec3\x20diffuse;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20specular;\x0a#endif\x0a#ifdef\x20NDOTL\x0afloat\x20ndl;\x0a#endif\x0a};\x0alightingInfo\x20computeLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec3\x20diffuseColor,vec3\x20specularColor,float\x20range,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0avec3\x20lightVectorW;\x0afloat\x20attenuation=1.0;\x0aif\x20(lightData.w==0.)\x0a{\x0avec3\x20direction=lightData.xyz-vPositionW;\x0aattenuation=max(0.,1.0-length(direction)/range);\x0alightVectorW=normalize(direction);\x0a}\x0aelse\x0a{\x0alightVectorW=normalize(-lightData.xyz);\x0a}\x0afloat\x20ndl=max(0.,dot(vNormal,lightVectorW));\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=ndl*diffuseColor*attenuation;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightVectorW);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor*attenuation;\x0a#endif\x0areturn\x20result;\x0a}\x0alightingInfo\x20computeSpotLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec4\x20lightDirection,vec3\x20diffuseColor,vec3\x20specularColor,float\x20range,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0avec3\x20direction=lightData.xyz-vPositionW;\x0avec3\x20lightVectorW=normalize(direction);\x0afloat\x20attenuation=max(0.,1.0-length(direction)/range);\x0afloat\x20cosAngle=max(0.,dot(lightDirection.xyz,-lightVectorW));\x0aif\x20(cosAngle>=lightDirection.w)\x0a{\x0acosAngle=max(0.,pow(cosAngle,lightData.w));\x0aattenuation*=cosAngle;\x0afloat\x20ndl=max(0.,dot(vNormal,lightVectorW));\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=ndl*diffuseColor*attenuation;\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightVectorW);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor*attenuation;\x0a#endif\x0areturn\x20result;\x0a}\x0aresult.diffuse=vec3(0.);\x0a#ifdef\x20SPECULARTERM\x0aresult.specular=vec3(0.);\x0a#endif\x0a#ifdef\x20NDOTL\x0aresult.ndl=0.;\x0a#endif\x0areturn\x20result;\x0a}\x0alightingInfo\x20computeHemisphericLighting(vec3\x20viewDirectionW,vec3\x20vNormal,vec4\x20lightData,vec3\x20diffuseColor,vec3\x20specularColor,vec3\x20groundColor,float\x20glossiness)\x20{\x0alightingInfo\x20result;\x0afloat\x20ndl=dot(vNormal,lightData.xyz)*0.5+0.5;\x0a#ifdef\x20NDOTL\x0aresult.ndl=ndl;\x0a#endif\x0aresult.diffuse=mix(groundColor,diffuseColor,ndl);\x0a#ifdef\x20SPECULARTERM\x0avec3\x20angleW=normalize(viewDirectionW+lightData.xyz);\x0afloat\x20specComp=max(0.,dot(vNormal,angleW));\x0aspecComp=pow(specComp,max(1.,glossiness));\x0aresult.specular=specComp*specularColor;\x0a#endif\x0areturn\x20result;\x0a}\x0a#define\x20inline\x0avec3\x20computeProjectionTextureDiffuseLighting(sampler2D\x20projectionLightSampler,mat4\x20textureProjectionMatrix){\x0avec4\x20strq=textureProjectionMatrix*vec4(vPositionW,1.0);\x0astrq/=strq.w;\x0avec3\x20textureColor=texture2D(projectionLightSampler,strq.xy).rgb;\x0areturn\x20textureColor;\x0a}';},0x17bd9:(_0x21ef09,_0x20d106,_0x84fb04)=>{var _0xc0492b=a6_0x5e3a36;_0x84fb04(0x17a92)['v']['IncludesShadersStore'][_0xc0492b(0x221)]=_0xc0492b(0x288);},0x1445f:(_0xa8069a,_0x309800,_0x220dcb)=>{var _0x35e551=a6_0x5e3a36;_0x220dcb(0x17a92)['v'][_0x35e551(0x466)]['logDepthFragment']=_0x35e551(0x90c);},0x13da6:(_0x12537b,_0x2e4572,_0x55a291)=>{var _0x46b526=a6_0x5e3a36;_0x55a291(0x17a92)['v']['IncludesShadersStore'][_0x46b526(0x75f)]=_0x46b526(0xd74);},0x94fa:(_0x4cdd6b,_0x592335,_0x3399c2)=>{var _0x2e2861=a6_0x5e3a36;_0x3399c2(0x17a92)['v'][_0x2e2861(0x466)][_0x2e2861(0x6ad)]=_0x2e2861(0xb9f);},0x11fa6:(_0x3e59c5,_0x3d5d01,_0x35ccd4)=>{var _0x3a4a49=a6_0x5e3a36;_0x35ccd4(0x17a92)['v'][_0x3a4a49(0x466)][_0x3a4a49(0x266)]=_0x3a4a49(0xa75);},0x1070:(_0x44c7d1,_0x592c11,_0x9ae43e)=>{var _0x4dce7e=a6_0x5e3a36;_0x9ae43e(0x17a92)['v'][_0x4dce7e(0x466)]['morphTargetsVertex']='#ifdef\x20MORPHTARGETS\x0a#ifdef\x20MORPHTARGETS_TEXTURE\x20\x0avertexID=float(gl_VertexID)*morphTargetTextureInfo.x;\x0apositionUpdated+=(readVector3FromRawSampler({X},vertexID)-position)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(readVector3FromRawSampler({X},vertexID)\x20-normal)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated+=(readVector3FromRawSampler({X},vertexID).xy-uv)*morphTargetInfluences[{X}];\x0avertexID+=1.0;\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz+=(readVector3FromRawSampler({X},vertexID)\x20-tangent.xyz)*morphTargetInfluences[{X}];\x0a#endif\x0a#else\x0apositionUpdated+=(position{X}-position)*morphTargetInfluences[{X}];\x0a#ifdef\x20MORPHTARGETS_NORMAL\x0anormalUpdated+=(normal{X}-normal)*morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_TANGENT\x0atangentUpdated.xyz+=(tangent{X}-tangent.xyz)*morphTargetInfluences[{X}];\x0a#endif\x0a#ifdef\x20MORPHTARGETS_UV\x0auvUpdated+=(uv_{X}-uv)*morphTargetInfluences[{X}];\x0a#endif\x0a#endif\x0a#endif\x0a';},0x12abc:(_0x5ed7d5,_0x492be1,_0x5c7ea3)=>{var _0x2df3fd=a6_0x5e3a36;_0x5c7ea3(0x17a92)['v']['IncludesShadersStore'][_0x2df3fd(0xa86)]=_0x2df3fd(0x317);},0x13906:(_0x28285a,_0x98a183,_0x88f4e2)=>{var _0xed08bb=a6_0x5e3a36;_0x88f4e2(0x17a92)['v'][_0xed08bb(0x466)][_0xed08bb(0xaf0)]=_0xed08bb(0x511);},0x9ea3:(_0x4abfdc,_0x51843a,_0x166c52)=>{var _0x219573=a6_0x5e3a36;_0x166c52(0x17a92)['v'][_0x219573(0x466)][_0x219573(0x809)]=_0x219573(0x1e5);},0xa8cd:(_0x3319e7,_0x44a35f,_0xdf6e7b)=>{var _0x4465ba=a6_0x5e3a36;_0xdf6e7b(0x17a92)['v'][_0x4465ba(0x466)][_0x4465ba(0x746)]='#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY\x0a#extension\x20GL_EXT_draw_buffers\x20:\x20require\x0alayout(location=0)\x20out\x20vec2\x20depth;\x20\x0alayout(location=1)\x20out\x20vec4\x20frontColor;\x0alayout(location=2)\x20out\x20vec4\x20backColor;\x0a#define\x20MAX_DEPTH\x2099999.0\x0ahighp\x20vec4\x20gl_FragColor;\x0auniform\x20sampler2D\x20oitDepthSampler;\x0auniform\x20sampler2D\x20oitFrontColorSampler;\x0a#endif\x0a';},0xa965:(_0x2ebdf3,_0x492cdd,_0x4a69db)=>{var _0x2ae5a3=a6_0x5e3a36;_0x4a69db(0x17a92)['v'][_0x2ae5a3(0x466)][_0x2ae5a3(0x4a3)]='#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY\x0afloat\x20fragDepth=gl_FragCoord.z;\x20\x0a#ifdef\x20ORDER_INDEPENDENT_TRANSPARENCY_16BITS\x0auint\x20halfFloat=packHalf2x16(vec2(fragDepth));\x0avec2\x20full=unpackHalf2x16(halfFloat);\x0afragDepth=full.x;\x0a#endif\x0aivec2\x20fragCoord=ivec2(gl_FragCoord.xy);\x0avec2\x20lastDepth=texelFetch(oitDepthSampler,fragCoord,0).rg;\x0avec4\x20lastFrontColor=texelFetch(oitFrontColorSampler,fragCoord,0);\x0adepth.rg=vec2(-MAX_DEPTH);\x0afrontColor=lastFrontColor;\x0abackColor=vec4(0.0);\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0afloat\x20furthestDepth=-lastDepth.x;\x0afloat\x20nearestDepth=lastDepth.y;\x0a#else\x0afloat\x20nearestDepth=-lastDepth.x;\x0afloat\x20furthestDepth=lastDepth.y;\x0a#endif\x0afloat\x20alphaMultiplier=1.0-lastFrontColor.a;\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0aif\x20(fragDepth>nearestDepth\x20||\x20fragDepth<furthestDepth)\x20{\x0a#else\x0aif\x20(fragDepth<nearestDepth\x20||\x20fragDepth>furthestDepth)\x20{\x0a#endif\x0areturn;\x0a}\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0aif\x20(fragDepth<nearestDepth\x20&&\x20fragDepth>furthestDepth)\x20{\x0a#else\x0aif\x20(fragDepth>nearestDepth\x20&&\x20fragDepth<furthestDepth)\x20{\x0a#endif\x0adepth.rg=vec2(-fragDepth,fragDepth);\x0areturn;\x0a}\x0a#endif\x0a';},0xe85e:(_0x29864f,_0x3591ce,_0x42cb21)=>{var _0x1de626=a6_0x5e3a36;_0x42cb21(0x17a92)['v'][_0x1de626(0x466)]['packingFunctions']=_0x1de626(0x3fe);},0x10b3e:(_0x3b9ce4,_0x11ff7e,_0x538f95)=>{var _0xe0a344=a6_0x5e3a36;_0x538f95(0x17a92)['v'][_0xe0a344(0x466)][_0xe0a344(0x3fa)]=_0xe0a344(0xbcb);},0xc853:(_0x3b916e,_0x317298,_0x42428b)=>{var _0x989fbf=a6_0x5e3a36,_0x46ca27=_0x42428b(0x17a92);_0x42428b(0x6cce),_0x42428b(0x11fa6),_0x46ca27['v'][_0x989fbf(0x466)][_0x989fbf(0xb4a)]='layout(std140,column_major)\x20uniform;\x0auniform\x20Material\x20{\x0avec2\x20vAlbedoInfos;\x0avec4\x20vAmbientInfos;\x0avec2\x20vOpacityInfos;\x0avec2\x20vEmissiveInfos;\x0avec2\x20vLightmapInfos;\x0avec3\x20vReflectivityInfos;\x0avec2\x20vMicroSurfaceSamplerInfos;\x0avec2\x20vReflectionInfos;\x0avec2\x20vReflectionFilteringInfo;\x0avec3\x20vReflectionPosition;\x0avec3\x20vReflectionSize;\x0avec3\x20vBumpInfos;\x0amat4\x20albedoMatrix;\x0amat4\x20ambientMatrix;\x0amat4\x20opacityMatrix;\x0amat4\x20emissiveMatrix;\x0amat4\x20lightmapMatrix;\x0amat4\x20reflectivityMatrix;\x0amat4\x20microSurfaceSamplerMatrix;\x0amat4\x20bumpMatrix;\x0avec2\x20vTangentSpaceParams;\x0amat4\x20reflectionMatrix;\x0avec3\x20vReflectionColor;\x0avec4\x20vAlbedoColor;\x0avec4\x20vLightingIntensity;\x0avec3\x20vReflectionMicrosurfaceInfos;\x0afloat\x20pointSize;\x0avec4\x20vReflectivityColor;\x0avec3\x20vEmissiveColor;\x0avec3\x20vAmbientColor;\x0avec2\x20vDebugMode;\x0avec4\x20vMetallicReflectanceFactors;\x0avec2\x20vMetallicReflectanceInfos;\x0amat4\x20metallicReflectanceMatrix;\x0avec2\x20vReflectanceInfos;\x0amat4\x20reflectanceMatrix;\x0avec3\x20vSphericalL00;\x0avec3\x20vSphericalL1_1;\x0avec3\x20vSphericalL10;\x0avec3\x20vSphericalL11;\x0avec3\x20vSphericalL2_2;\x0avec3\x20vSphericalL2_1;\x0avec3\x20vSphericalL20;\x0avec3\x20vSphericalL21;\x0avec3\x20vSphericalL22;\x0avec3\x20vSphericalX;\x0avec3\x20vSphericalY;\x0avec3\x20vSphericalZ;\x0avec3\x20vSphericalXX_ZZ;\x0avec3\x20vSphericalYY_ZZ;\x0avec3\x20vSphericalZZ;\x0avec3\x20vSphericalXY;\x0avec3\x20vSphericalYZ;\x0avec3\x20vSphericalZX;\x0a#define\x20ADDITIONAL_UBO_DECLARATION\x0a};\x0a#include<sceneUboDeclaration>\x0a#include<meshUboDeclaration>\x0a';},0x67c9:(_0x1ca156,_0x45c7a6,_0x55faeb)=>{var _0x262a4a=a6_0x5e3a36;_0x55faeb(0x17a92)['v'][_0x262a4a(0x466)][_0x262a4a(0x3d4)]=_0x262a4a(0xb00);},0x1abd:(_0x33791a,_0x3418c3,_0x265ac3)=>{var _0x25f638=a6_0x5e3a36;_0x265ac3(0x17a92)['v'][_0x25f638(0x466)][_0x25f638(0xd75)]=_0x25f638(0x5bc);},0x18442:(_0x382888,_0x2d096a,_0x14cc0c)=>{var _0xf018c=a6_0x5e3a36;_0x14cc0c(0x17a92)['v'][_0xf018c(0x466)][_0xf018c(0xa26)]=_0xf018c(0x383);},0x11645:(_0x18d1c4,_0x4b29c5,_0x56d47d)=>{var _0x23b5f7=a6_0x5e3a36;_0x56d47d(0x17a92)['v'][_0x23b5f7(0x466)][_0x23b5f7(0xbc7)]='vec3\x20computeFixedEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20direction)\x0a{\x0afloat\x20lon=atan(direction.z,direction.x);\x0afloat\x20lat=acos(direction.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(s,t,0);\x20\x0a}\x0avec3\x20computeMirroredFixedEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20direction)\x0a{\x0afloat\x20lon=atan(direction.z,direction.x);\x0afloat\x20lat=acos(direction.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(1.0-s,t,0);\x20\x0a}\x0avec3\x20computeEquirectangularCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20cameraToVertex=normalize(worldPos.xyz-eyePosition);\x0avec3\x20r=normalize(reflect(cameraToVertex,worldNormal));\x0ar=vec3(reflectionMatrix*vec4(r,0));\x0afloat\x20lon=atan(r.z,r.x);\x0afloat\x20lat=acos(r.y);\x0avec2\x20sphereCoords=vec2(lon,lat)*RECIPROCAL_PI2*2.0;\x0afloat\x20s=sphereCoords.x*0.5+0.5;\x0afloat\x20t=sphereCoords.y;\x0areturn\x20vec3(s,t,0);\x0a}\x0avec3\x20computeSphericalCoords(vec4\x20worldPos,vec3\x20worldNormal,mat4\x20view,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=normalize(vec3(view*worldPos));\x0avec3\x20viewNormal=normalize(vec3(view*vec4(worldNormal,0.0)));\x0avec3\x20r=reflect(viewDir,viewNormal);\x0ar=vec3(reflectionMatrix*vec4(r,0));\x0ar.z=r.z-1.0;\x0afloat\x20m=2.0*length(r);\x0areturn\x20vec3(r.x/m+0.5,1.0-r.y/m-0.5,0);\x0a}\x0avec3\x20computePlanarCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=worldPos.xyz-eyePosition;\x0avec3\x20coords=normalize(reflect(viewDir,worldNormal));\x0areturn\x20vec3(reflectionMatrix*vec4(coords,1));\x0a}\x0avec3\x20computeCubicCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix)\x0a{\x0avec3\x20viewDir=normalize(worldPos.xyz-eyePosition);\x0avec3\x20coords=reflect(viewDir,worldNormal);\x0acoords=vec3(reflectionMatrix*vec4(coords,0));\x0a#ifdef\x20INVERTCUBICMAP\x0acoords.y*=-1.0;\x0a#endif\x0areturn\x20coords;\x0a}\x0avec3\x20computeCubicLocalCoords(vec4\x20worldPos,vec3\x20worldNormal,vec3\x20eyePosition,mat4\x20reflectionMatrix,vec3\x20reflectionSize,vec3\x20reflectionPosition)\x0a{\x0avec3\x20viewDir=normalize(worldPos.xyz-eyePosition);\x0avec3\x20coords=reflect(viewDir,worldNormal);\x0acoords=parallaxCorrectNormal(worldPos.xyz,coords,reflectionSize,reflectionPosition);\x0acoords=vec3(reflectionMatrix*vec4(coords,0));\x0a#ifdef\x20INVERTCUBICMAP\x0acoords.y*=-1.0;\x0a#endif\x0areturn\x20coords;\x0a}\x0avec3\x20computeProjectionCoords(vec4\x20worldPos,mat4\x20view,mat4\x20reflectionMatrix)\x0a{\x0areturn\x20vec3(reflectionMatrix*(view*worldPos));\x0a}\x0avec3\x20computeSkyBoxCoords(vec3\x20positionW,mat4\x20reflectionMatrix)\x0a{\x0areturn\x20vec3(reflectionMatrix*vec4(positionW,1.));\x0a}\x0a#ifdef\x20REFLECTION\x0avec3\x20computeReflectionCoords(vec4\x20worldPos,vec3\x20worldNormal)\x0a{\x0a#ifdef\x20REFLECTIONMAP_MIRROREDEQUIRECTANGULAR_FIXED\x0avec3\x20direction=normalize(vDirectionW);\x0areturn\x20computeMirroredFixedEquirectangularCoords(worldPos,worldNormal,direction);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EQUIRECTANGULAR_FIXED\x0avec3\x20direction=normalize(vDirectionW);\x0areturn\x20computeFixedEquirectangularCoords(worldPos,worldNormal,direction);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EQUIRECTANGULAR\x0areturn\x20computeEquirectangularCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SPHERICAL\x0areturn\x20computeSphericalCoords(worldPos,worldNormal,view,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_PLANAR\x0areturn\x20computePlanarCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_CUBIC\x0a#ifdef\x20USE_LOCAL_REFLECTIONMAP_CUBIC\x0areturn\x20computeCubicLocalCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix,vReflectionSize,vReflectionPosition);\x0a#else\x0areturn\x20computeCubicCoords(worldPos,worldNormal,vEyePosition.xyz,reflectionMatrix);\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0areturn\x20computeProjectionCoords(worldPos,view,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_SKYBOX\x0areturn\x20computeSkyBoxCoords(vPositionUVW,reflectionMatrix);\x0a#endif\x0a#ifdef\x20REFLECTIONMAP_EXPLICIT\x0areturn\x20vec3(0,0,0);\x0a#endif\x0a}\x0a#endif\x0a';},0x126e8:(_0x430920,_0x1047e8,_0x5bcfe7)=>{var _0x405fff=a6_0x5e3a36;_0x5bcfe7(0x17a92)['v'][_0x405fff(0x466)]['samplerFragmentDeclaration']=_0x405fff(0x53a);},0x15b7a:(_0x3c2567,_0x29c421,_0x41e934)=>{var _0x3bf81a=a6_0x5e3a36;_0x41e934(0x17a92)['v'][_0x3bf81a(0x466)][_0x3bf81a(0x25f)]='#if\x20defined(_DEFINENAME_)\x20&&\x20_DEFINENAME_DIRECTUV==0\x0avarying\x20vec2\x20v_VARYINGNAME_UV;\x0a#endif\x0a';},0x2f27:(_0x47c1fa,_0x3b4dc0,_0x1827e6)=>{var _0x119e48=a6_0x5e3a36;_0x1827e6(0x17a92)['v']['IncludesShadersStore'][_0x119e48(0xd62)]='#if\x20defined(_DEFINENAME_)\x20&&\x20_DEFINENAME_DIRECTUV==0\x0aif\x20(v_INFONAME_==0.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uvUpdated,1.0,0.0));\x0a}\x0a#ifdef\x20UV2\x0aelse\x20if\x20(v_INFONAME_==1.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv2,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV3\x0aelse\x20if\x20(v_INFONAME_==2.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv3,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV4\x0aelse\x20if\x20(v_INFONAME_==3.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv4,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV5\x0aelse\x20if\x20(v_INFONAME_==4.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv5,1.0,0.0));\x0a}\x0a#endif\x0a#ifdef\x20UV6\x0aelse\x20if\x20(v_INFONAME_==5.)\x0a{\x0av_VARYINGNAME_UV=vec2(_MATRIXNAME_Matrix*vec4(uv6,1.0,0.0));\x0a}\x0a#endif\x0a#endif\x0a';},0x6cce:(_0x581d87,_0x16e938,_0x385bb2)=>{var _0x556670=a6_0x5e3a36;_0x385bb2(0x17a92)['v'][_0x556670(0x466)][_0x556670(0xcc7)]=_0x556670(0x7ef);},0x4547:(_0x50ee36,_0x2cbd6f,_0x40455f)=>{var _0x151be0=a6_0x5e3a36;_0x40455f(0x17a92)['v'][_0x151be0(0x466)]['shadowMapFragmentSoftTransparentShadow']=_0x151be0(0x4fc);},0x1f85:(_0x51677c,_0x3eae94,_0xc2443)=>{var _0x552245=a6_0x5e3a36;_0xc2443(0x17a92)['v']['IncludesShadersStore'][_0x552245(0x310)]='#ifdef\x20SHADOWS\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20TEXTUREFUNC(s,c,l)\x20texture2DLodEXT(s,c,l)\x0a#else\x0a#define\x20TEXTUREFUNC(s,c,b)\x20texture2D(s,c,b)\x0a#endif\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20unpack(vec4\x20color)\x0a{\x0aconst\x20vec4\x20bit_shift=vec4(1.0/(255.0*255.0*255.0),1.0/(255.0*255.0),1.0/255.0,1.0);\x0areturn\x20dot(color,bit_shift);\x0a}\x0a#endif\x0afloat\x20computeFallOff(float\x20value,vec2\x20clipSpace,float\x20frustumEdgeFalloff)\x0a{\x0afloat\x20mask=smoothstep(1.0-frustumEdgeFalloff,1.00000012,clamp(dot(clipSpace,clipSpace),0.,1.));\x0areturn\x20mix(value,1.0,mask);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0adepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadow=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0areturn\x20depth>shadow\x20?\x20darkness\x20:\x201.0;\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPoissonSamplingCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20mapSize,float\x20darkness,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0adepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0afloat\x20visibility=1.;\x0avec3\x20poissonDisk[4];\x0apoissonDisk[0]=vec3(-1.0,1.0,-1.0);\x0apoissonDisk[1]=vec3(1.0,-1.0,-1.0);\x0apoissonDisk[2]=vec3(-1.0,-1.0,-1.0);\x0apoissonDisk[3]=vec3(1.0,-1.0,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize))<depth)\x20visibility-=0.25;\x0aif\x20(unpack(textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize))<depth)\x20visibility-=0.25;\x0a#else\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[0]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[1]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[2]*mapSize).x<depth)\x20visibility-=0.25;\x0aif\x20(textureCube(shadowSampler,directionToLight+poissonDisk[3]*mapSize).x<depth)\x20visibility-=0.25;\x0a#endif\x0areturn\x20min(1.0,visibility+darkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithESMCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,float\x20depthScale,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadowMapSample=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0afloat\x20esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);\x20\x0areturn\x20esm;\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCloseESMCube(vec3\x20lightPosition,samplerCube\x20shadowSampler,float\x20darkness,float\x20depthScale,vec2\x20depthValues)\x0a{\x0avec3\x20directionToLight=vPositionW-lightPosition;\x0afloat\x20depth=length(directionToLight);\x0adepth=(depth+depthValues.x)/(depthValues.y);\x0afloat\x20shadowPixelDepth=clamp(depth,0.,1.0);\x0adirectionToLight=normalize(directionToLight);\x0adirectionToLight.y=-directionToLight.y;\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(textureCube(shadowSampler,directionToLight));\x0a#else\x0afloat\x20shadowMapSample=textureCube(shadowSampler,directionToLight).x;\x0a#endif\x0afloat\x20esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);\x0areturn\x20esm;\x0a}\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20inline\x0afloat\x20computeShadowCSM(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0avec3\x20uvLayer=vec3(uv.x,uv.y,layer);\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(texture2D(shadowSampler,uvLayer));\x0a#else\x0afloat\x20shadow=texture2D(shadowSampler,uvLayer).x;\x0a#endif\x0areturn\x20shadowPixelDepth>shadow\x20?\x20computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff)\x20:\x201.;\x0a}\x0a#endif\x0a#define\x20inline\x0afloat\x20computeShadow(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadow=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadow=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0areturn\x20shadowPixelDepth>shadow\x20?\x20computeFallOff(darkness,clipSpace.xy,frustumEdgeFalloff)\x20:\x201.;\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPoissonSampling(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20mapSize,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0afloat\x20visibility=1.;\x0avec2\x20poissonDisk[4];\x0apoissonDisk[0]=vec2(-0.94201624,-0.39906216);\x0apoissonDisk[1]=vec2(0.94558609,-0.76890725);\x0apoissonDisk[2]=vec2(-0.094184101,-0.92938870);\x0apoissonDisk[3]=vec2(0.34495938,0.29387760);\x0a#ifndef\x20SHADOWFLOAT\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(unpack(TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.))<shadowPixelDepth)\x20visibility-=0.25;\x0a#else\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[0]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[1]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[2]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0aif\x20(TEXTUREFUNC(shadowSampler,uv+poissonDisk[3]*mapSize,0.).x<shadowPixelDepth)\x20visibility-=0.25;\x0a#endif\x0areturn\x20computeFallOff(min(1.0,visibility+darkness),clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithESM(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20darkness,float\x20depthScale,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0afloat\x20esm=1.0-clamp(exp(min(87.,depthScale*shadowPixelDepth))*shadowMapSample,0.,1.-darkness);\x0areturn\x20computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCloseESM(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20shadowSampler,float\x20darkness,float\x20depthScale,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec2\x20uv=0.5*clipSpace.xy+vec2(0.5);\x0aif\x20(uv.x<0.\x20||\x20uv.x>1.0\x20||\x20uv.y<0.\x20||\x20uv.y>1.0)\x0a{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20shadowPixelDepth=clamp(depthMetric,0.,1.0);\x20\x0a#ifndef\x20SHADOWFLOAT\x0afloat\x20shadowMapSample=unpack(TEXTUREFUNC(shadowSampler,uv,0.));\x0a#else\x0afloat\x20shadowMapSample=TEXTUREFUNC(shadowSampler,uv,0.).x;\x0a#endif\x0afloat\x20esm=clamp(exp(min(87.,-depthScale*(shadowPixelDepth-shadowMapSample))),darkness,1.);\x0areturn\x20computeFallOff(esm,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#ifdef\x20IS_NDC_HALF_ZRANGE\x0a#define\x20ZINCLIP\x20clipSpace.z\x0a#else\x0a#define\x20ZINCLIP\x20uvDepth.z\x0a#endif\x0a#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0a#define\x20GREATEST_LESS_THAN_ONE\x200.99999994\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF1(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec4\x20uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);\x0afloat\x20shadow=texture2D(shadowSampler,uvDepthLayer);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF3(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=3.-2.*st;\x0avec2\x20uvw1=1.+2.*st;\x0avec2\x20u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;\x0avec2\x20v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));\x0ashadow=shadow/16.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCF5(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArrayShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=4.-3.*st;\x0avec2\x20uvw1=vec2(7.);\x0avec2\x20uvw2=1.+3.*st;\x0avec3\x20u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;\x0avec3\x20v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[0]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[0]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw0.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[0]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[1]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[1]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw1.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[1]),layer,uvDepth.z));\x0ashadow+=uvw0.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[0],v[2]),layer,uvDepth.z));\x0ashadow+=uvw1.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[1],v[2]),layer,uvDepth.z));\x0ashadow+=uvw2.x*uvw2.y*texture2D(shadowSampler,vec4(base_uv.xy+vec2(u[2],v[2]),layer,uvDepth.z));\x0ashadow=shadow/144.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF1(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0afloat\x20shadow=TEXTUREFUNC(shadowSampler,uvDepth,0.);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF3(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=3.-2.*st;\x0avec2\x20uvw1=1.+2.*st;\x0avec2\x20u=vec2((2.-st.x)/uvw0.x-1.,st.x/uvw1.x+1.)*shadowMapSizeAndInverse.y;\x0avec2\x20v=vec2((2.-st.y)/uvw0.y-1.,st.y/uvw1.y+1.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);\x0ashadow=shadow/16.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCF5(vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DShadow\x20shadowSampler,vec2\x20shadowMapSizeAndInverse,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0avec2\x20uv=uvDepth.xy*shadowMapSizeAndInverse.x;\x20\x0auv+=0.5;\x20\x0avec2\x20st=fract(uv);\x20\x0avec2\x20base_uv=floor(uv)-0.5;\x20\x0abase_uv*=shadowMapSizeAndInverse.y;\x20\x0avec2\x20uvw0=4.-3.*st;\x0avec2\x20uvw1=vec2(7.);\x0avec2\x20uvw2=1.+3.*st;\x0avec3\x20u=vec3((3.-2.*st.x)/uvw0.x-2.,(3.+st.x)/uvw1.x,st.x/uvw2.x+2.)*shadowMapSizeAndInverse.y;\x0avec3\x20v=vec3((3.-2.*st.y)/uvw0.y-2.,(3.+st.y)/uvw1.y,st.y/uvw2.y+2.)*shadowMapSizeAndInverse.y;\x0afloat\x20shadow=0.;\x0ashadow+=uvw0.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[0]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[0]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw0.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[0]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[1]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[1]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw1.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[1]),uvDepth.z),0.);\x0ashadow+=uvw0.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[0],v[2]),uvDepth.z),0.);\x0ashadow+=uvw1.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[1],v[2]),uvDepth.z),0.);\x0ashadow+=uvw2.x*uvw2.y*TEXTUREFUNC(shadowSampler,vec3(base_uv.xy+vec2(u[2],v[2]),uvDepth.z),0.);\x0ashadow=shadow/144.;\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0aconst\x20vec3\x20PoissonSamplers32[64]=vec3[64](\x0avec3(0.06407013,0.05409927,0.),\x0avec3(0.7366577,0.5789394,0.),\x0avec3(-0.6270542,-0.5320278,0.),\x0avec3(-0.4096107,0.8411095,0.),\x0avec3(0.6849564,-0.4990818,0.),\x0avec3(-0.874181,-0.04579735,0.),\x0avec3(0.9989998,0.0009880066,0.),\x0avec3(-0.004920578,-0.9151649,0.),\x0avec3(0.1805763,0.9747483,0.),\x0avec3(-0.2138451,0.2635818,0.),\x0avec3(0.109845,0.3884785,0.),\x0avec3(0.06876755,-0.3581074,0.),\x0avec3(0.374073,-0.7661266,0.),\x0avec3(0.3079132,-0.1216763,0.),\x0avec3(-0.3794335,-0.8271583,0.),\x0avec3(-0.203878,-0.07715034,0.),\x0avec3(0.5912697,0.1469799,0.),\x0avec3(-0.88069,0.3031784,0.),\x0avec3(0.5040108,0.8283722,0.),\x0avec3(-0.5844124,0.5494877,0.),\x0avec3(0.6017799,-0.1726654,0.),\x0avec3(-0.5554981,0.1559997,0.),\x0avec3(-0.3016369,-0.3900928,0.),\x0avec3(-0.5550632,-0.1723762,0.),\x0avec3(0.925029,0.2995041,0.),\x0avec3(-0.2473137,0.5538505,0.),\x0avec3(0.9183037,-0.2862392,0.),\x0avec3(0.2469421,0.6718712,0.),\x0avec3(0.3916397,-0.4328209,0.),\x0avec3(-0.03576927,-0.6220032,0.),\x0avec3(-0.04661255,0.7995201,0.),\x0avec3(0.4402924,0.3640312,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.),\x0avec3(0.,0.,0.)\x0a);\x0aconst\x20vec3\x20PoissonSamplers64[64]=vec3[64](\x0avec3(-0.613392,0.617481,0.),\x0avec3(0.170019,-0.040254,0.),\x0avec3(-0.299417,0.791925,0.),\x0avec3(0.645680,0.493210,0.),\x0avec3(-0.651784,0.717887,0.),\x0avec3(0.421003,0.027070,0.),\x0avec3(-0.817194,-0.271096,0.),\x0avec3(-0.705374,-0.668203,0.),\x0avec3(0.977050,-0.108615,0.),\x0avec3(0.063326,0.142369,0.),\x0avec3(0.203528,0.214331,0.),\x0avec3(-0.667531,0.326090,0.),\x0avec3(-0.098422,-0.295755,0.),\x0avec3(-0.885922,0.215369,0.),\x0avec3(0.566637,0.605213,0.),\x0avec3(0.039766,-0.396100,0.),\x0avec3(0.751946,0.453352,0.),\x0avec3(0.078707,-0.715323,0.),\x0avec3(-0.075838,-0.529344,0.),\x0avec3(0.724479,-0.580798,0.),\x0avec3(0.222999,-0.215125,0.),\x0avec3(-0.467574,-0.405438,0.),\x0avec3(-0.248268,-0.814753,0.),\x0avec3(0.354411,-0.887570,0.),\x0avec3(0.175817,0.382366,0.),\x0avec3(0.487472,-0.063082,0.),\x0avec3(-0.084078,0.898312,0.),\x0avec3(0.488876,-0.783441,0.),\x0avec3(0.470016,0.217933,0.),\x0avec3(-0.696890,-0.549791,0.),\x0avec3(-0.149693,0.605762,0.),\x0avec3(0.034211,0.979980,0.),\x0avec3(0.503098,-0.308878,0.),\x0avec3(-0.016205,-0.872921,0.),\x0avec3(0.385784,-0.393902,0.),\x0avec3(-0.146886,-0.859249,0.),\x0avec3(0.643361,0.164098,0.),\x0avec3(0.634388,-0.049471,0.),\x0avec3(-0.688894,0.007843,0.),\x0avec3(0.464034,-0.188818,0.),\x0avec3(-0.440840,0.137486,0.),\x0avec3(0.364483,0.511704,0.),\x0avec3(0.034028,0.325968,0.),\x0avec3(0.099094,-0.308023,0.),\x0avec3(0.693960,-0.366253,0.),\x0avec3(0.678884,-0.204688,0.),\x0avec3(0.001801,0.780328,0.),\x0avec3(0.145177,-0.898984,0.),\x0avec3(0.062655,-0.611866,0.),\x0avec3(0.315226,-0.604297,0.),\x0avec3(-0.780145,0.486251,0.),\x0avec3(-0.371868,0.882138,0.),\x0avec3(0.200476,0.494430,0.),\x0avec3(-0.494552,-0.711051,0.),\x0avec3(0.612476,0.705252,0.),\x0avec3(-0.578845,-0.768792,0.),\x0avec3(-0.772454,-0.090976,0.),\x0avec3(0.504440,0.372295,0.),\x0avec3(0.155736,0.065157,0.),\x0avec3(0.391522,0.849605,0.),\x0avec3(-0.620106,-0.328104,0.),\x0avec3(0.789239,-0.419965,0.),\x0avec3(-0.545396,0.538133,0.),\x0avec3(-0.178564,-0.596057,0.)\x0a);\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,int\x20searchTapCount,int\x20pcfTapCount,vec3[64]\x20poissonSamplers,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=clamp(ZINCLIP,0.,GREATEST_LESS_THAN_ONE);\x0avec4\x20uvDepthLayer=vec4(uvDepth.x,uvDepth.y,layer,uvDepth.z);\x0afloat\x20blockerDepth=0.0;\x0afloat\x20sumBlockerDepth=0.0;\x0afloat\x20numBlocker=0.0;\x0afor\x20(int\x20i=0;\x20i<searchTapCount;\x20i\x20++)\x20{\x0ablockerDepth=texture2D(depthSampler,vec3(uvDepth.xy+(lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse*PoissonSamplers32[i].xy),layer)).r;\x0aif\x20(blockerDepth<depthMetric)\x20{\x0asumBlockerDepth+=blockerDepth;\x0anumBlocker++;\x0a}\x0a}\x0afloat\x20avgBlockerDepth=sumBlockerDepth/numBlocker;\x0afloat\x20AAOffset=shadowMapSizeInverse*10.;\x0afloat\x20penumbraRatio=((depthMetric-avgBlockerDepth)*depthCorrection+AAOffset);\x0avec4\x20filterRadius=vec4(penumbraRatio*lightSizeUV*lightSizeUVCorrection*shadowMapSizeInverse,0.,0.);\x0afloat\x20random=getRand(vPositionFromLight.xy);\x0afloat\x20rotationAngle=random*3.1415926;\x0avec2\x20rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));\x0afloat\x20shadow=0.;\x0afor\x20(int\x20i=0;\x20i<pcfTapCount;\x20i++)\x20{\x0avec4\x20offset=vec4(poissonSamplers[i],0.);\x0aoffset=vec4(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.,0.);\x0ashadow+=texture2D(shadowSampler,uvDepthLayer+offset*filterRadius);\x0a}\x0ashadow/=float(pcfTapCount);\x0ashadow=mix(shadow,1.,min((depthMetric-avgBlockerDepth)*depthCorrection*penumbraDarkness,1.));\x0ashadow=mix(darkness,1.,shadow);\x0aif\x20(numBlocker<1.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,int\x20searchTapCount,int\x20pcfTapCount,vec3[64]\x20poissonSamplers)\x0a{\x0aif\x20(depthMetric>1.0\x20||\x20depthMetric<0.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0avec3\x20clipSpace=vPositionFromLight.xyz/vPositionFromLight.w;\x0avec3\x20uvDepth=vec3(0.5*clipSpace.xyz+vec3(0.5));\x0auvDepth.z=ZINCLIP;\x0afloat\x20blockerDepth=0.0;\x0afloat\x20sumBlockerDepth=0.0;\x0afloat\x20numBlocker=0.0;\x0afor\x20(int\x20i=0;\x20i<searchTapCount;\x20i\x20++)\x20{\x0ablockerDepth=TEXTUREFUNC(depthSampler,uvDepth.xy+(lightSizeUV*shadowMapSizeInverse*PoissonSamplers32[i].xy),0.).r;\x0aif\x20(blockerDepth<depthMetric)\x20{\x0asumBlockerDepth+=blockerDepth;\x0anumBlocker++;\x0a}\x0a}\x0aif\x20(numBlocker<1.0)\x20{\x0areturn\x201.0;\x0a}\x0aelse\x0a{\x0afloat\x20avgBlockerDepth=sumBlockerDepth/numBlocker;\x0afloat\x20AAOffset=shadowMapSizeInverse*10.;\x0afloat\x20penumbraRatio=((depthMetric-avgBlockerDepth)+AAOffset);\x0afloat\x20filterRadius=penumbraRatio*lightSizeUV*shadowMapSizeInverse;\x0afloat\x20random=getRand(vPositionFromLight.xy);\x0afloat\x20rotationAngle=random*3.1415926;\x0avec2\x20rotationVector=vec2(cos(rotationAngle),sin(rotationAngle));\x0afloat\x20shadow=0.;\x0afor\x20(int\x20i=0;\x20i<pcfTapCount;\x20i++)\x20{\x0avec3\x20offset=poissonSamplers[i];\x0aoffset=vec3(offset.x*rotationVector.x-offset.y*rotationVector.y,offset.y*rotationVector.x+offset.x*rotationVector.y,0.);\x0ashadow+=TEXTUREFUNC(shadowSampler,uvDepth+offset*filterRadius,0.);\x0a}\x0ashadow/=float(pcfTapCount);\x0ashadow=mix(shadow,1.,depthMetric-avgBlockerDepth);\x0ashadow=mix(darkness,1.,shadow);\x0areturn\x20computeFallOff(shadow,clipSpace.xy,frustumEdgeFalloff);\x0a}\x0a}\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS16(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS32(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithPCSS64(vec4\x20vPositionFromLight,float\x20depthMetric,sampler2D\x20depthSampler,highp\x20sampler2DShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff)\x0a{\x0areturn\x20computeShadowWithPCSS(vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS16(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,16,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS32(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,16,32,PoissonSamplers32,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#define\x20inline\x0afloat\x20computeShadowWithCSMPCSS64(float\x20layer,vec4\x20vPositionFromLight,float\x20depthMetric,highp\x20sampler2DArray\x20depthSampler,highp\x20sampler2DArrayShadow\x20shadowSampler,float\x20shadowMapSizeInverse,float\x20lightSizeUV,float\x20darkness,float\x20frustumEdgeFalloff,vec2\x20lightSizeUVCorrection,float\x20depthCorrection,float\x20penumbraDarkness)\x0a{\x0areturn\x20computeShadowWithCSMPCSS(layer,vPositionFromLight,depthMetric,depthSampler,shadowSampler,shadowMapSizeInverse,lightSizeUV,darkness,frustumEdgeFalloff,32,64,PoissonSamplers64,lightSizeUVCorrection,depthCorrection,penumbraDarkness);\x0a}\x0a#endif\x0a#endif\x0a';},0x6e75:(_0x1396a0,_0x2db916,_0x256fa4)=>{var _0xeb7e69=a6_0x5e3a36;_0x256fa4(0x17a92)['v'][_0xeb7e69(0x466)][_0xeb7e69(0x30d)]=_0xeb7e69(0xd8f);},0x6b23:(_0x1f2c8,_0x4732be,_0x315c7c)=>{var _0x817d5c=a6_0x5e3a36;_0x315c7c(0x17a92)['v'][_0x817d5c(0x466)][_0x817d5c(0x610)]=_0x817d5c(0x5b6);},0x17bd8:(_0x486455,_0x4ce08b,_0x28dccd)=>{var _0xe30cb4=a6_0x5e3a36;_0x28dccd(0x17a92)['v'][_0xe30cb4(0x466)][_0xe30cb4(0x3c0)]=_0xe30cb4(0x225);},0xd68d:(_0x3ef24f,_0x271690,_0x505053)=>{var _0x1173df=a6_0x5e3a36;_0x505053(0x17a92)['v']['IncludesShadersStore'][_0x1173df(0xc47)]=_0x1173df(0x68b);},0xedb9:(_0x68bf8c,_0x4de834,_0x16ddaa)=>{var _0x2e2884=a6_0x5e3a36;_0x16ddaa(0x17a92)['v'][_0x2e2884(0x466)]['vertexColorMixing']=_0x2e2884(0x4e9);},0x16944:(_0x452c53,_0x4859d4,_0x5b94da)=>{var _0x2eb3d3=a6_0x5e3a36;_0x5b94da(0x17a92)['v'][_0x2eb3d3(0x333)][_0x2eb3d3(0xadd)]='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20leftSampler;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20leftFrag=texture2D(leftSampler,vUV);\x0aleftFrag=vec4(1.0,leftFrag.g,leftFrag.b,1.0);\x0avec4\x20rightFrag=texture2D(textureSampler,vUV);\x0arightFrag=vec4(rightFrag.r,1.0,1.0,1.0);\x0agl_FragColor=vec4(rightFrag.rgb*leftFrag.rgb,1.0);\x0a}';},0x2318:(_0x27575c,_0x207737,_0x5bc101)=>{var _0x4a9fe4=a6_0x5e3a36,_0x44a2ce=_0x5bc101(0x17a92);_0x44a2ce['v']['IncludesShadersStore'][_0x4a9fe4(0xbc5)]=_0x4a9fe4(0x57e),_0x5bc101(0x6052),_0x5bc101(0x175b0),_0x5bc101(0x11645),_0x5bc101(0x16c11),_0x5bc101(0xe6c7),_0x5bc101(0x15fb5),_0x5bc101(0x1f57),_0x5bc101(0x1f85),_0x5bc101(0x119a9),_0x5bc101(0xff1b),_0x5bc101(0x12a16),_0x5bc101(0x3328),_0x5bc101(0xb0bc),_0x5bc101(0x10ef),_0x44a2ce['v'][_0x4a9fe4(0x333)]['backgroundPixelShader']=_0x4a9fe4(0x71a);},0xa0d7:(_0x5bb88f,_0x33d179,_0x5bc993)=>{var _0xe69a5c=a6_0x5e3a36,_0x2fa907=_0x5bc993(0x17a92);_0x2fa907['v'][_0xe69a5c(0x466)][_0xe69a5c(0x4a2)]=_0xe69a5c(0x692),_0x5bc993(0x6052),_0x5bc993(0x175b0),_0x5bc993(0x13f9a),_0x5bc993(0x12929),_0x5bc993(0x12bc6),_0x5bc993(0x13216),_0x5bc993(0x6a99),_0x5bc993(0x1b3f),_0x5bc993(0xc971),_0x5bc993(0x733d),_0x5bc993(0xb434),_0x5bc993(0xdcea),_0x5bc993(0x6efd),_0x5bc993(0x9871),_0x5bc993(0x6e75),_0x2fa907['v'][_0xe69a5c(0x333)][_0xe69a5c(0x714)]=_0xe69a5c(0x5a3);},0x16de7:(_0x5e61a8,_0x4028cb,_0x52822e)=>{var _0x1909e5=a6_0x5e3a36;_0x52822e(0x17a92)['v'][_0x1909e5(0x333)][_0x1909e5(0xa24)]=_0x1909e5(0xac9);},0x51b7:(_0x18b5a0,_0x26d2e0,_0x447998)=>{var _0x19a0b3=a6_0x5e3a36;_0x447998(0x17a92)['v'][_0x19a0b3(0x333)][_0x19a0b3(0x2ec)]='uniform\x20sampler2D\x20textureSampler;\x0auniform\x20sampler2D\x20bloomBlur;\x0avarying\x20vec2\x20vUV;\x0auniform\x20float\x20bloomWeight;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0avec3\x20blurred=texture2D(bloomBlur,vUV).rgb;\x0agl_FragColor.rgb=gl_FragColor.rgb+(blurred.rgb*bloomWeight);\x20\x0a}\x0a';},0x1660e:(_0x468c45,_0x252b10,_0x496551)=>{var _0x106a04=a6_0x5e3a36,_0x574833=_0x496551(0x17a92);_0x574833['v']['IncludesShadersStore'][_0x106a04(0x1a4)]=_0x106a04(0x842),_0x496551(0x140f3),_0x574833['v'][_0x106a04(0x333)][_0x106a04(0x8e5)]=_0x106a04(0x48b);},0x885c:(_0x370f77,_0x2b891a,_0x49e005)=>{var _0x2bb594=a6_0x5e3a36,_0x2b5141=_0x49e005(0x17a92);_0x2b5141['v']['IncludesShadersStore']['boundingBoxRendererVertexDeclaration']=_0x2bb594(0xb91),_0x49e005(0x140f3),_0x2b5141['v'][_0x2bb594(0x333)][_0x2bb594(0x96c)]=_0x2bb594(0x34e);},0x9518:(_0x407e80,_0x1dae28,_0x559b3d)=>{var _0x2b1c4e=a6_0x5e3a36;_0x559b3d(0x17a92)['v'][_0x2b1c4e(0x333)]['chromaticAberrationPixelShader']='uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20chromatic_aberration;\x0auniform\x20float\x20radialIntensity;\x0auniform\x20vec2\x20direction;\x0auniform\x20vec2\x20centerPosition;\x0auniform\x20float\x20screen_width;\x0auniform\x20float\x20screen_height;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20centered_screen_pos=vec2(vUV.x-centerPosition.x,vUV.y-centerPosition.y);\x0avec2\x20directionOfEffect=direction;\x0aif(directionOfEffect.x==0.\x20&&\x20directionOfEffect.y==0.){\x0adirectionOfEffect=normalize(centered_screen_pos);\x0a}\x0afloat\x20radius2=centered_screen_pos.x*centered_screen_pos.x\x0a+\x20centered_screen_pos.y*centered_screen_pos.y;\x0afloat\x20radius=sqrt(radius2);\x0avec4\x20original=texture2D(textureSampler,vUV);\x0avec3\x20ref_indices=vec3(-0.3,0.0,0.3);\x0afloat\x20ref_shiftX=chromatic_aberration*pow(radius,radialIntensity)*directionOfEffect.x/screen_width;\x0afloat\x20ref_shiftY=chromatic_aberration*pow(radius,radialIntensity)*directionOfEffect.y/screen_height;\x0avec2\x20ref_coords_r=vec2(vUV.x+ref_indices.r*ref_shiftX,vUV.y+ref_indices.r*ref_shiftY*0.5);\x0avec2\x20ref_coords_g=vec2(vUV.x+ref_indices.g*ref_shiftX,vUV.y+ref_indices.g*ref_shiftY*0.5);\x0avec2\x20ref_coords_b=vec2(vUV.x+ref_indices.b*ref_shiftX,vUV.y+ref_indices.b*ref_shiftY*0.5);\x0aoriginal.r=texture2D(textureSampler,ref_coords_r).r;\x0aoriginal.g=texture2D(textureSampler,ref_coords_g).g;\x0aoriginal.b=texture2D(textureSampler,ref_coords_b).b;\x0aoriginal.a=clamp(texture2D(textureSampler,ref_coords_r).a+texture2D(textureSampler,ref_coords_g).a+texture2D(textureSampler,ref_coords_b).a,0.,1.);\x0agl_FragColor=original;\x0a}';},0x1411e:(_0x14b7b9,_0x107ee3,_0x33b59a)=>{var _0x336bc4=a6_0x5e3a36;_0x33b59a(0x17a92)['v']['ShadersStore'][_0x336bc4(0x25b)]=_0x336bc4(0x798);},0x119:(_0x52a636,_0x181104,_0x1a9142)=>{var _0x4680e=a6_0x5e3a36,_0x47db28=_0x1a9142(0x17a92);_0x1a9142(0xff1b),_0x1a9142(0x3328),_0x47db28['v'][_0x4680e(0x333)][_0x4680e(0x734)]=_0x4680e(0x7b5);},0x17a74:(_0xbeb481,_0x238a90,_0x457b45)=>{var _0x51607c=a6_0x5e3a36,_0xb01e53=_0x457b45(0x17a92);_0x457b45(0x13f9a),_0x457b45(0x12929),_0x457b45(0x13216),_0x457b45(0x12bc6),_0x457b45(0x733d),_0x457b45(0xb434),_0x457b45(0xdcea),_0x457b45(0x6efd),_0x457b45(0xedb9),_0xb01e53['v'][_0x51607c(0x333)][_0x51607c(0x6b8)]=_0x51607c(0x706);},0xbba1:(_0x4eb7f9,_0x2a2d88,_0x3910ee)=>{var _0xc57270=a6_0x5e3a36;_0x3910ee(0x17a92)['v'][_0xc57270(0x333)][_0xc57270(0x77f)]='uniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20sampler2D\x20colorTable;\x20\x0avarying\x20vec2\x20vUV;\x0aconst\x20float\x20SLICE_COUNT=16.0;\x20\x0avec4\x20sampleAs3DTexture(sampler2D\x20textureSampler,vec3\x20uv,float\x20width)\x20{\x0afloat\x20sliceSize=1.0/width;\x20\x0afloat\x20slicePixelSize=sliceSize/width;\x20\x0afloat\x20sliceInnerSize=slicePixelSize*(width-1.0);\x20\x0afloat\x20zSlice0=min(floor(uv.z*width),width-1.0);\x0afloat\x20zSlice1=min(zSlice0+1.0,width-1.0);\x0afloat\x20xOffset=slicePixelSize*0.5+uv.x*sliceInnerSize;\x0afloat\x20s0=xOffset+(zSlice0*sliceSize);\x0afloat\x20s1=xOffset+(zSlice1*sliceSize);\x0avec4\x20slice0Color=texture2D(textureSampler,vec2(s0,uv.y));\x0avec4\x20slice1Color=texture2D(textureSampler,vec2(s1,uv.y));\x0afloat\x20zOffset=mod(uv.z*width,1.0);\x0avec4\x20result=mix(slice0Color,slice1Color,zOffset);\x0areturn\x20result;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec4\x20screen_color=texture2D(textureSampler,vUV);\x0agl_FragColor=sampleAs3DTexture(colorTable,screen_color.rgb,SLICE_COUNT);\x0a}';},0x10824:(_0x2f2422,_0x381b07,_0x40b6c9)=>{var _0x12d87e=a6_0x5e3a36;_0x40b6c9(0x17a92)['v'][_0x12d87e(0x333)]['convolutionPixelShader']='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec2\x20screenSize;\x0auniform\x20float\x20kernel[9];\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec2\x20onePixel=vec2(1.0,1.0)/screenSize;\x0avec4\x20colorSum\x20=\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,-1))*kernel[0]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,-1))*kernel[1]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,-1))*kernel[2]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,0))*kernel[3]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,0))*kernel[4]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,0))*kernel[5]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(-1,1))*kernel[6]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(0,1))*kernel[7]\x20+\x0atexture2D(textureSampler,vUV+onePixel*vec2(1,1))*kernel[8];\x0afloat\x20kernelWeight\x20=\x0akernel[0]\x20+\x0akernel[1]\x20+\x0akernel[2]\x20+\x0akernel[3]\x20+\x0akernel[4]\x20+\x0akernel[5]\x20+\x0akernel[6]\x20+\x0akernel[7]\x20+\x0akernel[8];\x0aif\x20(kernelWeight<=0.0)\x20{\x0akernelWeight=1.0;\x0a}\x0agl_FragColor=vec4((colorSum/kernelWeight).rgb,1);\x0a}';},0x11840:(_0x581261,_0x471553,_0x3f0903)=>{var _0x13cde1=a6_0x5e3a36,_0x12cf29=_0x3f0903(0x17a92);_0x3f0903(0x175b0),_0x12cf29['v'][_0x13cde1(0x333)][_0x13cde1(0xc10)]=_0x13cde1(0xd6f);},0x1859e:(_0x78765,_0x8739a6,_0xf593da)=>{var _0x522ba4=a6_0x5e3a36,_0x44c9c8=_0xf593da(0x17a92);_0x44c9c8['v'][_0x522ba4(0x466)][_0x522ba4(0xbbb)]='uniform\x20vec4\x20vEyePosition;\x0auniform\x20vec4\x20vDiffuseColor;\x0a#ifdef\x20SPECULARTERM\x0auniform\x20vec4\x20vSpecularColor;\x0a#endif\x0auniform\x20vec3\x20vEmissiveColor;\x0auniform\x20vec3\x20vAmbientColor;\x0auniform\x20float\x20visibility;\x0a#ifdef\x20DIFFUSE\x0auniform\x20vec2\x20vDiffuseInfos;\x0a#endif\x0a#ifdef\x20AMBIENT\x0auniform\x20vec2\x20vAmbientInfos;\x0a#endif\x0a#ifdef\x20OPACITY\x20\x0auniform\x20vec2\x20vOpacityInfos;\x0a#endif\x0a#ifdef\x20EMISSIVE\x0auniform\x20vec2\x20vEmissiveInfos;\x0a#endif\x0a#ifdef\x20LIGHTMAP\x0auniform\x20vec2\x20vLightmapInfos;\x0a#endif\x0a#ifdef\x20BUMP\x0auniform\x20vec3\x20vBumpInfos;\x0auniform\x20vec2\x20vTangentSpaceParams;\x0a#endif\x0a#ifdef\x20ALPHATEST\x0auniform\x20float\x20alphaCutOff;\x0a#endif\x0a#if\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFRACTION)\x20||\x20defined(PREPASS)\x0auniform\x20mat4\x20view;\x0a#endif\x0a#ifdef\x20REFRACTION\x0auniform\x20vec4\x20vRefractionInfos;\x0a#ifndef\x20REFRACTIONMAP_3D\x0auniform\x20mat4\x20refractionMatrix;\x0a#endif\x0a#ifdef\x20REFRACTIONFRESNEL\x0auniform\x20vec4\x20refractionLeftColor;\x0auniform\x20vec4\x20refractionRightColor;\x0a#endif\x0a#if\x20defined(USE_LOCAL_REFRACTIONMAP_CUBIC)\x20&&\x20defined(REFRACTIONMAP_3D)\x0auniform\x20vec3\x20vRefractionPosition;\x0auniform\x20vec3\x20vRefractionSize;\x20\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULAR)\x20&&\x20defined(SPECULARTERM)\x0auniform\x20vec2\x20vSpecularInfos;\x0a#endif\x0a#ifdef\x20DIFFUSEFRESNEL\x0auniform\x20vec4\x20diffuseLeftColor;\x0auniform\x20vec4\x20diffuseRightColor;\x0a#endif\x0a#ifdef\x20OPACITYFRESNEL\x0auniform\x20vec4\x20opacityParts;\x0a#endif\x0a#ifdef\x20EMISSIVEFRESNEL\x0auniform\x20vec4\x20emissiveLeftColor;\x0auniform\x20vec4\x20emissiveRightColor;\x0a#endif\x0a#ifdef\x20REFLECTION\x0auniform\x20vec2\x20vReflectionInfos;\x0a#if\x20defined(REFLECTIONMAP_PLANAR)\x20||\x20defined(REFLECTIONMAP_CUBIC)\x20||\x20defined(REFLECTIONMAP_PROJECTION)\x20||\x20defined(REFLECTIONMAP_EQUIRECTANGULAR)\x20||\x20defined(REFLECTIONMAP_SPHERICAL)\x20||\x20defined(REFLECTIONMAP_SKYBOX)\x0auniform\x20mat4\x20reflectionMatrix;\x0a#endif\x0a#ifndef\x20REFLECTIONMAP_SKYBOX\x0a#if\x20defined(USE_LOCAL_REFLECTIONMAP_CUBIC)\x20&&\x20defined(REFLECTIONMAP_CUBIC)\x0auniform\x20vec3\x20vReflectionPosition;\x0auniform\x20vec3\x20vReflectionSize;\x20\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTIONFRESNEL\x0auniform\x20vec4\x20reflectionLeftColor;\x0auniform\x20vec4\x20reflectionRightColor;\x0a#endif\x0a#endif\x0a#ifdef\x20DETAIL\x0auniform\x20vec4\x20vDetailInfos;\x0a#endif\x0a#define\x20ADDITIONAL_FRAGMENT_DECLARATION\x0a',_0xf593da(0x4bc6),_0xf593da(0x67c9),_0xf593da(0xa8cd),_0xf593da(0x94fa),_0xf593da(0x175b0),_0xf593da(0xe6c7),_0xf593da(0x15fb5),_0xf593da(0x1f57),_0xf593da(0x1f85),_0xf593da(0x126e8),_0xf593da(0xb008),_0xf593da(0x11645),_0xf593da(0x16c11),_0xf593da(0x119a9),_0xf593da(0x8cac),_0xf593da(0xe577),_0xf593da(0xff1b),_0xf593da(0x17bd9),_0xf593da(0x12a16),_0xf593da(0x3328),_0xf593da(0x6664),_0xf593da(0x6318),_0xf593da(0xb0bc),_0xf593da(0x1445f),_0xf593da(0x10ef),_0xf593da(0xa965),_0x44c9c8['v'][_0x522ba4(0x333)][_0x522ba4(0x507)]=_0x522ba4(0x35d);},0xf570:(_0xdc3133,_0x4085cc,_0x3e59e2)=>{var _0x251d9c=a6_0x5e3a36,_0x8df701=_0x3e59e2(0x17a92);_0x8df701['v'][_0x251d9c(0x466)][_0x251d9c(0x6c2)]=_0x251d9c(0x8d4),_0x3e59e2(0x4bc6),_0x3e59e2(0x17bd8),_0x3e59e2(0x175b0),_0x3e59e2(0x13f9a),_0x3e59e2(0x12929),_0x3e59e2(0x12bc6),_0x3e59e2(0x18442),_0x3e59e2(0x94fa),_0x3e59e2(0x15b7a),_0x3e59e2(0x8785),_0x3e59e2(0x13216),_0x3e59e2(0x6a99),_0x3e59e2(0x1b3f),_0x3e59e2(0xc971),_0x3e59e2(0x9ea3),_0x3e59e2(0x12abc),_0x3e59e2(0x17bd9),_0x3e59e2(0x13906),_0x3e59e2(0x1070),_0x3e59e2(0x733d),_0x3e59e2(0xb434),_0x3e59e2(0xdcea),_0x3e59e2(0x1abd),_0x3e59e2(0xd68d),_0x3e59e2(0x2f27),_0x3e59e2(0xced6),_0x3e59e2(0x6efd),_0x3e59e2(0x9871),_0x3e59e2(0x6e75),_0x3e59e2(0xedb9),_0x8df701['v']['IncludesShadersStore'][_0x251d9c(0x70a)]=_0x251d9c(0xbed),_0x3e59e2(0x13da6),_0x8df701['v'][_0x251d9c(0x333)]['defaultVertexShader']=_0x251d9c(0x553);},0x5012:(_0x244e1e,_0x296b07,_0x4e6c82)=>{var _0x24b603=a6_0x5e3a36,_0x46f7b=_0x4e6c82(0x17a92);_0x4e6c82(0xff1b),_0x4e6c82(0xe85e),_0x4e6c82(0x3328),_0x46f7b['v'][_0x24b603(0x333)][_0x24b603(0xcbf)]='#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20diffuseSampler;\x0a#endif\x0a#include<clipPlaneFragmentDeclaration>\x0avarying\x20float\x20vDepthMetric;\x0a#ifdef\x20PACKED\x0a#include<packingFunctions>\x0a#endif\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0a#include<clipPlaneFragment>\x0a#ifdef\x20ALPHATEST\x0aif\x20(texture2D(diffuseSampler,vUV).a<0.4)\x0adiscard;\x0a#endif\x0a#ifdef\x20NONLINEARDEPTH\x0a#ifdef\x20PACKED\x0agl_FragColor=pack(gl_FragCoord.z);\x0a#else\x0agl_FragColor=vec4(gl_FragCoord.z,0.0,0.0,0.0);\x0a#endif\x0a#else\x0a#ifdef\x20PACKED\x0agl_FragColor=pack(vDepthMetric);\x0a#else\x0agl_FragColor=vec4(vDepthMetric,0.0,0.0,1.0);\x0a#endif\x0a#endif\x0a}';},0xcf33:(_0xb72fc3,_0x31b1d1,_0x10cf4c)=>{var _0x472d31=a6_0x5e3a36,_0x3a716a=_0x10cf4c(0x17a92);_0x10cf4c(0x13f9a),_0x10cf4c(0x12929),_0x10cf4c(0x9ea3),_0x10cf4c(0x12abc),_0x10cf4c(0x13216),_0x10cf4c(0x12bc6),_0x10cf4c(0x13906),_0x10cf4c(0x1070),_0x10cf4c(0x733d),_0x10cf4c(0xb434),_0x10cf4c(0xdcea),_0x10cf4c(0x6efd),_0x3a716a['v'][_0x472d31(0x333)]['depthVertexShader']=_0x472d31(0x3c8);},0x66e6:(_0x4e85cd,_0x4251da,_0x516181)=>{var _0x128493=a6_0x5e3a36;_0x516181(0x17a92)['v']['ShadersStore'][_0x128493(0x5fc)]=_0x128493(0x59e);},0x1006d:(_0xe598bc,_0x5622b4,_0xf1e28d)=>{var _0x315306=a6_0x5e3a36;_0xf1e28d(0x17a92)['v'][_0x315306(0x333)][_0x315306(0xd94)]=_0x315306(0x65c);},0x1203:(_0x250977,_0x589a99,_0x5d2151)=>{var _0x386fac=a6_0x5e3a36;_0x5d2151(0x17a92)['v'][_0x386fac(0x333)]['depthOfFieldMergePixelShader']=_0x386fac(0x69c);},0x1157d:(_0x2aa983,_0x3f7128,_0x3bd349)=>{var _0x4b2f89=a6_0x5e3a36;_0x3bd349(0x17a92)['v']['ShadersStore'][_0x4b2f89(0x44e)]=_0x4b2f89(0x607);},0x2d30:(_0x2679e4,_0x255ead,_0x54252c)=>{var _0x1ec8d5=a6_0x5e3a36,_0x594aef=_0x54252c(0x17a92);_0x54252c(0x175b0),_0x594aef['v'][_0x1ec8d5(0x333)][_0x1ec8d5(0xa3a)]=_0x1ec8d5(0x740);},0x5b3f:(_0x4285ed,_0x38f253,_0x25f65a)=>{var _0x514d6a=a6_0x5e3a36;_0x25f65a(0x17a92)['v'][_0x514d6a(0x333)]['filterPixelShader']=_0x514d6a(0x744);},0xf945:(_0x542ea4,_0x289bb3,_0x55de0a)=>{var _0x167ea5=a6_0x5e3a36;_0x55de0a(0x17a92)['v'][_0x167ea5(0x333)][_0x167ea5(0x26b)]=_0x167ea5(0x399);},0x10315:(_0x31c128,_0x5d468e,_0xe108ae)=>{var _0x15ef7e=a6_0x5e3a36;_0xe108ae(0x17a92)['v'][_0x15ef7e(0x333)]['fluidRenderingParticleDepthPixelShader']=_0x15ef7e(0x2ff);},0xd43b:(_0x5933e1,_0x3c8e49,_0x14ab9a)=>{var _0x2e3cde=a6_0x5e3a36;_0x14ab9a(0x17a92)['v'][_0x2e3cde(0x333)][_0x2e3cde(0x3cc)]=_0x2e3cde(0x1ab);},0x7cc8:(_0x20ca62,_0x1c64e1,_0x3f254b)=>{var _0x40b32b=a6_0x5e3a36;_0x3f254b(0x17a92)['v']['ShadersStore'][_0x40b32b(0x64b)]=_0x40b32b(0x50c);},0x10c8:(_0x5531bc,_0x5060dc,_0x2c6f29)=>{var _0x17668b=a6_0x5e3a36;_0x2c6f29(0x17a92)['v'][_0x17668b(0x333)][_0x17668b(0x80b)]='attribute\x20vec3\x20position;\x0aattribute\x20vec2\x20offset;\x0aattribute\x20vec4\x20color;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20vec2\x20size;\x0avarying\x20vec2\x20uv;\x0avarying\x20vec3\x20diffuseColor;\x0avoid\x20main(void)\x20{\x0avec3\x20cornerPos;\x0acornerPos.xy=vec2(offset.x-0.5,offset.y-0.5)*size;\x0acornerPos.z=0.0;\x0avec3\x20viewPos=(view*vec4(position,1.0)).xyz+cornerPos;\x0agl_Position=projection*vec4(viewPos,1.0);\x0auv=offset;\x0adiffuseColor=color.rgb;\x0a}\x0a';},0xd599:(_0x3345be,_0x34a0ce,_0x46b79c)=>{var _0x457d99=a6_0x5e3a36;_0x46b79c(0x17a92)['v'][_0x457d99(0x333)][_0x457d99(0xa06)]=_0x457d99(0x496);},0x11576:(_0x404b3f,_0x2c1d03,_0x31b73e)=>{var _0x126dcd=a6_0x5e3a36;_0x31b73e(0x17a92)['v'][_0x126dcd(0x333)][_0x126dcd(0xd08)]=_0x126dcd(0xcbe);},0xf9e7:(_0x1798a4,_0x12226e,_0x3d99b9)=>{var _0x4d6e6a=a6_0x5e3a36;_0x3d99b9(0x17a92)['v']['ShadersStore'][_0x4d6e6a(0x979)]=_0x4d6e6a(0x944);},0xdc0e:(_0x23d7e0,_0x1dc0b7,_0x1055c5)=>{var _0x18275e=a6_0x5e3a36;_0x1055c5(0x17a92)['v'][_0x18275e(0x333)]['fluidRenderingStandardBlurPixelShader']=_0x18275e(0xca9);},0xd22e:(_0x115aaf,_0x30bb36,_0xc49588)=>{var _0x100e07=a6_0x5e3a36;_0xc49588(0x17a92)['v'][_0x100e07(0x333)][_0x100e07(0x4d2)]=_0x100e07(0xcdb);},0x10cef:(_0x514c7f,_0x422680,_0xbb4433)=>{var _0x41a0ec=a6_0x5e3a36;_0xbb4433(0x17a92)['v'][_0x41a0ec(0x333)][_0x41a0ec(0xaff)]=_0x41a0ec(0xba7);},0x16ef7:(_0x21f020,_0x109b61,_0x4d741d)=>{var _0x35af50=a6_0x5e3a36,_0x4b7836=_0x4d741d(0x17a92);_0x4d741d(0xff1b),_0x4b7836['v'][_0x35af50(0x466)][_0x35af50(0xb63)]='#if\x20defined(WEBGL2)\x20||\x20defined(WEBGPU)\x20||\x20defined(NATIVE)\x0alayout(location=0)\x20out\x20vec4\x20glFragData[{X}];\x0a#endif\x0a',_0x4d741d(0x8cac),_0x4d741d(0xe577),_0x4d741d(0x175b0),_0x4d741d(0x3328),_0x4d741d(0x6664),_0x4b7836['v'][_0x35af50(0x333)][_0x35af50(0xd8d)]=_0x35af50(0x77a);},0x147cd:(_0x3986b8,_0xc4726a,_0x1c5fd2)=>{var _0xf32331=a6_0x5e3a36,_0x22fbd6=_0x1c5fd2(0x17a92);_0x1c5fd2(0x13f9a),_0x1c5fd2(0x12929),_0x1c5fd2(0x9ea3),_0x1c5fd2(0x12abc),_0x1c5fd2(0x12bc6),_0x22fbd6['v'][_0xf32331(0x466)][_0xf32331(0xc8e)]='uniform\x20mat4\x20viewProjection;\x0auniform\x20mat4\x20view;',_0x1c5fd2(0x6cce),_0x22fbd6['v'][_0xf32331(0x466)][_0xf32331(0x3e8)]=_0xf32331(0xd4b),_0x1c5fd2(0x13216),_0x1c5fd2(0x13906),_0x1c5fd2(0x1070),_0x1c5fd2(0x733d),_0x1c5fd2(0xb434),_0x1c5fd2(0xdcea),_0x1c5fd2(0x6efd),_0x1c5fd2(0xced6),_0x22fbd6['v']['ShadersStore'][_0xf32331(0x99b)]=_0xf32331(0x25d);},0x969e:(_0x40d52f,_0x4b29f7,_0xdba9fd)=>{var _0x23d36c=a6_0x5e3a36;_0xdba9fd(0x17a92)['v'][_0x23d36c(0x333)][_0x23d36c(0x5f0)]=_0x23d36c(0xd28);},0x2a8d:(_0x387e6b,_0x440a64,_0x357c1d)=>{var _0xf38475=a6_0x5e3a36,_0x4f8588=_0x357c1d(0x17a92);_0x357c1d(0x175b0),_0x357c1d(0xff1b),_0x357c1d(0x3328),_0x4f8588['v'][_0xf38475(0x333)][_0xf38475(0xca8)]=_0xf38475(0x889);},0x14398:(_0x46a3bf,_0x29c263,_0x1527e1)=>{var _0x3457ad=a6_0x5e3a36,_0x2c6418=_0x1527e1(0x17a92);_0x1527e1(0x13f9a),_0x1527e1(0x12929),_0x1527e1(0x9ea3),_0x1527e1(0x12abc),_0x1527e1(0x13216),_0x1527e1(0x12bc6),_0x1527e1(0x13906),_0x1527e1(0x1070),_0x1527e1(0x733d),_0x1527e1(0xb434),_0x1527e1(0xdcea),_0x1527e1(0x6efd),_0x2c6418['v']['ShadersStore'][_0x3457ad(0x738)]=_0x3457ad(0x305);},0x16980:(_0x13bf85,_0x1f6952,_0x12b3f5)=>{var _0x569ced=a6_0x5e3a36;_0x12b3f5(0x17a92)['v'][_0x569ced(0x333)][_0x569ced(0xd97)]=_0x569ced(0xa97);},0x13824:(_0x4d663a,_0x190348,_0x526bb5)=>{var _0x26852c=a6_0x5e3a36;_0x526bb5(0x17a92)['v'][_0x26852c(0x333)][_0x26852c(0x45b)]=_0x26852c(0xa09);},0x136d7:(_0x229a9e,_0x41c799,_0x212c97)=>{var _0x5e5a39=a6_0x5e3a36,_0x27e709=_0x212c97(0x17a92);_0x27e709['v'][_0x5e5a39(0x466)]['clipPlaneFragmentDeclaration2']=_0x5e5a39(0x748),_0x212c97(0x16c11),_0x212c97(0x17bd9),_0x212c97(0x175b0),_0x212c97(0x119a9),_0x212c97(0x3328),_0x212c97(0x1445f),_0x27e709['v'][_0x5e5a39(0x333)][_0x5e5a39(0x41e)]='precision\x20highp\x20float;\x0a#ifdef\x20LOGARITHMICDEPTH\x0a#extension\x20GL_EXT_frag_depth\x20:\x20enable\x0a#endif\x0auniform\x20sampler2D\x20diffuseSampler;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0a#include<clipPlaneFragmentDeclaration2>\x20\x0a#include<imageProcessingDeclaration>\x0a#include<logDepthDeclaration>\x0a#include<helperFunctions>\x0a#include<imageProcessingFunctions>\x0avoid\x20main()\x20{\x0a#include<clipPlaneFragment>\x20\x0avec4\x20textureColor=texture2D(diffuseSampler,vUV);\x0agl_FragColor=textureColor*vColor;\x0a#ifdef\x20BLENDMULTIPLYMODE\x0afloat\x20alpha=vColor.a*textureColor.a;\x0agl_FragColor.rgb=gl_FragColor.rgb*alpha+vec3(1.0)*(1.0-alpha);\x0a#endif\x20\x0a#include<logDepthFragment>\x0a#ifdef\x20IMAGEPROCESSINGPOSTPROCESS\x0agl_FragColor.rgb=toLinearSpace(gl_FragColor.rgb);\x0a#else\x0a#ifdef\x20IMAGEPROCESSING\x0agl_FragColor.rgb=toLinearSpace(gl_FragColor.rgb);\x0agl_FragColor=applyImageProcessing(gl_FragColor);\x0a#endif\x0a#endif\x0a}\x0a';},0x4618:(_0x37de2e,_0x67ca5e,_0x4a3463)=>{var _0x53d9d7=a6_0x5e3a36,_0x510dd3=_0x4a3463(0x17a92);_0x510dd3['v'][_0x53d9d7(0x466)]['clipPlaneVertexDeclaration2']=_0x53d9d7(0x6d4),_0x4a3463(0x17bd9),_0x4a3463(0x6efd),_0x4a3463(0x13da6),_0x510dd3['v'][_0x53d9d7(0x333)][_0x53d9d7(0x1aa)]=_0x53d9d7(0x3bf);},0x820b:(_0x5421ce,_0x3a8ab9,_0x46aefa)=>{var _0x78418b=a6_0x5e3a36;_0x46aefa(0x17a92)['v']['ShadersStore'][_0x78418b(0x954)]=_0x78418b(0xb21);},0x5913:(_0x25a313,_0x24438e,_0x3554a7)=>{var _0x570c99=a6_0x5e3a36;_0x3554a7(0x17a92)['v'][_0x570c99(0x333)][_0x570c99(0xbc6)]='#version\x20300\x20es\x0a#define\x20PI\x203.14159\x0auniform\x20float\x20currentCount;\x0auniform\x20float\x20timeDelta;\x0auniform\x20float\x20stopFactor;\x0a#ifndef\x20LOCAL\x0auniform\x20mat4\x20emitterWM;\x0a#endif\x0auniform\x20vec2\x20lifeTime;\x0auniform\x20vec2\x20emitPower;\x0auniform\x20vec2\x20sizeRange;\x0auniform\x20vec4\x20scaleRange;\x0a#ifndef\x20COLORGRADIENTS\x0auniform\x20vec4\x20color1;\x0auniform\x20vec4\x20color2;\x0a#endif\x0auniform\x20vec3\x20gravity;\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20sampler2D\x20randomSampler2;\x0auniform\x20vec4\x20angleRange;\x0a#ifdef\x20BOXEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0auniform\x20vec3\x20minEmitBox;\x0auniform\x20vec3\x20maxEmitBox;\x0a#endif\x0a#ifdef\x20POINTEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#endif\x0a#ifdef\x20HEMISPHERICEMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20radiusRange;\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#ifdef\x20SPHEREEMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20radiusRange;\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#else\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#endif\x0a#ifdef\x20CYLINDEREMITTER\x0auniform\x20float\x20radius;\x0auniform\x20float\x20height;\x0auniform\x20float\x20radiusRange;\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0auniform\x20vec3\x20direction1;\x0auniform\x20vec3\x20direction2;\x0a#else\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0a#endif\x0a#ifdef\x20CONEEMITTER\x0auniform\x20vec2\x20radius;\x0auniform\x20float\x20coneAngle;\x0auniform\x20vec2\x20height;\x0auniform\x20float\x20directionRandomizer;\x0a#endif\x0ain\x20vec3\x20position;\x0a#ifdef\x20CUSTOMEMITTER\x0ain\x20vec3\x20initialPosition;\x0a#endif\x0ain\x20float\x20age;\x0ain\x20float\x20life;\x0ain\x20vec4\x20seed;\x0ain\x20vec3\x20size;\x0a#ifndef\x20COLORGRADIENTS\x0ain\x20vec4\x20color;\x0a#endif\x0ain\x20vec3\x20direction;\x0a#ifndef\x20BILLBOARD\x0ain\x20vec3\x20initialDirection;\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0ain\x20float\x20angle;\x0a#else\x0ain\x20vec2\x20angle;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0ain\x20float\x20cellIndex;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0ain\x20float\x20cellStartOffset;\x0a#endif\x0a#endif\x0a#ifdef\x20NOISE\x0ain\x20vec3\x20noiseCoordinates1;\x0ain\x20vec3\x20noiseCoordinates2;\x0a#endif\x0aout\x20vec3\x20outPosition;\x0a#ifdef\x20CUSTOMEMITTER\x0aout\x20vec3\x20outInitialPosition;\x0a#endif\x0aout\x20float\x20outAge;\x0aout\x20float\x20outLife;\x0aout\x20vec4\x20outSeed;\x0aout\x20vec3\x20outSize;\x0a#ifndef\x20COLORGRADIENTS\x0aout\x20vec4\x20outColor;\x0a#endif\x0aout\x20vec3\x20outDirection;\x0a#ifndef\x20BILLBOARD\x0aout\x20vec3\x20outInitialDirection;\x0a#endif\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0aout\x20float\x20outAngle;\x0a#else\x0aout\x20vec2\x20outAngle;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0aout\x20float\x20outCellIndex;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aout\x20float\x20outCellStartOffset;\x0a#endif\x0a#endif\x0a#ifdef\x20NOISE\x0aout\x20vec3\x20outNoiseCoordinates1;\x0aout\x20vec3\x20outNoiseCoordinates2;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0auniform\x20sampler2D\x20sizeGradientSampler;\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0auniform\x20sampler2D\x20angularSpeedGradientSampler;\x0a#endif\x20\x0a#ifdef\x20VELOCITYGRADIENTS\x0auniform\x20sampler2D\x20velocityGradientSampler;\x0a#endif\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0auniform\x20sampler2D\x20limitVelocityGradientSampler;\x0auniform\x20float\x20limitVelocityDamping;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0auniform\x20sampler2D\x20dragGradientSampler;\x0a#endif\x0a#ifdef\x20NOISE\x0auniform\x20vec3\x20noiseStrength;\x0auniform\x20sampler2D\x20noiseSampler;\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x0auniform\x20vec4\x20cellInfos;\x0a#endif\x0avec3\x20getRandomVec3(float\x20offset)\x20{\x0areturn\x20texture(randomSampler2,vec2(float(gl_VertexID)*offset/currentCount,0)).rgb;\x0a}\x0avec4\x20getRandomVec4(float\x20offset)\x20{\x0areturn\x20texture(randomSampler,vec2(float(gl_VertexID)*offset/currentCount,0));\x0a}\x0avoid\x20main()\x20{\x0afloat\x20newAge=age+timeDelta;\x20\x0aif\x20(newAge>=life\x20&&\x20stopFactor\x20!=\x200.)\x20{\x0avec3\x20newPosition;\x0avec3\x20newDirection;\x0avec4\x20randoms=getRandomVec4(seed.x);\x0aoutLife=lifeTime.x+(lifeTime.y-lifeTime.x)*randoms.r;\x0aoutAge=newAge-life;\x0aoutSeed=seed;\x0a#ifdef\x20SIZEGRADIENTS\x20\x0aoutSize.x=texture(sizeGradientSampler,vec2(0,0)).r;\x0a#else\x0aoutSize.x=sizeRange.x+(sizeRange.y-sizeRange.x)*randoms.g;\x0a#endif\x0aoutSize.y=scaleRange.x+(scaleRange.y-scaleRange.x)*randoms.b;\x0aoutSize.z=scaleRange.z+(scaleRange.w-scaleRange.z)*randoms.a;\x20\x0a#ifndef\x20COLORGRADIENTS\x0aoutColor=color1+(color2-color1)*randoms.b;\x0a#endif\x0a#ifndef\x20ANGULARSPEEDGRADIENTS\x20\x0aoutAngle.y=angleRange.x+(angleRange.y-angleRange.x)*randoms.a;\x0aoutAngle.x=angleRange.z+(angleRange.w-angleRange.z)*randoms.r;\x0a#else\x0aoutAngle=angleRange.z+(angleRange.w-angleRange.z)*randoms.r;\x0a#endif\x20\x0a#ifdef\x20POINTEMITTER\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewPosition=vec3(0,0,0);\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x0a#elif\x20defined(BOXEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewPosition=minEmitBox+(maxEmitBox-minEmitBox)*randoms2;\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x20\x0a#elif\x20defined(HEMISPHERICEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20phi=2.0*PI*randoms2.x;\x0afloat\x20theta=acos(2.0*randoms2.y-1.0);\x0afloat\x20randX=cos(phi)*sin(theta);\x0afloat\x20randY=cos(theta);\x0afloat\x20randZ=sin(phi)*sin(theta);\x0anewPosition=(radius-(radius*radiusRange*randoms2.z))*vec3(randX,abs(randY),randZ);\x0anewDirection=newPosition+directionRandomizer*randoms3;\x20\x0a#elif\x20defined(SPHEREEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20phi=2.0*PI*randoms2.x;\x0afloat\x20theta=acos(2.0*randoms2.y-1.0);\x0afloat\x20randX=cos(phi)*sin(theta);\x0afloat\x20randY=cos(theta);\x0afloat\x20randZ=sin(phi)*sin(theta);\x0anewPosition=(radius-(radius*radiusRange*randoms2.z))*vec3(randX,randY,randZ);\x0a#ifdef\x20DIRECTEDSPHEREEMITTER\x0anewDirection=normalize(direction1+(direction2-direction1)*randoms3);\x0a#else\x0anewDirection=normalize(newPosition+directionRandomizer*randoms3);\x0a#endif\x0a#elif\x20defined(CYLINDEREMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0afloat\x20yPos=(randoms2.x-0.5)*height;\x0afloat\x20angle=randoms2.y*PI*2.;\x0afloat\x20inverseRadiusRangeSquared=((1.-radiusRange)*(1.-radiusRange));\x0afloat\x20positionRadius=radius*sqrt(inverseRadiusRangeSquared+(randoms2.z*(1.-inverseRadiusRangeSquared)));\x0afloat\x20xPos=positionRadius*cos(angle);\x0afloat\x20zPos=positionRadius*sin(angle);\x0anewPosition=vec3(xPos,yPos,zPos);\x0a#ifdef\x20DIRECTEDCYLINDEREMITTER\x0anewDirection=direction1+(direction2-direction1)*randoms3;\x0a#else\x0aangle=angle+((randoms3.x-0.5)*PI)*directionRandomizer;\x0anewDirection=vec3(cos(angle),(randoms3.y-0.5)*directionRandomizer,sin(angle));\x0anewDirection=normalize(newDirection);\x0a#endif\x0a#elif\x20defined(CONEEMITTER)\x0avec3\x20randoms2=getRandomVec3(seed.y);\x0afloat\x20s=2.0*PI*randoms2.x;\x0a#ifdef\x20CONEEMITTERSPAWNPOINT\x0afloat\x20h=0.0001;\x0a#else\x0afloat\x20h=randoms2.y*height.y;\x0ah=1.-h*h;\x20\x0a#endif\x0afloat\x20lRadius=radius.x-radius.x*randoms2.z*radius.y;\x0alRadius=lRadius*h;\x0afloat\x20randX=lRadius*sin(s);\x0afloat\x20randZ=lRadius*cos(s);\x0afloat\x20randY=h\x20*height.x;\x0anewPosition=vec3(randX,randY,randZ);\x20\x0aif\x20(abs(cos(coneAngle))==1.0)\x20{\x0anewDirection=vec3(0.,1.0,0.);\x0a}\x20else\x20{\x0avec3\x20randoms3=getRandomVec3(seed.z);\x0anewDirection=normalize(newPosition+directionRandomizer*randoms3);\x20\x0a}\x0a#elif\x20defined(CUSTOMEMITTER)\x0anewPosition=initialPosition;\x0aoutInitialPosition=initialPosition;\x0a#else\x20\x0anewPosition=vec3(0.,0.,0.);\x0anewDirection=2.0*(getRandomVec3(seed.w)-vec3(0.5,0.5,0.5));\x0a#endif\x0afloat\x20power=emitPower.x+(emitPower.y-emitPower.x)*randoms.a;\x0a#ifdef\x20LOCAL\x0aoutPosition=newPosition;\x0a#else\x0aoutPosition=(emitterWM*vec4(newPosition,1.)).xyz;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aoutDirection=direction;\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=direction;\x0a#endif\x0a#else\x0a#ifdef\x20LOCAL\x0avec3\x20initial=newDirection;\x0a#else\x20\x0avec3\x20initial=(emitterWM*vec4(newDirection,0.)).xyz;\x0a#endif\x0aoutDirection=initial*power;\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=initial;\x0a#endif\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0aoutCellIndex=cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aoutCellStartOffset=randoms.a*outLife;\x0a#endif\x20\x0a#endif\x0a#ifdef\x20NOISE\x0aoutNoiseCoordinates1=noiseCoordinates1;\x0aoutNoiseCoordinates2=noiseCoordinates2;\x0a#endif\x0a}\x20else\x20{\x0afloat\x20directionScale=timeDelta;\x0aoutAge=newAge;\x0afloat\x20ageGradient=newAge/life;\x0a#ifdef\x20VELOCITYGRADIENTS\x0adirectionScale*=texture(velocityGradientSampler,vec2(ageGradient,0)).r;\x0a#endif\x0a#ifdef\x20DRAGGRADIENTS\x0adirectionScale*=1.0-texture(dragGradientSampler,vec2(ageGradient,0)).r;\x0a#endif\x0a#if\x20defined(CUSTOMEMITTER)\x0aoutPosition=position+(direction-position)*ageGradient;\x20\x0aoutInitialPosition=initialPosition;\x0a#else\x0aoutPosition=position+direction*directionScale;\x0a#endif\x0aoutLife=life;\x0aoutSeed=seed;\x0a#ifndef\x20COLORGRADIENTS\x20\x0aoutColor=color;\x0a#endif\x0a#ifdef\x20SIZEGRADIENTS\x0aoutSize.x=texture(sizeGradientSampler,vec2(ageGradient,0)).r;\x0aoutSize.yz=size.yz;\x0a#else\x0aoutSize=size;\x0a#endif\x20\x0a#ifndef\x20BILLBOARD\x20\x0aoutInitialDirection=initialDirection;\x0a#endif\x0a#ifdef\x20CUSTOMEMITTER\x0aoutDirection=direction;\x0a#else\x0avec3\x20updatedDirection=direction+gravity*timeDelta;\x0a#ifdef\x20LIMITVELOCITYGRADIENTS\x0afloat\x20limitVelocity=texture(limitVelocityGradientSampler,vec2(ageGradient,0)).r;\x0afloat\x20currentVelocity=length(updatedDirection);\x0aif\x20(currentVelocity>limitVelocity)\x20{\x0aupdatedDirection=updatedDirection*limitVelocityDamping;\x0a}\x0a#endif\x0aoutDirection=updatedDirection;\x0a#ifdef\x20NOISE\x0afloat\x20fetchedR=texture(noiseSampler,vec2(noiseCoordinates1.x,noiseCoordinates1.y)*vec2(0.5)+vec2(0.5)).r;\x0afloat\x20fetchedG=texture(noiseSampler,vec2(noiseCoordinates1.z,noiseCoordinates2.x)*vec2(0.5)+vec2(0.5)).r;\x0afloat\x20fetchedB=texture(noiseSampler,vec2(noiseCoordinates2.y,noiseCoordinates2.z)*vec2(0.5)+vec2(0.5)).r;\x0avec3\x20force=vec3(2.*fetchedR-1.,2.*fetchedG-1.,2.*fetchedB-1.)*noiseStrength;\x0aoutDirection=outDirection+force*timeDelta;\x0aoutNoiseCoordinates1=noiseCoordinates1;\x0aoutNoiseCoordinates2=noiseCoordinates2;\x0a#endif\x20\x0a#endif\x20\x0a#ifdef\x20ANGULARSPEEDGRADIENTS\x0afloat\x20angularSpeed=texture(angularSpeedGradientSampler,vec2(ageGradient,0)).r;\x0aoutAngle=angle+angularSpeed*timeDelta;\x0a#else\x0aoutAngle=vec2(angle.x+angle.y*timeDelta,angle.y);\x0a#endif\x0a#ifdef\x20ANIMATESHEET\x20\x0afloat\x20offsetAge=outAge;\x0afloat\x20dist=cellInfos.y-cellInfos.x;\x0a#ifdef\x20ANIMATESHEETRANDOMSTART\x0aoutCellStartOffset=cellStartOffset;\x0aoffsetAge+=cellStartOffset;\x0a#else\x0afloat\x20cellStartOffset=0.;\x0a#endif\x20\x0afloat\x20ratio=0.;\x0aif\x20(cellInfos.w==1.0)\x20{\x0aratio=clamp(mod(cellStartOffset+cellInfos.z*offsetAge,life)/life,0.,1.0);\x0a}\x0aelse\x20{\x0aratio=clamp(cellStartOffset+cellInfos.z*offsetAge/life,0.,1.0);\x0a}\x0aoutCellIndex=float(int(cellInfos.x+ratio*dist));\x0a#endif\x0a}\x0a}';},0x4ad4:(_0x4525a2,_0xd2e056,_0x239f4c)=>{var _0x2cc260=a6_0x5e3a36,_0x6c07b8=_0x239f4c(0x17a92);_0x239f4c(0x175b0),_0x6c07b8['v'][_0x2cc260(0x333)]['grainPixelShader']='#include<helperFunctions>\x0auniform\x20sampler2D\x20textureSampler;\x20\x0auniform\x20float\x20intensity;\x0auniform\x20float\x20animatedSeed;\x0avarying\x20vec2\x20vUV;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0agl_FragColor=texture2D(textureSampler,vUV);\x0avec2\x20seed=vUV*(animatedSeed);\x0afloat\x20grain=dither(seed,intensity);\x0afloat\x20lum=getLuminance(gl_FragColor.rgb);\x0afloat\x20grainAmount=(cos(-PI+(lum*PI*2.))+1.)/2.;\x0agl_FragColor.rgb+=grain*grainAmount;\x0agl_FragColor.rgb=max(gl_FragColor.rgb,0.0);\x0a}';},0x87f9:(_0x4c9613,_0x3d6639,_0x45f878)=>{var _0x3fce8f=a6_0x5e3a36,_0x2aee20=_0x45f878(0x17a92);_0x45f878(0x175b0),_0x45f878(0x1b98),_0x45f878(0x10b3e),_0x45f878(0x16b85),_0x2aee20['v']['ShadersStore'][_0x3fce8f(0xd83)]=_0x3fce8f(0x1df);},0x11e17:(_0xbf2f09,_0x11d0d3,_0x3e93fa)=>{var _0x17cd79=a6_0x5e3a36;_0x3e93fa(0x17a92)['v'][_0x17cd79(0x333)][_0x17cd79(0x4f5)]=_0x17cd79(0x419);},0xd5bd:(_0x26b026,_0x3ffbbb,_0x329db)=>{var _0x58faed=a6_0x5e3a36;_0x329db(0x17a92)['v'][_0x58faed(0x333)][_0x58faed(0xb5f)]=_0x58faed(0x947);},0x816b:(_0x294d58,_0x2ecfda,_0x1e69c0)=>{var _0xeebae2=a6_0x5e3a36,_0x56f59f=_0x1e69c0(0x17a92);_0x1e69c0(0x16c11),_0x1e69c0(0x175b0),_0x1e69c0(0x119a9),_0x56f59f['v'][_0xeebae2(0x333)][_0xeebae2(0xd49)]=_0xeebae2(0x24c);},0x12a58:(_0x5677e5,_0xa3b593,_0x16da64)=>{var _0xa66eee=a6_0x5e3a36,_0x3db6f2=_0x16da64(0x17a92);_0x16da64(0x1610b),_0x16da64(0xe85e),_0x3db6f2['v'][_0xa66eee(0x466)]['kernelBlurFragment']=_0xa66eee(0xa6a),_0x3db6f2['v'][_0xa66eee(0x466)][_0xa66eee(0x2eb)]=_0xa66eee(0xa30),_0x3db6f2['v'][_0xa66eee(0x333)]['kernelBlurPixelShader']=_0xa66eee(0x5ac);},0x147a8:(_0x2e94c2,_0x5df45e,_0x23a746)=>{var _0x2e53d7=a6_0x5e3a36,_0x24d816=_0x23a746(0x17a92);_0x23a746(0x1610b),_0x24d816['v'][_0x2e53d7(0x466)]['kernelBlurVertex']='sampleCoord{X}=sampleCenter+delta*KERNEL_OFFSET{X};',_0x24d816['v'][_0x2e53d7(0x333)][_0x2e53d7(0xc43)]=_0x2e53d7(0x65a);},0x1814a:(_0x4aa5fa,_0x42124e,_0x1f8591)=>{var _0x19a312=a6_0x5e3a36,_0x826dd5=_0x1f8591(0x17a92);_0x1f8591(0x175b0),_0x826dd5['v'][_0x19a312(0x333)]['layerPixelShader']=_0x19a312(0xb99);},0xc8f5:(_0x3f43f0,_0x407fdd,_0x13916e)=>{var _0x1b7dda=a6_0x5e3a36;_0x13916e(0x17a92)['v'][_0x1b7dda(0x333)]['layerVertexShader']=_0x1b7dda(0x331);},0x139b9:(_0x2e30fd,_0x4eebd7,_0x4dc7d2)=>{var _0x4f71f7=a6_0x5e3a36;_0x4dc7d2(0x17a92)['v'][_0x4f71f7(0x333)][_0x4f71f7(0xaaf)]='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20vec4\x20color;\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_FRAGMENT_MAIN_BEGIN\x0avec4\x20baseColor=texture2D(textureSampler,vUV);\x0agl_FragColor=baseColor*color;\x0a#define\x20CUSTOM_FRAGMENT_MAIN_END\x0a}';},0xc013:(_0x51c755,_0x454fc4,_0x11e9e5)=>{var _0x5434de=a6_0x5e3a36;_0x11e9e5(0x17a92)['v']['ShadersStore'][_0x5434de(0x365)]=_0x5434de(0xb7d);},0xd962:(_0x46b2e7,_0x41687a,_0x250886)=>{var _0x5d558f=a6_0x5e3a36;_0x250886(0x17a92)['v'][_0x5d558f(0x333)]['lensHighlightsPixelShader']=_0x5d558f(0x659);},0x6909:(_0x33b818,_0x58c793,_0x3b9774)=>{var _0x568c59=a6_0x5e3a36,_0x5e540c=_0x3b9774(0x17a92);_0x3b9774(0xff1b),_0x3b9774(0x3328),_0x5e540c['v']['ShadersStore']['linePixelShader']=_0x568c59(0x72c);},0x8559:(_0x5c9558,_0x6a347d,_0x152686)=>{var _0x10f1e3=a6_0x5e3a36,_0x1774aa=_0x152686(0x17a92);_0x152686(0x12bc6),_0x152686(0x13216),_0x152686(0x733d),_0x152686(0x6efd),_0x1774aa['v'][_0x10f1e3(0x333)][_0x10f1e3(0x883)]=_0x10f1e3(0x379);},0x13733:(_0x4ac63f,_0x254329,_0x1551d0)=>{var _0x230750=a6_0x5e3a36;_0x1551d0(0x17a92)['v']['ShadersStore']['minmaxReduxPixelShader']=_0x230750(0xb30);},0x366b:(_0x134585,_0x5bb07d,_0x31ac0f)=>{var _0x5f3875=a6_0x5e3a36;_0x31ac0f(0x17a92)['v']['ShadersStore'][_0x5f3875(0xc3d)]=_0x5f3875(0x483);},0xf422:(_0x358991,_0x4018dd,_0x3d160f)=>{var _0x1aa1d9=a6_0x5e3a36;_0x3d160f(0x17a92)['v']['ShadersStore'][_0x1aa1d9(0x384)]='uniform\x20float\x20brightness;\x0auniform\x20float\x20persistence;\x0auniform\x20float\x20timeScale;\x0avarying\x20vec2\x20vUV;\x0avec2\x20hash22(vec2\x20p)\x0a{\x0ap=p*mat2(127.1,311.7,269.5,183.3);\x0ap=-1.0+2.0*fract(sin(p)*43758.5453123);\x0areturn\x20sin(p*6.283+timeScale);\x0a}\x0afloat\x20interpolationNoise(vec2\x20p)\x0a{\x0avec2\x20pi=floor(p);\x0avec2\x20pf=p-pi;\x0avec2\x20w=pf*pf*(3.-2.*pf);\x0afloat\x20f00=dot(hash22(pi+vec2(.0,.0)),pf-vec2(.0,.0));\x0afloat\x20f01=dot(hash22(pi+vec2(.0,1.)),pf-vec2(.0,1.));\x0afloat\x20f10=dot(hash22(pi+vec2(1.0,0.)),pf-vec2(1.0,0.));\x0afloat\x20f11=dot(hash22(pi+vec2(1.0,1.)),pf-vec2(1.0,1.));\x0afloat\x20xm1=mix(f00,f10,w.x);\x0afloat\x20xm2=mix(f01,f11,w.x);\x0afloat\x20ym=mix(xm1,xm2,w.y);\x20\x0areturn\x20ym;\x0a}\x0afloat\x20perlinNoise2D(float\x20x,float\x20y)\x0a{\x0afloat\x20sum=0.0;\x0afloat\x20frequency=0.0;\x0afloat\x20amplitude=0.0;\x0afor(int\x20i=0;\x20i<OCTAVES;\x20i++)\x0a{\x0afrequency=pow(2.0,float(i));\x0aamplitude=pow(persistence,float(i));\x0asum=sum+interpolationNoise(vec2(x*frequency,y*frequency))*amplitude;\x0a}\x0areturn\x20sum;\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0afloat\x20x=abs(vUV.x);\x0afloat\x20y=abs(vUV.y);\x0afloat\x20noise=brightness+(1.0-brightness)*perlinNoise2D(x,y);\x0agl_FragColor=vec4(noise,noise,noise,1.0);\x0a}\x0a';},0xcfa6:(_0x12c6cc,_0x1cd235,_0x349388)=>{var _0x48c0a7=a6_0x5e3a36;_0x349388(0x17a92)['v'][_0x48c0a7(0x333)][_0x48c0a7(0x3f6)]=_0x48c0a7(0x482);},0x1d0b:(_0xb6d657,_0x5e9ad7,_0x21a356)=>{var _0x6c127d=a6_0x5e3a36;_0x21a356(0x17a92)['v'][_0x6c127d(0x333)][_0x6c127d(0x4cc)]='precision\x20highp\x20float;\x0auniform\x20sampler2D\x20uFrontColor;\x0auniform\x20sampler2D\x20uBackColor;\x0avoid\x20main()\x20{\x0aivec2\x20fragCoord=ivec2(gl_FragCoord.xy);\x0avec4\x20frontColor=texelFetch(uFrontColor,fragCoord,0);\x0avec4\x20backColor=texelFetch(uBackColor,fragCoord,0);\x0afloat\x20alphaMultiplier=1.0-frontColor.a;\x0aglFragColor=vec4(\x0afrontColor.rgb+alphaMultiplier*backColor.rgb,\x0afrontColor.a+backColor.a\x0a);\x0a}';},0x4ae5:(_0xe6fcab,_0x4239ff,_0xfee996)=>{var _0x6fca05=a6_0x5e3a36,_0x3e4ed8=_0xfee996(0x17a92);_0xfee996(0xff1b),_0xfee996(0x17bd9),_0xfee996(0x3328),_0xfee996(0x1445f),_0x3e4ed8['v'][_0x6fca05(0x333)][_0x6fca05(0xbb1)]=_0x6fca05(0xd85);},0x1294f:(_0x2ec987,_0x1916f9,_0x1aebe2)=>{var _0x15c0b8=a6_0x5e3a36,_0x3c4e5d=_0x1aebe2(0x17a92);_0x1aebe2(0x13f9a),_0x1aebe2(0x12929),_0x1aebe2(0x9ea3),_0x1aebe2(0x12abc),_0x1aebe2(0x13216),_0x1aebe2(0x12bc6),_0x1aebe2(0x17bd9),_0x1aebe2(0x13906),_0x1aebe2(0x1070),_0x1aebe2(0x733d),_0x1aebe2(0xb434),_0x1aebe2(0xdcea),_0x1aebe2(0x6efd),_0x1aebe2(0x13da6),_0x3c4e5d['v']['ShadersStore'][_0x15c0b8(0x53f)]='attribute\x20vec3\x20position;\x0aattribute\x20vec3\x20normal;\x0a#include<bonesDeclaration>\x0a#include<bakedVertexAnimationDeclaration>\x0a#include<morphTargetsVertexGlobalDeclaration>\x0a#include<morphTargetsVertexDeclaration>[0..maxSimultaneousMorphTargets]\x0a#include<clipPlaneVertexDeclaration>\x0auniform\x20float\x20offset;\x0a#include<instancesDeclaration>\x0auniform\x20mat4\x20viewProjection;\x0a#ifdef\x20ALPHATEST\x0avarying\x20vec2\x20vUV;\x0auniform\x20mat4\x20diffuseMatrix;\x0a#ifdef\x20UV1\x0aattribute\x20vec2\x20uv;\x0a#endif\x0a#ifdef\x20UV2\x0aattribute\x20vec2\x20uv2;\x0a#endif\x0a#endif\x0a#include<logDepthDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x0a{\x0avec3\x20positionUpdated=position;\x0avec3\x20normalUpdated=normal;\x0a#ifdef\x20UV1\x0avec2\x20uvUpdated=uv;\x0a#endif\x0a#include<morphTargetsVertexGlobal>\x0a#include<morphTargetsVertex>[0..maxSimultaneousMorphTargets]\x0avec3\x20offsetPosition=positionUpdated+(normalUpdated*offset);\x0a#include<instancesVertex>\x0a#include<bonesVertex>\x0a#include<bakedVertexAnimation>\x0avec4\x20worldPos=finalWorld*vec4(offsetPosition,1.0);\x0agl_Position=viewProjection*worldPos;\x0a#ifdef\x20ALPHATEST\x0a#ifdef\x20UV1\x0avUV=vec2(diffuseMatrix*vec4(uvUpdated,1.0,0.0));\x0a#endif\x0a#ifdef\x20UV2\x0avUV=vec2(diffuseMatrix*vec4(uv2,1.0,0.0));\x0a#endif\x0a#endif\x0a#include<clipPlaneVertex>\x0a#include<logDepthVertex>\x0a}\x0a';},0x5215:(_0x120a11,_0x83cb6c,_0x33c5d3)=>{var _0x589f86=a6_0x5e3a36,_0x34c384=_0x33c5d3(0x17a92);_0x33c5d3(0xff1b),_0x33c5d3(0x16c11),_0x33c5d3(0x17bd9),_0x33c5d3(0x175b0),_0x33c5d3(0x119a9),_0x33c5d3(0x3328),_0x33c5d3(0x1445f),_0x34c384['v'][_0x589f86(0x333)][_0x589f86(0xabf)]=_0x589f86(0x7b4);},0x1560d:(_0x22c31f,_0x1b907e,_0xc72493)=>{var _0x7fbbd7=a6_0x5e3a36,_0x16bc37=_0xc72493(0x17a92);_0xc72493(0x13216),_0xc72493(0x17bd9),_0xc72493(0x6efd),_0xc72493(0x13da6),_0x16bc37['v'][_0x7fbbd7(0x333)][_0x7fbbd7(0x299)]=_0x7fbbd7(0x1d5);},0x8262:(_0x29e948,_0x20ca83,_0x36eb50)=>{var _0x526d3a=a6_0x5e3a36;_0x36eb50['d'](_0x20ca83,{'T':()=>_0x4d0fe8}),_0x20ca83='passPixelShader';const _0x4d0fe8={'name':_0x20ca83,'shader':_0x36eb50(0x17a92)['v'][_0x526d3a(0x333)][_0x20ca83]=_0x526d3a(0xcaa)};},0x5f4b:(_0x25e681,_0x2cbba0,_0x5be099)=>{var _0x39edc5=a6_0x5e3a36;_0x5be099(0x17a92)['v'][_0x39edc5(0x333)][_0x39edc5(0xc85)]=_0x39edc5(0x5c9);},0x11f54:(_0x26159d,_0x3269be,_0x3d9b9b)=>{var _0x3087f5=a6_0x5e3a36,_0x24b7af=_0x3d9b9b(0x17a92);_0x3d9b9b(0x67c9),_0x3d9b9b(0xa8cd),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0x65f)]=_0x3087f5(0x4c1),_0x3d9b9b(0xc853),_0x3d9b9b(0x94fa),_0x24b7af['v']['IncludesShadersStore']['pbrFragmentExtraDeclaration']='varying\x20vec3\x20vPositionW;\x0a#if\x20DEBUGMODE>0\x0avarying\x20vec4\x20vClipSpacePosition;\x0a#endif\x0a#include<mainUVVaryingDeclaration>[1..7]\x0a#ifdef\x20NORMAL\x0avarying\x20vec3\x20vNormalW;\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x20&&\x20defined(USESPHERICALINVERTEX)\x0avarying\x20vec3\x20vEnvironmentIrradiance;\x0a#endif\x0a#endif\x0a#if\x20defined(VERTEXCOLOR)\x20||\x20defined(INSTANCESCOLOR)\x20&&\x20defined(INSTANCES)\x0avarying\x20vec4\x20vColor;\x0a#endif\x0a',_0x3d9b9b(0xe6c7),_0x3d9b9b(0x15fb5),_0x3d9b9b(0x126e8),_0x24b7af['v'][_0x3087f5(0x466)]['samplerFragmentAlternateDeclaration']=_0x3087f5(0x8d0),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0xb4f)]=_0x3087f5(0xa40),_0x3d9b9b(0x16c11),_0x3d9b9b(0xff1b),_0x3d9b9b(0x17bd9),_0x3d9b9b(0x12a16),_0x3d9b9b(0x175b0),_0x3d9b9b(0x6b23),_0x3d9b9b(0x1b98),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0x270)]=_0x3087f5(0xd68),_0x3d9b9b(0x119a9),_0x3d9b9b(0x1f85),_0x3d9b9b(0x14535),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0x2b1)]=_0x3087f5(0x805),_0x24b7af['v'][_0x3087f5(0x466)]['pbrDirectLightingFalloffFunctions']=_0x3087f5(0x592),_0x3d9b9b(0x10b3e),_0x3d9b9b(0x16b85),_0x24b7af['v'][_0x3087f5(0x466)]['pbrDirectLightingFunctions']=_0x3087f5(0x8af),_0x24b7af['v']['IncludesShadersStore'][_0x3087f5(0xb42)]=_0x3087f5(0x7ee),_0x3d9b9b(0x8cac),_0x3d9b9b(0xe577),_0x3d9b9b(0x11645),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0xcda)]=_0x3087f5(0xb55),_0x24b7af['v']['IncludesShadersStore'][_0x3087f5(0x8d1)]=_0x3087f5(0x7f6),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0x6fa)]=_0x3087f5(0xc84),_0x24b7af['v']['IncludesShadersStore'][_0x3087f5(0x8fa)]='#ifdef\x20ALPHAFRESNEL\x0a#if\x20defined(ALPHATEST)\x20||\x20defined(ALPHABLEND)\x0astruct\x20alphaFresnelOutParams\x0a{\x0afloat\x20alpha;\x0a};\x0a#define\x20pbr_inline\x0avoid\x20alphaFresnelBlock(\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20float\x20alpha,\x0ain\x20float\x20microSurface,\x0aout\x20alphaFresnelOutParams\x20outParams\x0a)\x0a{\x0afloat\x20opacityPerceptual=alpha;\x0a#ifdef\x20LINEARALPHAFRESNEL\x0afloat\x20opacity0=opacityPerceptual;\x0a#else\x0afloat\x20opacity0=opacityPerceptual*opacityPerceptual;\x0a#endif\x0afloat\x20opacity90=fresnelGrazingReflectance(opacity0);\x0avec3\x20normalForward=faceforward(normalW,-viewDirectionW,normalW);\x0aoutParams.alpha=getReflectanceFromAnalyticalBRDFLookup_Jones(saturate(dot(viewDirectionW,normalForward)),vec3(opacity0),vec3(opacity90),sqrt(microSurface)).x;\x0a#ifdef\x20ALPHATEST\x0aif\x20(outParams.alpha<ALPHATESTVALUE)\x0adiscard;\x0a#ifndef\x20ALPHABLEND\x0aoutParams.alpha=1.0;\x0a#endif\x0a#endif\x0a}\x0a#endif\x0a#endif\x0a',_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0x1cb)]='#ifdef\x20ANISOTROPIC\x0astruct\x20anisotropicOutParams\x0a{\x0afloat\x20anisotropy;\x0avec3\x20anisotropicTangent;\x0avec3\x20anisotropicBitangent;\x0avec3\x20anisotropicNormal;\x0a#if\x20DEBUGMODE>0\x0avec3\x20anisotropyMapData;\x0a#endif\x0a};\x0a#define\x20pbr_inline\x0avoid\x20anisotropicBlock(\x0ain\x20vec3\x20vAnisotropy,\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0ain\x20vec3\x20anisotropyMapData,\x0a#endif\x0ain\x20mat3\x20TBN,\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20viewDirectionW,\x0aout\x20anisotropicOutParams\x20outParams\x0a)\x0a{\x0afloat\x20anisotropy=vAnisotropy.b;\x0avec3\x20anisotropyDirection=vec3(vAnisotropy.xy,0.);\x0a#ifdef\x20ANISOTROPIC_TEXTURE\x0aanisotropy*=anisotropyMapData.b;\x0aanisotropyDirection.rg*=anisotropyMapData.rg*2.0-1.0;\x0a#if\x20DEBUGMODE>0\x0aoutParams.anisotropyMapData=anisotropyMapData;\x0a#endif\x0a#endif\x0amat3\x20anisoTBN=mat3(normalize(TBN[0]),normalize(TBN[1]),normalize(TBN[2]));\x0avec3\x20anisotropicTangent=normalize(anisoTBN*anisotropyDirection);\x0avec3\x20anisotropicBitangent=normalize(cross(anisoTBN[2],anisotropicTangent));\x0aoutParams.anisotropy=anisotropy;\x0aoutParams.anisotropicTangent=anisotropicTangent;\x0aoutParams.anisotropicBitangent=anisotropicBitangent;\x0aoutParams.anisotropicNormal=getAnisotropicBentNormals(anisotropicTangent,anisotropicBitangent,normalW,viewDirectionW,anisotropy);\x0a}\x0a#endif\x0a',_0x24b7af['v'][_0x3087f5(0x466)]['pbrBlockReflection']=_0x3087f5(0x702),_0x24b7af['v']['IncludesShadersStore'][_0x3087f5(0xa61)]=_0x3087f5(0xaca),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0xbdb)]=_0x3087f5(0x55d),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0x1ed)]=_0x3087f5(0x2d3),_0x24b7af['v']['IncludesShadersStore']['pbrBlockSubSurface']='struct\x20subSurfaceOutParams\x0a{\x0avec3\x20specularEnvironmentReflectance;\x0a#ifdef\x20SS_REFRACTION\x0avec3\x20finalRefraction;\x0avec3\x20surfaceAlbedo;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0afloat\x20alpha;\x0a#endif\x0a#ifdef\x20REFLECTION\x0afloat\x20refractionFactorForIrradiance;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0avec3\x20transmittance;\x0afloat\x20translucencyIntensity;\x0a#ifdef\x20REFLECTION\x0avec3\x20refractionIrradiance;\x0a#endif\x0a#endif\x0a#if\x20DEBUGMODE>0\x0avec4\x20thicknessMap;\x0avec4\x20environmentRefraction;\x0avec3\x20refractionTransmittance;\x0a#endif\x0a};\x0a#ifdef\x20SUBSURFACE\x0a#define\x20pbr_inline\x0a#define\x20inline\x0avoid\x20subSurfaceBlock(\x0ain\x20vec3\x20vSubSurfaceIntensity,\x0ain\x20vec2\x20vThicknessParam,\x0ain\x20vec4\x20vTintColor,\x0ain\x20vec3\x20normalW,\x0ain\x20vec3\x20specularEnvironmentReflectance,\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0ain\x20vec4\x20thicknessMap,\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0ain\x20vec4\x20refractionIntensityMap,\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0ain\x20vec4\x20translucencyIntensityMap,\x0a#endif\x0a#ifdef\x20REFLECTION\x0a#ifdef\x20SS_TRANSLUCENCY\x0ain\x20mat4\x20reflectionMatrix,\x0a#ifdef\x20USESPHERICALFROMREFLECTIONMAP\x0a#if\x20!defined(NORMAL)\x20||\x20!defined(USESPHERICALINVERTEX)\x0ain\x20vec3\x20irradianceVector_,\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x0ain\x20samplerCube\x20reflectionSampler,\x0ain\x20vec2\x20vReflectionFilteringInfo,\x0a#endif\x0a#endif\x0a#ifdef\x20USEIRRADIANCEMAP\x0a#ifdef\x20REFLECTIONMAP_3D\x0ain\x20samplerCube\x20irradianceSampler,\x0a#else\x0ain\x20sampler2D\x20irradianceSampler,\x0a#endif\x0a#endif\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x20||\x20defined(SS_TRANSLUCENCY)\x0ain\x20vec3\x20surfaceAlbedo,\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0ain\x20vec3\x20vPositionW,\x0ain\x20vec3\x20viewDirectionW,\x0ain\x20mat4\x20view,\x0ain\x20vec4\x20vRefractionInfos,\x0ain\x20mat4\x20refractionMatrix,\x0ain\x20vec4\x20vRefractionMicrosurfaceInfos,\x0ain\x20vec4\x20vLightingIntensity,\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0ain\x20float\x20alpha,\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0ain\x20float\x20NdotVUnclamped,\x0a#endif\x0a#ifdef\x20SS_LINEARSPECULARREFRACTION\x0ain\x20float\x20roughness,\x0a#endif\x0ain\x20float\x20alphaG,\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0ain\x20samplerCube\x20refractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0ain\x20samplerCube\x20refractionSamplerLow,\x0ain\x20samplerCube\x20refractionSamplerHigh,\x0a#endif\x0a#else\x0ain\x20sampler2D\x20refractionSampler,\x0a#ifndef\x20LODBASEDMICROSFURACE\x0ain\x20sampler2D\x20refractionSamplerLow,\x0ain\x20sampler2D\x20refractionSamplerHigh,\x0a#endif\x0a#endif\x0a#ifdef\x20ANISOTROPIC\x0ain\x20anisotropicOutParams\x20anisotropicOut,\x0a#endif\x0a#ifdef\x20REALTIME_FILTERING\x0ain\x20vec2\x20vRefractionFilteringInfo,\x0a#endif\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0ain\x20vec3\x20refractionPosition,\x0ain\x20vec3\x20refractionSize,\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0ain\x20vec3\x20vDiffusionDistance,\x0a#endif\x0aout\x20subSurfaceOutParams\x20outParams\x0a)\x0a{\x0aoutParams.specularEnvironmentReflectance=specularEnvironmentReflectance;\x0a#ifdef\x20SS_REFRACTION\x0afloat\x20refractionIntensity=vSubSurfaceIntensity.x;\x0a#ifdef\x20SS_LINKREFRACTIONTOTRANSPARENCY\x0arefractionIntensity*=(1.0-alpha);\x0aoutParams.alpha=1.0;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0afloat\x20translucencyIntensity=vSubSurfaceIntensity.y;\x0a#endif\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0a#if\x20defined(SS_USE_GLTF_TEXTURES)\x0afloat\x20thickness=thicknessMap.g*vThicknessParam.y+vThicknessParam.x;\x0a#else\x0afloat\x20thickness=thicknessMap.r*vThicknessParam.y+vThicknessParam.x;\x0a#endif\x0a#if\x20DEBUGMODE>0\x0aoutParams.thicknessMap=thicknessMap;\x0a#endif\x0a#ifdef\x20SS_MASK_FROM_THICKNESS_TEXTURE\x0a#if\x20defined(SS_REFRACTION)\x20&&\x20defined(SS_REFRACTION_USE_INTENSITY_FROM_TEXTURE)\x0a#if\x20defined(SS_USE_GLTF_TEXTURES)\x0arefractionIntensity*=thicknessMap.r;\x0a#else\x0arefractionIntensity*=thicknessMap.g;\x0a#endif\x0a#endif\x0a#if\x20defined(SS_TRANSLUCENCY)\x20&&\x20defined(SS_TRANSLUCENCY_USE_INTENSITY_FROM_TEXTURE)\x0atranslucencyIntensity*=thicknessMap.b;\x0a#endif\x0a#endif\x0a#else\x0afloat\x20thickness=vThicknessParam.y;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONINTENSITY_TEXTURE\x0a#ifdef\x20SS_USE_GLTF_TEXTURES\x0arefractionIntensity*=refractionIntensityMap.r;\x0a#else\x0arefractionIntensity*=refractionIntensityMap.g;\x0a#endif\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCYINTENSITY_TEXTURE\x0atranslucencyIntensity*=translucencyIntensityMap.b;\x0a#endif\x0a#ifdef\x20SS_TRANSLUCENCY\x0athickness=maxEps(thickness);\x0avec3\x20transmittance=transmittanceBRDF_Burley(vTintColor.rgb,vDiffusionDistance,thickness);\x0atransmittance*=translucencyIntensity;\x0aoutParams.transmittance=transmittance;\x0aoutParams.translucencyIntensity=translucencyIntensity;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avec4\x20environmentRefraction=vec4(0.,0.,0.,0.);\x0a#ifdef\x20ANISOTROPIC\x0avec3\x20refractionVector=refract(-viewDirectionW,anisotropicOut.anisotropicNormal,vRefractionInfos.y);\x0a#else\x0avec3\x20refractionVector=refract(-viewDirectionW,normalW,vRefractionInfos.y);\x0a#endif\x0a#ifdef\x20SS_REFRACTIONMAP_OPPOSITEZ\x0arefractionVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20SS_REFRACTIONMAP_3D\x0a#ifdef\x20SS_USE_LOCAL_REFRACTIONMAP_CUBIC\x0arefractionVector=parallaxCorrectNormal(vPositionW,refractionVector,refractionSize,refractionPosition);\x0a#endif\x0arefractionVector.y=refractionVector.y*vRefractionInfos.w;\x0avec3\x20refractionCoords=refractionVector;\x0arefractionCoords=vec3(refractionMatrix*vec4(refractionCoords,0));\x0a#else\x0a#ifdef\x20SS_USE_THICKNESS_AS_DEPTH\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*thickness,1.0)));\x0a#else\x0avec3\x20vRefractionUVW=vec3(refractionMatrix*(view*vec4(vPositionW+refractionVector*vRefractionInfos.z,1.0)));\x0a#endif\x0avec2\x20refractionCoords=vRefractionUVW.xy/vRefractionUVW.z;\x0arefractionCoords.y=1.0-refractionCoords.y;\x0a#endif\x0a#ifdef\x20SS_HAS_THICKNESS\x0afloat\x20ior=vRefractionInfos.y;\x0a#else\x0afloat\x20ior=vRefractionMicrosurfaceInfos.w;\x0a#endif\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0afloat\x20refractionAlphaG=alphaG;\x0arefractionAlphaG=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLodFromAlphaG(vRefractionMicrosurfaceInfos.x,refractionAlphaG,NdotVUnclamped);\x0a#elif\x20defined(SS_LINEARSPECULARREFRACTION)\x0afloat\x20refractionRoughness=alphaG;\x0arefractionRoughness=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLinearLodFromRoughness(vRefractionMicrosurfaceInfos.x,refractionRoughness);\x0a#else\x0afloat\x20refractionAlphaG=alphaG;\x0arefractionAlphaG=mix(alphaG,0.0,clamp(ior*3.0-2.0,0.0,1.0));\x0afloat\x20refractionLOD=getLodFromAlphaG(vRefractionMicrosurfaceInfos.x,refractionAlphaG);\x0a#endif\x0a#ifdef\x20LODBASEDMICROSFURACE\x0arefractionLOD=refractionLOD*vRefractionMicrosurfaceInfos.y+vRefractionMicrosurfaceInfos.z;\x0a#ifdef\x20SS_LODINREFRACTIONALPHA\x0afloat\x20automaticRefractionLOD=UNPACK_LOD(sampleRefraction(refractionSampler,refractionCoords).a);\x0afloat\x20requestedRefractionLOD=max(automaticRefractionLOD,refractionLOD);\x0a#else\x0afloat\x20requestedRefractionLOD=refractionLOD;\x0a#endif\x0a#if\x20defined(REALTIME_FILTERING)\x20&&\x20defined(SS_REFRACTIONMAP_3D)\x0aenvironmentRefraction=vec4(radiance(alphaG,refractionSampler,refractionCoords,vRefractionFilteringInfo),1.0);\x0a#else\x0aenvironmentRefraction=sampleRefractionLod(refractionSampler,refractionCoords,requestedRefractionLOD);\x0a#endif\x0a#else\x0afloat\x20lodRefractionNormalized=saturate(refractionLOD/log2(vRefractionMicrosurfaceInfos.x));\x0afloat\x20lodRefractionNormalizedDoubled=lodRefractionNormalized*2.0;\x0avec4\x20environmentRefractionMid=sampleRefraction(refractionSampler,refractionCoords);\x0aif\x20(lodRefractionNormalizedDoubled<1.0){\x0aenvironmentRefraction=mix(\x0asampleRefraction(refractionSamplerHigh,refractionCoords),\x0aenvironmentRefractionMid,\x0alodRefractionNormalizedDoubled\x0a);\x0a}\x20else\x20{\x0aenvironmentRefraction=mix(\x0aenvironmentRefractionMid,\x0asampleRefraction(refractionSamplerLow,refractionCoords),\x0alodRefractionNormalizedDoubled-1.0\x0a);\x0a}\x0a#endif\x0a#ifdef\x20SS_RGBDREFRACTION\x0aenvironmentRefraction.rgb=fromRGBD(environmentRefraction);\x0a#endif\x0a#ifdef\x20SS_GAMMAREFRACTION\x0aenvironmentRefraction.rgb=toLinearSpace(environmentRefraction.rgb);\x0a#endif\x0aenvironmentRefraction.rgb*=vRefractionInfos.x;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0avec3\x20refractionTransmittance=vec3(refractionIntensity);\x0a#ifdef\x20SS_THICKNESSANDMASK_TEXTURE\x0avec3\x20volumeAlbedo=computeColorAtDistanceInMedia(vTintColor.rgb,vTintColor.w);\x0arefractionTransmittance*=cocaLambert(volumeAlbedo,thickness);\x0a#elif\x20defined(SS_LINKREFRACTIONTOTRANSPARENCY)\x0afloat\x20maxChannel=max(max(surfaceAlbedo.r,surfaceAlbedo.g),surfaceAlbedo.b);\x0avec3\x20volumeAlbedo=saturate(maxChannel*surfaceAlbedo);\x0aenvironmentRefraction.rgb*=volumeAlbedo;\x0a#else\x0avec3\x20volumeAlbedo=computeColorAtDistanceInMedia(vTintColor.rgb,vTintColor.w);\x0arefractionTransmittance*=cocaLambert(volumeAlbedo,vThicknessParam.y);\x0a#endif\x0a#ifdef\x20SS_ALBEDOFORREFRACTIONTINT\x0aenvironmentRefraction.rgb*=surfaceAlbedo.rgb;\x0a#endif\x0aoutParams.surfaceAlbedo=surfaceAlbedo*(1.-refractionIntensity);\x0a#ifdef\x20REFLECTION\x0aoutParams.refractionFactorForIrradiance=(1.-refractionIntensity);\x0a#endif\x0a#ifdef\x20UNUSED_MULTIPLEBOUNCES\x0avec3\x20bounceSpecularEnvironmentReflectance=(2.0*specularEnvironmentReflectance)/(1.0+specularEnvironmentReflectance);\x0aoutParams.specularEnvironmentReflectance=mix(bounceSpecularEnvironmentReflectance,specularEnvironmentReflectance,refractionIntensity);\x0a#endif\x0arefractionTransmittance*=1.0-outParams.specularEnvironmentReflectance;\x0a#if\x20DEBUGMODE>0\x0aoutParams.refractionTransmittance=refractionTransmittance;\x0a#endif\x0aoutParams.finalRefraction=environmentRefraction.rgb*refractionTransmittance*vLightingIntensity.z;\x0a#if\x20DEBUGMODE>0\x0aoutParams.environmentRefraction=environmentRefraction;\x0a#endif\x0a#endif\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(SS_TRANSLUCENCY)\x0a#if\x20defined(NORMAL)\x20&&\x20defined(USESPHERICALINVERTEX)\x20||\x20!defined(USESPHERICALFROMREFLECTIONMAP)\x0avec3\x20irradianceVector=vec3(reflectionMatrix*vec4(normalW,0)).xyz;\x0a#ifdef\x20REFLECTIONMAP_OPPOSITEZ\x0airradianceVector.z*=-1.0;\x0a#endif\x0a#ifdef\x20INVERTCUBICMAP\x0airradianceVector.y*=-1.0;\x0a#endif\x0a#else\x0avec3\x20irradianceVector=irradianceVector_;\x0a#endif\x0a#if\x20defined(USESPHERICALFROMREFLECTIONMAP)\x0a#if\x20defined(REALTIME_FILTERING)\x0avec3\x20refractionIrradiance=irradiance(reflectionSampler,-irradianceVector,vReflectionFilteringInfo);\x0a#else\x0avec3\x20refractionIrradiance=computeEnvironmentIrradiance(-irradianceVector);\x0a#endif\x0a#elif\x20defined(USEIRRADIANCEMAP)\x0a#ifdef\x20REFLECTIONMAP_3D\x0avec3\x20irradianceCoords=irradianceVector;\x0a#else\x0avec2\x20irradianceCoords=irradianceVector.xy;\x0a#ifdef\x20REFLECTIONMAP_PROJECTION\x0airradianceCoords/=irradianceVector.z;\x0a#endif\x0airradianceCoords.y=1.0-irradianceCoords.y;\x0a#endif\x0avec4\x20refractionIrradiance=sampleReflection(irradianceSampler,-irradianceCoords);\x0a#ifdef\x20RGBDREFLECTION\x0arefractionIrradiance.rgb=fromRGBD(refractionIrradiance);\x0a#endif\x0a#ifdef\x20GAMMAREFLECTION\x0arefractionIrradiance.rgb=toLinearSpace(refractionIrradiance.rgb);\x0a#endif\x0a#else\x0avec4\x20refractionIrradiance=vec4(0.);\x0a#endif\x0arefractionIrradiance.rgb*=transmittance;\x0a#ifdef\x20SS_ALBEDOFORTRANSLUCENCYTINT\x0arefractionIrradiance.rgb*=surfaceAlbedo.rgb;\x0a#endif\x0aoutParams.refractionIrradiance=refractionIrradiance.rgb;\x0a#endif\x0a}\x0a#endif\x0a',_0x3d9b9b(0x3328),_0x24b7af['v']['IncludesShadersStore'][_0x3087f5(0x95a)]=_0x3087f5(0x7b6),_0x3d9b9b(0x6664),_0x24b7af['v'][_0x3087f5(0x466)]['pbrBlockNormalFinal']=_0x3087f5(0x584),_0x3d9b9b(0x6318),_0x24b7af['v']['IncludesShadersStore'][_0x3087f5(0x36b)]=_0x3087f5(0xb9d),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0x242)]=_0x3087f5(0x85f),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0xa90)]=_0x3087f5(0x89c),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0x88e)]=_0x3087f5(0x5e5),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0x858)]=_0x3087f5(0x647),_0x3d9b9b(0xb0bc),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0xc38)]='#if\x20defined(ENVIRONMENTBRDF)\x0a#ifdef\x20MS_BRDF_ENERGY_CONSERVATION\x0avec3\x20energyConservationFactor=getEnergyConservationFactor(clearcoatOut.specularEnvironmentR0,environmentBrdf);\x0a#endif\x0a#endif\x0a#ifndef\x20METALLICWORKFLOW\x0a#ifdef\x20SPECULAR_GLOSSINESS_ENERGY_CONSERVATION\x0asurfaceAlbedo.rgb=(1.-reflectance)*surfaceAlbedo.rgb;\x0a#endif\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asurfaceAlbedo.rgb=sheenOut.sheenAlbedoScaling*surfaceAlbedo.rgb;\x0a#endif\x0a#ifdef\x20REFLECTION\x0avec3\x20finalIrradiance=reflectionOut.environmentIrradiance;\x0a#if\x20defined(CLEARCOAT)\x0afinalIrradiance*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0afinalIrradiance*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#if\x20defined(SS_REFRACTION)\x0afinalIrradiance*=subSurfaceOut.refractionFactorForIrradiance;\x0a#endif\x0a#if\x20defined(SS_TRANSLUCENCY)\x0afinalIrradiance*=(1.0-subSurfaceOut.translucencyIntensity);\x0afinalIrradiance+=subSurfaceOut.refractionIrradiance;\x0a#endif\x0afinalIrradiance*=surfaceAlbedo.rgb;\x0afinalIrradiance*=vLightingIntensity.z;\x0afinalIrradiance*=aoOut.ambientOcclusionColor;\x0a#endif\x0a#ifdef\x20SPECULARTERM\x0avec3\x20finalSpecular=specularBase;\x0afinalSpecular=max(finalSpecular,0.0);\x0avec3\x20finalSpecularScaled=finalSpecular*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalSpecularScaled*=energyConservationFactor;\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afinalSpecularScaled*=sheenOut.sheenAlbedoScaling;\x0a#endif\x0a#endif\x0a#ifdef\x20REFLECTION\x0avec3\x20finalRadiance=reflectionOut.environmentRadiance.rgb;\x0afinalRadiance*=subSurfaceOut.specularEnvironmentReflectance;\x0avec3\x20finalRadianceScaled=finalRadiance*vLightingIntensity.z;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalRadianceScaled*=energyConservationFactor;\x0a#endif\x0a#if\x20defined(SHEEN)\x20&&\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(SHEEN_ALBEDOSCALING)\x0afinalRadianceScaled*=sheenOut.sheenAlbedoScaling;\x0a#endif\x0a#endif\x0a#ifdef\x20SHEEN\x0avec3\x20finalSheen=sheenBase*sheenOut.sheenColor;\x0afinalSheen=max(finalSheen,0.0);\x0avec3\x20finalSheenScaled=finalSheen*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(REFLECTION)\x20&&\x20defined(ENVIRONMENTBRDF)\x0asheenOut.finalSheenRadianceScaled*=clearcoatOut.conservationFactor;\x0a#if\x20defined(CLEARCOAT_TINT)\x0asheenOut.finalSheenRadianceScaled*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20CLEARCOAT\x0avec3\x20finalClearCoat=clearCoatBase;\x0afinalClearCoat=max(finalClearCoat,0.0);\x0avec3\x20finalClearCoatScaled=finalClearCoat*vLightingIntensity.x*vLightingIntensity.w;\x0a#if\x20defined(ENVIRONMENTBRDF)\x20&&\x20defined(MS_BRDF_ENERGY_CONSERVATION)\x0afinalClearCoatScaled*=clearcoatOut.energyConservationFactorClearCoat;\x0a#endif\x0a#ifdef\x20SS_REFRACTION\x0asubSurfaceOut.finalRefraction*=clearcoatOut.conservationFactor;\x0a#ifdef\x20CLEARCOAT_TINT\x0asubSurfaceOut.finalRefraction*=clearcoatOut.absorption;\x0a#endif\x0a#endif\x0a#endif\x0a#ifdef\x20ALPHABLEND\x0afloat\x20luminanceOverAlpha=0.0;\x0a#if\x20defined(REFLECTION)\x20&&\x20defined(RADIANCEOVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalRadianceScaled);\x0a#if\x20defined(CLEARCOAT)\x0aluminanceOverAlpha+=getLuminance(clearcoatOut.finalClearCoatRadianceScaled);\x0a#endif\x0a#endif\x0a#if\x20defined(SPECULARTERM)\x20&&\x20defined(SPECULAROVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalSpecularScaled);\x0a#endif\x0a#if\x20defined(CLEARCOAT)\x20&&\x20defined(CLEARCOATOVERALPHA)\x0aluminanceOverAlpha+=getLuminance(finalClearCoatScaled);\x0a#endif\x0a#if\x20defined(RADIANCEOVERALPHA)\x20||\x20defined(SPECULAROVERALPHA)\x20||\x20defined(CLEARCOATOVERALPHA)\x0aalpha=saturate(alpha+luminanceOverAlpha*luminanceOverAlpha);\x0a#endif\x0a#endif\x0a',_0x24b7af['v'][_0x3087f5(0x466)]['pbrBlockFinalUnlitComponents']=_0x3087f5(0xa92),_0x24b7af['v'][_0x3087f5(0x466)]['pbrBlockFinalColorComposition']=_0x3087f5(0x82a),_0x3d9b9b(0x1445f),_0x3d9b9b(0x10ef),_0x24b7af['v'][_0x3087f5(0x466)]['pbrBlockImageProcessing']=_0x3087f5(0x21a),_0x3d9b9b(0xa965),_0x24b7af['v'][_0x3087f5(0x466)][_0x3087f5(0x8f8)]=_0x3087f5(0x232),_0x24b7af['v']['ShadersStore'][_0x3087f5(0xaf8)]=_0x3087f5(0x461);},0x93ab:(_0x21d364,_0x1b3dad,_0x360003)=>{var _0x1d8a44=a6_0x5e3a36,_0x20148f=_0x360003(0x17a92);_0x20148f['v']['IncludesShadersStore']['pbrVertexDeclaration']=_0x1d8a44(0x44f),_0x360003(0xc853),_0x360003(0x17bd8),_0x360003(0x94fa),_0x360003(0x175b0),_0x360003(0x13f9a),_0x360003(0x12929),_0x360003(0x12bc6),_0x360003(0x18442),_0x360003(0x15b7a),_0x360003(0x14535),_0x360003(0x8785),_0x360003(0x13216),_0x360003(0x6a99),_0x360003(0x1b3f),_0x360003(0xc971),_0x360003(0x9ea3),_0x360003(0x12abc),_0x360003(0x17bd9),_0x360003(0x13906),_0x360003(0x1070),_0x360003(0x733d),_0x360003(0xb434),_0x360003(0xdcea),_0x360003(0x1abd),_0x360003(0xd68d),_0x360003(0x2f27),_0x360003(0xced6),_0x360003(0x6efd),_0x360003(0x9871),_0x360003(0x6e75),_0x360003(0xedb9),_0x360003(0x13da6),_0x20148f['v'][_0x1d8a44(0x333)][_0x1d8a44(0x3ad)]=_0x1d8a44(0x93c);},0x4617:(_0x516cc7,_0x49226d,_0x4e5073)=>{var _0x5d5af9=a6_0x5e3a36;_0x4e5073(0x17a92)['v'][_0x5d5af9(0x333)][_0x5d5af9(0x2df)]=_0x5d5af9(0x21e);},0x18235:(_0x1cae4c,_0x160b62,_0x1591a8)=>{var _0x5eb810=a6_0x5e3a36;_0x1591a8(0x17a92)['v'][_0x5eb810(0x333)][_0x5eb810(0x5ca)]='attribute\x20vec2\x20position;\x0avarying\x20vec2\x20vPosition;\x0avarying\x20vec2\x20vUV;\x0aconst\x20vec2\x20madd=vec2(0.5,0.5);\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avPosition=position;\x0avUV=position*madd+madd;\x0agl_Position=vec4(position,0.0,1.0);\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';},0x52aa:(_0x39e3ed,_0x85d321,_0x18b96e)=>{var _0x5aabb6=a6_0x5e3a36;_0x18b96e(0x17a92)['v'][_0x5aabb6(0x333)][_0x5aabb6(0x669)]=_0x5aabb6(0x251);},0x11c21:(_0x6094e5,_0x41f12a,_0x57f04f)=>{var _0x1df998=a6_0x5e3a36,_0xdb1b0a=_0x57f04f(0x17a92);_0x57f04f(0x175b0),_0xdb1b0a['v'][_0x1df998(0x333)][_0x1df998(0x282)]=_0x1df998(0x561);},0x10c45:(_0x1fec5e,_0x5c8a9d,_0x50408b)=>{var _0x27dfd3=a6_0x5e3a36,_0x2111f9=_0x50408b(0x17a92);_0x50408b(0x175b0),_0x2111f9['v'][_0x27dfd3(0x333)][_0x27dfd3(0x19e)]=_0x27dfd3(0x57b);},0x16b3d:(_0x449821,_0x3f5659,_0x2e0f41)=>{var _0x102ea6=a6_0x5e3a36;_0x2e0f41(0x17a92)['v']['ShadersStore'][_0x102ea6(0xa20)]=_0x102ea6(0xb50);},0x869c:(_0x4ed37b,_0x561677,_0x3c59bd)=>{var _0x30ef63=a6_0x5e3a36;_0x3c59bd(0x17a92)['v'][_0x30ef63(0x333)][_0x30ef63(0x491)]='uniform\x20sampler2D\x20textureSampler;\x0a#ifdef\x20SSR_SUPPORTED\x0auniform\x20sampler2D\x20reflectivitySampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20sampler2D\x20positionSampler;\x0a#endif\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0auniform\x20float\x20stepSize;\x0auniform\x20float\x20strength;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20roughnessFactor;\x0auniform\x20float\x20reflectionSpecularFalloffExponent;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSR_SUPPORTED\x0astruct\x20ReflectionInfo\x20{\x0avec3\x20color;\x0avec4\x20coords;\x0a};\x0a/**\x0a*\x20According\x20to\x20specular,see\x20https:\x0a*/\x0avec3\x20fresnelSchlick(float\x20cosTheta,vec3\x20F0)\x0a{\x0areturn\x20F0+(1.0-F0)*pow(1.0-cosTheta,5.0);\x0a}\x0a/**\x0a*\x20Once\x20the\x20pixel\x27s\x20coordinates\x20has\x20been\x20found,let\x27s\x20adjust\x20(smooth)\x20a\x20little\x20bit\x0a*\x20by\x20sampling\x20multiple\x20reflection\x20pixels.\x0a*/\x0aReflectionInfo\x20smoothReflectionInfo(vec3\x20dir,vec3\x20hitCoord)\x0a{\x0aReflectionInfo\x20info;\x0ainfo.color=vec3(0.0);\x0avec4\x20projectedCoord;\x0afloat\x20sampledDepth;\x0afor(int\x20i=0;\x20i<SMOOTH_STEPS;\x20i++)\x0a{\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0asampledDepth=(view*texture2D(positionSampler,projectedCoord.xy)).z;\x0afloat\x20depth=sampledDepth-hitCoord.z;\x0adir*=0.5;\x0aif(depth>0.0)\x0ahitCoord-=dir;\x0aelse\x0ahitCoord+=dir;\x0ainfo.color+=texture2D(textureSampler,projectedCoord.xy).rgb;\x0a}\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,1.0);\x0ainfo.color+=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.color/=float(SMOOTH_STEPS+1);\x0areturn\x20info;\x0a}\x0a/**\x0a*\x20Tests\x20the\x20given\x20world\x20position\x20(hitCoord)\x20according\x20to\x20the\x20given\x20reflection\x20vector\x20(dir)\x0a*\x20until\x20it\x20finds\x20a\x20collision\x20(means\x20that\x20depth\x20is\x20enough\x20close\x20to\x20say\x20\x22it\x27s\x20the\x20pixel\x20to\x20sample!\x22).\x0a*/\x0aReflectionInfo\x20getReflectionInfo(vec3\x20dir,vec3\x20hitCoord)\x0a{\x0aReflectionInfo\x20info;\x0avec4\x20projectedCoord;\x0afloat\x20sampledDepth;\x0adir*=stepSize;\x0afor(int\x20i=0;\x20i<REFLECTION_SAMPLES;\x20i++)\x0a{\x0ahitCoord+=dir;\x0aprojectedCoord=projection*vec4(hitCoord,1.0);\x0aprojectedCoord.xy/=projectedCoord.w;\x0aprojectedCoord.xy=0.5*projectedCoord.xy+vec2(0.5);\x0asampledDepth=(view*texture2D(positionSampler,projectedCoord.xy)).z;\x0afloat\x20depth=sampledDepth-hitCoord.z;\x0a#ifdef\x20RIGHT_HANDED_SCENE\x0adepth*=-1.0;\x0a#endif\x0aif(((depth-dir.z)<threshold)\x20&&\x20depth<=0.0)\x0a{\x0a#ifdef\x20ENABLE_SMOOTH_REFLECTIONS\x0areturn\x20smoothReflectionInfo(dir,hitCoord);\x0a#else\x0ainfo.color=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,0.0);\x0areturn\x20info;\x0a#endif\x0a}\x0a}\x0ainfo.color=texture2D(textureSampler,projectedCoord.xy).rgb;\x0ainfo.coords=vec4(projectedCoord.xy,sampledDepth,0.0);\x0areturn\x20info;\x0a}\x0avec3\x20hash(vec3\x20a)\x0a{\x0aa=fract(a*0.8);\x0aa+=dot(a,a.yxz+19.19);\x0areturn\x20fract((a.xxy+a.yxx)*a.zyx);\x0a}\x0a#endif\x0avoid\x20main()\x0a{\x0a#ifdef\x20SSR_SUPPORTED\x0avec4\x20albedoFull=texture2D(textureSampler,vUV);\x0avec3\x20albedo=albedoFull.rgb;\x0afloat\x20spec=texture2D(reflectivitySampler,vUV).r;\x0aif\x20(spec==0.0)\x20{\x0agl_FragColor=albedoFull;\x0areturn;\x0a}\x0avec3\x20normal=(texture2D(normalSampler,vUV)).xyz;\x0avec3\x20position=(view*texture2D(positionSampler,vUV)).xyz;\x0avec3\x20reflected=normalize(reflect(normalize(position),normalize(normal)));\x0afloat\x20roughness=1.0-texture2D(reflectivitySampler,vUV).a;\x0avec3\x20jitt=mix(vec3(0.0),hash(position),roughness)*roughnessFactor;\x0aReflectionInfo\x20info=getReflectionInfo(jitt+reflected,position);\x0avec2\x20dCoords=smoothstep(0.2,0.6,abs(vec2(0.5,0.5)-info.coords.xy));\x0afloat\x20screenEdgefactor=clamp(1.0-(dCoords.x+dCoords.y),0.0,1.0);\x0avec3\x20F0=vec3(0.04);\x0aF0\x20=mix(F0,albedo,spec);\x0avec3\x20fresnel=fresnelSchlick(max(dot(normalize(normal),normalize(position)),0.0),F0);\x0a#ifdef\x20RIGHT_HANDED_SCENE\x0areflected.z*=-1.0;\x0a#endif\x0afloat\x20reflectionMultiplier=clamp(pow(spec*strength,reflectionSpecularFalloffExponent)*screenEdgefactor*reflected.z,0.0,0.9);\x0afloat\x20albedoMultiplier=1.0-reflectionMultiplier;\x0avec3\x20SSR=info.color*fresnel;\x0agl_FragColor=vec4((albedo*albedoMultiplier)+(SSR*reflectionMultiplier),albedoFull.a);\x0a#else\x0agl_FragColor=texture2D(textureSampler,vUV);\x0a#endif\x0a}\x0a';},0x134a9:(_0x10e9f9,_0x591e96,_0x14ad92)=>{var _0x234de6=a6_0x5e3a36,_0x547ca3=_0x14ad92(0x17a92);_0x14ad92(0xe85e),_0x547ca3['v'][_0x234de6(0x466)][_0x234de6(0x8be)]=_0x234de6(0x252),_0x547ca3['v'][_0x234de6(0x466)][_0x234de6(0x619)]=_0x234de6(0xa27),_0x14ad92(0xff1b),_0x14ad92(0x3328),_0x547ca3['v'][_0x234de6(0x466)][_0x234de6(0x1ad)]='float\x20depthSM=vDepthMetricSM;\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0a#if\x20SM_USEDISTANCE==1\x0adepthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0adepthSM=(-zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#else\x0adepthSM=(zSM+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#endif\x0a#ifdef\x20USE_REVERSE_DEPTHBUFFER\x0agl_FragDepth=clamp(1.0-depthSM,0.0,1.0);\x0a#else\x0agl_FragDepth=clamp(depthSM,0.0,1.0);\x20\x0a#endif\x0a#elif\x20SM_USEDISTANCE==1\x0adepthSM=(length(vPositionWSM-lightDataSM)+depthValuesSM.x)/depthValuesSM.y+biasAndScaleSM.x;\x0a#endif\x0a#if\x20SM_ESM==1\x0adepthSM=clamp(exp(-min(87.,biasAndScaleSM.z*depthSM)),0.,1.);\x0a#endif\x0a#if\x20SM_FLOAT==1\x0agl_FragColor=vec4(depthSM,1.0,1.0,1.0);\x0a#else\x0agl_FragColor=pack(depthSM);\x0a#endif\x0areturn;',_0x547ca3['v'][_0x234de6(0x333)][_0x234de6(0x7a7)]=_0x234de6(0x567);},0x13168:(_0x88c209,_0x42e8be,_0xa1d736)=>{var _0x448813=a6_0x5e3a36,_0x8175cd=_0xa1d736(0x17a92);_0xa1d736(0x13f9a),_0xa1d736(0x12929),_0xa1d736(0x9ea3),_0xa1d736(0x12abc),_0xa1d736(0x175b0),_0x8175cd['v'][_0x448813(0x466)][_0x448813(0xd67)]=_0x448813(0x9d5),_0x8175cd['v'][_0x448813(0x466)][_0x448813(0x1d6)]=_0x448813(0xba3),_0x8175cd['v'][_0x448813(0x466)][_0x448813(0x1b9)]='#include<sceneVertexDeclaration>\x0a#include<meshVertexDeclaration>\x0a',_0xa1d736(0x6cce),_0xa1d736(0x11fa6),_0x8175cd['v'][_0x448813(0x466)][_0x448813(0x9ee)]=_0x448813(0xd1f),_0x8175cd['v'][_0x448813(0x466)][_0x448813(0x23a)]='#if\x20SM_NORMALBIAS==1\x0auniform\x20vec3\x20lightDataSM;\x0a#endif\x0auniform\x20vec3\x20biasAndScaleSM;\x0auniform\x20vec2\x20depthValuesSM;\x0avarying\x20float\x20vDepthMetricSM;\x0a#if\x20SM_USEDISTANCE==1\x0avarying\x20vec3\x20vPositionWSM;\x0a#endif\x0a#if\x20defined(SM_DEPTHCLAMP)\x20&&\x20SM_DEPTHCLAMP==1\x0avarying\x20float\x20zSM;\x0a#endif\x0a',_0xa1d736(0x13216),_0xa1d736(0x13906),_0xa1d736(0x1070),_0xa1d736(0x733d),_0xa1d736(0xb434),_0xa1d736(0xdcea),_0x8175cd['v']['IncludesShadersStore'][_0x448813(0x375)]=_0x448813(0x26c),_0x8175cd['v'][_0x448813(0x466)][_0x448813(0x984)]=_0x448813(0x993),_0xa1d736(0x6efd),_0x8175cd['v'][_0x448813(0x333)][_0x448813(0x44c)]=_0x448813(0x72e);},0x48c1:(_0x581a19,_0x55db0e,_0x3e6368)=>{var _0x12ae33=a6_0x5e3a36;_0x3e6368(0x17a92)['v'][_0x12ae33(0x333)]['sharpenPixelShader']=_0x12ae33(0x5b9);},0x7a4e:(_0x54aeb1,_0x507e4f,_0x21b431)=>{var _0x442d7c=a6_0x5e3a36;_0x21b431(0x17a92)['v'][_0x442d7c(0x333)][_0x442d7c(0x1d9)]=_0x442d7c(0xb8f);},0xa16d:(_0x2e3ecb,_0x43ad97,_0x1e99e3)=>{var _0x16502a=a6_0x5e3a36;_0x1e99e3(0x17a92)['v'][_0x16502a(0x333)][_0x16502a(0x44d)]=_0x16502a(0x2ae);},0xea77:(_0xbc9066,_0x134573,_0x2af702)=>{var _0xd4b89=a6_0x5e3a36;_0x2af702(0x17a92)['v'][_0xd4b89(0x333)]['ssaoPixelShader']='uniform\x20sampler2D\x20textureSampler;\x0avarying\x20vec2\x20vUV;\x0a#ifdef\x20SSAO\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20float\x20randTextureTiles;\x0auniform\x20float\x20samplesFactor;\x0auniform\x20vec3\x20sampleSphere[SAMPLES];\x0auniform\x20float\x20totalStrength;\x0auniform\x20float\x20radius;\x0auniform\x20float\x20area;\x0auniform\x20float\x20fallOff;\x0auniform\x20float\x20base;\x0avec3\x20normalFromDepth(float\x20depth,vec2\x20coords)\x0a{\x0avec2\x20offset1=vec2(0.0,radius);\x0avec2\x20offset2=vec2(radius,0.0);\x0afloat\x20depth1=texture2D(textureSampler,coords+offset1).r;\x0afloat\x20depth2=texture2D(textureSampler,coords+offset2).r;\x0avec3\x20p1=vec3(offset1,depth1-depth);\x0avec3\x20p2=vec3(offset2,depth2-depth);\x0avec3\x20normal=cross(p1,p2);\x0anormal.z=-normal.z;\x0areturn\x20normalize(normal);\x0a}\x0avoid\x20main()\x0a{\x0avec3\x20random=normalize(texture2D(randomSampler,vUV*randTextureTiles).rgb);\x0afloat\x20depth=texture2D(textureSampler,vUV).r;\x0avec3\x20position=vec3(vUV,depth);\x0avec3\x20normal=normalFromDepth(depth,vUV);\x0afloat\x20radiusDepth=radius/depth;\x0afloat\x20occlusion=0.0;\x0avec3\x20ray;\x0avec3\x20hemiRay;\x0afloat\x20occlusionDepth;\x0afloat\x20difference;\x0afor\x20(int\x20i=0;\x20i<SAMPLES;\x20i++)\x0a{\x0aray=radiusDepth*reflect(sampleSphere[i],random);\x0ahemiRay=position+sign(dot(ray,normal))*ray;\x0aocclusionDepth=texture2D(textureSampler,clamp(hemiRay.xy,vec2(0.001,0.001),vec2(0.999,0.999))).r;\x0adifference=depth-occlusionDepth;\x0aocclusion+=step(fallOff,difference)*(1.0-smoothstep(fallOff,area,difference));\x0a}\x0afloat\x20ao=1.0-totalStrength*occlusion*samplesFactor;\x0afloat\x20result=clamp(ao+base,0.0,1.0);\x0agl_FragColor.r=result;\x0agl_FragColor.g=result;\x0agl_FragColor.b=result;\x0agl_FragColor.a=1.0;\x0a}\x0a#endif\x0a';},0xbb2a:(_0x9eb33f,_0x39c7e9,_0x2ed056)=>{var _0x493fef=a6_0x5e3a36;_0x2ed056(0x17a92)['v'][_0x493fef(0x333)]['ssao2PixelShader']='precision\x20highp\x20float;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20near;\x0auniform\x20float\x20far;\x0auniform\x20float\x20radius;\x0afloat\x20scales[16]=float[16](\x0a0.1,\x0a0.11406250000000001,\x0a0.131640625,\x0a0.15625,\x0a0.187890625,\x0a0.2265625,\x0a0.272265625,\x0a0.325,\x0a0.384765625,\x0a0.4515625,\x0a0.525390625,\x0a0.60625,\x0a0.694140625,\x0a0.7890625,\x0a0.891015625,\x0a1.0\x0a);\x0avarying\x20vec2\x20vUV;\x0afloat\x20perspectiveDepthToViewZ(in\x20float\x20invClipZ,in\x20float\x20near,in\x20float\x20far\x20)\x20{\x0areturn\x20(\x20near*far\x20)/(\x20(\x20far-near\x20)*invClipZ-far\x20);\x0a}\x0afloat\x20viewZToPerspectiveDepth(\x20in\x20float\x20viewZ,in\x20float\x20near,in\x20float\x20far\x20)\x20{\x0areturn\x20(\x20near*far/viewZ+far)/(\x20far-near\x20);\x0a}\x0afloat\x20viewZToOrthographicDepth(\x20in\x20float\x20viewZ,in\x20float\x20near,in\x20float\x20far\x20)\x20{\x0areturn\x20(\x20viewZ+near\x20)/(\x20near-far\x20);\x0a}\x0a#ifdef\x20SSAO\x0auniform\x20sampler2D\x20randomSampler;\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20sampler2D\x20normalSampler;\x0auniform\x20float\x20randTextureTiles;\x0auniform\x20float\x20samplesFactor;\x0auniform\x20vec3\x20sampleSphere[SAMPLES];\x0auniform\x20float\x20totalStrength;\x0auniform\x20float\x20base;\x0auniform\x20float\x20xViewport;\x0auniform\x20float\x20yViewport;\x0auniform\x20mat3\x20depthProjection;\x0auniform\x20float\x20maxZ;\x0auniform\x20float\x20minZAspect;\x0auniform\x20vec2\x20texelSize;\x0auniform\x20mat4\x20projection;\x0avoid\x20main()\x0a{\x0avec3\x20random=texture2D(randomSampler,vUV*randTextureTiles).rgb;\x0afloat\x20depth=texture2D(depthSampler,vUV).r;\x0afloat\x20depthSign=depth/abs(depth);\x0adepth=depth*depthSign;\x0avec3\x20normal=texture2D(normalSampler,vUV).rgb;\x0afloat\x20occlusion=0.0;\x0afloat\x20correctedRadius=min(radius,minZAspect*depth/near);\x0avec3\x20vViewRay=vec3((vUV.x*2.0-1.0)*xViewport,(vUV.y*2.0-1.0)*yViewport,depthSign);\x0avec3\x20vDepthFactor=depthProjection*vec3(1.0,1.0,depth);\x0avec3\x20origin=vViewRay*vDepthFactor;\x0avec3\x20rvec=random*2.0-1.0;\x0arvec.z=0.0;\x0afloat\x20dotProduct=dot(rvec,normal);\x0arvec=1.0-abs(dotProduct)>1e-2\x20?\x20rvec\x20:\x20vec3(-rvec.y,0.0,rvec.x);\x0avec3\x20tangent=normalize(rvec-normal*dot(rvec,normal));\x0avec3\x20bitangent=cross(normal,tangent);\x0amat3\x20tbn=mat3(tangent,bitangent,normal);\x0afloat\x20difference;\x0afor\x20(int\x20i=0;\x20i<SAMPLES;\x20++i)\x20{\x0avec3\x20samplePosition=scales[(i+int(random.x*16.0))\x20%\x2016]*tbn*sampleSphere[(i+int(random.y*16.0))\x20%\x2016];\x0asamplePosition=samplePosition*correctedRadius+origin;\x0avec4\x20offset=vec4(samplePosition,1.0);\x0aoffset=projection*offset;\x0aoffset.xyz/=offset.w;\x0aoffset.xy=offset.xy*0.5+0.5;\x0aif\x20(offset.x<0.0\x20||\x20offset.y<0.0\x20||\x20offset.x>1.0\x20||\x20offset.y>1.0)\x20{\x0acontinue;\x0a}\x0afloat\x20sampleDepth=abs(texture2D(depthSampler,offset.xy).r);\x0adifference=depthSign*samplePosition.z-sampleDepth;\x0afloat\x20rangeCheck=1.0-smoothstep(correctedRadius*0.5,correctedRadius,difference);\x0aocclusion+=(difference>=0.0\x20?\x201.0\x20:\x200.0)*rangeCheck;\x0a}\x0aocclusion=occlusion*(1.0-smoothstep(maxZ*0.75,maxZ,depth));\x0afloat\x20ao=1.0-totalStrength*occlusion*samplesFactor;\x0afloat\x20result=clamp(ao+base,0.0,1.0);\x0agl_FragColor=vec4(vec3(result),1.0);\x0a}\x0a#endif\x0a#ifdef\x20BILATERAL_BLUR\x0auniform\x20sampler2D\x20depthSampler;\x0auniform\x20float\x20outSize;\x0auniform\x20float\x20samplerOffsets[SAMPLES];\x0avec4\x20blur9(sampler2D\x20image,vec2\x20uv,float\x20resolution,vec2\x20direction)\x20{\x0avec4\x20color=vec4(0.0);\x0avec2\x20off1=vec2(1.3846153846)*direction;\x0avec2\x20off2=vec2(3.2307692308)*direction;\x0acolor+=texture2D(image,uv)*0.2270270270;\x0acolor+=texture2D(image,uv+(off1/resolution))*0.3162162162;\x0acolor+=texture2D(image,uv-(off1/resolution))*0.3162162162;\x0acolor+=texture2D(image,uv+(off2/resolution))*0.0702702703;\x0acolor+=texture2D(image,uv-(off2/resolution))*0.0702702703;\x0areturn\x20color;\x0a}\x0avec4\x20blur13(sampler2D\x20image,vec2\x20uv,float\x20resolution,vec2\x20direction)\x20{\x0avec4\x20color=vec4(0.0);\x0avec2\x20off1=vec2(1.411764705882353)*direction;\x0avec2\x20off2=vec2(3.2941176470588234)*direction;\x0avec2\x20off3=vec2(5.176470588235294)*direction;\x0acolor+=texture2D(image,uv)*0.1964825501511404;\x0acolor+=texture2D(image,uv+(off1/resolution))*0.2969069646728344;\x0acolor+=texture2D(image,uv-(off1/resolution))*0.2969069646728344;\x0acolor+=texture2D(image,uv+(off2/resolution))*0.09447039785044732;\x0acolor+=texture2D(image,uv-(off2/resolution))*0.09447039785044732;\x0acolor+=texture2D(image,uv+(off3/resolution))*0.010381362401148057;\x0acolor+=texture2D(image,uv-(off3/resolution))*0.010381362401148057;\x0areturn\x20color;\x0a}\x0avec4\x20blur13Bilateral(sampler2D\x20image,vec2\x20uv,float\x20resolution,vec2\x20direction)\x20{\x0avec4\x20color=vec4(0.0);\x0avec2\x20off1=vec2(1.411764705882353)*direction;\x0avec2\x20off2=vec2(3.2941176470588234)*direction;\x0avec2\x20off3=vec2(5.176470588235294)*direction;\x0afloat\x20compareDepth=abs(texture2D(depthSampler,uv).r);\x0afloat\x20sampleDepth;\x0afloat\x20weight;\x0afloat\x20weightSum=30.0;\x0acolor+=texture2D(image,uv)*30.0;\x0asampleDepth=abs(texture2D(depthSampler,uv+(off1/resolution)).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=\x20weight;\x0acolor+=texture2D(image,uv+(off1/resolution))*weight;\x0asampleDepth=abs(texture2D(depthSampler,uv-(off1/resolution)).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=\x20weight;\x0acolor+=texture2D(image,uv-(off1/resolution))*weight;\x0asampleDepth=abs(texture2D(depthSampler,uv+(off2/resolution)).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0acolor+=texture2D(image,uv+(off2/resolution))*weight;\x0asampleDepth=abs(texture2D(depthSampler,uv-(off2/resolution)).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0acolor+=texture2D(image,uv-(off2/resolution))*weight;\x0asampleDepth=abs(texture2D(depthSampler,uv+(off3/resolution)).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0acolor+=texture2D(image,uv+(off3/resolution))*weight;\x0asampleDepth=abs(texture2D(depthSampler,uv-(off3/resolution)).r);\x0aweight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30.0);\x0aweightSum+=weight;\x0acolor+=texture2D(image,uv-(off3/resolution))*weight;\x0areturn\x20color/weightSum;\x0a}\x0avoid\x20main()\x0a{\x0a#if\x20EXPENSIVE\x0afloat\x20compareDepth=abs(texture2D(depthSampler,vUV).r);\x0afloat\x20texelsize=1.0/outSize;\x0afloat\x20result=0.0;\x0afloat\x20weightSum=0.0;\x0afor\x20(int\x20i=0;\x20i<SAMPLES;\x20++i)\x0a{\x0a#ifdef\x20BILATERAL_BLUR_H\x0avec2\x20direction=vec2(1.0,0.0);\x0avec2\x20sampleOffset=vec2(texelsize*samplerOffsets[i],0.0);\x0a#else\x0avec2\x20direction=vec2(0.0,1.0);\x0avec2\x20sampleOffset=vec2(0.0,texelsize*samplerOffsets[i]);\x0a#endif\x0avec2\x20samplePos=vUV+sampleOffset;\x0afloat\x20sampleDepth=abs(texture2D(depthSampler,samplePos).r);\x0afloat\x20weight=clamp(1.0/(\x200.003+abs(compareDepth-sampleDepth)),0.0,30000.0);\x0aresult+=texture2D(textureSampler,samplePos).r*weight;\x0aweightSum+=weight;\x0a}\x0aresult/=weightSum;\x0agl_FragColor.rgb=vec3(result);\x0agl_FragColor.a=1.0;\x0a#else\x0avec4\x20color;\x0a#ifdef\x20BILATERAL_BLUR_H\x0avec2\x20direction=vec2(1.0,0.0);\x0acolor=blur13Bilateral(textureSampler,vUV,outSize,direction);\x0a#else\x0avec2\x20direction=vec2(0.0,1.0);\x0acolor=blur13Bilateral(textureSampler,vUV,outSize,direction);\x0a#endif\x0agl_FragColor.rgb=vec3(color.r);\x0agl_FragColor.a=1.0;\x0a#endif\x0a}\x0a#endif\x0a';},0xce3e:(_0x2d3e9c,_0x10dde1,_0x4dfcb6)=>{var _0x4ef883=a6_0x5e3a36;_0x4dfcb6(0x17a92)['v'][_0x4ef883(0x333)][_0x4ef883(0x7bc)]=_0x4ef883(0x6d6);},0x152db:(_0x80b90b,_0x5b944e,_0x14da76)=>{var _0x25b0e0=a6_0x5e3a36,_0x5cd268=_0x14da76(0x17a92);_0x14da76(0xe85e),_0x5cd268['v'][_0x25b0e0(0x333)]['standardPixelShader']=_0x25b0e0(0x9f6);},0xb043:(_0xc7a26e,_0x3b8f8e,_0x5e747f)=>{var _0x5bb233=a6_0x5e3a36;_0x5e747f(0x17a92)['v'][_0x5bb233(0x333)][_0x5bb233(0xc36)]=_0x5bb233(0xa80);},0xa69a:(_0x46bc0d,_0x536d98,_0x18f96e)=>{var _0x22b9fd=a6_0x5e3a36;_0x18f96e(0x17a92)['v'][_0x22b9fd(0x333)]['tonemapPixelShader']='varying\x20vec2\x20vUV;\x0auniform\x20sampler2D\x20textureSampler;\x0auniform\x20float\x20_ExposureAdjustment;\x0a#if\x20defined(HABLE_TONEMAPPING)\x0aconst\x20float\x20A=0.15;\x0aconst\x20float\x20B=0.50;\x0aconst\x20float\x20C=0.10;\x0aconst\x20float\x20D=0.20;\x0aconst\x20float\x20E=0.02;\x0aconst\x20float\x20F=0.30;\x0aconst\x20float\x20W=11.2;\x0a#endif\x0afloat\x20Luminance(vec3\x20c)\x0a{\x0areturn\x20dot(c,vec3(0.22,0.707,0.071));\x0a}\x0a#define\x20CUSTOM_FRAGMENT_DEFINITIONS\x0avoid\x20main(void)\x20\x0a{\x0avec3\x20colour=texture2D(textureSampler,vUV).rgb;\x0a#if\x20defined(REINHARD_TONEMAPPING)\x0afloat\x20lum=Luminance(colour.rgb);\x20\x0afloat\x20lumTm=lum*_ExposureAdjustment;\x0afloat\x20scale=lumTm/(1.0+lumTm);\x20\x0acolour*=scale/lum;\x0a#elif\x20defined(HABLE_TONEMAPPING)\x0acolour*=_ExposureAdjustment;\x0aconst\x20float\x20ExposureBias=2.0;\x0avec3\x20x=ExposureBias*colour;\x0avec3\x20curr=((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F;\x0ax=vec3(W,W,W);\x0avec3\x20whiteScale=1.0/(((x*(A*x+C*B)+D*E)/(x*(A*x+B)+D*F))-E/F);\x0acolour=curr*whiteScale;\x0a#elif\x20defined(OPTIMIZED_HEJIDAWSON_TONEMAPPING)\x0acolour*=_ExposureAdjustment;\x0avec3\x20X=max(vec3(0.0,0.0,0.0),colour-0.004);\x0avec3\x20retColor=(X*(6.2*X+0.5))/(X*(6.2*X+1.7)+0.06);\x0acolour=retColor*retColor;\x0a#elif\x20defined(PHOTOGRAPHIC_TONEMAPPING)\x0acolour=\x20vec3(1.0,1.0,1.0)-exp2(-_ExposureAdjustment*colour);\x0a#endif\x0agl_FragColor=vec4(colour.rgb,1.0);\x0a}';},0xccd3:(_0xb657ef,_0x1c5e2a,_0x5dc57d)=>{var _0x110e7f=a6_0x5e3a36;_0x5dc57d(0x17a92)['v'][_0x110e7f(0x333)][_0x110e7f(0x472)]=_0x110e7f(0xc13);},0xf877:(_0x9c0524,_0x919fb3,_0x2a6e4a)=>{var _0x18b64b=a6_0x5e3a36;_0x2a6e4a(0x17a92)['v']['ShadersStore'][_0x18b64b(0x872)]=_0x18b64b(0xc05);},0xae44:(_0x248582,_0x35cc28,_0x1cf6f8)=>{var _0x2d3c44=a6_0x5e3a36,_0x539761=_0x1cf6f8(0x17a92);_0x1cf6f8(0x13f9a),_0x1cf6f8(0x12929),_0x1cf6f8(0x9ea3),_0x1cf6f8(0x12abc),_0x1cf6f8(0x12bc6),_0x1cf6f8(0x13906),_0x1cf6f8(0x1070),_0x1cf6f8(0x733d),_0x1cf6f8(0xb434),_0x1cf6f8(0xdcea),_0x539761['v'][_0x2d3c44(0x333)][_0x2d3c44(0x7e4)]=_0x2d3c44(0x768);},0xfad:(_0x56eaf2,_0x44cc65,_0x3a70c4)=>{var _0x30cee3=a6_0x5e3a36;_0x3a70c4(0x17a92)['v']['ShadersStore'][_0x30cee3(0xc75)]=_0x30cee3(0x90e);},0x106e:(_0x126657,_0x553633,_0x19b568)=>{var _0xfe692b=a6_0x5e3a36;_0x19b568(0x17a92)['v'][_0xfe692b(0x333)][_0xfe692b(0x7a2)]=_0xfe692b(0xc65);},0x557f:(_0x388dc2,_0x2afb56,_0x4d7eff)=>{var _0x46fdc1=a6_0x5e3a36;_0x4d7eff['d'](_0x2afb56,{'T':()=>_0x2fdc4e});var _0x25a9b7=_0x4d7eff(0x77a5),_0x45e8d8=_0x4d7eff(0x1a27),_0x432280=_0x4d7eff(0xcef),_0x2afb56=(_0x4d7eff(0x59fc),_0x4d7eff(0x13479),_0x4d7eff(0x17a92));_0x4d7eff(0x12a16),_0x4d7eff(0x10ef),_0x4d7eff(0x17ef8),_0x2afb56['v'][_0x46fdc1(0x333)][_0x46fdc1(0xcc5)]=_0x46fdc1(0x40b),_0x4d7eff(0x6a99),_0x2afb56['v'][_0x46fdc1(0x333)][_0x46fdc1(0x1de)]='attribute\x20vec4\x20position;\x0aattribute\x20vec2\x20options;\x0aattribute\x20vec2\x20offsets;\x0aattribute\x20vec2\x20inverts;\x0aattribute\x20vec4\x20cellInfo;\x0aattribute\x20vec4\x20color;\x0auniform\x20mat4\x20view;\x0auniform\x20mat4\x20projection;\x0avarying\x20vec2\x20vUV;\x0avarying\x20vec4\x20vColor;\x0a#include<fogVertexDeclaration>\x0a#define\x20CUSTOM_VERTEX_DEFINITIONS\x0avoid\x20main(void)\x20{\x0a#define\x20CUSTOM_VERTEX_MAIN_BEGIN\x0avec3\x20viewPos=(view*vec4(position.xyz,1.0)).xyz;\x20\x0avec2\x20cornerPos;\x0afloat\x20angle=position.w;\x0avec2\x20size=vec2(options.x,options.y);\x0avec2\x20offset=offsets.xy;\x0acornerPos=vec2(offset.x-0.5,offset.y\x20-0.5)*size;\x0avec3\x20rotatedCorner;\x0arotatedCorner.x=cornerPos.x*cos(angle)-cornerPos.y*sin(angle);\x0arotatedCorner.y=cornerPos.x*sin(angle)+cornerPos.y*cos(angle);\x0arotatedCorner.z=0.;\x0aviewPos+=rotatedCorner;\x0agl_Position=projection*vec4(viewPos,1.0);\x20\x0avColor=color;\x0avec2\x20uvOffset=vec2(abs(offset.x-inverts.x),abs(1.0-offset.y-inverts.y));\x0avec2\x20uvPlace=cellInfo.xy;\x0avec2\x20uvSize=cellInfo.zw;\x0avUV.x=uvPlace.x+uvSize.x*uvOffset.x;\x0avUV.y=uvPlace.y+uvSize.y*uvOffset.y;\x0a#ifdef\x20FOG\x0avFogDistance=viewPos;\x0a#endif\x0a#define\x20CUSTOM_VERTEX_MAIN_END\x0a}';class _0x2fdc4e{constructor(_0x13e60c,_0x3d3b20,_0xf5a85=0.01,_0x284b43=null){var _0x50b36a=_0x46fdc1;this[_0x50b36a(0x94d)]=_0x25a9b7['g'][_0x50b36a(0x686)],this[_0x50b36a(0xda9)]=!0x0,this[_0x50b36a(0x78f)]=!0x1,this[_0x50b36a(0x579)]=!0x0,this[_0x50b36a(0x7ea)]=!0x1,this[_0x50b36a(0x9ab)]=!0x1,this['_vertexBuffers']={},this[_0x50b36a(0xa63)]=_0x3d3b20,this['_epsilon']=_0xf5a85,this[_0x50b36a(0x57c)]=_0x13e60c,this['_useInstancing']=_0x13e60c['getCaps']()[_0x50b36a(0xd70)]&&_0x13e60c[_0x50b36a(0xd4e)][_0x50b36a(0x6bf)],this[_0x50b36a(0x7ea)]=_0x13e60c[_0x50b36a(0x780)]()['vertexArrayObject']&&!_0x13e60c[_0x50b36a(0x593)],this[_0x50b36a(0xccd)]=_0x284b43,this['_drawWrapperBase']=new _0x432280['q'](_0x13e60c),this[_0x50b36a(0x2de)]=new _0x432280['q'](_0x13e60c),this[_0x50b36a(0x52f)]=new _0x432280['q'](_0x13e60c,!0x1),this[_0x50b36a(0x77d)]=new _0x432280['q'](_0x13e60c,!0x1),this['_useInstancing']||this['_buildIndexBuffer'](),this[_0x50b36a(0x2a7)][_0x50b36a(0x500)]&&(this[_0x50b36a(0x2a7)]['drawContext'][_0x50b36a(0x530)]=this[_0x50b36a(0x9ab)]),this[_0x50b36a(0x2de)]['drawContext']&&(this['_drawWrapperFog'][_0x50b36a(0x500)]['useInstancing']=this[_0x50b36a(0x9ab)]),this[_0x50b36a(0x52f)]['drawContext']&&(this[_0x50b36a(0x52f)][_0x50b36a(0x500)][_0x50b36a(0x530)]=this[_0x50b36a(0x9ab)]),this[_0x50b36a(0x77d)]['drawContext']&&(this[_0x50b36a(0x77d)]['drawContext'][_0x50b36a(0x530)]=this[_0x50b36a(0x9ab)]),this[_0x50b36a(0x756)]=this[_0x50b36a(0x9ab)]?0x10:0x12,this[_0x50b36a(0xcb0)]=new Float32Array(_0x3d3b20*this[_0x50b36a(0x756)]*(this[_0x50b36a(0x9ab)]?0x1:0x4)),this[_0x50b36a(0x59c)]=new _0x45e8d8['l'](_0x13e60c,this[_0x50b36a(0xcb0)],!0x0,this[_0x50b36a(0x756)]),(_0xf5a85=this[_0x50b36a(0x59c)]['createVertexBuffer'](_0x45e8d8['o']['PositionKind'],0x0,0x4,this['_vertexBufferSize'],this[_0x50b36a(0x9ab)]),_0x284b43=this['_buffer']['createVertexBuffer'](_0x50b36a(0xa59),0x4,0x2,this['_vertexBufferSize'],this[_0x50b36a(0x9ab)]));let _0xd00996=0x6,_0xad814;this[_0x50b36a(0x9ab)]?(_0x3d3b20=new Float32Array([0x0,0x0,0x1,0x0,0x0,0x1,0x1,0x1]),this['_spriteBuffer']=new _0x45e8d8['l'](_0x13e60c,_0x3d3b20,!0x1,0x2),_0xad814=this[_0x50b36a(0x4f8)][_0x50b36a(0x59f)]('offsets',0x0,0x2)):(_0xad814=this[_0x50b36a(0x59c)][_0x50b36a(0x59f)](_0x50b36a(0x6e7),_0xd00996,0x2,this['_vertexBufferSize'],this[_0x50b36a(0x9ab)]),_0xd00996+=0x2);var _0x13e60c=this[_0x50b36a(0x59c)][_0x50b36a(0x59f)]('inverts',_0xd00996,0x2,this[_0x50b36a(0x756)],this['_useInstancing']),_0x3d3b20=this[_0x50b36a(0x59c)][_0x50b36a(0x59f)](_0x50b36a(0x35f),_0xd00996+0x2,0x4,this[_0x50b36a(0x756)],this[_0x50b36a(0x9ab)]),_0x35cbc2=this[_0x50b36a(0x59c)][_0x50b36a(0x59f)](_0x45e8d8['o'][_0x50b36a(0xbe8)],_0xd00996+0x6,0x4,this['_vertexBufferSize'],this[_0x50b36a(0x9ab)]);this[_0x50b36a(0x4b2)][_0x45e8d8['o'][_0x50b36a(0xd93)]]=_0xf5a85,this['_vertexBuffers'][_0x50b36a(0xa59)]=_0x284b43,this[_0x50b36a(0x4b2)][_0x50b36a(0x6e7)]=_0xad814,this[_0x50b36a(0x4b2)][_0x50b36a(0x538)]=_0x13e60c,this['_vertexBuffers'][_0x50b36a(0x35f)]=_0x3d3b20,this['_vertexBuffers'][_0x45e8d8['o'][_0x50b36a(0xbe8)]]=_0x35cbc2,this['_drawWrapperBase']['effect']=this[_0x50b36a(0x57c)]['createEffect'](_0x50b36a(0xaaa),[_0x45e8d8['o'][_0x50b36a(0xd93)],'options','offsets',_0x50b36a(0x538),_0x50b36a(0x35f),_0x45e8d8['o'][_0x50b36a(0xbe8)]],[_0x50b36a(0x704),_0x50b36a(0x7a0),_0x50b36a(0x605),_0x50b36a(0x8a1)],[_0x50b36a(0xd86)],''),this['_drawWrapperDepth'][_0x50b36a(0xa78)]=this[_0x50b36a(0x2a7)][_0x50b36a(0xa78)],this[_0x50b36a(0x52f)][_0x50b36a(0x38e)]=this['_drawWrapperBase'][_0x50b36a(0x38e)],this[_0x50b36a(0xccd)]&&(this[_0x50b36a(0x2de)][_0x50b36a(0xa78)]=this['_scene'][_0x50b36a(0x9d0)]()[_0x50b36a(0x226)]('sprites',[_0x45e8d8['o'][_0x50b36a(0xd93)],_0x50b36a(0xa59),'offsets',_0x50b36a(0x538),_0x50b36a(0x35f),_0x45e8d8['o'][_0x50b36a(0xbe8)]],[_0x50b36a(0x704),'projection',_0x50b36a(0x605),'alphaTest',_0x50b36a(0xa1b),'vFogColor'],[_0x50b36a(0xd86)],_0x50b36a(0xad5)),this['_drawWrapperFogDepth'][_0x50b36a(0xa78)]=this[_0x50b36a(0x2de)]['effect'],this[_0x50b36a(0x77d)]['materialContext']=this[_0x50b36a(0x2de)][_0x50b36a(0x38e)]);}get[_0x46fdc1(0x8b9)](){var _0x100d8d=_0x46fdc1;return this[_0x100d8d(0xa63)];}[_0x46fdc1(0xcee)](_0x103ff4,_0x333e9e,_0x299331,_0x1e14ce,_0x2c0509=null){var _0x349bb1=_0x46fdc1;if(this[_0x349bb1(0x20b)]&&this[_0x349bb1(0x20b)][_0x349bb1(0x3e5)]()&&_0x103ff4[_0x349bb1(0x43c)]){let _0x47b493=this[_0x349bb1(0x2a7)],_0x3a1e56=this['_drawWrapperDepth'],_0x370020=!0x1;this[_0x349bb1(0x579)]&&this[_0x349bb1(0xccd)]&&this['_scene'][_0x349bb1(0x579)]&&0x0!==this[_0x349bb1(0xccd)][_0x349bb1(0x9f1)]&&(_0x47b493=this[_0x349bb1(0x2de)],_0x3a1e56=this[_0x349bb1(0x77d)],_0x370020=!0x0);const _0x489063=_0x47b493[_0x349bb1(0xa78)];if(_0x489063['isReady']()){const _0x4c6178=this[_0x349bb1(0x57c)];var _0x33f731,_0x4c0de6,_0x54a113,_0x51cd1c=!(!this[_0x349bb1(0xccd)]||!this[_0x349bb1(0xccd)][_0x349bb1(0xa02)]),_0x51e234=this[_0x349bb1(0x20b)]['getBaseSize'](),_0x5c5765=Math[_0x349bb1(0xae6)](this[_0x349bb1(0xa63)],_0x103ff4[_0x349bb1(0x43c)]);let _0x431a0e=0x0,_0x504c35=!0x0;for(let _0x1f8ab8=0x0;_0x1f8ab8<_0x5c5765;_0x1f8ab8++){const _0x3f578f=_0x103ff4[_0x1f8ab8];_0x3f578f&&_0x3f578f[_0x349bb1(0xc87)]&&(_0x504c35=!0x1,_0x3f578f[_0x349bb1(0x356)](_0x333e9e),this[_0x349bb1(0x998)](_0x431a0e++,_0x3f578f,0x0,0x0,_0x51e234,_0x51cd1c,_0x2c0509),this[_0x349bb1(0x9ab)]||(this[_0x349bb1(0x998)](_0x431a0e++,_0x3f578f,0x1,0x0,_0x51e234,_0x51cd1c,_0x2c0509),this['_appendSpriteVertex'](_0x431a0e++,_0x3f578f,0x1,0x1,_0x51e234,_0x51cd1c,_0x2c0509),this[_0x349bb1(0x998)](_0x431a0e++,_0x3f578f,0x0,0x1,_0x51e234,_0x51cd1c,_0x2c0509)));}_0x504c35||(this[_0x349bb1(0x59c)][_0x349bb1(0xa2f)](this[_0x349bb1(0xcb0)]),_0x33f731=!!_0x4c6178[_0x349bb1(0xdab)][_0x349bb1(0xafd)],_0x4c0de6=_0x4c6178[_0x349bb1(0xdab)]['zOffset'],_0x54a113=_0x4c6178['depthCullingState'][_0x349bb1(0x321)],_0x4c6178[_0x349bb1(0xb1f)](_0x33f731,_0x4c0de6,!0x1,!0x1,void 0x0,void 0x0,_0x54a113),_0x4c6178[_0x349bb1(0x453)](_0x47b493),_0x489063['setTexture'](_0x349bb1(0xd86),this['texture']),_0x489063[_0x349bb1(0x716)](_0x349bb1(0x704),_0x299331),_0x489063[_0x349bb1(0x716)](_0x349bb1(0x7a0),_0x1e14ce),_0x370020&&(_0x299331=this['_scene'],_0x489063[_0x349bb1(0xac3)](_0x349bb1(0xa1b),_0x299331['fogMode'],_0x299331[_0x349bb1(0x5b7)],_0x299331[_0x349bb1(0x4f6)],_0x299331[_0x349bb1(0xd19)]),_0x489063['setColor3']('vFogColor',_0x299331['fogColor'])),this[_0x349bb1(0x7ea)]?(this[_0x349bb1(0xb3d)]||(this[_0x349bb1(0xb3d)]=_0x4c6178['recordVertexArrayObject'](this[_0x349bb1(0x4b2)],this['_indexBuffer'],_0x489063)),_0x4c6178['bindVertexArrayObject'](this[_0x349bb1(0xb3d)],this['_indexBuffer'])):_0x4c6178[_0x349bb1(0x315)](this['_vertexBuffers'],this[_0x349bb1(0x764)],_0x489063),_0x4c6178[_0x349bb1(0xdab)][_0x349bb1(0x36a)]=_0x4c6178[_0x349bb1(0x475)]?_0x25a9b7['g']['GEQUAL']:_0x25a9b7['g'][_0x349bb1(0x46d)],this[_0x349bb1(0x78f)]||(_0x489063[_0x349bb1(0x5c8)](_0x349bb1(0x8a1),!0x0),_0x4c6178[_0x349bb1(0x7e3)](!0x1),_0x4c6178[_0x349bb1(0x453)](_0x3a1e56),this[_0x349bb1(0x9ab)]?_0x4c6178[_0x349bb1(0x285)](_0x25a9b7['g']['MATERIAL_TriangleStripDrawMode'],0x0,0x4,_0x431a0e):_0x4c6178[_0x349bb1(0xbd7)](_0x25a9b7['g']['MATERIAL_TriangleFillMode'],0x0,_0x431a0e/0x4*0x6),_0x4c6178[_0x349bb1(0x453)](_0x47b493),_0x4c6178['setColorWrite'](!0x0),_0x489063[_0x349bb1(0x5c8)]('alphaTest',!0x1)),_0x4c6178[_0x349bb1(0x772)](this[_0x349bb1(0x94d)]),this[_0x349bb1(0x9ab)]?_0x4c6178[_0x349bb1(0x285)](_0x25a9b7['g'][_0x349bb1(0x23c)],0x0,0x4,_0x431a0e):_0x4c6178[_0x349bb1(0xbd7)](_0x25a9b7['g'][_0x349bb1(0x8f9)],0x0,_0x431a0e/0x4*0x6),this[_0x349bb1(0xda9)]&&_0x4c6178[_0x349bb1(0x772)](_0x25a9b7['g'][_0x349bb1(0x894)]),_0x51cd1c&&this['_scene'][_0x349bb1(0x9d0)]()[_0x349bb1(0xb1f)](_0x33f731,_0x4c0de6,!0x1,!0x0,void 0x0,void 0x0,_0x54a113),_0x4c6178['unbindInstanceAttributes']());}}}[_0x46fdc1(0x998)](_0x4bdd86,_0x4b5635,_0x19a8e3,_0x32544e,_0x5337aa,_0x40f1e3,_0x38b828){var _0x581f2b=_0x46fdc1;let _0x33e794=_0x4bdd86*this['_vertexBufferSize'];0x0===_0x19a8e3?_0x19a8e3=this['_epsilon']:0x1===_0x19a8e3&&(_0x19a8e3=0x1-this['_epsilon']),0x0===_0x32544e?_0x32544e=this[_0x581f2b(0x433)]:0x1===_0x32544e&&(_0x32544e=0x1-this['_epsilon']),_0x38b828?_0x38b828(_0x4b5635,_0x5337aa):(_0x4b5635['cellIndex']||(_0x4b5635['cellIndex']=0x0),_0x4bdd86=_0x5337aa[_0x581f2b(0x680)]/this['cellWidth'],_0x38b828=_0x4b5635[_0x581f2b(0x570)]/_0x4bdd86>>0x0,_0x4b5635[_0x581f2b(0x66b)]=(_0x4b5635[_0x581f2b(0x570)]-_0x38b828*_0x4bdd86)*this[_0x581f2b(0x888)]/_0x5337aa[_0x581f2b(0x680)],_0x4b5635[_0x581f2b(0x86b)]=_0x38b828*this['cellHeight']/_0x5337aa['height'],_0x4b5635[_0x581f2b(0xb7e)]=this[_0x581f2b(0x888)],_0x4b5635[_0x581f2b(0x20e)]=this[_0x581f2b(0xc15)]),this['_vertexData'][_0x33e794]=_0x4b5635['position']['x'],this[_0x581f2b(0xcb0)][_0x33e794+0x1]=_0x4b5635[_0x581f2b(0x7f1)]['y'],this[_0x581f2b(0xcb0)][_0x33e794+0x2]=_0x4b5635[_0x581f2b(0x7f1)]['z'],this['_vertexData'][_0x33e794+0x3]=_0x4b5635[_0x581f2b(0x802)],this['_vertexData'][_0x33e794+0x4]=_0x4b5635[_0x581f2b(0x680)],this[_0x581f2b(0xcb0)][_0x33e794+0x5]=_0x4b5635[_0x581f2b(0x9f8)],this[_0x581f2b(0x9ab)]?_0x33e794-=0x2:(this['_vertexData'][_0x33e794+0x6]=_0x19a8e3,this[_0x581f2b(0xcb0)][_0x33e794+0x7]=_0x32544e),this[_0x581f2b(0xcb0)][_0x33e794+0x8]=_0x40f1e3?_0x4b5635['invertU']?0x0:0x1:_0x4b5635['invertU']?0x1:0x0,this[_0x581f2b(0xcb0)][_0x33e794+0x9]=_0x4b5635[_0x581f2b(0x613)]?0x1:0x0,this[_0x581f2b(0xcb0)][_0x33e794+0xa]=_0x4b5635['_xOffset'],this[_0x581f2b(0xcb0)][_0x33e794+0xb]=_0x4b5635['_yOffset'],this['_vertexData'][_0x33e794+0xc]=_0x4b5635[_0x581f2b(0xb7e)]/_0x5337aa['width'],this[_0x581f2b(0xcb0)][_0x33e794+0xd]=_0x4b5635[_0x581f2b(0x20e)]/_0x5337aa[_0x581f2b(0x9f8)],this[_0x581f2b(0xcb0)][_0x33e794+0xe]=_0x4b5635[_0x581f2b(0x350)]['r'],this[_0x581f2b(0xcb0)][_0x33e794+0xf]=_0x4b5635[_0x581f2b(0x350)]['g'],this[_0x581f2b(0xcb0)][_0x33e794+0x10]=_0x4b5635[_0x581f2b(0x350)]['b'],this[_0x581f2b(0xcb0)][_0x33e794+0x11]=_0x4b5635['color']['a'];}[_0x46fdc1(0xb35)](){var _0x5ea3bb=_0x46fdc1;const _0x57a49b=[];let _0x45e146=0x0;for(let _0x123754=0x0;_0x123754<this[_0x5ea3bb(0xa63)];_0x123754++)_0x57a49b[_0x5ea3bb(0x2bd)](_0x45e146),_0x57a49b[_0x5ea3bb(0x2bd)](_0x45e146+0x1),_0x57a49b[_0x5ea3bb(0x2bd)](_0x45e146+0x2),_0x57a49b['push'](_0x45e146),_0x57a49b[_0x5ea3bb(0x2bd)](_0x45e146+0x2),_0x57a49b[_0x5ea3bb(0x2bd)](_0x45e146+0x3),_0x45e146+=0x4;this[_0x5ea3bb(0x764)]=this[_0x5ea3bb(0x57c)]['createIndexBuffer'](_0x57a49b);}['rebuild'](){var _0x4332ec=_0x46fdc1,_0xfd44c3;this['_indexBuffer']&&this[_0x4332ec(0xb35)](),this['_useVAO']&&(this[_0x4332ec(0xb3d)]=void 0x0),this[_0x4332ec(0x59c)]['_rebuild']();for(const _0x14ec16 in this['_vertexBuffers']){const _0x18c276=this[_0x4332ec(0x4b2)][_0x14ec16];_0x18c276['_rebuild']();}null!=(_0xfd44c3=this[_0x4332ec(0x4f8)])&&_0xfd44c3[_0x4332ec(0x825)]();}[_0x46fdc1(0x8fc)](){var _0x518df7=_0x46fdc1;this['_buffer']&&(this[_0x518df7(0x59c)][_0x518df7(0x8fc)](),this['_buffer']=null),this[_0x518df7(0x4f8)]&&(this[_0x518df7(0x4f8)][_0x518df7(0x8fc)](),this[_0x518df7(0x4f8)]=null),this[_0x518df7(0x764)]&&(this[_0x518df7(0x57c)][_0x518df7(0x4fd)](this['_indexBuffer']),this['_indexBuffer']=null),this['_vertexArrayObject']&&(this['_engine'][_0x518df7(0xae7)](this[_0x518df7(0xb3d)]),this[_0x518df7(0xb3d)]=null),this['texture']&&(this[_0x518df7(0x20b)][_0x518df7(0x8fc)](),this['texture']=null),this[_0x518df7(0x2a7)][_0x518df7(0x8fc)](),this[_0x518df7(0x2de)][_0x518df7(0x8fc)](),this[_0x518df7(0x52f)][_0x518df7(0x8fc)](),this[_0x518df7(0x77d)][_0x518df7(0x8fc)]();}}},0x1796e:(_0x10c9ed,_0x2fb260,_0x4d01d4)=>{var _0x29894d=a6_0x5e3a36;_0x4d01d4['d'](_0x2fb260,{'l':()=>_0x51ad12});class _0x51ad12{constructor(){var _0x2872be=a6_0x4d3f;this['width']=0x1,this[_0x2872be(0x9f8)]=0x1,this[_0x2872be(0x802)]=0x0,this[_0x2872be(0xb79)]=!0x1,this['invertV']=!0x1,this[_0x2872be(0xc87)]=!0x0,this[_0x2872be(0x849)]=!0x1,this[_0x2872be(0xb78)]=!0x1,this[_0x2872be(0xa7b)]=0x0,this[_0x2872be(0x7d5)]=0x0,this['_delay']=0x0,this[_0x2872be(0xaf2)]=0x1,this[_0x2872be(0xd99)]=0x0,this[_0x2872be(0x596)]=null,this['position']={'x':0x1,'y':0x1,'z':0x1},this['color']={'r':0x1,'g':0x1,'b':0x1,'a':0x1};}get['animationStarted'](){var _0x267300=a6_0x4d3f;return this[_0x267300(0x849)];}get['fromIndex'](){var _0x1ce66c=a6_0x4d3f;return this[_0x1ce66c(0xa7b)];}get[_0x29894d(0x7d4)](){return this['_toIndex'];}get[_0x29894d(0x25c)](){var _0x5bd573=_0x29894d;return this[_0x5bd573(0xb78)];}get[_0x29894d(0xb92)](){var _0x196f99=_0x29894d;return Math['max'](this[_0x196f99(0xac5)],0x1);}[_0x29894d(0xb7f)](_0x323d45,_0x2ffacd,_0x49f76c,_0x4c2fa9,_0x1c60f4){var _0x1c87c3=_0x29894d;this['_fromIndex']=_0x323d45,this['_toIndex']=_0x2ffacd,this['_loopAnimation']=_0x49f76c,this[_0x1c87c3(0xac5)]=_0x4c2fa9||0x1,this[_0x1c87c3(0x849)]=!0x0,this[_0x1c87c3(0x596)]=_0x1c60f4,_0x323d45<_0x2ffacd?this['_direction']=0x1:(this[_0x1c87c3(0xaf2)]=-0x1,this['_toIndex']=_0x323d45,this[_0x1c87c3(0xa7b)]=_0x2ffacd),this[_0x1c87c3(0x570)]=_0x323d45,this[_0x1c87c3(0xd99)]=0x0;}['stopAnimation'](){var _0x51ed96=_0x29894d;this[_0x51ed96(0x849)]=!0x1;}[_0x29894d(0x356)](_0x20f79b){var _0x48819d=_0x29894d;this[_0x48819d(0x849)]&&(this[_0x48819d(0xd99)]+=_0x20f79b,this[_0x48819d(0xd99)]>this[_0x48819d(0xac5)]&&(this['_time']=this[_0x48819d(0xd99)]%this[_0x48819d(0xac5)],this[_0x48819d(0x570)]+=this[_0x48819d(0xaf2)],(0x0<this['_direction']&&this[_0x48819d(0x570)]>this[_0x48819d(0x7d5)]||this[_0x48819d(0xaf2)]<0x0&&this[_0x48819d(0x570)]<this[_0x48819d(0xa7b)])&&(this['_loopAnimation']?this[_0x48819d(0x570)]=0x0<this[_0x48819d(0xaf2)]?this[_0x48819d(0xa7b)]:this[_0x48819d(0x7d5)]:(this[_0x48819d(0x570)]=this['_toIndex'],this['_animationStarted']=!0x1,this['_onBaseAnimationEnd']&&this[_0x48819d(0x596)]()))));}}},0x91e:(_0x515c7d,_0x51ce3d,_0x4ff7aa)=>{var _0x4c28ef=a6_0x5e3a36;_0x4ff7aa['d'](_0x51ce3d,{'Q':()=>_0x36a34d});class _0x36a34d{constructor(){var _0x475179=a6_0x4d3f;this[_0x475179(0xc67)]=new Array(0x4),this[_0x475179(0x6dd)]=new Array(0x2),this[_0x475179(0x7e5)]=new Array(0x4),this['_isBlendConstantsDirty']=!0x1,this[_0x475179(0xda2)]=!0x1,this[_0x475179(0xac6)]=!0x1,this['_isBlendFunctionParametersDirty']=!0x1,this[_0x475179(0x916)]=!0x1,this['reset']();}get['isDirty'](){var _0x5286e4=a6_0x4d3f;return this['_isAlphaBlendDirty']||this[_0x5286e4(0x9dd)]||this[_0x5286e4(0x916)];}get[_0x4c28ef(0x1ae)](){var _0x4654fa=_0x4c28ef;return this[_0x4654fa(0xda2)];}set[_0x4c28ef(0x1ae)](_0x194db4){var _0x1a805b=_0x4c28ef;this[_0x1a805b(0xda2)]!==_0x194db4&&(this[_0x1a805b(0xda2)]=_0x194db4,this['_isAlphaBlendDirty']=!0x0);}[_0x4c28ef(0x955)](_0x399821,_0x209a66,_0x5c49a6,_0x3065df){var _0x54795a=_0x4c28ef;this[_0x54795a(0x7e5)][0x0]===_0x399821&&this[_0x54795a(0x7e5)][0x1]===_0x209a66&&this['_blendConstants'][0x2]===_0x5c49a6&&this[_0x54795a(0x7e5)][0x3]===_0x3065df||(this[_0x54795a(0x7e5)][0x0]=_0x399821,this[_0x54795a(0x7e5)][0x1]=_0x209a66,this[_0x54795a(0x7e5)][0x2]=_0x5c49a6,this[_0x54795a(0x7e5)][0x3]=_0x3065df,this['_isBlendConstantsDirty']=!0x0);}[_0x4c28ef(0x8b6)](_0x211e29,_0x4ffab1,_0x496172,_0x24d5d9){var _0x1aaf96=_0x4c28ef;this[_0x1aaf96(0xc67)][0x0]===_0x211e29&&this[_0x1aaf96(0xc67)][0x1]===_0x4ffab1&&this[_0x1aaf96(0xc67)][0x2]===_0x496172&&this['_blendFunctionParameters'][0x3]===_0x24d5d9||(this[_0x1aaf96(0xc67)][0x0]=_0x211e29,this[_0x1aaf96(0xc67)][0x1]=_0x4ffab1,this['_blendFunctionParameters'][0x2]=_0x496172,this[_0x1aaf96(0xc67)][0x3]=_0x24d5d9,this[_0x1aaf96(0x9dd)]=!0x0);}['setAlphaEquationParameters'](_0x366b8f,_0x97d0bb){var _0x24f04d=_0x4c28ef;this['_blendEquationParameters'][0x0]===_0x366b8f&&this[_0x24f04d(0x6dd)][0x1]===_0x97d0bb||(this[_0x24f04d(0x6dd)][0x0]=_0x366b8f,this[_0x24f04d(0x6dd)][0x1]=_0x97d0bb,this[_0x24f04d(0x916)]=!0x0);}['reset'](){var _0x4b7199=_0x4c28ef;this['_alphaBlend']=!0x1,this['_blendFunctionParameters'][0x0]=null,this[_0x4b7199(0xc67)][0x1]=null,this[_0x4b7199(0xc67)][0x2]=null,this[_0x4b7199(0xc67)][0x3]=null,this['_blendEquationParameters'][0x0]=null,this[_0x4b7199(0x6dd)][0x1]=null,this[_0x4b7199(0x7e5)][0x0]=null,this[_0x4b7199(0x7e5)][0x1]=null,this['_blendConstants'][0x2]=null,this[_0x4b7199(0x7e5)][0x3]=null,this[_0x4b7199(0xac6)]=!0x0,this[_0x4b7199(0x9dd)]=!0x1,this['_isBlendEquationParametersDirty']=!0x1,this[_0x4b7199(0xbf7)]=!0x1;}[_0x4c28ef(0x693)](_0x101954){var _0x5cd53b=_0x4c28ef;this[_0x5cd53b(0xb57)]&&(this[_0x5cd53b(0xac6)]&&(this[_0x5cd53b(0xda2)]?_0x101954[_0x5cd53b(0xbab)](_0x101954[_0x5cd53b(0x7ae)]):_0x101954[_0x5cd53b(0xc71)](_0x101954[_0x5cd53b(0x7ae)]),this[_0x5cd53b(0xac6)]=!0x1),this['_isBlendFunctionParametersDirty']&&(_0x101954[_0x5cd53b(0x89d)](this[_0x5cd53b(0xc67)][0x0],this['_blendFunctionParameters'][0x1],this['_blendFunctionParameters'][0x2],this[_0x5cd53b(0xc67)][0x3]),this[_0x5cd53b(0x9dd)]=!0x1),this[_0x5cd53b(0x916)]&&(_0x101954[_0x5cd53b(0x7c6)](this[_0x5cd53b(0x6dd)][0x0],this[_0x5cd53b(0x6dd)][0x1]),this['_isBlendEquationParametersDirty']=!0x1),this[_0x5cd53b(0xbf7)]&&(_0x101954['blendColor'](this[_0x5cd53b(0x7e5)][0x0],this[_0x5cd53b(0x7e5)][0x1],this[_0x5cd53b(0x7e5)][0x2],this['_blendConstants'][0x3]),this[_0x5cd53b(0xbf7)]=!0x1));}}},0x12621:(_0x17d6ea,_0x720d57,_0x4ff3a2)=>{var _0x5bc5a0=a6_0x5e3a36;_0x4ff3a2['d'](_0x720d57,{'k':()=>_0x3631bb});class _0x3631bb{constructor(_0x4baf46=!0x0){var _0xb42c7c=a6_0x4d3f;this['_isDepthTestDirty']=!0x1,this[_0xb42c7c(0x4ad)]=!0x1,this[_0xb42c7c(0x927)]=!0x1,this['_isCullFaceDirty']=!0x1,this[_0xb42c7c(0xd80)]=!0x1,this[_0xb42c7c(0x949)]=!0x1,this[_0xb42c7c(0xaac)]=!0x1,_0x4baf46&&this[_0xb42c7c(0x247)]();}get[_0x5bc5a0(0xb57)](){var _0x14ede9=_0x5bc5a0;return this[_0x14ede9(0x927)]||this[_0x14ede9(0xbf6)]||this[_0x14ede9(0x4ad)]||this[_0x14ede9(0x873)]||this[_0x14ede9(0xd80)]||this['_isZOffsetDirty']||this[_0x14ede9(0xaac)];}get[_0x5bc5a0(0x75c)](){return this['_zOffset'];}set[_0x5bc5a0(0x75c)](_0x566c37){var _0x5520dd=_0x5bc5a0;this[_0x5520dd(0x648)]!==_0x566c37&&(this[_0x5520dd(0x648)]=_0x566c37,this[_0x5520dd(0x949)]=!0x0);}get[_0x5bc5a0(0x321)](){var _0x531246=_0x5bc5a0;return this[_0x531246(0x911)];}set[_0x5bc5a0(0x321)](_0x2d3887){var _0x529531=_0x5bc5a0;this[_0x529531(0x911)]!==_0x2d3887&&(this['_zOffsetUnits']=_0x2d3887,this[_0x529531(0x949)]=!0x0);}get[_0x5bc5a0(0xb51)](){var _0x171075=_0x5bc5a0;return this[_0x171075(0x478)];}set[_0x5bc5a0(0xb51)](_0x10c2b4){var _0xc3ffc9=_0x5bc5a0;this[_0xc3ffc9(0x478)]!==_0x10c2b4&&(this['_cullFace']=_0x10c2b4,this[_0xc3ffc9(0x873)]=!0x0);}get[_0x5bc5a0(0xafd)](){var _0x4402b0=_0x5bc5a0;return this[_0x4402b0(0x25e)];}set[_0x5bc5a0(0xafd)](_0x502d47){var _0x6c0fb6=_0x5bc5a0;this[_0x6c0fb6(0x25e)]!==_0x502d47&&(this[_0x6c0fb6(0x25e)]=_0x502d47,this[_0x6c0fb6(0xd80)]=!0x0);}get[_0x5bc5a0(0x36a)](){var _0x3117e1=_0x5bc5a0;return this[_0x3117e1(0x394)];}set[_0x5bc5a0(0x36a)](_0x30479f){var _0x134ba6=_0x5bc5a0;this[_0x134ba6(0x394)]!==_0x30479f&&(this[_0x134ba6(0x394)]=_0x30479f,this['_isDepthFuncDirty']=!0x0);}get[_0x5bc5a0(0x9fe)](){var _0x286e5e=_0x5bc5a0;return this[_0x286e5e(0x316)];}set[_0x5bc5a0(0x9fe)](_0x385226){var _0x3dd188=_0x5bc5a0;this[_0x3dd188(0x316)]!==_0x385226&&(this[_0x3dd188(0x316)]=_0x385226,this['_isDepthMaskDirty']=!0x0);}get['depthTest'](){var _0x32dc2f=_0x5bc5a0;return this[_0x32dc2f(0x58f)];}set['depthTest'](_0x426c13){var _0x510250=_0x5bc5a0;this[_0x510250(0x58f)]!==_0x426c13&&(this[_0x510250(0x58f)]=_0x426c13,this['_isDepthTestDirty']=!0x0);}get[_0x5bc5a0(0xc89)](){return this['_frontFace'];}set[_0x5bc5a0(0xc89)](_0xcea1){var _0x9377a1=_0x5bc5a0;this[_0x9377a1(0x1d2)]!==_0xcea1&&(this[_0x9377a1(0x1d2)]=_0xcea1,this[_0x9377a1(0xaac)]=!0x0);}[_0x5bc5a0(0x247)](){var _0x4c1020=_0x5bc5a0;this[_0x4c1020(0x316)]=!0x0,this[_0x4c1020(0x58f)]=!0x0,this[_0x4c1020(0x394)]=null,this[_0x4c1020(0x478)]=null,this[_0x4c1020(0x25e)]=null,this[_0x4c1020(0x648)]=0x0,this['_zOffsetUnits']=0x0,this[_0x4c1020(0x1d2)]=null,this[_0x4c1020(0xbf6)]=!0x0,this[_0x4c1020(0x4ad)]=!0x0,this[_0x4c1020(0x927)]=!0x1,this['_isCullFaceDirty']=!0x1,this[_0x4c1020(0xd80)]=!0x1,this['_isZOffsetDirty']=!0x0,this['_isFrontFaceDirty']=!0x1;}[_0x5bc5a0(0x693)](_0x2f5823){var _0x5a2890=_0x5bc5a0;this[_0x5a2890(0xb57)]&&(this[_0x5a2890(0xd80)]&&(this[_0x5a2890(0xafd)]?_0x2f5823[_0x5a2890(0xbab)](_0x2f5823[_0x5a2890(0xbdd)]):_0x2f5823[_0x5a2890(0xc71)](_0x2f5823[_0x5a2890(0xbdd)]),this[_0x5a2890(0xd80)]=!0x1),this[_0x5a2890(0x873)]&&(_0x2f5823[_0x5a2890(0xb51)](this[_0x5a2890(0xb51)]),this[_0x5a2890(0x873)]=!0x1),this[_0x5a2890(0x4ad)]&&(_0x2f5823[_0x5a2890(0x9fe)](this[_0x5a2890(0x9fe)]),this[_0x5a2890(0x4ad)]=!0x1),this['_isDepthTestDirty']&&(this[_0x5a2890(0xccf)]?_0x2f5823[_0x5a2890(0xbab)](_0x2f5823[_0x5a2890(0xd20)]):_0x2f5823[_0x5a2890(0xc71)](_0x2f5823[_0x5a2890(0xd20)]),this[_0x5a2890(0xbf6)]=!0x1),this['_isDepthFuncDirty']&&(_0x2f5823[_0x5a2890(0x36a)](this[_0x5a2890(0x36a)]),this[_0x5a2890(0x927)]=!0x1),this[_0x5a2890(0x949)]&&(this[_0x5a2890(0x75c)]||this[_0x5a2890(0x321)]?(_0x2f5823[_0x5a2890(0xbab)](_0x2f5823[_0x5a2890(0x61d)]),_0x2f5823[_0x5a2890(0x1b7)](this['zOffset'],this[_0x5a2890(0x321)])):_0x2f5823[_0x5a2890(0xc71)](_0x2f5823[_0x5a2890(0x61d)]),this['_isZOffsetDirty']=!0x1),this[_0x5a2890(0xaac)]&&(_0x2f5823[_0x5a2890(0xc89)](this[_0x5a2890(0xc89)]),this[_0x5a2890(0xaac)]=!0x1));}}},0x2902:(_0x43e5fd,_0x1f4eba,_0x1f4492)=>{var _0x279880=a6_0x5e3a36;_0x1f4492['d'](_0x1f4eba,{'C':()=>_0x47a39e});class _0x47a39e{constructor(_0x34b514=!0x0){var _0x2ae270=a6_0x4d3f;this['_isStencilTestDirty']=!0x1,this[_0x2ae270(0xa7d)]=!0x1,this['_isStencilFuncDirty']=!0x1,this[_0x2ae270(0xac2)]=!0x1,this[_0x2ae270(0xd8e)]=!0x1,_0x34b514&&this[_0x2ae270(0x247)]();}get['isDirty'](){var _0x808891=a6_0x4d3f;return this[_0x808891(0x9b5)]||this['_isStencilMaskDirty']||this[_0x808891(0x831)]||this[_0x808891(0xac2)];}get[_0x279880(0x649)](){var _0x561494=_0x279880;return this[_0x561494(0x3c6)];}set['func'](_0xcfc803){var _0x2dce3c=_0x279880;this['_func']!==_0xcfc803&&(this[_0x2dce3c(0x3c6)]=_0xcfc803,this[_0x2dce3c(0x831)]=!0x0);}get[_0x279880(0x2e7)](){var _0x5dba0c=_0x279880;return this[_0x5dba0c(0x774)];}set['funcRef'](_0xd5f1b5){var _0x25c643=_0x279880;this[_0x25c643(0x774)]!==_0xd5f1b5&&(this[_0x25c643(0x774)]=_0xd5f1b5,this[_0x25c643(0x831)]=!0x0);}get[_0x279880(0x1f1)](){var _0x5921ec=_0x279880;return this[_0x5921ec(0xa73)];}set['funcMask'](_0x14b6bd){var _0x1815ac=_0x279880;this[_0x1815ac(0xa73)]!==_0x14b6bd&&(this[_0x1815ac(0xa73)]=_0x14b6bd,this[_0x1815ac(0x831)]=!0x0);}get[_0x279880(0xd17)](){return this['_opStencilFail'];}set[_0x279880(0xd17)](_0x3a8546){var _0x14ba45=_0x279880;this[_0x14ba45(0xc41)]!==_0x3a8546&&(this[_0x14ba45(0xc41)]=_0x3a8546,this[_0x14ba45(0xac2)]=!0x0);}get['opDepthFail'](){return this['_opDepthFail'];}set['opDepthFail'](_0x403453){var _0x141570=_0x279880;this[_0x141570(0x27a)]!==_0x403453&&(this[_0x141570(0x27a)]=_0x403453,this['_isStencilOpDirty']=!0x0);}get['opStencilDepthPass'](){var _0x5004e3=_0x279880;return this[_0x5004e3(0x598)];}set[_0x279880(0x9da)](_0x4b0161){var _0x4b823d=_0x279880;this['_opStencilDepthPass']!==_0x4b0161&&(this[_0x4b823d(0x598)]=_0x4b0161,this['_isStencilOpDirty']=!0x0);}get['mask'](){var _0x57386c=_0x279880;return this[_0x57386c(0xb45)];}set[_0x279880(0x432)](_0x8fd396){var _0x22aabe=_0x279880;this[_0x22aabe(0xb45)]!==_0x8fd396&&(this['_mask']=_0x8fd396,this[_0x22aabe(0xa7d)]=!0x0);}get[_0x279880(0xcc9)](){var _0x5baabd=_0x279880;return this[_0x5baabd(0x9e9)];}set[_0x279880(0xcc9)](_0x58945d){var _0x307249=_0x279880;this[_0x307249(0x9e9)]!==_0x58945d&&(this[_0x307249(0x9e9)]=_0x58945d,this[_0x307249(0x9b5)]=!0x0);}[_0x279880(0x247)](){var _0x24ebc5=_0x279880,_0x31243b;this[_0x24ebc5(0xab0)]=void 0x0,null!=(_0x31243b=this[_0x24ebc5(0xa6e)])&&_0x31243b[_0x24ebc5(0x247)](),this['_isStencilTestDirty']=!0x0,this[_0x24ebc5(0xa7d)]=!0x0,this[_0x24ebc5(0x831)]=!0x0,this['_isStencilOpDirty']=!0x0;}[_0x279880(0x693)](_0x11f7ae){var _0x685374=_0x279880,_0x274c49;_0x11f7ae&&(_0x274c49=!this[_0x685374(0xd8e)]&&!(null==(_0x274c49=this[_0x685374(0xab0)])||!_0x274c49[_0x685374(0xcc9)]),this[_0x685374(0xcc9)]=(_0x274c49?this[_0x685374(0xab0)]:this['stencilGlobal'])[_0x685374(0xcc9)],this[_0x685374(0x649)]=(_0x274c49?this[_0x685374(0xab0)]:this[_0x685374(0xa6e)])[_0x685374(0x649)],this[_0x685374(0x2e7)]=(_0x274c49?this[_0x685374(0xab0)]:this[_0x685374(0xa6e)])[_0x685374(0x2e7)],this['funcMask']=(_0x274c49?this[_0x685374(0xab0)]:this[_0x685374(0xa6e)])[_0x685374(0x1f1)],this[_0x685374(0xd17)]=(_0x274c49?this[_0x685374(0xab0)]:this[_0x685374(0xa6e)])[_0x685374(0xd17)],this[_0x685374(0x5f8)]=(_0x274c49?this[_0x685374(0xab0)]:this['stencilGlobal'])[_0x685374(0x5f8)],this[_0x685374(0x9da)]=(_0x274c49?this[_0x685374(0xab0)]:this['stencilGlobal'])[_0x685374(0x9da)],this[_0x685374(0x432)]=(_0x274c49?this['stencilMaterial']:this[_0x685374(0xa6e)])[_0x685374(0x432)],this[_0x685374(0xb57)]&&(this['_isStencilTestDirty']&&(this[_0x685374(0xcc9)]?_0x11f7ae[_0x685374(0xbab)](_0x11f7ae[_0x685374(0x7bd)]):_0x11f7ae[_0x685374(0xc71)](_0x11f7ae['STENCIL_TEST']),this[_0x685374(0x9b5)]=!0x1),this['_isStencilMaskDirty']&&(_0x11f7ae[_0x685374(0x4ef)](this['mask']),this['_isStencilMaskDirty']=!0x1),this[_0x685374(0x831)]&&(_0x11f7ae['stencilFunc'](this[_0x685374(0x649)],this[_0x685374(0x2e7)],this['funcMask']),this[_0x685374(0x831)]=!0x1),this[_0x685374(0xac2)]&&(_0x11f7ae[_0x685374(0xbbe)](this[_0x685374(0xd17)],this['opDepthFail'],this[_0x685374(0x9da)]),this[_0x685374(0xac2)]=!0x1)));}}},0xde31:(_0x3fb8aa,_0x45e00f,_0x22e15e)=>{var _0x37f45a=a6_0x5e3a36;_0x22e15e['d'](_0x45e00f,{'F':()=>_0x5d1f4f});class _0x5d1f4f{constructor(_0x46ba34){var _0x29fb7f=a6_0x4d3f;this['_xrSessionManager']=_0x46ba34,this[_0x29fb7f(0x917)]=!0x1,this['_removeOnDetach']=[],this['isDisposed']=!0x1,this[_0x29fb7f(0xbfe)]=!0x1,this[_0x29fb7f(0x621)]='';}get[_0x37f45a(0x370)](){var _0x3832fe=_0x37f45a;return this[_0x3832fe(0x917)];}[_0x37f45a(0x674)](_0x304c1b){var _0x3ec303=_0x37f45a;if(this[_0x3ec303(0x490)])return!0x1;if(_0x304c1b)this['attached']&&this[_0x3ec303(0x997)]();else{if(this['attached'])return!0x1;}return this[_0x3ec303(0x917)]=!0x0,this[_0x3ec303(0xd1e)](this['_xrSessionManager'][_0x3ec303(0x3b3)],_0x4f0b4d=>this[_0x3ec303(0x8d5)](_0x4f0b4d)),!0x0;}[_0x37f45a(0x997)](){var _0x310386=_0x37f45a;return this[_0x310386(0x917)]?(this[_0x310386(0x917)]=!0x1,this[_0x310386(0x986)]['forEach'](_0x5599f5=>{var _0x3cea7e=_0x310386;_0x5599f5[_0x3cea7e(0x29f)][_0x3cea7e(0x9c2)](_0x5599f5[_0x3cea7e(0xcae)]);}),!0x0):!(this[_0x310386(0xbfe)]=!0x0);}[_0x37f45a(0x8fc)](){this['detach'](),this['isDisposed']=!0x0;}['isCompatible'](){return!0x0;}['_addNewAttachObserver'](_0x3f4105,_0x1a8fcf){var _0x4fc688=_0x37f45a;this[_0x4fc688(0x986)][_0x4fc688(0x2bd)]({'observable':_0x3f4105,'observer':_0x3f4105[_0x4fc688(0x4ba)](_0x1a8fcf)});}}},0x3a6b:(_0x24e771,_0x48a673,_0x37d9c9)=>{var _0x455f63=a6_0x5e3a36;_0x37d9c9['d'](_0x48a673,{'s':()=>_0x4fcb2a});class _0x4fcb2a{constructor(_0x385548,_0x2ad41e,_0x8d7aca,_0x193d82,_0x473cbb){var _0x3b5bbb=a6_0x4d3f;this[_0x3b5bbb(0x9a3)]=_0x385548,this['getHeight']=_0x2ad41e,this['layer']=_0x8d7aca,this['layerType']=_0x193d82,this[_0x3b5bbb(0x72a)]=_0x473cbb;}get[_0x455f63(0x569)](){var _0x482cee=_0x455f63;return _0x482cee(0xb03)==this[_0x482cee(0x5dc)]&&_0x482cee(0x3f1)==typeof this[_0x482cee(0x325)]['fixedFoveation'];}get[_0x455f63(0xcb7)](){var _0x2c1c4c=_0x455f63;return this[_0x2c1c4c(0x569)]?this[_0x2c1c4c(0x325)][_0x2c1c4c(0xcb7)]:null;}set['fixedFoveation'](_0x47eac8){var _0x5a0607=_0x455f63;this[_0x5a0607(0x569)]&&(_0x47eac8=Math[_0x5a0607(0xbbd)](0x0,Math[_0x5a0607(0xae6)](0x1,_0x47eac8||0x0)),this[_0x5a0607(0x325)][_0x5a0607(0xcb7)]=_0x47eac8);}}},0x43e9:(_0x1aba34,_0x326acc,_0x319659)=>{var _0xea0f52=a6_0x5e3a36;_0x319659['d'](_0x326acc,{'T':()=>_0x496a52});var _0x20cd2d=_0x319659(0x2f9d);class _0x496a52{constructor(_0x9560ed,_0x47b546){var _0x341efa=a6_0x4d3f;this[_0x341efa(0x753)]=0x0,this[_0x341efa(0xbee)]={},this['currentOffsetStartTemp']=0x0,_0x9560ed instanceof SharedArrayBuffer?(this[_0x341efa(0xc91)]=_0x9560ed,this['modelTotalCount']=_0x9560ed[_0x341efa(0x6ed)]/(0x4*_0x496a52['modelDataLength']),this[_0x341efa(0xbee)]=_0x47b546):(this[_0x341efa(0xc91)]=new SharedArrayBuffer(_0x9560ed*(0x4*_0x496a52[_0x341efa(0x61f)])),this[_0x341efa(0x753)]=_0x9560ed),this[_0x341efa(0x3e6)]=new TextEncoder(),this[_0x341efa(0x469)]=new TextDecoder(),this[_0x341efa(0xa0e)]=new Float32Array(this['modelArrayBuff']),this[_0x341efa(0xa4d)]=new Int32Array(this[_0x341efa(0xc91)]),this[_0x341efa(0x63c)]=new Uint8Array(this['modelArrayBuff']),this[_0x341efa(0x6f0)]=new Uint8Array(0xc8);}['boxMin'](_0xc03f6f){var _0x3c6b59=a6_0x4d3f;return _0xc03f6f=this[_0x3c6b59(0xbee)][_0xc03f6f],this[_0x3c6b59(0xa0e)][_0x3c6b59(0x2cc)](_0xc03f6f,_0xc03f6f+0x3);}[_0xea0f52(0x56c)](_0x3e3a53){var _0x3d2c6e=_0xea0f52;return _0x3e3a53=this[_0x3d2c6e(0xbee)][_0x3e3a53]+0x3,this[_0x3d2c6e(0xa0e)][_0x3d2c6e(0x2cc)](_0x3e3a53,_0x3e3a53+0x3);}[_0xea0f52(0xb4e)](_0x4ed175){var _0x211ca5=_0xea0f52;return _0x4ed175=this[_0x211ca5(0xbee)][_0x4ed175]+0x6,this[_0x211ca5(0xa0e)]['subarray'](_0x4ed175,_0x4ed175+0x10);}[_0xea0f52(0x40a)](_0x5bb9d7){var _0x22eb02=_0xea0f52;return _0x5bb9d7=this[_0x22eb02(0xbee)][_0x5bb9d7]+0x1d,this[_0x22eb02(0xa4d)][_0x22eb02(0x2cc)](_0x5bb9d7,_0x5bb9d7+0x1);}[_0xea0f52(0x5ea)](_0x36f757){var _0xf7c9be=_0xea0f52;return _0x36f757=this['modelIndexOffsetStart'][_0x36f757]+0x1c,this[_0xf7c9be(0xa4d)][_0xf7c9be(0x2cc)](_0x36f757,_0x36f757+0x1);}['dataOffsetStart'](_0x4616f8){var _0x17cfd4=_0xea0f52;return _0x4616f8=this[_0x17cfd4(0xbee)][_0x4616f8]+0x1b,this[_0x17cfd4(0xa4d)][_0x17cfd4(0x2cc)](_0x4616f8,_0x4616f8+0x1);}['废弃'](_0x335b6a){var _0x5a9bd7=_0xea0f52;return _0x335b6a=this[_0x5a9bd7(0xbee)][_0x335b6a]+0x1a,this[_0x5a9bd7(0xa4d)][_0x5a9bd7(0x2cc)](_0x335b6a,_0x335b6a+0x1);}[_0xea0f52(0xcb9)](_0x1df5b6){var _0x11e47b=_0xea0f52;return _0x1df5b6=this[_0x11e47b(0xbee)][_0x1df5b6]+0x19,this[_0x11e47b(0xa4d)][_0x11e47b(0x2cc)](_0x1df5b6,_0x1df5b6+0x1);}[_0xea0f52(0x667)](_0x4cc800){var _0x18e0e0=_0xea0f52;return _0x4cc800=this[_0x18e0e0(0xbee)][_0x4cc800]+0x18,this[_0x18e0e0(0xa4d)]['subarray'](_0x4cc800,_0x4cc800+0x1);}[_0xea0f52(0x41d)](_0x1fae43){var _0x103207=_0xea0f52;return _0x1fae43=this[_0x103207(0xbee)][_0x1fae43]+0x17,this[_0x103207(0xa4d)][_0x103207(0x2cc)](_0x1fae43,_0x1fae43+0x1);}['componentCount'](_0x2305fd){var _0x33297c=_0xea0f52;return _0x2305fd=this[_0x33297c(0xbee)][_0x2305fd]+0x16,this[_0x33297c(0xa4d)][_0x33297c(0x2cc)](_0x2305fd,_0x2305fd+0x1);}[_0xea0f52(0x3ca)](_0x11645b){var _0x1c7a21=_0xea0f52;return _0x11645b=0x4*this['modelIndexOffsetStart'][_0x11645b]+0x78,_0x11645b=this[_0x1c7a21(0x63c)][_0x1c7a21(0x2cc)](_0x11645b,0xc8+_0x11645b),(this['textBuffer'][_0x1c7a21(0x3ee)](_0x11645b),this[_0x1c7a21(0x469)][_0x1c7a21(0xcdf)](this[_0x1c7a21(0x6f0)])['replace'](/\x00/g,''));}[_0xea0f52(0x91a)](_0x2931f1,_0xc7fdd5){var _0x43d4ab=_0xea0f52;if(_0xc7fdd5){_0x2931f1=0x4*this[_0x43d4ab(0xbee)][_0x2931f1]+0x78;let _0x4c6ac5=this[_0x43d4ab(0x63c)][_0x43d4ab(0x2cc)](_0x2931f1,0xc8+_0x2931f1);_0x4c6ac5[_0x43d4ab(0x3ee)](this['textE'][_0x43d4ab(0x5a9)](_0xc7fdd5));}}[_0xea0f52(0x90f)](_0xc362cb){var _0x46410f=_0xea0f52;return _0xc362cb=0x4*this['modelIndexOffsetStart'][_0xc362cb]+0x140,_0xc362cb=this['ui8d'][_0x46410f(0x2cc)](_0xc362cb,0x20+_0xc362cb),0x0!==_0xc362cb[0x0]?(this['textBuffer'][_0x46410f(0x3ee)](_0xc362cb),this[_0x46410f(0x469)][_0x46410f(0xcdf)](this[_0x46410f(0x6f0)][_0x46410f(0x2cc)](0x0,0x20))):'';}[_0xea0f52(0x37e)](_0x4ed7a2,_0x559287){var _0x13434c=_0xea0f52;if(_0x559287){_0x4ed7a2=0x4*this[_0x13434c(0xbee)][_0x4ed7a2]+0x140;let _0x1c1e11=this[_0x13434c(0x63c)][_0x13434c(0x2cc)](_0x4ed7a2,0x20+_0x4ed7a2);_0x1c1e11[_0x13434c(0x3ee)](this[_0x13434c(0x3e6)][_0x13434c(0x5a9)](_0x559287));}}[_0xea0f52(0x8c4)](_0x3e184a){var _0x51dd7f=_0xea0f52;this['modelIndexOffsetStart'][_0x3e184a['id']]=this[_0x51dd7f(0x590)],this['currentOffsetStartTemp']+=_0x496a52[_0x51dd7f(0x61f)];var _0x514d44=this[_0x51dd7f(0xbee)][_0x3e184a['id']];let _0x18fa91=this[_0x51dd7f(0xa0e)][_0x51dd7f(0x2cc)](_0x514d44,_0x514d44+0x16),_0x30c019=[0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x1];_0x3e184a['transform']&&(_0x30c019=(0x0,_0x20cd2d['ux'])(_0x3e184a[_0x51dd7f(0xb4e)]['split']('\x20'))),_0x18fa91[_0x51dd7f(0x3ee)]([...(0x0,_0x20cd2d['ux'])(_0x3e184a[_0x51dd7f(0x86f)][_0x51dd7f(0x349)]('\x20')),...(0x0,_0x20cd2d['ux'])(_0x3e184a[_0x51dd7f(0x56c)]['split']('\x20')),..._0x30c019]),_0x514d44=this[_0x51dd7f(0xbee)][_0x3e184a['id']]+0x16;let _0x29cdb2=this[_0x51dd7f(0xa4d)][_0x51dd7f(0x2cc)](_0x514d44,_0x514d44+0x7);_0x29cdb2['set']([_0x3e184a[_0x51dd7f(0x711)],_0x3e184a['meshInstancesCount'],_0x3e184a[_0x51dd7f(0x667)],_0x3e184a[_0x51dd7f(0xcb9)],0x0,-0x1,_0x3e184a[_0x51dd7f(0x5ea)]||0x1]),this[_0x51dd7f(0x91a)](_0x3e184a['id'],_0x3e184a[_0x51dd7f(0x836)]),this['setUniqueId'](_0x3e184a['id'],_0x3e184a[_0x51dd7f(0xb46)]);}[_0xea0f52(0x4d4)](){var _0x9926e6=_0xea0f52;let _0x27d945={};for(var _0x653239 in this[_0x9926e6(0xbee)]){var _0x653239=~~_0x653239,_0x5e13b1=this[_0x9926e6(0xbee)][_0x653239];let _0x3d1596=this['f32d']['subarray'](_0x5e13b1,_0x5e13b1+0x16);_0x5e13b1=this[_0x9926e6(0xbee)][_0x653239]+0x16,_0x5e13b1=this[_0x9926e6(0xa4d)][_0x9926e6(0x2cc)](_0x5e13b1,_0x5e13b1+0x7),_0x27d945[_0x653239]={'id':_0x653239,'boxMin':_0x3d1596[_0x9926e6(0x2cc)](0x0,0x3),'boxMax':_0x3d1596[_0x9926e6(0x2cc)](0x3,0x6),'transform':_0x3d1596[_0x9926e6(0x2cc)](0x6,0x16),'componentCount':_0x5e13b1[0x0],'meshInstancesCount':_0x5e13b1[0x1],'meshCount':_0x5e13b1[0x2],'materialCount':_0x5e13b1[0x3],'fileName':this['getFileName'](_0x653239),'uniqueId':this['getUniqueId'](_0x653239),'status':_0x5e13b1[0x6]};}return _0x27d945;}[_0xea0f52(0xa1d)](_0x29e6eb){var _0x2ef8a5=_0xea0f52,_0x9acdb0=this['modelIndexOffsetStart'][_0x29e6eb];let _0x4c901d=this['f32d'][_0x2ef8a5(0x2cc)](_0x9acdb0,_0x9acdb0+0x16);return _0x9acdb0=this['modelIndexOffsetStart'][_0x29e6eb]+0x16,_0x9acdb0=this[_0x2ef8a5(0xa4d)][_0x2ef8a5(0x2cc)](_0x9acdb0,_0x9acdb0+0x7),{'id':_0x29e6eb,'boxMin':_0x4c901d[_0x2ef8a5(0x2cc)](0x0,0x3),'boxMax':_0x4c901d[_0x2ef8a5(0x2cc)](0x3,0x6),'transform':_0x4c901d[_0x2ef8a5(0x2cc)](0x6,0x16),'componentCount':_0x9acdb0[0x0],'meshInstancesCount':_0x9acdb0[0x1],'meshCount':_0x9acdb0[0x2],'materialCount':_0x9acdb0[0x3],'fileName':this[_0x2ef8a5(0x3ca)](_0x29e6eb),'uniqueId':this[_0x2ef8a5(0x90f)](_0x29e6eb),'status':_0x9acdb0[0x6]};}[_0xea0f52(0xb76)](_0x5354e8){var _0x31310d=_0xea0f52;return this[_0x31310d(0xbee)]['hasOwnProperty'](_0x5354e8);}}_0x496a52['modelDataLength']=0x58;},0x15a31:(_0x549f0d,_0x2060dd,_0x34e1a7)=>{var _0x53f60f=a6_0x5e3a36,_0x1caa3d;_0x34e1a7['d'](_0x2060dd,{'p':()=>_0x276eac}),_0x1caa3d={'cameraId':0x0,0x0:'cameraId','worldPosition':0x1,0x1:_0x53f60f(0x1a5),'worldDirection':0x2,0x2:_0x53f60f(0xad7),'worldUp':0x3,0x3:_0x53f60f(0xca0),'viewMatrix':0x4,0x4:'viewMatrix','projectionMatrix':0x5,0x5:_0x53f60f(0xb0c),'heartbeat':0x6,0x6:'heartbeat','clipPlane':0x7,0x7:_0x53f60f(0x52a),'useCache':0x8,0x8:_0x53f60f(0x228),'maxRenderTriangleCount':0x9,0x9:_0x53f60f(0x62d),'frameMaxRenderMemoryLength':0xa,0xa:'frameMaxRenderMemoryLength','pickId':0xb,0xb:_0x53f60f(0x678),'pickWorldPosition':0xc,0xc:_0x53f60f(0xc53),'pickWorldNormal':0xd,0xd:_0x53f60f(0x84f),'getBox':0xe,0xe:_0x53f60f(0x211),'maxTextureSize':0xf,0xf:_0x53f60f(0x74c),'renderPageFocus':0x10,0x10:_0x53f60f(0x43b),'renderWidthHeight':0x11,0x11:'renderWidthHeight','allowSingleMeshMaxTriangleFaceQuantity':0x12,0x12:'allowSingleMeshMaxTriangleFaceQuantity'};class _0x276eac{constructor(_0x19240d,_0x31d403){var _0x4a29b2=_0x53f60f;if(this['dataStoreObject']={},this[_0x4a29b2(0x27e)]=0x0,this[_0x4a29b2(0x2a3)]=0x0,this['arrayBufferBlockMaxByteLength']=0x7fe00000,this['arrayBufferBlockCount']=0x0,this[_0x4a29b2(0xcd8)]=Float64Array,_0x19240d||_0x31d403){for(var _0x3edffb in(this['dataStoreArrayBuffer']=_0x31d403,_0x19240d))this[_0x4a29b2(0xd1d)](_0x3edffb,_0x19240d[_0x3edffb][_0x4a29b2(0x43c)]);}else{this[_0x4a29b2(0x8ab)]=[],_0x31d403=0x65*Float64Array[_0x4a29b2(0x343)];if(this['arrayBufferBlockCount']=Math[_0x4a29b2(0x47c)](_0x31d403/this[_0x4a29b2(0xa0f)]),0x0===this[_0x4a29b2(0x725)])this[_0x4a29b2(0x8ab)][_0x4a29b2(0x2bd)](new SharedArrayBuffer(_0x31d403));else{for(let _0x28253d=0x0;_0x28253d<this['arrayBufferBlockCount'];_0x28253d++)this[_0x4a29b2(0x8ab)]['push'](new SharedArrayBuffer(this[_0x4a29b2(0xa0f)]));this['dataStoreArrayBuffer'][_0x4a29b2(0x2bd)](new SharedArrayBuffer(_0x31d403%this['arrayBufferBlockMaxByteLength']));}this[_0x4a29b2(0xd1d)](_0x1caa3d['cameraId'],0x1),this[_0x4a29b2(0xd1d)](_0x1caa3d[_0x4a29b2(0x1a5)],0x3),this[_0x4a29b2(0xd1d)](_0x1caa3d[_0x4a29b2(0xad7)],0x3),this[_0x4a29b2(0xd1d)](_0x1caa3d[_0x4a29b2(0xca0)],0x3),this['AddStore'](_0x1caa3d['viewMatrix'],0x10),this['AddStore'](_0x1caa3d[_0x4a29b2(0xb0c)],0x15),this[_0x4a29b2(0xd1d)](_0x1caa3d[_0x4a29b2(0x23b)],0x1),this[_0x4a29b2(0xd1d)](_0x1caa3d['clipPlane'],0x19),this[_0x4a29b2(0xd1d)](_0x1caa3d[_0x4a29b2(0x228)],0x1),this['AddStore'](_0x1caa3d[_0x4a29b2(0x62d)],0x1),this[_0x4a29b2(0xd1d)](_0x1caa3d[_0x4a29b2(0x49a)],0x1),this[_0x4a29b2(0xd1d)](_0x1caa3d[_0x4a29b2(0x678)],0x5),this[_0x4a29b2(0xd1d)](_0x1caa3d['pickWorldPosition'],0x4),this[_0x4a29b2(0xd1d)](_0x1caa3d[_0x4a29b2(0x84f)],0x4),this[_0x4a29b2(0xd1d)](_0x1caa3d[_0x4a29b2(0x211)],0x7),this['AddStore'](_0x1caa3d[_0x4a29b2(0x74c)],0x1),this[_0x4a29b2(0xd1d)](_0x1caa3d[_0x4a29b2(0x43b)],0x1),this['AddStore'](_0x1caa3d[_0x4a29b2(0x1dd)],0x2),this[_0x4a29b2(0xd1d)](_0x1caa3d[_0x4a29b2(0x40c)],0x1);}}get[_0x53f60f(0x40c)](){return this['GetData'](_0x1caa3d['allowSingleMeshMaxTriangleFaceQuantity'])[0x0];}set[_0x53f60f(0x40c)](_0xd41f57){var _0x11c292=_0x53f60f;this[_0x11c292(0xb04)](_0x1caa3d[_0x11c292(0x40c)])[0x0]=_0xd41f57;}get[_0x53f60f(0x1dd)](){var _0x1bc5f1=_0x53f60f;return this['GetData'](_0x1caa3d[_0x1bc5f1(0x1dd)]);}set[_0x53f60f(0x1dd)](_0x52063a){var _0x13d77d=_0x53f60f;this[_0x13d77d(0x573)](_0x1caa3d[_0x13d77d(0x1dd)],_0x52063a);}get['renderPageFocus'](){var _0xd4e15=_0x53f60f;return this[_0xd4e15(0xb04)](_0x1caa3d[_0xd4e15(0x43b)])[0x0];}set[_0x53f60f(0x43b)](_0x51a297){this['GetData'](_0x1caa3d['renderPageFocus'])[0x0]=_0x51a297;}get[_0x53f60f(0x74c)](){var _0x3ee35e=_0x53f60f;return this[_0x3ee35e(0xb04)](_0x1caa3d[_0x3ee35e(0x74c)])[0x0];}set[_0x53f60f(0x74c)](_0x297659){var _0x3ba59b=_0x53f60f;this[_0x3ba59b(0xb04)](_0x1caa3d[_0x3ba59b(0x74c)])[0x0]=_0x297659;}get[_0x53f60f(0x211)](){var _0x412659=_0x53f60f;return this[_0x412659(0xb04)](_0x1caa3d[_0x412659(0x211)]);}set[_0x53f60f(0x211)](_0x1983ff){var _0x3ed2bb=_0x53f60f;this['SetData'](_0x1caa3d[_0x3ed2bb(0x211)],_0x1983ff);}get[_0x53f60f(0x84f)](){var _0x1dd50b=_0x53f60f;return this[_0x1dd50b(0xb04)](_0x1caa3d[_0x1dd50b(0x84f)]);}set[_0x53f60f(0x84f)](_0x2ecc3f){var _0x463065=_0x53f60f;this['SetData'](_0x1caa3d[_0x463065(0x84f)],_0x2ecc3f);}get['pickWorldPosition'](){var _0x44d8d1=_0x53f60f;return this[_0x44d8d1(0xb04)](_0x1caa3d[_0x44d8d1(0xc53)]);}set[_0x53f60f(0xc53)](_0x5c847){var _0x49c14c=_0x53f60f;this[_0x49c14c(0x573)](_0x1caa3d[_0x49c14c(0xc53)],_0x5c847);}get[_0x53f60f(0x678)](){var _0x2e448b=_0x53f60f;return this[_0x2e448b(0xb04)](_0x1caa3d[_0x2e448b(0x678)]);}set[_0x53f60f(0x678)](_0x2a7462){var _0x49d92f=_0x53f60f;this[_0x49d92f(0x573)](_0x1caa3d['pickId'],_0x2a7462);}get[_0x53f60f(0x49a)](){var _0x247edd=_0x53f60f;return this[_0x247edd(0xb04)](_0x1caa3d['frameMaxRenderMemoryLength'])[0x0];}set[_0x53f60f(0x49a)](_0x430e81){var _0x38c406=_0x53f60f;this[_0x38c406(0xb04)](_0x1caa3d[_0x38c406(0x49a)])[0x0]=_0x430e81;}get['maxRenderTriangleCount'](){var _0x303d9e=_0x53f60f;return this[_0x303d9e(0xb04)](_0x1caa3d[_0x303d9e(0x62d)])[0x0];}set[_0x53f60f(0x62d)](_0x50f092){var _0x905207=_0x53f60f;this[_0x905207(0xb04)](_0x1caa3d[_0x905207(0x62d)])[0x0]=_0x50f092;}get['useCache'](){var _0x16bf0f=_0x53f60f;return this[_0x16bf0f(0xb04)](_0x1caa3d['useCache'])[0x0];}set[_0x53f60f(0x228)](_0x4db6c5){var _0x377e60=_0x53f60f;this['GetData'](_0x1caa3d[_0x377e60(0x228)])[0x0]=_0x4db6c5;}get[_0x53f60f(0x4c7)](){var _0x815769=_0x53f60f;return this['GetData'](_0x1caa3d[_0x815769(0x4c7)])[0x0];}set[_0x53f60f(0x4c7)](_0x17de77){var _0xb0eea6=_0x53f60f;this[_0xb0eea6(0xb04)](_0x1caa3d[_0xb0eea6(0x4c7)])[0x0]=0xf423f<_0x17de77?0x2:_0x17de77;}get[_0x53f60f(0x1a5)](){var _0x316bab=_0x53f60f;return this[_0x316bab(0xb04)](_0x1caa3d[_0x316bab(0x1a5)]);}set['worldPosition'](_0x3f94e9){var _0x2bebfc=_0x53f60f;this['SetData'](_0x1caa3d[_0x2bebfc(0x1a5)],_0x3f94e9);}get[_0x53f60f(0xad7)](){var _0x44046e=_0x53f60f;return this['GetData'](_0x1caa3d[_0x44046e(0xad7)]);}set[_0x53f60f(0xad7)](_0x16b653){var _0x3357ed=_0x53f60f;this[_0x3357ed(0x573)](_0x1caa3d[_0x3357ed(0xad7)],_0x16b653);}get[_0x53f60f(0xca0)](){var _0x4613b2=_0x53f60f;return this[_0x4613b2(0xb04)](_0x1caa3d[_0x4613b2(0xca0)]);}set[_0x53f60f(0xca0)](_0x109e63){var _0x466d21=_0x53f60f;this[_0x466d21(0x573)](_0x1caa3d['worldUp'],_0x109e63);}get[_0x53f60f(0x367)](){var _0x36b1d7=_0x53f60f;return this[_0x36b1d7(0xb04)](_0x1caa3d[_0x36b1d7(0x367)]);}set['viewMatrix'](_0x440080){var _0x5b66f0=_0x53f60f;this[_0x5b66f0(0x573)](_0x1caa3d[_0x5b66f0(0x367)],_0x440080);}get[_0x53f60f(0xb0c)](){return this['GetData'](_0x1caa3d['projectionMatrix']);}set[_0x53f60f(0xb0c)](_0x22c9ba){var _0x32854e=_0x53f60f;this[_0x32854e(0x573)](_0x1caa3d['projectionMatrix'],_0x22c9ba);}get[_0x53f60f(0x23b)](){var _0x327120=_0x53f60f;return this['GetData'](_0x1caa3d[_0x327120(0x23b)])[0x0];}set[_0x53f60f(0x23b)](_0xfc034c){var _0x2e2ffb=_0x53f60f;this[_0x2e2ffb(0xb04)](_0x1caa3d['heartbeat'])[0x0]=_0xfc034c;}get[_0x53f60f(0x52a)](){var _0x2c6a9c=_0x53f60f;return this[_0x2c6a9c(0xb04)](_0x1caa3d[_0x2c6a9c(0x52a)]);}set[_0x53f60f(0x52a)](_0x4dd047){var _0x398c94=_0x53f60f;this[_0x398c94(0x573)](_0x1caa3d[_0x398c94(0x52a)],_0x4dd047);}[_0x53f60f(0xd1d)](_0x1be8a3,_0x278a91){var _0xe1ebc3=_0x53f60f;this[_0xe1ebc3(0x5f3)]['hasOwnProperty'](_0x1be8a3)||(this[_0xe1ebc3(0x5f3)][_0x1be8a3]={},this['dataStoreObject'][_0x1be8a3][_0xe1ebc3(0x43c)]=_0x278a91,this[_0xe1ebc3(0x2a3)]+_0x278a91*this['dataType'][_0xe1ebc3(0x343)]>this['arrayBufferBlockMaxByteLength']&&(this[_0xe1ebc3(0x27e)]++,this[_0xe1ebc3(0x2a3)]=0x0),this[_0xe1ebc3(0x5f3)][_0x1be8a3]['view']=new this['dataType'](this[_0xe1ebc3(0x8ab)][this[_0xe1ebc3(0x27e)]],this['dataStoreDataByteOffset'],this[_0xe1ebc3(0x5f3)][_0x1be8a3][_0xe1ebc3(0x43c)]),this[_0xe1ebc3(0x5f3)][_0x1be8a3]['byteOffset']=this['dataStoreDataByteOffset'],this[_0xe1ebc3(0x2a3)]+=this[_0xe1ebc3(0xcd8)][_0xe1ebc3(0x343)]*this[_0xe1ebc3(0x5f3)][_0x1be8a3][_0xe1ebc3(0x43c)]);}[_0x53f60f(0x573)](_0x404fa3,_0x223018){var _0x4fd1cd=_0x53f60f;_0x223018&&this[_0x4fd1cd(0x5f3)][_0x404fa3][_0x4fd1cd(0x704)]['set'](_0x223018);}['GetData'](_0x49844a){var _0x279c7d=_0x53f60f;return null==(_0x49844a=this[_0x279c7d(0x5f3)][_0x49844a])?void 0x0:_0x49844a[_0x279c7d(0x704)];}}}}]);
|