// Made with Amplify Shader Editor // Available at the Unity Asset Store - http://u3d.as/y3X Shader "FAE/Grass" { Properties { _Cutoff( "Mask Clip Value", Float ) = 0.5 [HDR]_ColorTop("ColorTop", Color) = (0.3001064,0.6838235,0,1) [HDR]_ColorBottom("Color Bottom", Color) = (0.232,0.5,0,1) [NoScaleOffset]_MainTex("MainTex", 2D) = "white" {} [NoScaleOffset][Normal]_BumpMap("BumpMap", 2D) = "bump" {} _ColorVariation("ColorVariation", Range( 0 , 0.2)) = 0.05 _AmbientOcclusion("AmbientOcclusion", Range( 0 , 1)) = 0 _TransmissionSize("Transmission Size", Range( 0 , 20)) = 1 _TransmissionAmount("Transmission Amount", Range( 0 , 10)) = 2.696819 _MaxWindStrength("Max Wind Strength", Range( 0 , 1)) = 0.126967 _WindSwinging("WindSwinging", Range( 0 , 1)) = 0.25 _WindAmplitudeMultiplier("WindAmplitudeMultiplier", Float) = 1 _HeightmapInfluence("HeightmapInfluence", Range( 0 , 1)) = 0 _MinHeight("MinHeight", Range( -1 , 0)) = -0.5 _MaxHeight("MaxHeight", Range( -1 , 1)) = 0 _BendingInfluence("BendingInfluence", Range( 0 , 1)) = 0 _PigmentMapInfluence("PigmentMapInfluence", Range( 0 , 1)) = 0 _PigmentMapHeight("PigmentMapHeight", Range( 0 , 1)) = 0 _BendingTint("BendingTint", Range( -0.1 , 0.1)) = -0.05 [Toggle(_VS_TOUCHBEND_ON)] _VS_TOUCHBEND("VS_TOUCHBEND", Float) = 0 [HideInInspector] _texcoord( "", 2D ) = "white" {} [HideInInspector] __dirty( "", Int ) = 1 } SubShader { Tags{ "RenderType" = "Opaque" "Queue" = "AlphaTest+0" } Cull Off CGINCLUDE #include "UnityPBSLighting.cginc" #include "UnityShaderVariables.cginc" #include "UnityCG.cginc" #include "UnityStandardUtils.cginc" #include "Lighting.cginc" #pragma target 3.0 #pragma multi_compile_instancing #pragma shader_feature _VS_TOUCHBEND_ON #include "VS_InstancedIndirect.cginc" #pragma multi_compile GPU_FRUSTUM_ON __ #pragma instancing_options assumeuniformscaling lodfade maxcount:50 procedural:setupScale forwardadd #ifdef UNITY_PASS_SHADOWCASTER #undef INTERNAL_DATA #undef WorldReflectionVector #undef WorldNormalVector #define INTERNAL_DATA half3 internalSurfaceTtoW0; half3 internalSurfaceTtoW1; half3 internalSurfaceTtoW2; #define WorldReflectionVector(data,normal) reflect (data.worldRefl, half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal))) #define WorldNormalVector(data,normal) half3(dot(data.internalSurfaceTtoW0,normal), dot(data.internalSurfaceTtoW1,normal), dot(data.internalSurfaceTtoW2,normal)) #endif struct Input { float3 worldPos; float2 uv_texcoord; float3 worldNormal; INTERNAL_DATA float4 vertexColor : COLOR; }; struct SurfaceOutputCustomLightingCustom { half3 Albedo; half3 Normal; half3 Emission; half Metallic; half Smoothness; half Occlusion; half Alpha; Input SurfInput; UnityGIInput GIData; }; uniform float _MaxWindStrength; uniform float _WindStrength; uniform sampler2D _WindVectors; uniform float _WindAmplitudeMultiplier; uniform float _WindAmplitude; uniform float _WindSpeed; uniform float4 _WindDirection; uniform float _WindSwinging; uniform float4 _ObstaclePosition; uniform float _BendingStrength; uniform float _BendingRadius; uniform float _BendingInfluence; uniform sampler2D _PigmentMap; uniform float4 _TerrainUV; uniform float _PigmentMapInfluence; uniform float _MinHeight; uniform float _HeightmapInfluence; uniform float _MaxHeight; uniform sampler2D _MainTex; uniform float _WindDebug; uniform float4 _ColorTop; uniform float4 _ColorBottom; uniform float _PigmentMapHeight; uniform float _ColorVariation; uniform float _TransmissionSize; uniform float _TransmissionAmount; uniform float _BendingTint; uniform float _AmbientOcclusion; uniform sampler2D _BumpMap; uniform float _Cutoff = 0.5; sampler2D _TouchReact_Buffer; float4 _TouchReact_Pos; float3 TouchReactAdjustVertex(float3 pos) { float3 worldPos = mul(unity_ObjectToWorld, float4(pos,1)); float2 tbPos = saturate((float2(worldPos.x,-worldPos.z) - _TouchReact_Pos.xz)/_TouchReact_Pos.w); float2 touchBend = tex2Dlod(_TouchReact_Buffer, float4(tbPos,0,0)); touchBend.y *= 1.0 - length(tbPos - 0.5) * 2; if(touchBend.y > 0.01) { worldPos.y = min(worldPos.y, touchBend.x * 10000); } float3 changedLocalPos = mul(unity_WorldToObject, float4(worldPos,1)).xyz; return changedLocalPos - pos; } void vertexDataFunc( inout appdata_full v, out Input o ) { UNITY_INITIALIZE_OUTPUT( Input, o ); float WindStrength522 = _WindStrength; float3 ase_worldPos = mul( unity_ObjectToWorld, v.vertex ); float2 appendResult469 = (float2(_WindDirection.x , _WindDirection.z)); float3 WindVector91 = UnpackNormal( tex2Dlod( _WindVectors, float4( ( ( ( (ase_worldPos).xz * 0.01 ) * _WindAmplitudeMultiplier * _WindAmplitude ) + ( ( ( _WindSpeed * 0.05 ) * _Time.w ) * appendResult469 ) ), 0, 0.0) ) ); float3 break277 = WindVector91; float3 appendResult495 = (float3(break277.x , 0.0 , break277.y)); float3 temp_cast_0 = (-1.0).xxx; float3 lerpResult249 = lerp( (float3( 0,0,0 ) + (appendResult495 - temp_cast_0) * (float3( 1,0,0 ) - float3( 0,0,0 )) / (float3( 1,0,0 ) - temp_cast_0)) , appendResult495 , _WindSwinging); float3 lerpResult74 = lerp( ( ( _MaxWindStrength * WindStrength522 ) * lerpResult249 ) , float3( 0,0,0 ) , ( 1.0 - v.color.r )); float3 Wind84 = lerpResult74; float3 temp_output_571_0 = (_ObstaclePosition).xyz; float3 normalizeResult184 = normalize( ( temp_output_571_0 - ase_worldPos ) ); float3 worldToObjDir689 = mul( unity_WorldToObject, float4( normalizeResult184, 0 ) ).xyz; float temp_output_186_0 = ( _BendingStrength * 0.1 ); float3 appendResult468 = (float3(temp_output_186_0 , 0.0 , temp_output_186_0)); float3 Bending201 = ( v.color.r * -( ( ( worldToObjDir689 * appendResult468 ) * ( 1.0 - saturate( ( distance( temp_output_571_0 , ase_worldPos ) / _BendingRadius ) ) ) ) * _BendingInfluence ) ); float3 temp_output_203_0 = ( Wind84 + Bending201 ); float2 appendResult483 = (float2(_TerrainUV.z , _TerrainUV.w)); float2 TerrainUV324 = ( ( ( 1.0 - appendResult483 ) / _TerrainUV.x ) + ( ( _TerrainUV.x / ( _TerrainUV.x * _TerrainUV.x ) ) * (ase_worldPos).xz ) ); float4 PigmentMapTex320 = tex2Dlod( _PigmentMap, float4( TerrainUV324, 0, 1.0) ); float temp_output_467_0 = (PigmentMapTex320).a; float Heightmap518 = temp_output_467_0; float PigmentMapInfluence528 = _PigmentMapInfluence; float3 lerpResult508 = lerp( temp_output_203_0 , ( temp_output_203_0 * Heightmap518 ) , PigmentMapInfluence528); float3 break437 = lerpResult508; float3 ase_vertex3Pos = v.vertex.xyz; #ifdef _VS_TOUCHBEND_ON float staticSwitch659 = (TouchReactAdjustVertex(float4( ase_vertex3Pos , 0.0 ).xyz)).y; #else float staticSwitch659 = 0.0; #endif float TouchBendPos613 = staticSwitch659; float temp_output_499_0 = ( 1.0 - v.color.r ); float lerpResult344 = lerp( ( saturate( ( ( 1.0 - temp_output_467_0 ) - TouchBendPos613 ) ) * _MinHeight ) , 0.0 , temp_output_499_0); float lerpResult388 = lerp( _MaxHeight , 0.0 , temp_output_499_0); float GrassLength365 = ( ( lerpResult344 * _HeightmapInfluence ) + lerpResult388 ); float3 appendResult391 = (float3(break437.x , GrassLength365 , break437.z)); float3 VertexOffset330 = appendResult391; v.vertex.xyz += VertexOffset330; v.normal = float3(0,1,0); } inline half4 LightingStandardCustomLighting( inout SurfaceOutputCustomLightingCustom s, half3 viewDir, UnityGI gi ) { UnityGIInput data = s.GIData; Input i = s.SurfInput; half4 c = 0; #ifdef UNITY_PASS_FORWARDBASE float ase_lightAtten = data.atten; if( _LightColor0.a == 0) ase_lightAtten = 0; #else float3 ase_lightAttenRGB = gi.light.color / ( ( _LightColor0.rgb ) + 0.000001 ); float ase_lightAtten = max( max( ase_lightAttenRGB.r, ase_lightAttenRGB.g ), ase_lightAttenRGB.b ); #endif #if defined(HANDLE_SHADOWS_BLENDING_IN_GI) half bakedAtten = UnitySampleBakedOcclusion(data.lightmapUV.xy, data.worldPos); float zDist = dot(_WorldSpaceCameraPos - data.worldPos, UNITY_MATRIX_V[2].xyz); float fadeDist = UnityComputeShadowFadeDistance(data.worldPos, zDist); ase_lightAtten = UnityMixRealtimeAndBakedShadows(data.atten, bakedAtten, UnityComputeShadowFade(fadeDist)); #endif float2 uv_MainTex97 = i.uv_texcoord; float4 tex2DNode97 = tex2D( _MainTex, uv_MainTex97 ); float Alpha98 = tex2DNode97.a; float lerpResult313 = lerp( Alpha98 , 1.0 , _WindDebug); SurfaceOutputStandard s592 = (SurfaceOutputStandard ) 0; float4 lerpResult363 = lerp( _ColorTop , _ColorBottom , ( 1.0 - i.vertexColor.r )); float4 BaseColor551 = ( lerpResult363 * tex2DNode97 ); float4 TopColor549 = _ColorTop; float2 appendResult483 = (float2(_TerrainUV.z , _TerrainUV.w)); float3 ase_worldPos = i.worldPos; float2 TerrainUV324 = ( ( ( 1.0 - appendResult483 ) / _TerrainUV.x ) + ( ( _TerrainUV.x / ( _TerrainUV.x * _TerrainUV.x ) ) * (ase_worldPos).xz ) ); float4 PigmentMapTex320 = tex2D( _PigmentMap, TerrainUV324 ); float lerpResult416 = lerp( ( 1.0 - i.vertexColor.r ) , 1.0 , _PigmentMapHeight); float4 lerpResult376 = lerp( TopColor549 , PigmentMapTex320 , lerpResult416); float4 lerpResult290 = lerp( BaseColor551 , lerpResult376 , _PigmentMapInfluence); float4 PigmentMapColor526 = lerpResult290; float2 appendResult469 = (float2(_WindDirection.x , _WindDirection.z)); float3 WindVector91 = UnpackNormal( tex2D( _WindVectors, ( ( ( (ase_worldPos).xz * 0.01 ) * _WindAmplitudeMultiplier * _WindAmplitude ) + ( ( ( _WindSpeed * 0.05 ) * _Time.w ) * appendResult469 ) ) ) ); float3 break240 = WindVector91; float WindStrength522 = _WindStrength; float WindTint523 = saturate( ( ( ( break240.x * break240.y ) * i.vertexColor.r ) * _ColorVariation * WindStrength522 ) ); float3 Color161 = ( (PigmentMapColor526).rgb + WindTint523 ); float3 ase_worldViewDir = normalize( UnityWorldSpaceViewDir( ase_worldPos ) ); #if defined(LIGHTMAP_ON) && UNITY_VERSION < 560 //aseld float3 ase_worldlightDir = 0; #else //aseld float3 ase_worldlightDir = normalize( UnityWorldSpaceLightDir( ase_worldPos ) ); #endif //aseld float dotResult141 = dot( -ase_worldViewDir , ase_worldlightDir ); float temp_output_467_0 = (PigmentMapTex320).a; float Heightmap518 = temp_output_467_0; float Subsurface153 = saturate( ( ( ( ( pow( max( dotResult141 , 0.0 ) , _TransmissionSize ) * _TransmissionAmount ) * i.vertexColor.r ) * Heightmap518 ) * ase_lightAtten ) ); float3 lerpResult106 = lerp( Color161 , ( Color161 * 2.0 ) , Subsurface153); float3 ase_vertex3Pos = mul( unity_WorldToObject, float4( i.worldPos , 1 ) ); #ifdef _VS_TOUCHBEND_ON float staticSwitch659 = (TouchReactAdjustVertex(float4( ase_vertex3Pos , 0.0 ).xyz)).y; #else float staticSwitch659 = 0.0; #endif float TouchBendPos613 = staticSwitch659; float3 temp_cast_1 = (( TouchBendPos613 * _BendingTint )).xxx; float clampResult302 = clamp( ( ( i.vertexColor.r * 1.33 ) * _AmbientOcclusion ) , 0.0 , 1.0 ); float lerpResult115 = lerp( 1.0 , clampResult302 , _AmbientOcclusion); float AmbientOcclusion207 = lerpResult115; float3 FinalColor205 = ( ( lerpResult106 - temp_cast_1 ) * AmbientOcclusion207 ); float3 lerpResult310 = lerp( FinalColor205 , WindVector91 , _WindDebug); s592.Albedo = lerpResult310; float2 uv_BumpMap172 = i.uv_texcoord; float3 Normals174 = UnpackScaleNormal( tex2D( _BumpMap, uv_BumpMap172 ), 1.0 ); s592.Normal = WorldNormalVector( i , Normals174 ); s592.Emission = float3( 0,0,0 ); s592.Metallic = 0.0; s592.Smoothness = 0.0; s592.Occlusion = 1.0; data.light = gi.light; UnityGI gi592 = gi; #ifdef UNITY_PASS_FORWARDBASE Unity_GlossyEnvironmentData g592 = UnityGlossyEnvironmentSetup( s592.Smoothness, data.worldViewDir, s592.Normal, float3(0,0,0)); gi592 = UnityGlobalIllumination( data, s592.Occlusion, s592.Normal, g592 ); #endif float3 surfResult592 = LightingStandard ( s592, viewDir, gi592 ).rgb; surfResult592 += s592.Emission; #ifdef UNITY_PASS_FORWARDADD//592 surfResult592 -= s592.Emission; #endif//592 c.rgb = surfResult592; c.a = 1; clip( lerpResult313 - _Cutoff ); return c; } inline void LightingStandardCustomLighting_GI( inout SurfaceOutputCustomLightingCustom s, UnityGIInput data, inout UnityGI gi ) { s.GIData = data; } void surf( Input i , inout SurfaceOutputCustomLightingCustom o ) { o.SurfInput = i; o.Normal = float3(0,0,1); } ENDCG CGPROGRAM #pragma exclude_renderers xbox360 psp2 n3ds wiiu #pragma surface surf StandardCustomLighting keepalpha fullforwardshadows nolightmap nodirlightmap dithercrossfade vertex:vertexDataFunc ENDCG Pass { Name "ShadowCaster" Tags{ "LightMode" = "ShadowCaster" } ZWrite On CGPROGRAM #pragma vertex vert #pragma fragment frag #pragma target 3.0 #pragma multi_compile_shadowcaster #pragma multi_compile UNITY_PASS_SHADOWCASTER #pragma skip_variants FOG_LINEAR FOG_EXP FOG_EXP2 #include "HLSLSupport.cginc" #if ( SHADER_API_D3D11 || SHADER_API_GLCORE || SHADER_API_GLES3 || SHADER_API_METAL || SHADER_API_VULKAN ) #define CAN_SKIP_VPOS #endif #include "UnityCG.cginc" #include "Lighting.cginc" #include "UnityPBSLighting.cginc" struct v2f { V2F_SHADOW_CASTER; float2 customPack1 : TEXCOORD1; float4 tSpace0 : TEXCOORD2; float4 tSpace1 : TEXCOORD3; float4 tSpace2 : TEXCOORD4; half4 color : COLOR0; UNITY_VERTEX_INPUT_INSTANCE_ID UNITY_VERTEX_OUTPUT_STEREO }; v2f vert( appdata_full v ) { v2f o; UNITY_SETUP_INSTANCE_ID( v ); UNITY_INITIALIZE_OUTPUT( v2f, o ); UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO( o ); UNITY_TRANSFER_INSTANCE_ID( v, o ); Input customInputData; vertexDataFunc( v, customInputData ); float3 worldPos = mul( unity_ObjectToWorld, v.vertex ).xyz; half3 worldNormal = UnityObjectToWorldNormal( v.normal ); half3 worldTangent = UnityObjectToWorldDir( v.tangent.xyz ); half tangentSign = v.tangent.w * unity_WorldTransformParams.w; half3 worldBinormal = cross( worldNormal, worldTangent ) * tangentSign; o.tSpace0 = float4( worldTangent.x, worldBinormal.x, worldNormal.x, worldPos.x ); o.tSpace1 = float4( worldTangent.y, worldBinormal.y, worldNormal.y, worldPos.y ); o.tSpace2 = float4( worldTangent.z, worldBinormal.z, worldNormal.z, worldPos.z ); o.customPack1.xy = customInputData.uv_texcoord; o.customPack1.xy = v.texcoord; TRANSFER_SHADOW_CASTER_NORMALOFFSET( o ) o.color = v.color; return o; } half4 frag( v2f IN #if !defined( CAN_SKIP_VPOS ) , UNITY_VPOS_TYPE vpos : VPOS #endif ) : SV_Target { UNITY_SETUP_INSTANCE_ID( IN ); Input surfIN; UNITY_INITIALIZE_OUTPUT( Input, surfIN ); surfIN.uv_texcoord = IN.customPack1.xy; float3 worldPos = float3( IN.tSpace0.w, IN.tSpace1.w, IN.tSpace2.w ); half3 worldViewDir = normalize( UnityWorldSpaceViewDir( worldPos ) ); surfIN.worldPos = worldPos; surfIN.worldNormal = float3( IN.tSpace0.z, IN.tSpace1.z, IN.tSpace2.z ); surfIN.internalSurfaceTtoW0 = IN.tSpace0.xyz; surfIN.internalSurfaceTtoW1 = IN.tSpace1.xyz; surfIN.internalSurfaceTtoW2 = IN.tSpace2.xyz; surfIN.vertexColor = IN.color; SurfaceOutputCustomLightingCustom o; UNITY_INITIALIZE_OUTPUT( SurfaceOutputCustomLightingCustom, o ) surf( surfIN, o ); UnityGI gi; UNITY_INITIALIZE_OUTPUT( UnityGI, gi ); o.Alpha = LightingStandardCustomLighting( o, worldViewDir, gi ).a; #if defined( CAN_SKIP_VPOS ) float2 vpos = IN.pos; #endif SHADOW_CASTER_FRAGMENT( IN ) } ENDCG } } Fallback "Diffuse" CustomEditor "FAE.GrassShaderGUI" } /*ASEBEGIN Version=17400 1927;29;1906;1004;2251.282;2536.348;1;True;False Node;AmplifyShaderEditor.CommentaryNode;494;-4616.219,-36.44699;Inherit;False;1616.341;554.3467;Comment;11;324;491;489;490;484;487;485;486;488;483;493;TerrainUV;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;368;-4626.298,-1189.271;Inherit;False;2299.111;956.0105;Comment;18;91;410;222;298;221;72;297;79;520;469;75;308;384;69;67;77;319;383;Wind vectors;1,1,1,1;0;0 Node;AmplifyShaderEditor.RangedFloatNode;319;-4571.499,-844.1255;Float;False;Global;_WindSpeed;_WindSpeed;11;0;Create;True;0;0;False;0;0.5;0.5;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.Vector4Node;493;-4566.219,98.85242;Float;False;Global;_TerrainUV;_TerrainUV;2;0;Create;True;0;0;False;0;0,0,0,0;500,500,251,251;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.WorldPosInputsNode;77;-4482.71,-1063.982;Float;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 Node;AmplifyShaderEditor.RangedFloatNode;383;-4473.01,-744.6186;Float;False;Constant;_Float7;Float 7;19;0;Create;True;0;0;False;0;0.05;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;384;-4261.245,-952.3274;Float;False;Constant;_Float8;Float 8;19;0;Create;True;0;0;False;0;0.01;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;485;-4252.418,211.5534;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SwizzleNode;75;-4256.11,-1063.99;Inherit;False;FLOAT2;0;2;2;2;1;0;FLOAT3;0,0,0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.TimeNode;69;-4267.893,-645.5446;Inherit;False;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;67;-4142.394,-791.1456;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.DynamicAppendNode;483;-4236.418,14.55324;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.Vector4Node;308;-4253.298,-447.8275;Float;False;Global;_WindDirection;_WindDirection;13;0;Create;True;0;0;False;0;1,0,0,0;-0.9450631,0,-0.326888,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.WorldPosInputsNode;484;-4261.365,342.0453;Float;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 Node;AmplifyShaderEditor.SwizzleNode;487;-4013.361,345.0453;Inherit;False;FLOAT2;0;2;2;2;1;0;FLOAT3;0,0,0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;79;-3930.196,-690.6456;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;297;-3930.545,-974.5492;Float;False;Property;_WindAmplitudeMultiplier;WindAmplitudeMultiplier;12;0;Create;True;0;0;False;0;1;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleDivideOpNode;486;-4015.417,165.5533;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;520;-3931.458,-888.7498;Float;False;Global;_WindAmplitude;_WindAmplitude;20;0;Create;True;0;0;False;0;1;3;1;3;0;1;FLOAT;0 Node;AmplifyShaderEditor.OneMinusNode;488;-4052.417,13.55305;Inherit;False;1;0;FLOAT2;0,0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.DynamicAppendNode;469;-3949.837,-411.0562;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;72;-4054.306,-1068.048;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;298;-3587.035,-1024.596;Inherit;False;3;3;0;FLOAT2;0,0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;489;-3747.159,276.6454;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT2;0,0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;221;-3689.792,-564.3065;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT2;0,0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SimpleDivideOpNode;490;-3739.417,30.55324;Inherit;False;2;0;FLOAT2;0,0;False;1;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.CommentaryNode;371;-2159.553,-389.6831;Inherit;False;1807.377;845.9116;Comment;10;98;551;549;293;363;97;501;292;362;364;Base color;1,1,1,1;0;0 Node;AmplifyShaderEditor.SimpleAddOpNode;222;-3383.589,-914.0057;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.SimpleAddOpNode;491;-3506.654,157.7434;Inherit;False;2;2;0;FLOAT2;0,0;False;1;FLOAT2;0,0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;324;-3331.81,149.9584;Float;False;TerrainUV;-1;True;1;0;FLOAT2;0,0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.VertexColorNode;364;-2104.4,156.0724;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SamplerNode;410;-3200.582,-939.1251;Inherit;True;Global;_WindVectors;_WindVectors;9;2;[NoScaleOffset];[Normal];Create;True;0;0;False;0;-1;None;6c795dd1d1d319e479e68164001557e8;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.CommentaryNode;202;-2142.645,-2259.974;Inherit;False;2627.3;775.1997;Bending;23;181;183;186;188;184;194;189;191;193;195;196;197;200;198;201;231;232;234;386;468;571;679;689;Foliage bending away from obstacle;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;372;-2169.662,764.7435;Inherit;False;2290.708;651.5013;Comment;15;554;553;417;418;416;376;552;291;528;290;526;320;458;325;550;Pigment map;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;160;-2158.058,2130.086;Inherit;False;2711.621;557.9603;Subsurface scattering;17;153;147;148;146;145;141;143;139;140;138;454;455;517;580;590;591;677;Subsurface color simulation;1,1,1,1;0;0 Node;AmplifyShaderEditor.ViewDirInputsCoordNode;138;-2082.26,2183.486;Float;False;World;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 Node;AmplifyShaderEditor.RegisterLocalVarNode;91;-2805.208,-938.3988;Float;False;WindVector;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.Vector4Node;231;-2095.184,-2104.723;Float;False;Global;_ObstaclePosition;_ObstaclePosition;18;1;[HideInInspector];Create;True;0;0;False;0;0,0,0,0;-16.275,0.496358,-151.273,0;0;5;FLOAT4;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.OneMinusNode;501;-1906.319,177.3479;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;325;-2093.259,862.8002;Inherit;False;324;TerrainUV;1;0;OBJECT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.CommentaryNode;373;-2151.307,1610.689;Inherit;False;1792.004;391.326;Comment;10;523;514;274;101;511;239;86;240;93;525;Color through wind;1,1,1,1;0;0 Node;AmplifyShaderEditor.ColorNode;362;-2105.6,-131.9273;Float;False;Property;_ColorBottom;Color Bottom;2;1;[HDR];Create;True;0;0;False;0;0.232,0.5,0,1;0,0,0,0;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.ColorNode;292;-2109.553,-339.6831;Float;False;Property;_ColorTop;ColorTop;1;1;[HDR];Create;True;0;0;False;0;0.3001064,0.6838235,0,1;0,0,0,0;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.GetLocalVarNode;93;-2101.308,1660.688;Inherit;False;91;WindVector;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SamplerNode;458;-1818.367,841.5786;Inherit;True;Global;_PigmentMap;_PigmentMap;19;1;[NoScaleOffset];Create;True;0;0;False;0;-1;None;a728bf1dc39cb0e4dad5aba35411306d;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;1;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;1;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.WorldPosInputsNode;181;-2078.544,-1822.477;Float;False;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 Node;AmplifyShaderEditor.VertexColorNode;553;-1730.855,1081.685;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.NegateNode;139;-1852.259,2187.486;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.LerpOp;363;-1669.001,-181.4273;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.SwizzleNode;571;-1848.695,-2077.154;Inherit;False;FLOAT3;0;1;2;3;1;0;FLOAT4;0,0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.WorldSpaceLightDirHlpNode;140;-2110.257,2346.486;Inherit;False;False;1;0;FLOAT;0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 Node;AmplifyShaderEditor.SamplerNode;97;-1599.225,-27.15059;Inherit;True;Property;_MainTex;MainTex;3;1;[NoScaleOffset];Create;True;0;0;False;0;-1;None;None;True;0;False;white;Auto;False;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;0;False;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.CommentaryNode;369;-2173.667,-1224.785;Inherit;False;2670.73;665.021;Comment;16;277;248;16;83;249;66;70;74;84;385;408;495;500;521;522;687;Wind animations;1,1,1,1;0;0 Node;AmplifyShaderEditor.RangedFloatNode;234;-1698.183,-1884.723;Float;False;Global;_BendingStrength;_BendingStrength;15;1;[HideInInspector];Create;True;0;0;False;0;0;11.6;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.OneMinusNode;554;-1492.835,1104.332;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;367;-5009.526,-2311.25;Inherit;False;2652.407;770.0325;Comment;20;577;578;365;389;388;360;344;361;71;342;499;392;343;518;467;466;628;655;662;676;Grass length;1,1,1,1;0;0 Node;AmplifyShaderEditor.DotProductOpNode;141;-1650.26,2244.486;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;320;-1391.236,971.0171;Float;False;PigmentMapTex;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.SimpleSubtractOpNode;183;-1662.445,-2071.378;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;549;-1803.634,-324.2867;Float;False;TopColor;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.PosVertexDataNode;664;-4853.995,-2785.871;Inherit;False;0;0;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;418;-1553.225,1287.669;Float;False;Property;_PigmentMapHeight;PigmentMapHeight;18;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;386;-1679.209,-1805.235;Float;False;Constant;_Float10;Float 10;19;0;Create;True;0;0;False;0;0.1;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.DistanceOpNode;189;-1673.746,-1722.773;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;417;-1387.538,1202.529;Float;False;Constant;_Float17;Float 17;22;0;Create;True;0;0;False;0;1;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;385;-1102.412,-1079.697;Float;False;Global;_WindStrength;_WindStrength;19;0;Create;True;0;0;False;0;1;0.46;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;293;-1266.153,-190.7834;Inherit;False;2;2;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.RangedFloatNode;232;-1716.183,-1588.722;Float;False;Global;_BendingRadius;_BendingRadius;14;1;[HideInInspector];Create;True;0;0;False;0;0;1.5;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.BreakToComponentsNode;240;-1853.897,1663.845;Inherit;False;FLOAT3;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 Node;AmplifyShaderEditor.RegisterLocalVarNode;522;-875.6971,-1086.247;Float;False;WindStrength;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;416;-1150.131,1169.972;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleDivideOpNode;191;-1459.945,-1676.773;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.NormalizeNode;184;-1461.75,-2076.465;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;550;-1041.996,914.0365;Inherit;False;549;TopColor;1;0;OBJECT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;466;-4895.62,-2190.839;Inherit;False;320;PigmentMapTex;1;0;OBJECT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.TouchReactNode;688;-4616.609,-2759.072;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleMaxOpNode;677;-1471.816,2277.8;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;239;-1576.098,1662.443;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;551;-916.9384,-188.8136;Float;False;BaseColor;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.GetLocalVarNode;521;-2113.14,-973.3709;Inherit;False;91;WindVector;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;186;-1470.544,-1875.676;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.VertexColorNode;86;-1620.504,1798.089;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;143;-1802.957,2520.286;Float;False;Property;_TransmissionSize;Transmission Size;7;0;Create;True;0;0;False;0;1;0;0;20;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;146;-1372.059,2403.886;Float;False;Property;_TransmissionAmount;Transmission Amount;8;0;Create;True;0;0;False;0;2.696819;0;0;10;0;1;FLOAT;0 Node;AmplifyShaderEditor.BreakToComponentsNode;277;-1874.768,-977.4964;Inherit;False;FLOAT3;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 Node;AmplifyShaderEditor.RangedFloatNode;291;-844.2086,1132.682;Float;False;Property;_PigmentMapInfluence;PigmentMapInfluence;17;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;660;-4245.799,-2886.684;Float;False;Constant;_Float9;Float 9;22;0;Create;True;0;0;False;0;0;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.TransformDirectionNode;689;-1294.282,-2144.348;Inherit;False;World;Object;False;Fast;1;0;FLOAT3;0,0,0;False;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 Node;AmplifyShaderEditor.RangedFloatNode;101;-1383.694,1796.119;Float;False;Property;_ColorVariation;ColorVariation;5;0;Create;True;0;0;False;0;0.05;0;0;0.2;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;511;-1369.941,1663.164;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SwizzleNode;467;-4572.831,-2184.625;Inherit;False;FLOAT;3;1;2;3;1;0;COLOR;0,0,0,0;False;1;FLOAT;0 Node;AmplifyShaderEditor.DynamicAppendNode;468;-1264.144,-1894.772;Inherit;False;FLOAT3;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SaturateNode;679;-1254.215,-1664.649;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;376;-764.7234,954.6284;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.SwizzleNode;665;-4226.258,-2789.499;Inherit;False;FLOAT;1;1;2;2;1;0;FLOAT3;0,0,0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;525;-1320.113,1918.377;Inherit;False;522;WindStrength;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;552;-606.5386,886.5524;Inherit;False;551;BaseColor;1;0;OBJECT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.PowerNode;145;-1268.258,2248.486;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;147;-1049.659,2246.286;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.DynamicAppendNode;495;-1579.352,-980.8199;Inherit;False;FLOAT3;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.VertexColorNode;148;-870.4499,2347.415;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.LerpOp;290;-381.0104,925.5381;Inherit;False;3;0;COLOR;0,0,0,0;False;1;COLOR;0,0,0,0;False;2;FLOAT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;274;-967.168,1664.503;Inherit;False;3;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;518;-4264.615,-2069.821;Float;False;Heightmap;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.OneMinusNode;193;-1044.945,-1674.773;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;188;-1024.545,-2065.675;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.StaticSwitch;659;-4002.933,-2818.131;Float;False;Property;_VS_TOUCHBEND;VS_TOUCHBEND;21;0;Create;True;0;0;False;0;0;0;0;True;;Toggle;2;Key0;Key1;Create;False;9;1;FLOAT;0;False;0;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;0;False;6;FLOAT;0;False;7;FLOAT;0;False;8;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;408;-1439.413,-884.2699;Float;False;Constant;_Float14;Float 14;20;0;Create;True;0;0;False;0;-1;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;16;-1152.243,-1165.787;Float;False;Property;_MaxWindStrength;Max Wind Strength;10;0;Create;True;0;0;False;0;0.126967;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;195;-714.9434,-1777.574;Float;False;Property;_BendingInfluence;BendingInfluence;16;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;580;-572.8826,2257.451;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;613;-3725.462,-2817.573;Float;False;TouchBendPos;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;526;-136.4222,922.5243;Float;False;PigmentMapColor;-1;True;1;0;COLOR;0,0,0,0;False;1;COLOR;0 Node;AmplifyShaderEditor.TFHCRemapNode;687;-1231.985,-994.9933;Inherit;False;5;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;1,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT3;1,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RangedFloatNode;248;-1181.874,-797.9662;Float;False;Property;_WindSwinging;WindSwinging;11;0;Create;True;0;0;False;0;0.25;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;455;-606.7513,2416.463;Inherit;False;518;Heightmap;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SaturateNode;514;-797.2388,1667.527;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;194;-786.7443,-1906.174;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.CommentaryNode;236;1488.743,-1237.9;Inherit;False;3425.277;437.2272;;16;205;519;208;534;106;532;530;295;531;161;296;513;527;524;542;589;Final color;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;159;-2143.86,2840.496;Inherit;False;1813.59;398.8397;AO;11;207;115;114;117;301;118;113;111;302;381;382;Ambient Occlusion;1,1,1,1;0;0 Node;AmplifyShaderEditor.VertexColorNode;83;-521.2678,-946.241;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.GetLocalVarNode;655;-4481.993,-2268.909;Inherit;False;613;TouchBendPos;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;454;-320.7513,2265.364;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.VertexColorNode;111;-2093.859,2890.496;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RegisterLocalVarNode;523;-601.9745,1656.407;Float;False;WindTint;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.LightAttenuation;590;-338.0136,2410.466;Inherit;False;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;196;-398.1443,-1904.475;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.OneMinusNode;628;-4210.881,-2171.815;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;527;1519.337,-1175.906;Inherit;False;526;PigmentMapColor;1;0;OBJECT;0;False;1;COLOR;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;66;-520.265,-1143.746;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;382;-1814.028,3002.569;Float;False;Constant;_Float6;Float 6;19;0;Create;True;0;0;False;0;1.33;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;249;-798.6658,-999.0773;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;591;-71.40287,2266.934;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SwizzleNode;589;1776.174,-1167.5;Inherit;False;FLOAT3;0;1;2;3;1;0;COLOR;0,0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;524;1663.473,-1020.088;Inherit;False;523;WindTint;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.NegateNode;197;-216.6443,-1902.474;Inherit;False;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.VertexColorNode;198;-252.5788,-2130.417;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.RangedFloatNode;113;-2025.64,3098.476;Float;False;Property;_AmbientOcclusion;AmbientOcclusion;6;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;301;-1574.174,2911.218;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;1;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;70;-252.8295,-1087.164;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.OneMinusNode;500;-274.7222,-946.4897;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleSubtractOpNode;676;-3948.233,-2261.571;Inherit;False;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;114;-1371.343,2935.675;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.VertexColorNode;343;-4345.815,-1858.752;Inherit;False;0;5;COLOR;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.SimpleAddOpNode;513;1975.78,-1093.37;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.WireNode;118;-1256.54,3116.476;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;381;-1349.626,3147.969;Float;False;Constant;_Float5;Float 5;19;0;Create;True;0;0;False;0;1;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;200;7.856029,-2045.574;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SaturateNode;517;129.3594,2268.925;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;392;-3990.975,-2051.045;Float;False;Property;_MinHeight;MinHeight;14;0;Create;True;0;0;False;0;-0.5;0;-1;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;74;-6.421254,-1078.501;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SaturateNode;662;-3702.495,-2214.783;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;374;1831.836,-489.6089;Inherit;False;2217.195;546.4841;Comment;11;204;85;203;330;508;456;529;426;366;437;391;Vertex function layer blend;1,1,1,1;0;0 Node;AmplifyShaderEditor.RangedFloatNode;296;2288.118,-1013.211;Float;False;Constant;_Float1;Float 1;21;0;Create;True;0;0;False;0;2;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;153;327.6834,2271.676;Float;False;Subsurface;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;84;247.4628,-1074.753;Float;False;Wind;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;342;-3546.63,-2131.383;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.WireNode;117;-1218.442,3055.776;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.OneMinusNode;499;-4112.737,-1845.776;Inherit;False;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;201;241.656,-2050.775;Float;False;Bending;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.ClampOpNode;302;-1138.474,2918.418;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;1;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;161;2145.16,-1162.154;Float;False;Color;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;85;1935.874,-422.8134;Inherit;False;84;Wind;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.LerpOp;344;-3375.759,-2129.614;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;531;3035.332,-1052.988;Inherit;False;613;TouchBendPos;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;532;2972.651,-977.2318;Float;False;Property;_BendingTint;BendingTint;20;0;Create;True;0;0;False;0;-0.05;1;-0.1;0.1;0;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;115;-856.2404,2935.676;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;530;2443.737,-968.2028;Inherit;False;153;Subsurface;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;204;1947.242,-316.3543;Inherit;False;201;Bending;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RangedFloatNode;71;-4001.294,-1946.098;Float;False;Property;_MaxHeight;MaxHeight;15;0;Create;True;0;0;False;0;0;0;-1;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;361;-3435.164,-1966.095;Float;False;Property;_HeightmapInfluence;HeightmapInfluence;13;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;295;2487.116,-1075.211;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;534;3485.771,-1019.796;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;528;-394.4799,1203.902;Float;False;PigmentMapInfluence;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleAddOpNode;203;2298.659,-410.8396;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;207;-636.6566,2929.231;Float;False;AmbientOcclusion;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;388;-3237.73,-1833.117;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;360;-3095.494,-2113.002;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;106;2795.013,-1177.939;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.CommentaryNode;426;2488.814,-319.9986;Inherit;False;219;183;Mask wind/bending by height;1;420;;1,1,1,1;0;0 Node;AmplifyShaderEditor.GetLocalVarNode;456;2089.852,-134.6054;Inherit;False;518;Heightmap;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;208;4239.477,-1030.722;Inherit;False;207;AmbientOcclusion;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;529;2456.923,-94.14083;Inherit;False;528;PigmentMapInfluence;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.CommentaryNode;237;-2119.915,3380.083;Inherit;False;978.701;287.5597;;3;174;172;419;Normal map;1,1,1,1;0;0 Node;AmplifyShaderEditor.SimpleSubtractOpNode;542;3706.971,-1153.228;Inherit;False;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;420;2540.814,-269.9979;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SimpleAddOpNode;389;-2854.729,-2117.818;Inherit;False;2;2;0;FLOAT;0;False;1;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.LerpOp;508;2935.445,-394.5296;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;365;-2607.386,-2127.475;Float;False;GrassLength;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.RangedFloatNode;419;-2007.296,3508.627;Float;False;Constant;_Float18;Float 18;21;0;Create;True;0;0;False;0;1;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.SimpleMultiplyOpNode;519;4481.406,-1148.504;Inherit;False;2;2;0;FLOAT3;0,0,0;False;1;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.CommentaryNode;235;2843.666,889.9761;Inherit;False;452.9371;811.1447;Final;4;99;175;206;331;Outputs;1,1,1,1;0;0 Node;AmplifyShaderEditor.CommentaryNode;375;2964.505,1790.556;Inherit;False;352;249.0994;Comment;2;312;311;Debug switch;1,1,1,1;0;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;205;4658.84,-1159.965;Float;False;FinalColor;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.SamplerNode;172;-1768.914,3434.642;Inherit;True;Property;_BumpMap;BumpMap;4;2;[NoScaleOffset];[Normal];Create;True;0;0;True;0;-1;None;None;True;0;False;bump;Auto;True;Object;-1;Auto;Texture2D;6;0;SAMPLER2D;;False;1;FLOAT2;0,0;False;2;FLOAT;0;False;3;FLOAT2;0,0;False;4;FLOAT2;0,0;False;5;FLOAT;0;False;5;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4 Node;AmplifyShaderEditor.GetLocalVarNode;366;3260.787,-234.4643;Inherit;False;365;GrassLength;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.BreakToComponentsNode;437;3225.992,-389.9932;Inherit;False;FLOAT3;1;0;FLOAT3;0,0,0;False;16;FLOAT;0;FLOAT;1;FLOAT;2;FLOAT;3;FLOAT;4;FLOAT;5;FLOAT;6;FLOAT;7;FLOAT;8;FLOAT;9;FLOAT;10;FLOAT;11;FLOAT;12;FLOAT;13;FLOAT;14;FLOAT;15 Node;AmplifyShaderEditor.DynamicAppendNode;391;3551.427,-385.0264;Inherit;False;FLOAT3;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;312;3073.705,1840.556;Inherit;False;91;WindVector;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RangedFloatNode;311;3014.505,1924.656;Float;False;Global;_WindDebug;_WindDebug;20;0;Create;True;0;0;False;0;0;0;0;1;0;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;98;-1263.066,66.81864;Float;False;Alpha;-1;True;1;0;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;206;3072.166,941.4243;Inherit;False;205;FinalColor;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;174;-1384.214,3430.082;Float;False;Normals;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RangedFloatNode;406;3416.104,1297.26;Float;False;Constant;_Float12;Float 12;20;0;Create;True;0;0;False;0;1;0;0;0;0;1;FLOAT;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;330;3743.457,-384.6883;Float;False;VertexOffset;-1;True;1;0;FLOAT3;0,0,0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.LerpOp;310;3589.109,973.5546;Inherit;False;3;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.GetLocalVarNode;99;3096.573,1235.245;Inherit;False;98;Alpha;1;0;OBJECT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.GetLocalVarNode;175;3082.283,1039.971;Inherit;False;174;Normals;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.LerpOp;313;3587.307,1254.955;Inherit;False;3;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;1;FLOAT;0 Node;AmplifyShaderEditor.CustomStandardSurface;592;3873.019,1086.018;Inherit;False;Metallic;Tangent;6;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,1;False;2;FLOAT3;0,0,0;False;3;FLOAT;0;False;4;FLOAT;0;False;5;FLOAT;1;False;1;FLOAT3;0 Node;AmplifyShaderEditor.RegisterLocalVarNode;577;-3500.577,-1735.096;Float;False;GrassMinMaxHeight;-1;True;1;0;FLOAT2;0,0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.DynamicAppendNode;578;-3687.778,-1996.696;Inherit;False;FLOAT2;4;0;FLOAT;0;False;1;FLOAT;0;False;2;FLOAT;0;False;3;FLOAT;0;False;1;FLOAT2;0 Node;AmplifyShaderEditor.GetLocalVarNode;331;3064.599,1369.667;Inherit;False;330;VertexOffset;1;0;OBJECT;0;False;1;FLOAT3;0 Node;AmplifyShaderEditor.Vector3Node;451;3614.484,1439.282;Float;False;Constant;_UpNormalVector;UpNormalVector;21;0;Create;True;0;0;False;0;0,1,0;0,0,0;0;4;FLOAT3;0;FLOAT;1;FLOAT;2;FLOAT;3 Node;AmplifyShaderEditor.StandardSurfaceOutputNode;0;4279.866,1027.348;Float;False;True;-1;2;FAE.GrassShaderGUI;0;0;CustomLighting;FAE/Grass;False;False;False;False;False;False;True;False;True;False;False;False;True;False;False;False;True;False;False;False;False;Off;0;False;-1;0;False;-1;False;0;False;-1;0;False;-1;False;0;Custom;0.5;True;True;0;True;Opaque;;AlphaTest;All;10;d3d9;d3d11_9x;d3d11;glcore;gles;gles3;metal;vulkan;xboxone;ps4;True;True;True;True;0;False;-1;False;0;False;-1;255;False;-1;255;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;0;False;-1;False;0;4;10;25;False;0.5;True;0;0;False;-1;0;False;-1;0;0;False;-1;0;False;-1;1;False;-1;1;False;-1;0;False;0;0,0,0,0;VertexOffset;True;False;Cylindrical;False;Relative;0;;0;-1;-1;-1;0;False;0;0;False;-1;-1;0;False;-1;3;Include;VS_InstancedIndirect.cginc;False;;Custom;Pragma;multi_compile GPU_FRUSTUM_ON __;False;;Custom;Pragma;instancing_options assumeuniformscaling lodfade maxcount:50 procedural:setupScale forwardadd;False;;Custom;0;0;False;0.1;False;-1;0;False;-1;15;0;FLOAT3;0,0,0;False;1;FLOAT3;0,0,0;False;2;FLOAT3;0,0,0;False;3;FLOAT3;0,0,0;False;4;FLOAT;0;False;6;FLOAT3;0,0,0;False;7;FLOAT3;0,0,0;False;8;FLOAT;0;False;9;FLOAT;0;False;10;FLOAT;0;False;13;FLOAT3;0,0,0;False;11;FLOAT3;0,0,0;False;12;FLOAT3;0,0,0;False;14;FLOAT4;0,0,0,0;False;15;FLOAT3;0,0,0;False;0 Node;AmplifyShaderEditor.CommentaryNode;566;2867.522,531.4199;Inherit;False;339.8231;101.9985;Copyright Staggart Creations;0;FAE Grass Shader;1,1,1,1;0;0 WireConnection;485;0;493;1 WireConnection;485;1;493;1 WireConnection;75;0;77;0 WireConnection;67;0;319;0 WireConnection;67;1;383;0 WireConnection;483;0;493;3 WireConnection;483;1;493;4 WireConnection;487;0;484;0 WireConnection;79;0;67;0 WireConnection;79;1;69;4 WireConnection;486;0;493;1 WireConnection;486;1;485;0 WireConnection;488;0;483;0 WireConnection;469;0;308;1 WireConnection;469;1;308;3 WireConnection;72;0;75;0 WireConnection;72;1;384;0 WireConnection;298;0;72;0 WireConnection;298;1;297;0 WireConnection;298;2;520;0 WireConnection;489;0;486;0 WireConnection;489;1;487;0 WireConnection;221;0;79;0 WireConnection;221;1;469;0 WireConnection;490;0;488;0 WireConnection;490;1;493;1 WireConnection;222;0;298;0 WireConnection;222;1;221;0 WireConnection;491;0;490;0 WireConnection;491;1;489;0 WireConnection;324;0;491;0 WireConnection;410;1;222;0 WireConnection;91;0;410;0 WireConnection;501;0;364;1 WireConnection;458;1;325;0 WireConnection;139;0;138;0 WireConnection;363;0;292;0 WireConnection;363;1;362;0 WireConnection;363;2;501;0 WireConnection;571;0;231;0 WireConnection;554;0;553;1 WireConnection;141;0;139;0 WireConnection;141;1;140;0 WireConnection;320;0;458;0 WireConnection;183;0;571;0 WireConnection;183;1;181;0 WireConnection;549;0;292;0 WireConnection;189;0;571;0 WireConnection;189;1;181;0 WireConnection;293;0;363;0 WireConnection;293;1;97;0 WireConnection;240;0;93;0 WireConnection;522;0;385;0 WireConnection;416;0;554;0 WireConnection;416;1;417;0 WireConnection;416;2;418;0 WireConnection;191;0;189;0 WireConnection;191;1;232;0 WireConnection;184;0;183;0 WireConnection;688;0;664;0 WireConnection;677;0;141;0 WireConnection;239;0;240;0 WireConnection;239;1;240;1 WireConnection;551;0;293;0 WireConnection;186;0;234;0 WireConnection;186;1;386;0 WireConnection;277;0;521;0 WireConnection;689;0;184;0 WireConnection;511;0;239;0 WireConnection;511;1;86;1 WireConnection;467;0;466;0 WireConnection;468;0;186;0 WireConnection;468;2;186;0 WireConnection;679;0;191;0 WireConnection;376;0;550;0 WireConnection;376;1;320;0 WireConnection;376;2;416;0 WireConnection;665;0;688;0 WireConnection;145;0;677;0 WireConnection;145;1;143;0 WireConnection;147;0;145;0 WireConnection;147;1;146;0 WireConnection;495;0;277;0 WireConnection;495;2;277;1 WireConnection;290;0;552;0 WireConnection;290;1;376;0 WireConnection;290;2;291;0 WireConnection;274;0;511;0 WireConnection;274;1;101;0 WireConnection;274;2;525;0 WireConnection;518;0;467;0 WireConnection;193;0;679;0 WireConnection;188;0;689;0 WireConnection;188;1;468;0 WireConnection;659;1;660;0 WireConnection;659;0;665;0 WireConnection;580;0;147;0 WireConnection;580;1;148;1 WireConnection;613;0;659;0 WireConnection;526;0;290;0 WireConnection;687;0;495;0 WireConnection;687;1;408;0 WireConnection;514;0;274;0 WireConnection;194;0;188;0 WireConnection;194;1;193;0 WireConnection;454;0;580;0 WireConnection;454;1;455;0 WireConnection;523;0;514;0 WireConnection;196;0;194;0 WireConnection;196;1;195;0 WireConnection;628;0;467;0 WireConnection;66;0;16;0 WireConnection;66;1;522;0 WireConnection;249;0;687;0 WireConnection;249;1;495;0 WireConnection;249;2;248;0 WireConnection;591;0;454;0 WireConnection;591;1;590;0 WireConnection;589;0;527;0 WireConnection;197;0;196;0 WireConnection;301;0;111;1 WireConnection;301;1;382;0 WireConnection;70;0;66;0 WireConnection;70;1;249;0 WireConnection;500;0;83;1 WireConnection;676;0;628;0 WireConnection;676;1;655;0 WireConnection;114;0;301;0 WireConnection;114;1;113;0 WireConnection;513;0;589;0 WireConnection;513;1;524;0 WireConnection;118;0;113;0 WireConnection;200;0;198;1 WireConnection;200;1;197;0 WireConnection;517;0;591;0 WireConnection;74;0;70;0 WireConnection;74;2;500;0 WireConnection;662;0;676;0 WireConnection;153;0;517;0 WireConnection;84;0;74;0 WireConnection;342;0;662;0 WireConnection;342;1;392;0 WireConnection;117;0;118;0 WireConnection;499;0;343;1 WireConnection;201;0;200;0 WireConnection;302;0;114;0 WireConnection;302;2;381;0 WireConnection;161;0;513;0 WireConnection;344;0;342;0 WireConnection;344;2;499;0 WireConnection;115;0;381;0 WireConnection;115;1;302;0 WireConnection;115;2;117;0 WireConnection;295;0;161;0 WireConnection;295;1;296;0 WireConnection;534;0;531;0 WireConnection;534;1;532;0 WireConnection;528;0;291;0 WireConnection;203;0;85;0 WireConnection;203;1;204;0 WireConnection;207;0;115;0 WireConnection;388;0;71;0 WireConnection;388;2;499;0 WireConnection;360;0;344;0 WireConnection;360;1;361;0 WireConnection;106;0;161;0 WireConnection;106;1;295;0 WireConnection;106;2;530;0 WireConnection;542;0;106;0 WireConnection;542;1;534;0 WireConnection;420;0;203;0 WireConnection;420;1;456;0 WireConnection;389;0;360;0 WireConnection;389;1;388;0 WireConnection;508;0;203;0 WireConnection;508;1;420;0 WireConnection;508;2;529;0 WireConnection;365;0;389;0 WireConnection;519;0;542;0 WireConnection;519;1;208;0 WireConnection;205;0;519;0 WireConnection;172;5;419;0 WireConnection;437;0;508;0 WireConnection;391;0;437;0 WireConnection;391;1;366;0 WireConnection;391;2;437;2 WireConnection;98;0;97;4 WireConnection;174;0;172;0 WireConnection;330;0;391;0 WireConnection;310;0;206;0 WireConnection;310;1;312;0 WireConnection;310;2;311;0 WireConnection;313;0;99;0 WireConnection;313;1;406;0 WireConnection;313;2;311;0 WireConnection;592;0;310;0 WireConnection;592;1;175;0 WireConnection;577;0;578;0 WireConnection;578;0;392;0 WireConnection;578;1;71;0 WireConnection;0;10;313;0 WireConnection;0;13;592;0 WireConnection;0;11;331;0 WireConnection;0;12;451;0 ASEEND*/ //CHKSM=D57499D15B961733A3E026455CEC3C65D1D15C49