attribute vec4 TANGENT;
uniform vec4 unity_LightShadowBias;
uniform vec4 _WavingTint;
uniform vec4 _WaveAndDistance;
uniform vec4 _MainTex_ST;
uniform vec3 _CameraUp;
uniform vec3 _CameraRight;
uniform vec4 _CameraPosition;
void main ()
{
  vec4 tmpvar_1;
  vec2 tmpvar_2;
  vec4 pos_3;
  pos_3 = gl_Vertex;
  vec2 offset_4;
  offset_4 = TANGENT.xy;
  vec3 tmpvar_5;
  tmpvar_5 = (gl_Vertex.xyz - _CameraPosition.xyz);
  float tmpvar_6;
  tmpvar_6 = dot (tmpvar_5, tmpvar_5);
  if ((tmpvar_6 > _WaveAndDistance.w)) {
    offset_4 = vec2(0.0, 0.0);
  };
  pos_3.xyz = (gl_Vertex.xyz + (offset_4.x * _CameraRight));
  pos_3.xyz = (pos_3.xyz + (offset_4.y * _CameraUp));
  vec4 vertex_7;
  vertex_7.yw = pos_3.yw;
  vec4 outColor_8;
  vec3 waveMove_9;
  waveMove_9.y = 0.0;
  vec4 tmpvar_10;
  tmpvar_10 = ((fract((((pos_3.x * (vec4(0.012, 0.02, 0.06, 0.024) * _WaveAndDistance.y)) + (pos_3.z * (vec4(0.006, 0.02, 0.02, 0.05) * _WaveAndDistance.y))) + (_WaveAndDistance.x * vec4(1.2, 2.0, 1.6, 4.8)))) * 6.40885) - 3.14159);
  vec4 tmpvar_11;
  tmpvar_11 = (tmpvar_10 * tmpvar_10);
  vec4 tmpvar_12;
  tmpvar_12 = (tmpvar_11 * tmpvar_10);
  vec4 tmpvar_13;
  tmpvar_13 = (tmpvar_12 * tmpvar_11);
  vec4 tmpvar_14;
  tmpvar_14 = (((tmpvar_10 + (tmpvar_12 * -0.161616)) + (tmpvar_13 * 0.0083333)) + ((tmpvar_13 * tmpvar_11) * -0.00019841));
  vec4 tmpvar_15;
  tmpvar_15 = (tmpvar_14 * tmpvar_14);
  vec4 tmpvar_16;
  tmpvar_16 = (tmpvar_15 * tmpvar_15);
  vec4 tmpvar_17;
  tmpvar_17 = (tmpvar_16 * TANGENT.y);
  waveMove_9.x = dot (tmpvar_17, vec4(0.024, 0.04, -0.12, 0.096));
  waveMove_9.z = dot (tmpvar_17, vec4(0.006, 0.02, -0.02, 0.1));
  vertex_7.xz = (pos_3.xz - (waveMove_9.xz * _WaveAndDistance.z));
  outColor_8.xyz = ((gl_Color.xyz * mix (vec3(0.5, 0.5, 0.5), _WavingTint.xyz, vec3((dot (tmpvar_16, normalize(vec4(1.0, 1.0, 0.4, 0.2))) * 0.7)))) * 2.0);
  outColor_8.w = 1.0;
  tmpvar_2 = ((gl_MultiTexCoord0.xy * _MainTex_ST.xy) + _MainTex_ST.zw);
  vec4 tmpvar_18;
  tmpvar_18 = (gl_ModelViewProjectionMatrix * vertex_7);
  tmpvar_1.xyw = tmpvar_18.xyw;
  tmpvar_1.z = (tmpvar_18.z + unity_LightShadowBias.x);
  if ((tmpvar_1.z < -(tmpvar_18.w))) {
    tmpvar_1.z = -(tmpvar_18.w);
  };
  gl_Position = tmpvar_1;
  vec4 tmpvar_19;
  tmpvar_19.zw = vec2(0.0, 0.0);
  tmpvar_19.xy = tmpvar_2;
  gl_TexCoord[1] = tmpvar_19;
  gl_FrontColor = outColor_8;
}

