Another Shader Problem

Sorry to bother you all again, but now my shader is rendering wrong. I did try to look around for an answer somewhere before asking another question, but I wasn’t able to. The shader appears purple when applied to a material. I am completely stumped and need help.
What shader looks like:
last tree question
Shader Script:

Shader "Custom/WitnessFoliage" {
    Properties {
        _EdgeTransparency ("Edge Transparency", Range (0, 1)) = 0.3
        _Cutoff ("Alpha Cutoff", Range (0, 1)) = 0.5
        _Color ("Tint", Color) = (1, 1, 1, 1) 
        _MainTex ("Leaf Texture", 2D) = "white"
    }
    SubShader {
        Tags {
            "Queue"="AlphaTest"
            "RenderType"="TransparentCutout"
        }
        Pass {
            Name "ShadowCaster"
            Tags { "LightMode"="ShadowCaster" }

            ZWrite On
            ZTest LEqual

            CGPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"

            struct Attributes {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct Varying {
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION;
            };

            sampler2D _MainTex;
            float4 _Color;
            float _Cutoff;
            float _EdgeTransparency;

            Varying vert (Attributes v) {
                Varying o;
                o.vertex = TransformObjectToHClip(v.vertex);
                o.uv = v.uv;
                return o;
            }

            half4 frag (Varying i) : SV_Target {
                half4 texColor = tex2D(_MainTex, i.uv);
                half alpha = texColor.a * _EdgeTransparency;
                clip(alpha - _Cutoff);
                half4 finalColor = _Color * texColor;
                finalColor.a = step(_Cutoff, alpha);
                return finalColor;
            }
            ENDCG

        }
        Pass {
            Name "RenderMesh"
            Tags { "LightMode"="ForwardBase" }

            HLSLPROGRAM
            #pragma vertex vert
            #pragma fragment frag
            #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"

            struct Attributes {
                float4 vertex : POSITION;
                float2 uv : TEXCOORD0;
            };

            struct Varyings {
                float2 uv : TEXCOORD0;
                float4 vertex : SV_POSITION;
            };

            sampler2D _MainTex;
            float4 _Color;
            float _Cutoff;
            float _EdgeTransparency;

            Varyings vert (Attributes IN) {
                Varyings o;
                o.vertex = TransformObjectToHClip(IN.vertex);
                o.uv = IN.uv;
                return o;
            }

            half4 frag (Varyings I) : SV_Target {
                half4 texColor = tex2D(_MainTex, I.uv);
                half alpha = texColor.a * _EdgeTransparency;
                clip(alpha - _Cutoff);
                half4 finalColor = _Color * texColor;
                finalColor.a = step(_Cutoff, alpha);
                return finalColor;
            }
            ENDHLSL
        }
    }
}

This means your shader didn’t compile due to some syntax error. Select the shader, it should show you the error in the inspector. Alternatively, reimport / recompile the shader to get the errors in the console and investigate from there.